diff --git a/Tractor_VS/.gitattributes b/.gitattributes similarity index 100% rename from Tractor_VS/.gitattributes rename to .gitattributes diff --git a/Tractor_VS/Game1.sln b/Game1.sln similarity index 100% rename from Tractor_VS/Game1.sln rename to Game1.sln diff --git a/Tractor_VS/Game1/Content/Content.mgcb b/Game1/Content/Content.mgcb similarity index 81% rename from Tractor_VS/Game1/Content/Content.mgcb rename to Game1/Content/Content.mgcb index 7917e4f..0b600c6 100644 --- a/Tractor_VS/Game1/Content/Content.mgcb +++ b/Game1/Content/Content.mgcb @@ -44,6 +44,30 @@ /processorParam:TextureFormat=Color /build:house.png +#begin Markers.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Markers.png + +#begin Mountain.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Mountain.png + #begin Plantable.png /importer:TextureImporter /processor:TextureProcessor diff --git a/Tractor_VS/Game1/Content/Crop.png b/Game1/Content/Crop.png similarity index 100% rename from Tractor_VS/Game1/Content/Crop.png rename to Game1/Content/Crop.png diff --git a/Tractor_VS/Game1/Content/File.fx b/Game1/Content/File.fx similarity index 100% rename from Tractor_VS/Game1/Content/File.fx rename to Game1/Content/File.fx diff --git a/Tractor_VS/Game1/Content/File.spritefont b/Game1/Content/File.spritefont similarity index 100% rename from Tractor_VS/Game1/Content/File.spritefont rename to Game1/Content/File.spritefont diff --git a/Tractor_VS/Game1/Content/Font.spritefont b/Game1/Content/Font.spritefont similarity index 100% rename from Tractor_VS/Game1/Content/Font.spritefont rename to Game1/Content/Font.spritefont diff --git a/Game1/Content/Markers.png b/Game1/Content/Markers.png new file mode 100644 index 0000000..947c42c Binary files /dev/null and b/Game1/Content/Markers.png differ diff --git a/Game1/Content/Mountain.png b/Game1/Content/Mountain.png new file mode 100644 index 0000000..101bd39 Binary files /dev/null and b/Game1/Content/Mountain.png differ diff --git a/Tractor_VS/Game1/Content/Plantable.png b/Game1/Content/Plantable.png similarity index 100% rename from Tractor_VS/Game1/Content/Plantable.png rename to Game1/Content/Plantable.png diff --git a/Tractor_VS/Game1/Content/Planted.png b/Game1/Content/Planted.png similarity index 100% rename from Tractor_VS/Game1/Content/Planted.png rename to Game1/Content/Planted.png diff --git a/Tractor_VS/Game1/Content/Tile.png b/Game1/Content/Tile.png similarity index 100% rename from Tractor_VS/Game1/Content/Tile.png rename to Game1/Content/Tile.png diff --git a/Game1/Content/Tractor.png b/Game1/Content/Tractor.png new file mode 100644 index 0000000..d0b8c06 Binary files /dev/null and b/Game1/Content/Tractor.png differ diff --git a/Tractor_VS/Game1/Content/house.png b/Game1/Content/house.png similarity index 100% rename from Tractor_VS/Game1/Content/house.png rename to Game1/Content/house.png diff --git a/Tractor_VS/Game1/Content/tileunplantable.png b/Game1/Content/tileunplantable.png similarity index 100% rename from Tractor_VS/Game1/Content/tileunplantable.png rename to Game1/Content/tileunplantable.png diff --git a/Game1/Game1.cs b/Game1/Game1.cs new file mode 100644 index 0000000..e9478bc --- /dev/null +++ b/Game1/Game1.cs @@ -0,0 +1,144 @@ +using Microsoft.Xna.Framework; +using Microsoft.Xna.Framework.Graphics; +using Microsoft.Xna.Framework.Input; +using System; + +namespace Game1 +{ + /// + /// This is the main type for your game. + /// + public class Game1 : Game + { + GraphicsDeviceManager graphics; + SpriteBatch spriteBatch; + SpriteFont Bold; + private Texture2D[] tile = new Texture2D[5]; + private Texture2D tractor; + private Texture2D house; + private Texture2D markers; + private Tractor tractorUnit = new Tractor(); + private Input input = new Input(); + private House houseUnit = new House(); + private Vector2 mousePosition; + + + public Game1() + { + graphics = new GraphicsDeviceManager(this); + Content.RootDirectory = "Content"; + } + + protected override void Initialize() + { + // TODO: Add your initialization logic here + base.Initialize(); + + + //Generates the map with some random values + input.init(graphics, new Vector2(16,16), 56, 1); //Generates the starting size + houseUnit.init(input.getTileSize(), input.getSpacing()); //Generates the house position + tractorUnit.init(houseUnit.GetRectangle(), input); //Generates the Tractor + tractorUnit.updateSizing(input, 0, houseUnit.getVector()); //Updates the first Size of the Tractor + tractorUnit.setPos(houseUnit.getVector()); //Changes the position of the tractor to the houses position at the start + + + + graphics.PreferredBackBufferWidth = (input.getTileSize() + input.getSpacing()) * (int)input.getSize().X; + graphics.PreferredBackBufferHeight = (input.getTileSize() + input.getSpacing()) * (int)input.getSize().Y + 125; + graphics.ApplyChanges(); + } + + protected override void LoadContent() + { + spriteBatch = new SpriteBatch(GraphicsDevice); + + + + + //Loads the PNG content and Fonts + tile[0] = Content.Load("Mountain"); + tile[1] = Content.Load("tileunplantable"); + tile[2] = Content.Load("Plantable"); + tile[3] = Content.Load("Planted"); + tile[4] = Content.Load("Crop"); + tractor = Content.Load("Tractor"); + Bold = Content.Load("Font"); + house = Content.Load("house"); + markers = Content.Load("Markers"); + } + + + + protected override void UnloadContent() + { + + } + + + protected override void Update(GameTime gameTime) //updates every 60 seconds + { + if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed || Keyboard.GetState().IsKeyDown(Keys.Escape)) + Exit(); + + + MouseState state = Mouse.GetState(); + mousePosition = new Vector2(state.X, state.Y); + + tractorUnit.updateSizing(input, 0, houseUnit.getVector()); //Updates the size + tractorUnit.setSpeed(input.changeSpeed(tractorUnit.getSpeed())); //Updates the Simulation Speed + tractorUnit.setTractorSpeed(input.changeTractorSpeed(tractorUnit.getTractorSpeed(), tractorUnit.getPos())); //Updates the Tractor Speed + input.controlWindowSize(); //Controls the size of the screen depending on the number of tiles + houseUnit.updateRectangle(input.getSize(), input.getTileSize(), input.getSpacing()); //Updates the position of the house if the house appears out of bound + + + + base.Update(gameTime); + } + + + protected override void Draw(GameTime gameTime) //Draw Function + { + GraphicsDevice.Clear(Color.CornflowerBlue); + + spriteBatch.Begin(); + + for(int i = 0; i < input.getSize().X; i++) //Draw the tiles + { + for (int j = 0; j < input.getSize().Y; j++) + { + spriteBatch.Draw(tile[tractorUnit.getFarm().getCrop(i, j).Status], new Rectangle(i * (input.getSpacingTile()), j * (input.getSpacingTile()), input.getTileSize(), input.getTileSize()), Color.White); + } + } + spriteBatch.Draw(markers, new Rectangle((int)tractorUnit.getTargetPosition().X / input.getSpacingTile() * (input.getTileSize() + input.getSpacing()) + input.getTileSize() / 4, (int)tractorUnit.getTargetPosition().Y / input.getSpacingTile() * (input.getTileSize() + input.getSpacing()) + input.getTileSize() / 4, input.getTileSize()/2, input.getTileSize()/2), Color.Green); + for (int i = 0; i < tractorUnit.getPath().getCount() + 1; i++) + { + spriteBatch.Draw(markers, new Rectangle((int)tractorUnit.getPath().getByIndex(i).getCords().X * (input.getSpacingTile()) + input.getTileSize() / 4, (int)tractorUnit.getPath().getByIndex(i).getCords().Y * (input.getSpacingTile()) + input.getTileSize() / 4, input.getTileSize()/2, input.getTileSize()/2), Color.Green); + } + + + + + spriteBatch.Draw(house, houseUnit.GetRectangle(), Color.White); + spriteBatch.Draw(markers, new Rectangle((int)tractorUnit.getPath().getFinalDest().getCords().X * (input.getSpacingTile()) + Convert.ToInt32(input.getTileSize() / 6), (int)tractorUnit.getPath().getFinalDest().getCords().Y * (input.getSpacingTile()) + Convert.ToInt32(input.getTileSize() / 6), Convert.ToInt32(input.getTileSize() / 1.5), Convert.ToInt32(input.getTileSize() / 1.5)), Color.Red); //Draws the current target of the tractor + spriteBatch.Draw(tractor, new Vector2((int)tractorUnit.getPos().X + input.getTileSize() / 2, (int)tractorUnit.getPos().Y + input.getTileSize() / 2), new Rectangle(0, 0, input.getTileSize(), input.getTileSize()), Color.White, tractorUnit.getRotation(), new Vector2(input.getTileSize() / 2, input.getTileSize() / 2), 1.0f, SpriteEffects.None, 1); + + + + spriteBatch.DrawString(Bold, "Speed:" + tractorUnit.getSpeed().ToString(), new Vector2(10, input.getSize().Y * (input.getTileSize() + input.getSpacing()) + 20) , Color.White); //Draws the speed value + + spriteBatch.DrawString(Bold, "Tractor Speed:" + tractorUnit.getTractorSpeed().ToString(), new Vector2(100, input.getSize().Y * (input.getTileSize() + input.getSpacing()) + 20), Color.White); + spriteBatch.DrawString(Bold, "Tile Size:" + input.getTileSize().ToString() + "pix", new Vector2(10, input.getSize().Y * (input.getTileSize() + input.getSpacing()) + 40), Color.White); //Draws the tile size + spriteBatch.DrawString(Bold, "Matrix Size: " + input.getSize().X.ToString() + " X " + input.getSize().Y.ToString(), new Vector2(10, input.getSize().Y * (input.getTileSize() + input.getSpacing()) + 60), Color.White);spriteBatch.DrawString(Bold, "Tile Size:" + input.getTileSize().ToString() + "pix", new Vector2(10, input.getSize().Y * (input.getTileSize() + input.getSpacing()) + 40), Color.White); + spriteBatch.DrawString(Bold, "Tractor Rotation:" + tractorUnit.getRotation().ToString() + " Degrees", new Vector2(250, input.getSize().Y * (input.getTileSize() + input.getSpacing()) + 20), Color.White); + spriteBatch.DrawString(Bold, tractorUnit.getCurrentTask(), new Vector2(10, input.getSize().Y * (input.getTileSize() + input.getSpacing()) + 80), Color.White); //Draws the tile size + spriteBatch.DrawString(Bold, tractorUnit.getScore().ToString(), new Vector2(10, input.getSize().Y * (input.getTileSize() + input.getSpacing()) + 100), Color.White); + + spriteBatch.Draw(tractor, new Rectangle((int)mousePosition.X, (int)mousePosition.Y, input.getTileSize() / 4, input.getTileSize() / 4), Color.White); + + spriteBatch.End(); + + base.Draw(gameTime); + } + } +} diff --git a/Tractor_VS/Game1/Game1.csproj b/Game1/Game1.csproj similarity index 78% rename from Tractor_VS/Game1/Game1.csproj rename to Game1/Game1.csproj index 9b5f6fb..2416809 100644 --- a/Tractor_VS/Game1/Game1.csproj +++ b/Game1/Game1.csproj @@ -44,14 +44,20 @@ - - - - - - - - + + + + + + + + + + + + + + @@ -63,7 +69,8 @@ - + + diff --git a/Tractor_VS/Game1/Icon.ico b/Game1/Icon.ico similarity index 100% rename from Tractor_VS/Game1/Icon.ico rename to Game1/Icon.ico diff --git a/Tractor_VS/Game1/Program.cs b/Game1/Program.cs similarity index 100% rename from Tractor_VS/Game1/Program.cs rename to Game1/Program.cs diff --git a/Tractor_VS/Game1/Properties/AssemblyInfo.cs b/Game1/Properties/AssemblyInfo.cs similarity index 100% rename from Tractor_VS/Game1/Properties/AssemblyInfo.cs rename to Game1/Properties/AssemblyInfo.cs diff --git a/Game1/Sources/Controlls/Controller.cs b/Game1/Sources/Controlls/Controller.cs new file mode 100644 index 0000000..1038854 --- /dev/null +++ b/Game1/Sources/Controlls/Controller.cs @@ -0,0 +1,100 @@ +using Microsoft.Xna.Framework; +using Microsoft.Xna.Framework.Input; +using Microsoft.Xna.Framework.Graphics; +using System; + +class Controller +{ + private KeyboardState state = Keyboard.GetState(); + private GraphicsDeviceManager graphics; + private bool heldUp = false; + + public void init(GraphicsDeviceManager Graphics) + { + graphics = Graphics; + } + + public Vector2 updateWindow(int tileSize, int Spacing, Vector2 Size) + { + KeyboardState state = Keyboard.GetState(); + if (state.IsKeyDown(Keys.D) && Size.X < 100) + { + Size.X++; + graphics.PreferredBackBufferWidth = (tileSize + Spacing) * (int)Size.X - Spacing; + } + + if (state.IsKeyDown(Keys.A) && Size.X > 2) + { + Size.X--; + graphics.PreferredBackBufferWidth = (tileSize + Spacing) * (int)Size.X - Spacing; + } + + if (state.IsKeyDown(Keys.W) && Size.Y < 20) + { + Size.Y++; + graphics.PreferredBackBufferHeight = (tileSize + Spacing) * (int)Size.Y - Spacing + 100; + } + + if (state.IsKeyDown(Keys.S) && Size.Y > 2) + { + Size.Y--; + graphics.PreferredBackBufferHeight = (tileSize + Spacing) * (int)Size.Y - Spacing + 100; + } + return Size; + } + + public int controllTileSize(Vector2 Size, int tileSize) + { + if (Size.X * tileSize + 5 > GraphicsAdapter.DefaultAdapter.CurrentDisplayMode.Width) + { + tileSize--; + } + if (Size.X * tileSize - 5 < GraphicsAdapter.DefaultAdapter.CurrentDisplayMode.Width && tileSize < 56) + { + tileSize++; + } + return tileSize; + } + + public int controllSpeed(int Speed) + { + KeyboardState state = Keyboard.GetState(); + if (state.IsKeyDown(Keys.Right)) + { + Speed++; + } + + if (state.IsKeyDown(Keys.Left) && Speed > 0) + { + Speed--; + } + + return Speed; + } + + public tractorPositionCorrector controllTractorSpeed(float tractorSpeed, Vector2 Position) + { + KeyboardState state = Keyboard.GetState(); + tractorPositionCorrector Corrector = new tractorPositionCorrector(Position, tractorSpeed); + if (!heldUp) + { + if (state.IsKeyDown(Keys.Up) && tractorSpeed < 1) + { + Corrector.setTractorSpeed(tractorSpeed * 2); + heldUp = true; + } + else if (state.IsKeyDown(Keys.Down) && tractorSpeed > 0.0009765625) + { + Corrector.setTractorSpeed(tractorSpeed / 2); + heldUp = true; + } + } + else if (heldUp && !(state.IsKeyDown(Keys.Down) || state.IsKeyDown(Keys.Up))) + { + heldUp = false; + Corrector.setPosition((float)Math.Ceiling(Position.X), (float)Math.Ceiling(Position.Y)); + } + + return Corrector; + } +} diff --git a/Game1/Sources/Controlls/Input.cs b/Game1/Sources/Controlls/Input.cs new file mode 100644 index 0000000..2e611a4 --- /dev/null +++ b/Game1/Sources/Controlls/Input.cs @@ -0,0 +1,72 @@ +using Microsoft.Xna.Framework; +using Microsoft.Xna.Framework.Input; +using Microsoft.Xna.Framework.Graphics; + + + +class Input +{ + private KeyboardState state = Keyboard.GetState(); + private GraphicsDeviceManager graphics; + private Vector2 Size; + private int tileSize; + private int Spacing; + private Controller controller = new Controller(); + + public void init(GraphicsDeviceManager Graphics, Vector2 size, int TileSize, int SPacing) + { + graphics = Graphics; + tileSize = TileSize; + Spacing = SPacing; + Size = size; + + controller.init(Graphics); + } + + public int changeSpeed(int Speed) + { + return controller.controllSpeed(Speed); + } + + public tractorPositionCorrector changeTractorSpeed(float tractorSpeed, Vector2 Position) + { + return controller.controllTractorSpeed(tractorSpeed, Position); + } + + private void changeSize() + { + Size = controller.updateWindow(tileSize, Spacing, Size); + } + + public void controlWindowSize() + { + tileSize = controller.controllTileSize(Size, tileSize); + changeSize(); + graphics.ApplyChanges(); + } + + public int getTileSize() + { + return tileSize; + } + + public int getSpacing() + { + return Spacing; + } + + public Vector2 getSize() + { + return Size; + } + + public int getSpacingTile() + { + return Spacing + tileSize; + } + + public void setTileSize(int newTileSize) + { + tileSize = newTileSize; + } +} diff --git a/Tractor_VS/Game1/Sources/Crops.cs b/Game1/Sources/Crops.cs similarity index 100% rename from Tractor_VS/Game1/Sources/Crops.cs rename to Game1/Sources/Crops.cs diff --git a/Game1/Sources/Crops/Crops.cs b/Game1/Sources/Crops/Crops.cs new file mode 100644 index 0000000..a9bb2f7 --- /dev/null +++ b/Game1/Sources/Crops/Crops.cs @@ -0,0 +1,63 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Microsoft.Xna.Framework; +using Microsoft.Xna.Framework.Graphics; + +class Crops +{ + public int x; + public int y; + public int Status; + private int cropType; + private int Timer; + private Random r; + + + public void updateCrop() + { + if (Status != 0) + { + Timer--; + } + } + + public int getCropTimer() + { + return Timer; + } + + public int getCostOnMovement() + { + if (Status == 1) //grass + { + return 1; + } + else if (Status == 2) //dirt + { + return 8; + } + else if (Status == 3) //crops + { + return 15; + } + else + { + return 30; + } + } + + + public void setPosition(int newx, int newy) + { + x = newx; + y = newy; + } + + public void setCropType(int Type) + { + + } +} diff --git a/Game1/Sources/Crops/Farm.cs b/Game1/Sources/Crops/Farm.cs new file mode 100644 index 0000000..b84c36d --- /dev/null +++ b/Game1/Sources/Crops/Farm.cs @@ -0,0 +1,96 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Microsoft.Xna.Framework; +using Microsoft.Xna.Framework.Graphics; + +class Farm +{ + private Crops[,] crops; + private Random r; + + //initializes the crops + public void init(Vector2 Size) + { + r = new Random(); + crops = new Crops[100, 100]; + for (int i = 0; i < Size.X; i++) + { + for (int j = 0; j < Size.Y; j++) + { + int x = r.Next(0, 3); + if (x == 0) + { + x = r.Next(0, 2); + } + if (x == 2) + { + x = r.Next(1, 3); + } + crops[i, j] = new Crops(); + crops[i, j].Status = x; + } + } + } + + public void updateFarm(Vector2 Size) + { + for (int i = 0; i > Size.X; i++) + { + for (int j = 0; j > Size.Y; j++) + { + crops[i, j].updateCrop(); + } + } + + } + + //Changes the properties of the tile when the tractor reaches this tile. + public void setCropStatus(float xfloat, float yfloat, int Spacing) + { + int x = (int)xfloat / Spacing; + int y = (int)yfloat / Spacing; + if (crops[x, y].Status == 4) + { + crops[x, y].Status = 2; + } + else if(crops[x, y].Status == 0) + { + //do nothing + } + else if (crops[x, y].Status == 2) + { + crops[x, y].Status = 3; + } + else if (crops[x, y].Status == 3) + { + crops[x, y].Status = 4; + } + } + + public Crops getCrop(int x, int y) + { + return crops[x,y]; + } + + public Crops[,] getCrops() + { + return crops; + } + + public void updateSize(Vector2 Size, int tileSize, int Spacing) + { + + for (int i = 0; i < (int)Size.X; i++) + { + for (int j = 0; j < (int)Size.Y; j++) + { + crops[i, j].x = (tileSize + Spacing) * i; + crops[i, j].y = (tileSize + Spacing) * j; + } + } + } + +} diff --git a/Tractor_VS/Game1/Sources/Farm.cs b/Game1/Sources/Farm.cs similarity index 100% rename from Tractor_VS/Game1/Sources/Farm.cs rename to Game1/Sources/Farm.cs diff --git a/Tractor_VS/Game1/Sources/House.cs b/Game1/Sources/House.cs similarity index 100% rename from Tractor_VS/Game1/Sources/House.cs rename to Game1/Sources/House.cs diff --git a/Tractor_VS/Game1/Sources/Input.cs b/Game1/Sources/Input.cs similarity index 100% rename from Tractor_VS/Game1/Sources/Input.cs rename to Game1/Sources/Input.cs diff --git a/Game1/Sources/Objects/House.cs b/Game1/Sources/Objects/House.cs new file mode 100644 index 0000000..02560d3 --- /dev/null +++ b/Game1/Sources/Objects/House.cs @@ -0,0 +1,50 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Microsoft.Xna.Framework; + +class House +{ + + private Rectangle housePos; + private Vector2 pos; + private Random r = new Random(); + + //initializes the house + public void init(int tileSize, int Spacing) + { + int x = r.Next(0, 8); + int y = r.Next(0, 8); + + pos = new Vector2(x, y); + housePos = new Rectangle((x * tileSize + Spacing), y * (tileSize + Spacing), tileSize, tileSize); + } + + + //Moves the house if it is currently out of matrix. + public void updateRectangle(Vector2 Size, int tileSize, int Spacing) + { + if (pos.X + 1 > Size.X) + { + pos = new Vector2(pos.X - 1, pos.Y); + } + if (pos.Y + 1 > Size.Y) + { + pos = new Vector2(pos.X, pos.Y - 1); + } + housePos = new Rectangle((int)pos.X * (tileSize + Spacing), (int)pos.Y * (tileSize + Spacing), tileSize, tileSize); + } + + + public Rectangle GetRectangle() + { + return housePos; + } + + public Vector2 getVector() + { + return new Vector2(housePos.X, housePos.Y); + } +} diff --git a/Game1/Sources/Objects/Tractor.cs b/Game1/Sources/Objects/Tractor.cs new file mode 100644 index 0000000..97a6813 --- /dev/null +++ b/Game1/Sources/Objects/Tractor.cs @@ -0,0 +1,309 @@ +using Microsoft.Xna.Framework; +using Microsoft.Xna.Framework.Graphics; +using Microsoft.Xna.Framework.Input; +using System; + + +class Tractor +{ + + + + private int Spacing, sizeTile, Speed = 1, Rotation = 180, rotationSpeed = 5; + private float tractorSpeed = 1; + private String currentTask; + + private Vector2 Position, TargetPosition, Direction, Size, housePos; + + private Path path = new Path(); + private Random r = new Random(); + private Farm farm = new Farm(); + + private SmartTractor smartTractor = new SmartTractor(); + private ScoreSystem scoreSystem = new ScoreSystem(); + + + public void updateSizing(Input input, int Status, Vector2 newHousePos) + { + Spacing = input.getSpacing(); + sizeTile = input.getTileSize(); + Size = input.getSize(); + updatePosition(input.getSize(), Status); + housePos = newHousePos; + } + + + public void init(Rectangle house, Input input) + { + sizeTile = input.getTileSize(); + Spacing = input.getSpacing(); + farm.init(new Vector2(100, (GraphicsAdapter.DefaultAdapter.CurrentDisplayMode.Height / sizeTile) - 125 / sizeTile)); + Position = housePos; + TargetPosition = new Vector2(house.X, house.Y); + } + + // Runs when the tractor reaches a tile + private void updateDirection(Vector2 Size, Vector2 newPosition) + { + Vector2 DeltaPosition = TargetPosition - Position; + + if (DeltaPosition.X == 0) + { + if (DeltaPosition.Y == 0) + { + calculateNewPath(newPosition); + } + else if (DeltaPosition.Y > 0) + { + updateRotation(0); + } + else if (DeltaPosition.Y < 0) + { + updateRotation(1); + } + } + else if (DeltaPosition.X > 0) + { + updateRotation(2); + } + else if (DeltaPosition.X < 0) + { + updateRotation(3); + } + + } + + //Moves the tractor + public void updatePosition(Vector2 Size, int Status) /// updates the position + { + + farm.updateSize(Size, sizeTile, Spacing); + for (int i = 0; i < Speed; i++) //Where all the choices the tractor does comes from + { + smartTractor.updateMap(Position, housePos, farm.getCrops(), Size, sizeTile, Spacing, scoreSystem.getScore(), Rotation); + + updateDirection(Size, Position); + + } + + + } + + public void calculateNewPath(Vector2 newPosition) + { + if (path.getCount() == 0) + { + if (housePos != Position) + { + //Returns to the farm + int x = (int)Position.X / (sizeTile + Spacing); + int y = (int)Position.Y / (sizeTile + Spacing); + currentTask = scoreSystem.MessageAndScore(farm.getCrop(x, y).Status, 0); + farm.setCropStatus(x, y, Spacing); + path = smartTractor.returnChoice(0); + } + else + { + //Sets a random Target + int xTarget = (int)TargetPosition.X / (sizeTile + Spacing); + int yTarget = (int)TargetPosition.Y / (sizeTile + Spacing); + currentTask = scoreSystem.MessageAndScore(farm.getCrop(xTarget, yTarget).Status, 1); + path = smartTractor.returnChoice(1); + } + + TargetPosition = path.Reduce().getCords() * (sizeTile + Spacing); + updateDirection(Size, newPosition); + } + else + { + TargetPosition = path.Reduce().getCords() * (sizeTile + Spacing); + updateDirection(Size, newPosition); + } + } + + private void updateRotation(int Destination) + { + if (Destination == 0) + { + if (Rotation == 0) + { + Direction = new Vector2(0, 1) * tractorSpeed; + Position = Position + Direction; + } + else + { + if (Rotation == 0) + { + //Do nothing + } + else if (Rotation > 180) + { + if (Rotation >= 360) + { + Rotation = 0; + } + Rotation = Rotation + rotationSpeed; + } + else if (Rotation <= 180 && Rotation > 0) + { + Rotation = Rotation - rotationSpeed; + } + } + } + else if (Destination == 1) + { + if (Rotation == 180) + { + Direction = new Vector2(0, -1) * tractorSpeed; + Position = Position + Direction; + } + else + { + if (Rotation == 180) + { + //Do nothing + } + else if (Rotation >= 0 && Rotation < 180) + { + Rotation = Rotation + rotationSpeed; + } + else if (Rotation < 360 && Rotation > 180) + { + Rotation = Rotation - rotationSpeed; + } + } + + } + else if (Destination == 2) + { + if (Rotation == 270) + { + Direction = new Vector2(1, 0) * tractorSpeed; + Position = Position + Direction; + } + else + { + if (Rotation == 270) + { + //Do nothing + } + else if (Rotation > 90 && Rotation < 270) + { + Rotation = Rotation + rotationSpeed; + } + else if (Rotation < 90 || Rotation < 360) + { + if (Rotation <= 0) + { + Rotation = 360; + } + Rotation = Rotation - rotationSpeed; + } + } + } + else if (Destination == 3) + { + if (Rotation == 90) + { + Direction = new Vector2(-1, 0) * tractorSpeed; + Position = Position + Direction; + } + else + { + if (Rotation == 90) + { + //Do nothing + } + else if ( Rotation < 270 && Rotation > 90) + { + Rotation = Rotation - rotationSpeed; + } + else if (Rotation >= 0 || Rotation > 270) + { + if (Rotation >= 360) + { + Rotation = 0; + } + Rotation = Rotation + rotationSpeed; + } + } + + } + } + + public float getRotation() + { + return MathHelper.ToRadians(Rotation); + + } + + public Vector2 getPos() + { + return Position; + } + + public void increaseSpeed() + { + Speed++; + } + + public void decreaseSpeed() + { + if (Speed > 0) + { + Speed--; + } + + } + + public void setSpeed(int newSpeed) + { + Speed = newSpeed; + } + + public void setTractorSpeed(tractorPositionCorrector corrector) + { + tractorSpeed = corrector.getTractorSpeed(); + Position = corrector.getPosition(); + } + + public int getSpeed() + { + return Speed; + } + + public float getTractorSpeed() + { + return tractorSpeed; + } + + public void setPos(Vector2 newPos) + { + Position = newPos; + } + + public Farm getFarm() + { + return farm; + } + + public Vector2 getTargetPosition() + { + return TargetPosition; + } + + public String getCurrentTask() + { + return currentTask; + } + + public int getScore() + { + return scoreSystem.getScore(); + } + + public Path getPath() + { + return path; + } +} diff --git a/Game1/Sources/Objects/tractorPositionCorrector.cs b/Game1/Sources/Objects/tractorPositionCorrector.cs new file mode 100644 index 0000000..8d0ed8b --- /dev/null +++ b/Game1/Sources/Objects/tractorPositionCorrector.cs @@ -0,0 +1,36 @@ +using Microsoft.Xna.Framework; +using Microsoft.Xna.Framework.Graphics; +using Microsoft.Xna.Framework.Input; + +class tractorPositionCorrector +{ + + Vector2 mPosition; + float mTractorSpeed; + + public tractorPositionCorrector(Vector2 position, float TractorSpeed) + { + mPosition = position; + mTractorSpeed = TractorSpeed; + } + + public Vector2 getPosition() + { + return mPosition; + } + + public float getTractorSpeed() + { + return mTractorSpeed; + } + + public void setPosition(float x, float y) + { + mPosition = new Vector2(x,y); + } + + public void setTractorSpeed(float newSpeed) + { + mTractorSpeed = newSpeed; + } +} diff --git a/Game1/Sources/Pathing/A-Star/Astar.cs b/Game1/Sources/Pathing/A-Star/Astar.cs new file mode 100644 index 0000000..9ab7ae1 --- /dev/null +++ b/Game1/Sources/Pathing/A-Star/Astar.cs @@ -0,0 +1,159 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Microsoft.Xna.Framework; + +class Astar +{ + + private Vector2 tractorPos; + private Vector2 housePos; + private Crops[,] crops; + private Vector2 Size; + private PriorityQueue allPaths; + private Vector2 targetPos; + private int Rotation; + + public void update(Crops[,] newCrops, Vector2 newSize, Vector2 newTractorPos, Vector2 newHousePos, Vector2 newtargetPos, int rotation) + { + tractorPos = new Vector2((int)newTractorPos.X, (int)newTractorPos.Y); + housePos = new Vector2((int)newHousePos.X, (int)newHousePos.Y); + targetPos = newtargetPos; + crops = newCrops; + Size = newSize; + Rotation = rotation; + } + + public Nodes getOptimalPath() + { + return allPaths.Peek(); + } + + // Get all adjacent nodes + private List GetAdjacentNodes(Vector2 currentPos) + { + var adjacentNodes = new List() + + { + new Nodes(new Vector2(currentPos.X, currentPos.Y+1), 0), + new Nodes(new Vector2(currentPos.X + 1, currentPos.Y), 1), + new Nodes(new Vector2(currentPos.X, currentPos.Y - 1), 2), + new Nodes(new Vector2(currentPos.X - 1, currentPos.Y), -1), + }; + + //check if out of range + for (int i = 3; i >= 0; i--) + { + if (adjacentNodes[i].getCords().X < 0 || adjacentNodes[i].getCords().Y < 0) + adjacentNodes.Remove(adjacentNodes[i]); + else + { + if (adjacentNodes[i].getCords().X > Size.X - 1 || adjacentNodes[i].getCords().Y > Size.Y - 1) + adjacentNodes.Remove(adjacentNodes[i]); + } + } + // return if not an obstacle + return adjacentNodes.Where( + item => crops[(int)item.getCords().X, (int)item.getCords().Y].Status != 0).ToList(); + } + + // Heuristic function, Manhattan method. + public int ComputeHScore(Vector2 currentNode, Vector2 endNote) + { + return (int)(Math.Abs(endNote.X - currentNode.X) + Math.Abs(endNote.Y - currentNode.Y)); + } + // Rotation Cost + public int CalculateRotationCost(int currDir, int newDir) + { + if (currDir == newDir) + return 0; + else if (Math.Abs(currDir - newDir) == 1 || Math.Abs(currDir - newDir) == 3) + return 2; + else if (Math.Abs(currDir - newDir) == 0 || Math.Abs(currDir - newDir) == 2) + return 9; + return 0; + } + + // Convert rotation used by sprite, to get direction of first node in next path + public int ConvertRotation() + { + int rotation = 0; + if (Rotation == 180) + rotation = 0; + else if (Rotation == 270) + rotation = 1; + else if (Rotation == 0) + rotation = 2; + else if (Rotation == 90) + rotation = -1; + return rotation; + } + + // Main function of A* algorithm + public Path FindPath() + { + int g = 0; + int direction = ConvertRotation(); + Path path = new Path(); + MinHeap openList = new MinHeap(); + MinHeap closedList = new MinHeap(); + Nodes target = new Nodes(targetPos); + Nodes startPos = new Nodes(tractorPos, direction); + Nodes current = null; + + openList.Insert(startPos); + + while (openList.GetSize() > 0) + { + current = openList.getMin(); + closedList.Insert(current); + openList.removeMin(); + direction = current.getDirection(); + + if (current.getCords() == target.getCords()) + break; + + var adjacentNodes = GetAdjacentNodes(current.getCords()); + foreach (var adjacentNode in adjacentNodes) + { + if (closedList.Exists(adjacentNode.getCords())) // check if adjacent node is on closed list, if it is, skip it + continue; + g = current.getG() + crops[(int)adjacentNode.getCords().X, (int)adjacentNode.getCords().Y].getCostOnMovement() + CalculateRotationCost(direction, adjacentNode.getDirection()); // calculate g - cost from start point + if (!(openList.Exists(adjacentNode.getCords()))) // if adjacent node is not on open list, add it + { + + adjacentNode.setG(g); + adjacentNode.setH(ComputeHScore(adjacentNode.getCords(), target.getCords())); + adjacentNode.calculateF(); + adjacentNode.setParent(current); + openList.Insert(adjacentNode); + } + else + { + if (g + adjacentNode.getH() < adjacentNode.getF()) // check if adjacent node is a better path than the current one + { + adjacentNode.setG(g); + adjacentNode.calculateF(); + adjacentNode.setParent(current); + } + } + + } + } + + // backtrack to create path + while (current != null) + { + path.AddNode(current); + current = current.getParent(); + } + path = path.FlipArray(); + + openList.deleteHeap(); + closedList.deleteHeap(); + return path; + } + +} \ No newline at end of file diff --git a/Game1/Sources/Pathing/A-Star/PathSaver/MinHeap.cs b/Game1/Sources/Pathing/A-Star/PathSaver/MinHeap.cs new file mode 100644 index 0000000..9e20957 --- /dev/null +++ b/Game1/Sources/Pathing/A-Star/PathSaver/MinHeap.cs @@ -0,0 +1,193 @@ +using System; +using System.Collections.Generic; +using Microsoft.Xna.Framework; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +class MinHeap +{ + List arr = new List(); + public MinHeap() + { + arr = new List(); + } + + public void Insert(Nodes value) + { + arr.Add(value); + siftUp(arr.Count - 1); + } + + public void removeMin() + { + if (arr.Count == 0) + { + throw new Exception("Heap is empty!"); + } + else + { + arr[0] = arr[arr.Count - 1]; + arr.RemoveAt(arr.Count - 1); + if (arr.Count > 0) + { + siftDown(0); + } + } + } + + private void siftUp(int index) + { + int parentIndex; + Nodes temp; + if (index != 0) + { + parentIndex = getParentIndex(index); + if (arr[parentIndex].getF() > arr[index].getF()) + { + temp = arr[parentIndex]; + arr[parentIndex] = arr[index]; + arr[index] = temp; + siftUp(parentIndex); + } + } + } + + private int getParentIndex(int index) + { + return (index - 1) / 2; + } + + private void siftDown(int nodeIndex) + { + int leftChildIndex, rightChildIndex, minIndex; + Nodes tmp; + + leftChildIndex = getLeftChildIndex(nodeIndex); + + rightChildIndex = getRightChildIndex(nodeIndex); + + if (rightChildIndex >= arr.Count) + { + if (leftChildIndex >= arr.Count) + { + return; + } + else + { + minIndex = leftChildIndex; + } + } + else + { + if (arr[leftChildIndex].getF() <= arr[rightChildIndex].getF()) + { + minIndex = leftChildIndex; + } + else + { + minIndex = rightChildIndex; + } + } + if (arr[nodeIndex].getF() > arr[minIndex].getF()) + { + tmp = arr[minIndex]; + + arr[minIndex] = arr[nodeIndex]; + + arr[nodeIndex] = tmp; + + siftDown(minIndex); + } + } + + private int getRightChildIndex(int nodeIndex) + { + return (2 * nodeIndex) + 2; + } + + private int getLeftChildIndex(int nodeIndex) + { + return (2 * nodeIndex) + 1; + } + + public Nodes getMin() + { + return arr[0]; + } + + public void BuildMinHeap(List input) + { + if (arr.Count > 0) + { + //clear the current heap + for (int i = 0; i < arr.Count; i++) + { + arr[i] = input[i]; + } + } + for (int i = arr.Count - 1 / 2; i >= 0; i--) + { + MinHeapify(i); + } + } + + private void MinHeapify(int index) + { + int left = 2 * index; + int right = (2 * index) + 1; + int smallest = index; + if (left < arr.Count && arr[left].getF() < arr[index].getF()) + { + smallest = left; + } + else + { + smallest = index; + } + if (right < arr.Count && arr[right].getF() < arr[smallest].getF()) + { + smallest = right; + } + if (smallest != index) + { + swap(ref arr, index, smallest); + MinHeapify(smallest); + } + } + + private void swap(ref List input, int a, int b) + { + Nodes temp = input[a]; + input[a] = input[b]; + input[b] = temp; + } + + public int GetSize() + { + return arr.Count; + } + + public Boolean Exists(Vector2 coordinates) + { + if (arr.Count == 0) + return false; + foreach (Nodes node in arr) + { + if (node.getCords() == coordinates) + return true; + } + return false; + } + + public List GetList() + { + return arr; + } + + public void deleteHeap() + { + arr.Clear(); + } + +} diff --git a/Game1/Sources/Pathing/A-Star/PathSaver/Nodes.cs b/Game1/Sources/Pathing/A-Star/PathSaver/Nodes.cs new file mode 100644 index 0000000..76450ad --- /dev/null +++ b/Game1/Sources/Pathing/A-Star/PathSaver/Nodes.cs @@ -0,0 +1,97 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Microsoft.Xna.Framework; +using Microsoft.Xna.Framework.Input; +using Microsoft.Xna.Framework.Graphics; + +class Nodes +{ + private int F = 0; + private int G = 0; + private int H = 0; + private Vector2 Coordinates; + private Nodes Parent = null; + private int Direction = 0; + + public Nodes(Vector2 coordinates) + { + Coordinates = coordinates; + } + + public Nodes(Vector2 coordinates, int direction) + { + Coordinates = coordinates; + Direction = direction; + } + + public Nodes(Nodes node) + { + F = node.F; + G = node.G; + H = node.H; + Coordinates = node.Coordinates; + Parent = node.Parent; + } + + public Nodes(int f, int g, int h, Vector2 coordinates, Nodes parent) + { + F = f; + G = g; + H = h; + Coordinates = coordinates; + Parent = parent; + } + + public Vector2 getCords() + { + return Coordinates; + } + + public int getF() + { + return F; + } + + public int getG() + { + return G; + } + + public int getH() + { + return H; + } + + public void calculateF() + { + F = G + H; + } + + public void setG(int g) + { + G = g; + } + + public void setH(int h) + { + H = h; + } + + public Nodes getParent() + { + return Parent; + } + + public void setParent(Nodes parent) + { + Parent = parent; + } + + public int getDirection() + { + return Direction; + } +} \ No newline at end of file diff --git a/Game1/Sources/Pathing/A-Star/PathSaver/Path.cs b/Game1/Sources/Pathing/A-Star/PathSaver/Path.cs new file mode 100644 index 0000000..8b00c78 --- /dev/null +++ b/Game1/Sources/Pathing/A-Star/PathSaver/Path.cs @@ -0,0 +1,64 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Microsoft.Xna.Framework; +using Microsoft.Xna.Framework.Input; +using Microsoft.Xna.Framework.Graphics; + +class Path +{ + private Nodes[] nodes = new Nodes[512]; + private int Count = 0; + + public void AddNode(Nodes node) + { + nodes[Count] = new Nodes(node); + Count++; + } + + public Nodes Reduce() + { + Count--; + Nodes temp = nodes[0]; + + for (int i = 0; i < Count; i++) + { + nodes[i] = nodes[i + 1]; + } + nodes[Count + 1] = null; + return temp; + } + + public Path FlipArray() + { + int j = Count; + Nodes[] tempp = nodes; + Nodes[] newnode = new Nodes[Count]; + Path newPath = new Path(); + for (int i = 0; i < Count; i++) + { + newnode[i] = tempp[j - 1]; + j--; + newPath.AddNode(newnode[i]); + } + return newPath; + } + + public Nodes getFinalDest() + { + return nodes[Count]; + } + + public int getCount() + { + return Count; + } + + public Nodes getByIndex(int i) + { + return nodes[i]; + } + +} \ No newline at end of file diff --git a/Game1/Sources/Pathing/A-Star/PathSaver/PriorityQueue.cs b/Game1/Sources/Pathing/A-Star/PathSaver/PriorityQueue.cs new file mode 100644 index 0000000..993a304 --- /dev/null +++ b/Game1/Sources/Pathing/A-Star/PathSaver/PriorityQueue.cs @@ -0,0 +1,88 @@ +using System; +using System.Collections.Generic; +using Microsoft.Xna.Framework; +using Microsoft.Xna.Framework.Input; +using Microsoft.Xna.Framework.Graphics; + +class PriorityQueue +{ + public List list; + public int Count { get { return list.Count; } } + + public PriorityQueue() + { + list = new List(); + } + + public PriorityQueue(int count) + { + list = new List(count); + } + + + public void Enqueue(Nodes x) + { + list.Add(x); + int i = Count - 1; + + + while (i > 0) + { + int p = (i - 1) / 2; + if (list[p].getF() <= x.getF()) break; + + list[i] = list[p]; + i = p; + } + + if (Count > 0) list[i] = x; + + } + + public void Dequeue() + { + Nodes min = Peek(); + Nodes root = list[Count - 1]; + list.RemoveAt(Count - 1); + + + int i = 0; + while (i * 2 + 1 < Count) + { + int a = i * 2 + 1; + int b = i * 2 + 2; + int c = b < Count && list[b].getF() < list[a].getF() ? b : a; + + if (list[c].getF() >= root.getF()) break; + list[i] = list[c]; + i = c; + } + + if (Count > 0) list[i] = root; + + } + + public Nodes Peek() + { + if (Count == 0) throw new InvalidOperationException("Queue is empty."); + return list[0]; + } + + public Boolean Exists(Vector2 coordinates) + { + if (Count == 0) + return false; + foreach(Nodes node in list) + { + if (node.getCords() == coordinates) + return true; + } + return false; + } + + + public void Clear() + { + list.Clear(); + } +} \ No newline at end of file diff --git a/Tractor_VS/Game1/Sources/Queue.cs b/Game1/Sources/Queue.cs similarity index 100% rename from Tractor_VS/Game1/Sources/Queue.cs rename to Game1/Sources/Queue.cs diff --git a/Game1/Sources/Smart/ScoreSystem.cs b/Game1/Sources/Smart/ScoreSystem.cs new file mode 100644 index 0000000..eda336e --- /dev/null +++ b/Game1/Sources/Smart/ScoreSystem.cs @@ -0,0 +1,75 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +class ScoreSystem +{ + private int Score = 0; + private int previousTask; + + //Message which is displaying what the tractor is currently doing. + public String MessageAndScore(int Status, int Stage) + { + previousTask = Status; + if (previousTask == 3 && Stage != 1) + { + Score++; + } + //When the Tractor is going back to the farm. + if (Stage == 0) + { + if (Status == 1) + { + return "Returning with nothing after going out for a stroll"; + } + else if (Status == 2) + { + return "Returning with nothing after planting seeds"; + } + else if (Status == 3) + { + return "Returning with nothing after adding fertilizer"; + } + else if (Status == 4) + { + return "Returning with Crops"; + } + else + { + return "Error"; + } + } + //When the Tractor is going back to work. + else + { + if (Status == 1) + { + return "Going for a stroll"; + } + else if (Status == 2) + { + return "Planting seeds"; + } + else if (Status == 3) + { + return "Adding fertilizer"; + } + else if (Status == 4) + { + return "Going for Crops"; + } + else + { + return "Error"; + } + } + } + + public int getScore() + { + return Score; + } + +} diff --git a/Game1/Sources/Smart/SmartTractor.cs b/Game1/Sources/Smart/SmartTractor.cs new file mode 100644 index 0000000..fa7112c --- /dev/null +++ b/Game1/Sources/Smart/SmartTractor.cs @@ -0,0 +1,120 @@ +using System; +using Microsoft.Xna.Framework; +using System; + +class SmartTractor +{ + private Crops[,] crops; + private Vector2 housePos; + private Vector2 tractorPos; + private Vector2 Size; + private Vector2 Target; + private Path path; + private int tileSize; + private int Score; + private int Spacing; + private Random r = new Random(); + private Astar astar = new Astar(); + private int Rotation; + + + //What to do next + public Path returnChoice(int task) + { + if (task == 0) + { + //To the house + getTargetPosition((int)housePos.X / (tileSize + Spacing), (int)housePos.Y / (tileSize + Spacing)); + } + else + { + //To the fields + getTargetPosition(r.Next(0, (int)Size.X), r.Next(0, (int)Size.Y)); + } + astar.update(crops, Size, tractorPos / (tileSize + Spacing), housePos / (tileSize + Spacing), Target/(tileSize+Spacing), Rotation); + //astar.FindPath(); + return astar.FindPath(); + } + + + + + + + //Updates the variables every frame + public void updateMap(Vector2 newTractorPos, Vector2 newHousePos, Crops[,] newCropsStatus, Vector2 newSize, int newTileSize, int newSpacing, int newScore, int rotation) + { + crops = newCropsStatus; + housePos = newHousePos; + tractorPos = newTractorPos; + Size = newSize; + tileSize = newTileSize; + Spacing = newSpacing; + Score = newScore; + Rotation = rotation; + + } + + private void getTargetPosition(int x, int y) + { + Target = new Vector2(x, y) * (tileSize + Spacing); + } + + + + + + + /* + //Only for testing without obstacles + private void createPath() + { + path = new Path(); + Vector2 targetPos = Target / (tileSize + Spacing); + Vector2 currentPath = tractorPos / tileSize; + currentPath.X = (float)Math.Round(currentPath.X); + currentPath.Y = (float)Math.Round(currentPath.Y); + do + { + if (currentPath.X == targetPos.X) + { + //found X pos + if (currentPath.Y == targetPos.Y) + { + //found y pos + } + else if (currentPath.Y < targetPos.Y) + { + currentPath = new Vector2(currentPath.X, currentPath.Y + 1); + path.setNode(currentPath, crops); + } + else if (currentPath.Y > targetPos.Y) + { + currentPath = new Vector2(currentPath.X, currentPath.Y - 1); + path.setNode(currentPath, crops); + } + } + else if (currentPath.X < targetPos.X) + { + currentPath = new Vector2(currentPath.X + 1, currentPath.Y); + path.setNode(currentPath, crops); + } + else if (currentPath.X > targetPos.X) + { + currentPath = new Vector2(currentPath.X - 1, currentPath.Y); + path.setNode(currentPath, crops); + } + } while (currentPath != targetPos); + + + } + + public void setNode(Vector2 newNode, Crops[,] Crop) + { + + nodes[Count] = new Nodes(Crop[(int)newNode.X, (int)newNode.Y].getCostOnMovement(), newNode); + Count++; + } + + */ +} diff --git a/Tractor_VS/Game1/Sources/Task.cs b/Game1/Sources/Task.cs similarity index 100% rename from Tractor_VS/Game1/Sources/Task.cs rename to Game1/Sources/Task.cs diff --git a/Tractor_VS/Game1/Sources/Tractor.cs b/Game1/Sources/Tractor.cs similarity index 100% rename from Tractor_VS/Game1/Sources/Tractor.cs rename to Game1/Sources/Tractor.cs diff --git a/Tractor_VS/Game1/Sources/smartTractor.cs b/Game1/Sources/smartTractor.cs similarity index 100% rename from Tractor_VS/Game1/Sources/smartTractor.cs rename to Game1/Sources/smartTractor.cs diff --git a/Tractor_VS/Game1/TextFile1.txt b/Game1/TextFile1.txt similarity index 100% rename from Tractor_VS/Game1/TextFile1.txt rename to Game1/TextFile1.txt diff --git a/Tractor_VS/Game1/app.manifest b/Game1/app.manifest similarity index 100% rename from Tractor_VS/Game1/app.manifest rename to Game1/app.manifest diff --git a/Tractor_VS/.gitignore b/Tractor_VS/.gitignore deleted file mode 100644 index 3c4efe2..0000000 --- a/Tractor_VS/.gitignore +++ /dev/null @@ -1,261 +0,0 @@ -## Ignore Visual Studio temporary files, build results, and -## files generated by popular Visual Studio add-ons. - -# User-specific files -*.suo -*.user -*.userosscache -*.sln.docstates - -# User-specific files (MonoDevelop/Xamarin Studio) -*.userprefs - -# Build results -[Dd]ebug/ -[Dd]ebugPublic/ -[Rr]elease/ -[Rr]eleases/ -x64/ -x86/ -bld/ -[Bb]in/ -[Oo]bj/ -[Ll]og/ - -# Visual Studio 2015 cache/options directory -.vs/ -# Uncomment if you have tasks that create the project's static files in wwwroot -#wwwroot/ - -# MSTest test Results -[Tt]est[Rr]esult*/ -[Bb]uild[Ll]og.* - -# NUNIT -*.VisualState.xml -TestResult.xml - -# Build Results of an ATL Project -[Dd]ebugPS/ -[Rr]eleasePS/ -dlldata.c - -# DNX -project.lock.json -project.fragment.lock.json -artifacts/ - -*_i.c -*_p.c -*_i.h -*.ilk -*.meta -*.obj -*.pch -*.pdb -*.pgc -*.pgd -*.rsp -*.sbr -*.tlb -*.tli -*.tlh -*.tmp -*.tmp_proj -*.log -*.vspscc -*.vssscc -.builds -*.pidb -*.svclog -*.scc - -# Chutzpah Test files -_Chutzpah* - -# Visual C++ cache files -ipch/ -*.aps -*.ncb -*.opendb -*.opensdf -*.sdf -*.cachefile -*.VC.db -*.VC.VC.opendb - -# Visual Studio profiler -*.psess -*.vsp -*.vspx -*.sap - -# TFS 2012 Local Workspace -$tf/ - -# Guidance Automation Toolkit -*.gpState - -# ReSharper is a .NET coding add-in -_ReSharper*/ -*.[Rr]e[Ss]harper -*.DotSettings.user - -# JustCode is a .NET coding add-in -.JustCode - -# TeamCity is a build add-in -_TeamCity* - -# DotCover is a Code Coverage Tool -*.dotCover - -# NCrunch -_NCrunch_* -.*crunch*.local.xml -nCrunchTemp_* - -# MightyMoose -*.mm.* -AutoTest.Net/ - -# Web workbench (sass) -.sass-cache/ - -# 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 -*.[Pp]ublish.xml -*.azurePubxml -# TODO: Comment the next line if you want to checkin your web deploy settings -# but database connection strings (with potential passwords) will be unencrypted -#*.pubxml -*.publishproj - -# Microsoft Azure Web App publish settings. Comment the next line if you want to -# checkin your Azure Web App publish settings, but sensitive information contained -# in these scripts will be unencrypted -PublishScripts/ - -# NuGet Packages -*.nupkg -# The packages folder can be ignored because of Package Restore -**/packages/* -# except build/, which is used as an MSBuild target. -!**/packages/build/ -# Uncomment if necessary however generally it will be regenerated when needed -#!**/packages/repositories.config -# NuGet v3's project.json files produces more ignoreable files -*.nuget.props -*.nuget.targets - -# Microsoft Azure Build Output -csx/ -*.build.csdef - -# Microsoft Azure Emulator -ecf/ -rcf/ - -# Windows Store app package directories and files -AppPackages/ -BundleArtifacts/ -Package.StoreAssociation.xml -_pkginfo.txt - -# Visual Studio cache files -# files ending in .cache can be ignored -*.[Cc]ache -# but keep track of directories ending in .cache -!*.[Cc]ache/ - -# Others -ClientBin/ -~$* -*~ -*.dbmdl -*.dbproj.schemaview -*.jfm -*.pfx -*.publishsettings -node_modules/ -orleans.codegen.cs - -# Since there are multiple workflows, uncomment next line to ignore bower_components -# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) -#bower_components/ - -# 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 -*.mdf -*.ldf - -# Business Intelligence projects -*.rdl.data -*.bim.layout -*.bim_*.settings - -# Microsoft Fakes -FakesAssemblies/ - -# GhostDoc plugin setting file -*.GhostDoc.xml - -# Node.js Tools for Visual Studio -.ntvs_analysis.dat - -# Visual Studio 6 build log -*.plg - -# Visual Studio 6 workspace options file -*.opt - -# Visual Studio LightSwitch build output -**/*.HTMLClient/GeneratedArtifacts -**/*.DesktopClient/GeneratedArtifacts -**/*.DesktopClient/ModelManifest.xml -**/*.Server/GeneratedArtifacts -**/*.Server/ModelManifest.xml -_Pvt_Extensions - -# Paket dependency manager -.paket/paket.exe -paket-files/ - -# FAKE - F# Make -.fake/ - -# JetBrains Rider -.idea/ -*.sln.iml - -# CodeRush -.cr/ - -# Python Tools for Visual Studio (PTVS) -__pycache__/ -*.pyc \ No newline at end of file diff --git a/Tractor_VS/.vs/Game1/v15/.suo b/Tractor_VS/.vs/Game1/v15/.suo deleted file mode 100644 index e9dd533..0000000 Binary files a/Tractor_VS/.vs/Game1/v15/.suo and /dev/null differ diff --git a/Tractor_VS/.vs/Game1/v15/Server/sqlite3/db.lock b/Tractor_VS/.vs/Game1/v15/Server/sqlite3/db.lock deleted file mode 100644 index e69de29..0000000 diff --git a/Tractor_VS/.vs/Game1/v15/Server/sqlite3/storage.ide b/Tractor_VS/.vs/Game1/v15/Server/sqlite3/storage.ide deleted file mode 100644 index 2447a78..0000000 Binary files a/Tractor_VS/.vs/Game1/v15/Server/sqlite3/storage.ide and /dev/null differ diff --git a/Tractor_VS/.vs/Game1/v15/Server/sqlite3/storage.ide-shm b/Tractor_VS/.vs/Game1/v15/Server/sqlite3/storage.ide-shm deleted file mode 100644 index ad1c6ed..0000000 Binary files a/Tractor_VS/.vs/Game1/v15/Server/sqlite3/storage.ide-shm and /dev/null differ diff --git a/Tractor_VS/.vs/Game1/v15/Server/sqlite3/storage.ide-wal b/Tractor_VS/.vs/Game1/v15/Server/sqlite3/storage.ide-wal deleted file mode 100644 index 1cdc73b..0000000 Binary files a/Tractor_VS/.vs/Game1/v15/Server/sqlite3/storage.ide-wal and /dev/null differ diff --git a/Tractor_VS/Game1/Content/Tractor.png b/Tractor_VS/Game1/Content/Tractor.png deleted file mode 100644 index 479d069..0000000 Binary files a/Tractor_VS/Game1/Content/Tractor.png and /dev/null differ diff --git a/Tractor_VS/Game1/Content/bin/Windows/Content/Font.xnb b/Tractor_VS/Game1/Content/bin/Windows/Content/Font.xnb deleted file mode 100644 index 7c940e2..0000000 Binary files a/Tractor_VS/Game1/Content/bin/Windows/Content/Font.xnb and /dev/null differ diff --git a/Tractor_VS/Game1/Content/bin/Windows/Content/Tile.xnb b/Tractor_VS/Game1/Content/bin/Windows/Content/Tile.xnb deleted file mode 100644 index dabf1f1..0000000 Binary files a/Tractor_VS/Game1/Content/bin/Windows/Content/Tile.xnb and /dev/null differ diff --git a/Tractor_VS/Game1/Content/bin/Windows/Content/Tractor.xnb b/Tractor_VS/Game1/Content/bin/Windows/Content/Tractor.xnb deleted file mode 100644 index 02f5fd7..0000000 Binary files a/Tractor_VS/Game1/Content/bin/Windows/Content/Tractor.xnb and /dev/null differ diff --git a/Tractor_VS/Game1/Content/obj/Windows/Content/.mgcontent b/Tractor_VS/Game1/Content/obj/Windows/Content/.mgcontent deleted file mode 100644 index d1aa870..0000000 --- a/Tractor_VS/Game1/Content/obj/Windows/Content/.mgcontent +++ /dev/null @@ -1,26 +0,0 @@ - - - Reach - Windows - - - C:/Users/Oskar/Source/Repos/s425077/PotatoPlan/Tractor_VS/Game1/Content/Crop.png - C:/Users/Oskar/Source/Repos/s425077/PotatoPlan/Tractor_VS/Game1/Content/Font.spritefont - C:/Users/Oskar/Source/Repos/s425077/PotatoPlan/Tractor_VS/Game1/Content/house.png - C:/Users/Oskar/Source/Repos/s425077/PotatoPlan/Tractor_VS/Game1/Content/Plantable.png - C:/Users/Oskar/Source/Repos/s425077/PotatoPlan/Tractor_VS/Game1/Content/Planted.png - C:/Users/Oskar/Source/Repos/s425077/PotatoPlan/Tractor_VS/Game1/Content/Tile.png - C:/Users/Oskar/Source/Repos/s425077/PotatoPlan/Tractor_VS/Game1/Content/tileunplantable.png - C:/Users/Oskar/Source/Repos/s425077/PotatoPlan/Tractor_VS/Game1/Content/Tractor.png - - - - - - - - - - - - \ No newline at end of file diff --git a/Tractor_VS/Game1/Content/obj/Windows/Content/.mgstats b/Tractor_VS/Game1/Content/obj/Windows/Content/.mgstats deleted file mode 100644 index ddf5575..0000000 --- a/Tractor_VS/Game1/Content/obj/Windows/Content/.mgstats +++ /dev/null @@ -1,9 +0,0 @@ -Source File,Dest File,Processor Type,Content Type,Source File Size,Dest File Size,Build Seconds -"C:/Users/Oskar/Source/Repos/s425077/PotatoPlan/Tractor_VS/Game1/Content/Crop.png","C:/Users/Oskar/Source/Repos/s425077/PotatoPlan/Tractor_VS/Game1/Content/bin/Windows/Content/Crop.xnb","TextureProcessor","Texture2DContent",3681,262229,0.2164986 -"C:/Users/Oskar/Source/Repos/s425077/PotatoPlan/Tractor_VS/Game1/Content/Font.spritefont","C:/Users/Oskar/Source/Repos/s425077/PotatoPlan/Tractor_VS/Game1/Content/bin/Windows/Content/Font.xnb","FontDescriptionProcessor","SpriteFontContent",2008,21524,0.1952166 -"C:/Users/Oskar/Source/Repos/s425077/PotatoPlan/Tractor_VS/Game1/Content/house.png","C:/Users/Oskar/Source/Repos/s425077/PotatoPlan/Tractor_VS/Game1/Content/bin/Windows/Content/house.xnb","TextureProcessor","Texture2DContent",1226,40085,0.003001 -"C:/Users/Oskar/Source/Repos/s425077/PotatoPlan/Tractor_VS/Game1/Content/Plantable.png","C:/Users/Oskar/Source/Repos/s425077/PotatoPlan/Tractor_VS/Game1/Content/bin/Windows/Content/Plantable.xnb","TextureProcessor","Texture2DContent",776,262229,0.0060014 -"C:/Users/Oskar/Source/Repos/s425077/PotatoPlan/Tractor_VS/Game1/Content/Planted.png","C:/Users/Oskar/Source/Repos/s425077/PotatoPlan/Tractor_VS/Game1/Content/bin/Windows/Content/Planted.xnb","TextureProcessor","Texture2DContent",3958,262229,0.0060017 -"C:/Users/Oskar/Source/Repos/s425077/PotatoPlan/Tractor_VS/Game1/Content/Tile.png","C:/Users/Oskar/Source/Repos/s425077/PotatoPlan/Tractor_VS/Game1/Content/bin/Windows/Content/Tile.xnb","TextureProcessor","Texture2DContent",828,262229,0.008001 -"C:/Users/Oskar/Source/Repos/s425077/PotatoPlan/Tractor_VS/Game1/Content/tileunplantable.png","C:/Users/Oskar/Source/Repos/s425077/PotatoPlan/Tractor_VS/Game1/Content/bin/Windows/Content/tileunplantable.xnb","TextureProcessor","Texture2DContent",1823,1000085,0.0220053 -"C:/Users/Oskar/Source/Repos/s425077/PotatoPlan/Tractor_VS/Game1/Content/Tractor.png","C:/Users/Oskar/Source/Repos/s425077/PotatoPlan/Tractor_VS/Game1/Content/bin/Windows/Content/Tractor.xnb","TextureProcessor","Texture2DContent",573,12853,0.0020008 diff --git a/Tractor_VS/Game1/Content/obj/Windows/Content/Font.mgcontent b/Tractor_VS/Game1/Content/obj/Windows/Content/Font.mgcontent deleted file mode 100644 index 0c24e00..0000000 --- a/Tractor_VS/Game1/Content/obj/Windows/Content/Font.mgcontent +++ /dev/null @@ -1,22 +0,0 @@ - - - C:/Users/Oskar/Source/Repos/s425077/PotatoPlan/Tractor_VS/Game1/Content/Font.spritefont - 2018-12-08T17:35:46+01:00 - C:/Users/Oskar/Source/Repos/s425077/PotatoPlan/Tractor_VS/Game1/Content/bin/Windows/Content/Font.xnb - 2020-04-08T20:07:48.1912196+02:00 - FontDescriptionImporter - 2020-02-26T06:46:56+01:00 - FontDescriptionProcessor - 2020-02-26T06:46:56+01:00 - - PremultiplyAlpha - True - - - TextureFormat - Compressed - - - - - \ No newline at end of file diff --git a/Tractor_VS/Game1/Content/obj/Windows/Content/Tile.mgcontent b/Tractor_VS/Game1/Content/obj/Windows/Content/Tile.mgcontent deleted file mode 100644 index 47396e5..0000000 --- a/Tractor_VS/Game1/Content/obj/Windows/Content/Tile.mgcontent +++ /dev/null @@ -1,42 +0,0 @@ - - - C:/Users/Oskar/Source/Repos/s425077/PotatoPlan/Tractor_VS/Game1/Content/Tile.png - 2020-04-08T20:07:05.8428994+02:00 - C:/Users/Oskar/Source/Repos/s425077/PotatoPlan/Tractor_VS/Game1/Content/bin/Windows/Content/Tile.xnb - 2020-04-08T20:07:48.2152249+02:00 - TextureImporter - 2020-02-26T06:46:56+01:00 - TextureProcessor - 2020-02-26T06:46:56+01:00 - - ColorKeyColor - 255,0,255,255 - - - ColorKeyEnabled - True - - - GenerateMipmaps - False - - - PremultiplyAlpha - True - - - ResizeToPowerOfTwo - False - - - MakeSquare - False - - - TextureFormat - Color - - - - - \ No newline at end of file diff --git a/Tractor_VS/Game1/Content/obj/Windows/Content/Tractor.mgcontent b/Tractor_VS/Game1/Content/obj/Windows/Content/Tractor.mgcontent deleted file mode 100644 index 8348452..0000000 --- a/Tractor_VS/Game1/Content/obj/Windows/Content/Tractor.mgcontent +++ /dev/null @@ -1,42 +0,0 @@ - - - C:/Users/Oskar/Source/Repos/s425077/PotatoPlan/Tractor_VS/Game1/Content/Tractor.png - 2020-04-06T14:11:32.7941423+02:00 - C:/Users/Oskar/Source/Repos/s425077/PotatoPlan/Tractor_VS/Game1/Content/bin/Windows/Content/Tractor.xnb - 2020-04-08T20:07:48.2392297+02:00 - TextureImporter - 2020-02-26T06:46:56+01:00 - TextureProcessor - 2020-02-26T06:46:56+01:00 - - ColorKeyColor - 255,0,255,255 - - - ColorKeyEnabled - True - - - GenerateMipmaps - False - - - PremultiplyAlpha - True - - - ResizeToPowerOfTwo - False - - - MakeSquare - False - - - TextureFormat - Color - - - - - \ No newline at end of file diff --git a/Tractor_VS/Game1/Game1.cs b/Tractor_VS/Game1/Game1.cs deleted file mode 100644 index b5d5be8..0000000 --- a/Tractor_VS/Game1/Game1.cs +++ /dev/null @@ -1,117 +0,0 @@ -using Microsoft.Xna.Framework; -using Microsoft.Xna.Framework.Graphics; -using Microsoft.Xna.Framework.Input; -using System; - -namespace Game1 -{ - /// - /// This is the main type for your game. - /// - public class Game1 : Game - { - GraphicsDeviceManager graphics; - SpriteBatch spriteBatch; - SpriteFont Bold; - private Texture2D[] tile = new Texture2D[4]; - private Texture2D tractor; - private Texture2D house; - private Tractor tractorUnit = new Tractor(); - private Input input = new Input(); - private House houseUnit = new House(); - - - public Game1() - { - graphics = new GraphicsDeviceManager(this); - Content.RootDirectory = "Content"; - } - - protected override void Initialize() - { - // TODO: Add your initialization logic here - base.Initialize(); - - - //Generates the map with some random values - input.init(graphics, new Vector2(8,8), 56, 1); //Generates the starting size - - - houseUnit.init(input.getTileSize(), input.getSpacing()); //Generates the house position - tractorUnit.init(houseUnit.GetRectangle()); - tractorUnit.updateSizing(input, 0, houseUnit.getVector()); - tractorUnit.setPos(houseUnit.getVector()); - - - - graphics.PreferredBackBufferWidth = (input.getTileSize() + input.getSpacing()) * (int)input.getSize().X; - graphics.PreferredBackBufferHeight = (input.getTileSize() + input.getSpacing()) * (int)input.getSize().Y + 125; - graphics.ApplyChanges(); - } - - protected override void LoadContent() - { - spriteBatch = new SpriteBatch(GraphicsDevice); - - - - - //Loads the PNG content and Fonts - tile[0] = Content.Load("tileunplantable"); - tile[1] = Content.Load("Plantable"); - tile[2] = Content.Load("Planted"); - tile[3] = Content.Load("Crop"); - tractor = Content.Load("Tractor"); - Bold = Content.Load("Font"); - house = Content.Load("house"); - } - - - - protected override void UnloadContent() - { - - } - - - protected override void Update(GameTime gameTime) //updates every 60 seconds - { - if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed || Keyboard.GetState().IsKeyDown(Keys.Escape)) - Exit(); - tractorUnit.updateSizing(input, 0, houseUnit.getVector()); //Updates the size - tractorUnit.setSpeed(input.changeSpeed(tractorUnit.getSpeed())); //Updates the speed of the tractor - input.controlWindowSize(); //Controls the size of the screen depending on the number of tiles - houseUnit.updateRectangle(input.getSize(), input.getTileSize()); - - base.Update(gameTime); - } - - - protected override void Draw(GameTime gameTime) //Draw Function - { - GraphicsDevice.Clear(Color.CornflowerBlue); - - spriteBatch.Begin(); - - for(int i = 0; i < input.getSize().X; i++) //Draw the tiles - { - for (int j = 0; j < input.getSize().Y; j++) - { - spriteBatch.Draw(tile[tractorUnit.getFarm().getCrop(i, j).Status], new Rectangle(i * (input.getTileSize() + input.getSpacing()), j * (input.getTileSize() + input.getSpacing()), input.getTileSize(), input.getTileSize()), Color.White); - } - } - - spriteBatch.Draw(tractor, new Rectangle((int)tractorUnit.getTargetPosition().X, (int)tractorUnit.getTargetPosition().Y, input.getTileSize(), input.getTileSize()) , Color.Red); //Draws the current target of the tractor - spriteBatch.Draw(tractor, new Rectangle((int)tractorUnit.getPos().X, (int)tractorUnit.getPos().Y, input.getTileSize(), input.getTileSize()), Color.White); - spriteBatch.Draw(house, houseUnit.GetRectangle(), Color.White); - spriteBatch.DrawString(Bold, "Speed:" + tractorUnit.getSpeed().ToString(), new Vector2(10, input.getSize().Y * input.getTileSize() + 20) , Color.White); //Draws the speed value - spriteBatch.DrawString(Bold, "Tile Size:" + input.getTileSize().ToString() + "pix", new Vector2(10, input.getSize().Y * input.getTileSize() + 40), Color.White); //Draws the tile size - spriteBatch.DrawString(Bold, "Matrix Size: " + input.getSize().X.ToString() + " X " + input.getSize().Y.ToString(), new Vector2(10, input.getSize().Y * input.getTileSize() + 60), Color.White); - spriteBatch.DrawString(Bold, tractorUnit.getCurrentTask(), new Vector2(10, input.getSize().Y * input.getTileSize() + 80), Color.White); //Draws the tile size - spriteBatch.DrawString(Bold, tractorUnit.getScore().ToString(), new Vector2(10, input.getSize().Y * input.getTileSize() + 100), Color.White); - spriteBatch.End(); - - base.Draw(gameTime); - } - } -} diff --git a/Tractor_VS/Game1/bin/Windows/x86/Debug/Content/Font.xnb b/Tractor_VS/Game1/bin/Windows/x86/Debug/Content/Font.xnb deleted file mode 100644 index 7c940e2..0000000 Binary files a/Tractor_VS/Game1/bin/Windows/x86/Debug/Content/Font.xnb and /dev/null differ diff --git a/Tractor_VS/Game1/bin/Windows/x86/Debug/Content/Tile.xnb b/Tractor_VS/Game1/bin/Windows/x86/Debug/Content/Tile.xnb deleted file mode 100644 index dabf1f1..0000000 Binary files a/Tractor_VS/Game1/bin/Windows/x86/Debug/Content/Tile.xnb and /dev/null differ diff --git a/Tractor_VS/Game1/bin/Windows/x86/Debug/Content/Tractor.xnb b/Tractor_VS/Game1/bin/Windows/x86/Debug/Content/Tractor.xnb deleted file mode 100644 index 02f5fd7..0000000 Binary files a/Tractor_VS/Game1/bin/Windows/x86/Debug/Content/Tractor.xnb and /dev/null differ diff --git a/Tractor_VS/Game1/bin/Windows/x86/Debug/Game1.exe b/Tractor_VS/Game1/bin/Windows/x86/Debug/Game1.exe deleted file mode 100644 index 8c641b4..0000000 Binary files a/Tractor_VS/Game1/bin/Windows/x86/Debug/Game1.exe and /dev/null differ diff --git a/Tractor_VS/Game1/bin/Windows/x86/Debug/Game1.pdb b/Tractor_VS/Game1/bin/Windows/x86/Debug/Game1.pdb deleted file mode 100644 index 7a711d3..0000000 Binary files a/Tractor_VS/Game1/bin/Windows/x86/Debug/Game1.pdb and /dev/null differ diff --git a/Tractor_VS/Game1/bin/Windows/x86/Debug/MonoGame.Framework.dll b/Tractor_VS/Game1/bin/Windows/x86/Debug/MonoGame.Framework.dll deleted file mode 100644 index bfd434e..0000000 Binary files a/Tractor_VS/Game1/bin/Windows/x86/Debug/MonoGame.Framework.dll and /dev/null differ diff --git a/Tractor_VS/Game1/bin/Windows/x86/Debug/MonoGame.Framework.xml b/Tractor_VS/Game1/bin/Windows/x86/Debug/MonoGame.Framework.xml deleted file mode 100644 index 0ee4257..0000000 --- a/Tractor_VS/Game1/bin/Windows/x86/Debug/MonoGame.Framework.xml +++ /dev/null @@ -1,18630 +0,0 @@ - - - - MonoGame.Framework - - - - - Create a bounding box from the given list of points. - - The array of Vector3 instances defining the point cloud to bound - The base index to start iterating from - The number of points to iterate - A bounding box that encapsulates the given point cloud. - Thrown if the given array is null or has no points. - - - - Create a bounding box from the given list of points. - - The list of Vector3 instances defining the point cloud to bound - The base index to start iterating from - The number of points to iterate - A bounding box that encapsulates the given point cloud. - Thrown if the given list is null or has no points. - - - - Create a bounding box from the given list of points. - - The list of Vector3 instances defining the point cloud to bound - A bounding box that encapsulates the given point cloud. - Thrown if the given list has no points. - - - - Deconstruction method for . - - - - - - - Defines a viewing frustum for intersection operations. - - - - - The number of planes in the frustum. - - - - - The number of corner points in the frustum. - - - - - Gets or sets the of the frustum. - - - - - Gets the near plane of the frustum. - - - - - Gets the far plane of the frustum. - - - - - Gets the left plane of the frustum. - - - - - Gets the right plane of the frustum. - - - - - Gets the top plane of the frustum. - - - - - Gets the bottom plane of the frustum. - - - - - Constructs the frustum by extracting the view planes from a matrix. - - Combined matrix which usually is (View * Projection). - - - - Compares whether two instances are equal. - - instance on the left of the equal sign. - instance on the right of the equal sign. - true if the instances are equal; false otherwise. - - - - Compares whether two instances are not equal. - - instance on the left of the not equal sign. - instance on the right of the not equal sign. - true if the instances are not equal; false otherwise. - - - - Containment test between this and specified . - - A for testing. - Result of testing for containment between this and specified . - - - - Containment test between this and specified . - - A for testing. - Result of testing for containment between this and specified as an output parameter. - - - - Containment test between this and specified . - - A for testing. - Result of testing for containment between this and specified . - - - - Containment test between this and specified . - - A for testing. - Result of testing for containment between this and specified . - - - - Containment test between this and specified . - - A for testing. - Result of testing for containment between this and specified as an output parameter. - - - - Containment test between this and specified . - - A for testing. - Result of testing for containment between this and specified . - - - - Containment test between this and specified . - - A for testing. - Result of testing for containment between this and specified as an output parameter. - - - - Compares whether current instance is equal to specified . - - The to compare. - true if the instances are equal; false otherwise. - - - - Compares whether current instance is equal to specified . - - The to compare. - true if the instances are equal; false otherwise. - - - - Returns a copy of internal corners array. - - The array of corners. - - - - Returns a copy of internal corners array. - - The array which values will be replaced to corner values of this instance. It must have size of . - - - - Gets the hash code of this . - - Hash code of this . - - - - Gets whether or not a specified intersects with this . - - A for intersection test. - true if specified intersects with this ; false otherwise. - - - - Gets whether or not a specified intersects with this . - - A for intersection test. - true if specified intersects with this ; false otherwise as an output parameter. - - - - Gets whether or not a specified intersects with this . - - An other for intersection test. - true if other intersects with this ; false otherwise. - - - - Gets whether or not a specified intersects with this . - - A for intersection test. - true if specified intersects with this ; false otherwise. - - - - Gets whether or not a specified intersects with this . - - A for intersection test. - true if specified intersects with this ; false otherwise as an output parameter. - - - - Gets type of intersection between specified and this . - - A for intersection test. - A plane intersection type. - - - - Gets type of intersection between specified and this . - - A for intersection test. - A plane intersection type as an output parameter. - - - - Gets the distance of intersection of and this or null if no intersection happens. - - A for intersection test. - Distance at which ray intersects with this or null if no intersection happens. - - - - Gets the distance of intersection of and this or null if no intersection happens. - - A for intersection test. - Distance at which ray intersects with this or null if no intersection happens as an output parameter. - - - - Returns a representation of this in the format: - {Near:[nearPlane] Far:[farPlane] Left:[leftPlane] Right:[rightPlane] Top:[topPlane] Bottom:[bottomPlane]} - - representation of this . - - - - Describes a sphere in 3D-space for bounding operations. - - - - - The sphere center. - - - - - The sphere radius. - - - - - Constructs a bounding sphere with the specified center and radius. - - The sphere center. - The sphere radius. - - - - Test if a bounding box is fully inside, outside, or just intersecting the sphere. - - The box for testing. - The containment type. - - - - Test if a bounding box is fully inside, outside, or just intersecting the sphere. - - The box for testing. - The containment type as an output parameter. - - - - Test if a frustum is fully inside, outside, or just intersecting the sphere. - - The frustum for testing. - The containment type. - - - - Test if a frustum is fully inside, outside, or just intersecting the sphere. - - The frustum for testing. - The containment type as an output parameter. - - - - Test if a sphere is fully inside, outside, or just intersecting the sphere. - - The other sphere for testing. - The containment type. - - - - Test if a sphere is fully inside, outside, or just intersecting the sphere. - - The other sphere for testing. - The containment type as an output parameter. - - - - Test if a point is fully inside, outside, or just intersecting the sphere. - - The vector in 3D-space for testing. - The containment type. - - - - Test if a point is fully inside, outside, or just intersecting the sphere. - - The vector in 3D-space for testing. - The containment type as an output parameter. - - - - Creates the smallest that can contain a specified . - - The box to create the sphere from. - The new . - - - - Creates the smallest that can contain a specified . - - The box to create the sphere from. - The new as an output parameter. - - - - Creates the smallest that can contain a specified . - - The frustum to create the sphere from. - The new . - - - - Creates the smallest that can contain a specified list of points in 3D-space. - - List of point to create the sphere from. - The new . - - - - Creates the smallest that can contain two spheres. - - First sphere. - Second sphere. - The new . - - - - Creates the smallest that can contain two spheres. - - First sphere. - Second sphere. - The new as an output parameter. - - - - Compares whether current instance is equal to specified . - - The to compare. - true if the instances are equal; false otherwise. - - - - Compares whether current instance is equal to specified . - - The to compare. - true if the instances are equal; false otherwise. - - - - Gets the hash code of this . - - Hash code of this . - - - - Gets whether or not a specified intersects with this sphere. - - The box for testing. - true if intersects with this sphere; false otherwise. - - - - Gets whether or not a specified intersects with this sphere. - - The box for testing. - true if intersects with this sphere; false otherwise. As an output parameter. - - - - Gets whether or not the other intersects with this sphere. - - The other sphere for testing. - true if other intersects with this sphere; false otherwise. - - - - Gets whether or not the other intersects with this sphere. - - The other sphere for testing. - true if other intersects with this sphere; false otherwise. As an output parameter. - - - - Gets whether or not a specified intersects with this sphere. - - The plane for testing. - Type of intersection. - - - - Gets whether or not a specified intersects with this sphere. - - The plane for testing. - Type of intersection as an output parameter. - - - - Gets whether or not a specified intersects with this sphere. - - The ray for testing. - Distance of ray intersection or null if there is no intersection. - - - - Gets whether or not a specified intersects with this sphere. - - The ray for testing. - Distance of ray intersection or null if there is no intersection as an output parameter. - - - - Returns a representation of this in the format: - {Center:[] Radius:[]} - - A representation of this . - - - - Creates a new that contains a transformation of translation and scale from this sphere by the specified . - - The transformation . - Transformed . - - - - Creates a new that contains a transformation of translation and scale from this sphere by the specified . - - The transformation . - Transformed as an output parameter. - - - - Deconstruction method for . - - - - - - - Compares whether two instances are equal. - - instance on the left of the equal sign. - instance on the right of the equal sign. - true if the instances are equal; false otherwise. - - - - Compares whether two instances are not equal. - - instance on the left of the not equal sign. - instance on the right of the not equal sign. - true if the instances are not equal; false otherwise. - - - - Describes a 32-bit packed color. - - - - - Constructs an RGBA color from a packed value. - The value is a 32-bit unsigned integer, with R in the least significant octet. - - The packed value. - - - - Constructs an RGBA color from the XYZW unit length components of a vector. - - A representing color. - - - - Constructs an RGBA color from the XYZ unit length components of a vector. Alpha value will be opaque. - - A representing color. - - - - Constructs an RGBA color from a and an alpha value. - - A for RGB values of new instance. - The alpha component value from 0 to 255. - - - - Constructs an RGBA color from color and alpha value. - - A for RGB values of new instance. - Alpha component value from 0.0f to 1.0f. - - - - Constructs an RGBA color from scalars representing red, green and blue values. Alpha value will be opaque. - - Red component value from 0.0f to 1.0f. - Green component value from 0.0f to 1.0f. - Blue component value from 0.0f to 1.0f. - - - - Constructs an RGBA color from scalars representing red, green, blue and alpha values. - - Red component value from 0.0f to 1.0f. - Green component value from 0.0f to 1.0f. - Blue component value from 0.0f to 1.0f. - Alpha component value from 0.0f to 1.0f. - - - - Constructs an RGBA color from scalars representing red, green and blue values. Alpha value will be opaque. - - Red component value from 0 to 255. - Green component value from 0 to 255. - Blue component value from 0 to 255. - - - - Constructs an RGBA color from scalars representing red, green, blue and alpha values. - - Red component value from 0 to 255. - Green component value from 0 to 255. - Blue component value from 0 to 255. - Alpha component value from 0 to 255. - - - - Constructs an RGBA color from scalars representing red, green, blue and alpha values. - - - This overload sets the values directly without clamping, and may therefore be faster than the other overloads. - - - - - - - - - Gets or sets the blue component. - - - - - Gets or sets the green component. - - - - - Gets or sets the red component. - - - - - Gets or sets the alpha component. - - - - - Compares whether two instances are equal. - - instance on the left of the equal sign. - instance on the right of the equal sign. - true if the instances are equal; false otherwise. - - - - Compares whether two instances are not equal. - - instance on the left of the not equal sign. - instance on the right of the not equal sign. - true if the instances are not equal; false otherwise. - - - - Gets the hash code of this . - - Hash code of this . - - - - Compares whether current instance is equal to specified object. - - The to compare. - true if the instances are equal; false otherwise. - - - - TransparentBlack color (R:0,G:0,B:0,A:0). - - - - - Transparent color (R:0,G:0,B:0,A:0). - - - - - AliceBlue color (R:240,G:248,B:255,A:255). - - - - - AntiqueWhite color (R:250,G:235,B:215,A:255). - - - - - Aqua color (R:0,G:255,B:255,A:255). - - - - - Aquamarine color (R:127,G:255,B:212,A:255). - - - - - Azure color (R:240,G:255,B:255,A:255). - - - - - Beige color (R:245,G:245,B:220,A:255). - - - - - Bisque color (R:255,G:228,B:196,A:255). - - - - - Black color (R:0,G:0,B:0,A:255). - - - - - BlanchedAlmond color (R:255,G:235,B:205,A:255). - - - - - Blue color (R:0,G:0,B:255,A:255). - - - - - BlueViolet color (R:138,G:43,B:226,A:255). - - - - - Brown color (R:165,G:42,B:42,A:255). - - - - - BurlyWood color (R:222,G:184,B:135,A:255). - - - - - CadetBlue color (R:95,G:158,B:160,A:255). - - - - - Chartreuse color (R:127,G:255,B:0,A:255). - - - - - Chocolate color (R:210,G:105,B:30,A:255). - - - - - Coral color (R:255,G:127,B:80,A:255). - - - - - CornflowerBlue color (R:100,G:149,B:237,A:255). - - - - - Cornsilk color (R:255,G:248,B:220,A:255). - - - - - Crimson color (R:220,G:20,B:60,A:255). - - - - - Cyan color (R:0,G:255,B:255,A:255). - - - - - DarkBlue color (R:0,G:0,B:139,A:255). - - - - - DarkCyan color (R:0,G:139,B:139,A:255). - - - - - DarkGoldenrod color (R:184,G:134,B:11,A:255). - - - - - DarkGray color (R:169,G:169,B:169,A:255). - - - - - DarkGreen color (R:0,G:100,B:0,A:255). - - - - - DarkKhaki color (R:189,G:183,B:107,A:255). - - - - - DarkMagenta color (R:139,G:0,B:139,A:255). - - - - - DarkOliveGreen color (R:85,G:107,B:47,A:255). - - - - - DarkOrange color (R:255,G:140,B:0,A:255). - - - - - DarkOrchid color (R:153,G:50,B:204,A:255). - - - - - DarkRed color (R:139,G:0,B:0,A:255). - - - - - DarkSalmon color (R:233,G:150,B:122,A:255). - - - - - DarkSeaGreen color (R:143,G:188,B:139,A:255). - - - - - DarkSlateBlue color (R:72,G:61,B:139,A:255). - - - - - DarkSlateGray color (R:47,G:79,B:79,A:255). - - - - - DarkTurquoise color (R:0,G:206,B:209,A:255). - - - - - DarkViolet color (R:148,G:0,B:211,A:255). - - - - - DeepPink color (R:255,G:20,B:147,A:255). - - - - - DeepSkyBlue color (R:0,G:191,B:255,A:255). - - - - - DimGray color (R:105,G:105,B:105,A:255). - - - - - DodgerBlue color (R:30,G:144,B:255,A:255). - - - - - Firebrick color (R:178,G:34,B:34,A:255). - - - - - FloralWhite color (R:255,G:250,B:240,A:255). - - - - - ForestGreen color (R:34,G:139,B:34,A:255). - - - - - Fuchsia color (R:255,G:0,B:255,A:255). - - - - - Gainsboro color (R:220,G:220,B:220,A:255). - - - - - GhostWhite color (R:248,G:248,B:255,A:255). - - - - - Gold color (R:255,G:215,B:0,A:255). - - - - - Goldenrod color (R:218,G:165,B:32,A:255). - - - - - Gray color (R:128,G:128,B:128,A:255). - - - - - Green color (R:0,G:128,B:0,A:255). - - - - - GreenYellow color (R:173,G:255,B:47,A:255). - - - - - Honeydew color (R:240,G:255,B:240,A:255). - - - - - HotPink color (R:255,G:105,B:180,A:255). - - - - - IndianRed color (R:205,G:92,B:92,A:255). - - - - - Indigo color (R:75,G:0,B:130,A:255). - - - - - Ivory color (R:255,G:255,B:240,A:255). - - - - - Khaki color (R:240,G:230,B:140,A:255). - - - - - Lavender color (R:230,G:230,B:250,A:255). - - - - - LavenderBlush color (R:255,G:240,B:245,A:255). - - - - - LawnGreen color (R:124,G:252,B:0,A:255). - - - - - LemonChiffon color (R:255,G:250,B:205,A:255). - - - - - LightBlue color (R:173,G:216,B:230,A:255). - - - - - LightCoral color (R:240,G:128,B:128,A:255). - - - - - LightCyan color (R:224,G:255,B:255,A:255). - - - - - LightGoldenrodYellow color (R:250,G:250,B:210,A:255). - - - - - LightGray color (R:211,G:211,B:211,A:255). - - - - - LightGreen color (R:144,G:238,B:144,A:255). - - - - - LightPink color (R:255,G:182,B:193,A:255). - - - - - LightSalmon color (R:255,G:160,B:122,A:255). - - - - - LightSeaGreen color (R:32,G:178,B:170,A:255). - - - - - LightSkyBlue color (R:135,G:206,B:250,A:255). - - - - - LightSlateGray color (R:119,G:136,B:153,A:255). - - - - - LightSteelBlue color (R:176,G:196,B:222,A:255). - - - - - LightYellow color (R:255,G:255,B:224,A:255). - - - - - Lime color (R:0,G:255,B:0,A:255). - - - - - LimeGreen color (R:50,G:205,B:50,A:255). - - - - - Linen color (R:250,G:240,B:230,A:255). - - - - - Magenta color (R:255,G:0,B:255,A:255). - - - - - Maroon color (R:128,G:0,B:0,A:255). - - - - - MediumAquamarine color (R:102,G:205,B:170,A:255). - - - - - MediumBlue color (R:0,G:0,B:205,A:255). - - - - - MediumOrchid color (R:186,G:85,B:211,A:255). - - - - - MediumPurple color (R:147,G:112,B:219,A:255). - - - - - MediumSeaGreen color (R:60,G:179,B:113,A:255). - - - - - MediumSlateBlue color (R:123,G:104,B:238,A:255). - - - - - MediumSpringGreen color (R:0,G:250,B:154,A:255). - - - - - MediumTurquoise color (R:72,G:209,B:204,A:255). - - - - - MediumVioletRed color (R:199,G:21,B:133,A:255). - - - - - MidnightBlue color (R:25,G:25,B:112,A:255). - - - - - MintCream color (R:245,G:255,B:250,A:255). - - - - - MistyRose color (R:255,G:228,B:225,A:255). - - - - - Moccasin color (R:255,G:228,B:181,A:255). - - - - - MonoGame orange theme color (R:231,G:60,B:0,A:255). - - - - - NavajoWhite color (R:255,G:222,B:173,A:255). - - - - - Navy color (R:0,G:0,B:128,A:255). - - - - - OldLace color (R:253,G:245,B:230,A:255). - - - - - Olive color (R:128,G:128,B:0,A:255). - - - - - OliveDrab color (R:107,G:142,B:35,A:255). - - - - - Orange color (R:255,G:165,B:0,A:255). - - - - - OrangeRed color (R:255,G:69,B:0,A:255). - - - - - Orchid color (R:218,G:112,B:214,A:255). - - - - - PaleGoldenrod color (R:238,G:232,B:170,A:255). - - - - - PaleGreen color (R:152,G:251,B:152,A:255). - - - - - PaleTurquoise color (R:175,G:238,B:238,A:255). - - - - - PaleVioletRed color (R:219,G:112,B:147,A:255). - - - - - PapayaWhip color (R:255,G:239,B:213,A:255). - - - - - PeachPuff color (R:255,G:218,B:185,A:255). - - - - - Peru color (R:205,G:133,B:63,A:255). - - - - - Pink color (R:255,G:192,B:203,A:255). - - - - - Plum color (R:221,G:160,B:221,A:255). - - - - - PowderBlue color (R:176,G:224,B:230,A:255). - - - - - Purple color (R:128,G:0,B:128,A:255). - - - - - Red color (R:255,G:0,B:0,A:255). - - - - - RosyBrown color (R:188,G:143,B:143,A:255). - - - - - RoyalBlue color (R:65,G:105,B:225,A:255). - - - - - SaddleBrown color (R:139,G:69,B:19,A:255). - - - - - Salmon color (R:250,G:128,B:114,A:255). - - - - - SandyBrown color (R:244,G:164,B:96,A:255). - - - - - SeaGreen color (R:46,G:139,B:87,A:255). - - - - - SeaShell color (R:255,G:245,B:238,A:255). - - - - - Sienna color (R:160,G:82,B:45,A:255). - - - - - Silver color (R:192,G:192,B:192,A:255). - - - - - SkyBlue color (R:135,G:206,B:235,A:255). - - - - - SlateBlue color (R:106,G:90,B:205,A:255). - - - - - SlateGray color (R:112,G:128,B:144,A:255). - - - - - Snow color (R:255,G:250,B:250,A:255). - - - - - SpringGreen color (R:0,G:255,B:127,A:255). - - - - - SteelBlue color (R:70,G:130,B:180,A:255). - - - - - Tan color (R:210,G:180,B:140,A:255). - - - - - Teal color (R:0,G:128,B:128,A:255). - - - - - Thistle color (R:216,G:191,B:216,A:255). - - - - - Tomato color (R:255,G:99,B:71,A:255). - - - - - Turquoise color (R:64,G:224,B:208,A:255). - - - - - Violet color (R:238,G:130,B:238,A:255). - - - - - Wheat color (R:245,G:222,B:179,A:255). - - - - - White color (R:255,G:255,B:255,A:255). - - - - - WhiteSmoke color (R:245,G:245,B:245,A:255). - - - - - Yellow color (R:255,G:255,B:0,A:255). - - - - - YellowGreen color (R:154,G:205,B:50,A:255). - - - - - Performs linear interpolation of . - - Source . - Destination . - Interpolation factor. - Interpolated . - - - - should be used instead of this function. - - Interpolated . - - - - Multiply by value. - - Source . - Multiplicator. - Multiplication result. - - - - Multiply by value. - - Source . - Multiplicator. - Multiplication result. - - - - Gets a representation for this object. - - A representation for this object. - - - - Gets a representation for this object. - - A representation for this object. - - - - Gets or sets packed value of this . - - - - - Returns a representation of this in the format: - {R:[red] G:[green] B:[blue] A:[alpha]} - - representation of this . - - - - Translate a non-premultipled alpha to a that contains premultiplied alpha. - - A representing color. - A which contains premultiplied alpha data. - - - - Translate a non-premultipled alpha to a that contains premultiplied alpha. - - Red component value. - Green component value. - Blue component value. - Alpha component value. - A which contains premultiplied alpha data. - - - - Compares whether current instance is equal to specified . - - The to compare. - true if the instances are equal; false otherwise. - - - - Deconstruction method for . - - - - - - - - Deconstruction method for with Alpha. - - - - - - - - - Defines how the bounding volumes intersects or contain one another. - - - - - Indicates that there is no overlap between two bounding volumes. - - - - - Indicates that one bounding volume completely contains another volume. - - - - - Indicates that bounding volumes partially overlap one another. - - - - - Defines the continuity of keys on a . - - - - - Interpolation can be used between this key and the next. - - - - - Interpolation cannot be used. A position between the two points returns this point. - - - - - Contains a collection of points in 2D space and provides methods for evaluating features of the curve they define. - - - - - Returns true if this curve is constant (has zero or one points); false otherwise. - - - - - Defines how to handle weighting values that are less than the first control point in the curve. - - - - - Defines how to handle weighting values that are greater than the last control point in the curve. - - - - - The collection of curve keys. - - - - - Constructs a curve. - - - - - Creates a copy of this curve. - - A copy of this curve. - - - - Evaluate the value at a position of this . - - The position on this . - Value at the position on this . - - - - Computes tangents for all keys in the collection. - - The tangent type for both in and out. - - - - Computes tangents for all keys in the collection. - - The tangent in-type. for more details. - The tangent out-type. for more details. - - - - Computes tangent for the specific key in the collection. - - The index of a key in the collection. - The tangent type for both in and out. - - - - Computes tangent for the specific key in the collection. - - The index of key in the collection. - The tangent in-type. for more details. - The tangent out-type. for more details. - - - - The collection of the elements and a part of the class. - - - - - Indexer. - - The index of key in this collection. - at position. - - - - Returns the count of keys in this collection. - - - - - Returns false because it is not a read-only collection. - - - - - Creates a new instance of class. - - - - - Adds a key to this collection. - - New key for the collection. - Throws if is null. - The new key would be added respectively to a position of that key and the position of other keys. - - - - Removes all keys from this collection. - - - - - Creates a copy of this collection. - - A copy of this collection. - - - - Determines whether this collection contains a specific key. - - The key to locate in this collection. - true if the key is found; false otherwise. - - - - Copies the keys of this collection to an array, starting at the array index provided. - - Destination array where elements will be copied. - The zero-based index in the array to start copying from. - - - - Returns an enumerator that iterates through the collection. - - An enumerator for the . - - - - Finds element in the collection and returns its index. - - Element for the search. - Index of the element; or -1 if item is not found. - - - - Removes element at the specified index. - - The index which element will be removed. - - - - Removes specific element. - - The element - true if item is successfully removed; false otherwise. This method also returns false if item was not found. - - - - Key point on the . - - - - - Gets or sets the indicator whether the segment between this point and the next point on the curve is discrete or continuous. - - - - - Gets a position of the key on the curve. - - - - - Gets or sets a tangent when approaching this point from the previous point on the curve. - - - - - Gets or sets a tangent when leaving this point to the next point on the curve. - - - - - Gets a value of this point. - - - - - Creates a new instance of class with position: 0 and value: 0. - - - - - Creates a new instance of class. - - Position on the curve. - Value of the control point. - - - - Creates a new instance of class. - - Position on the curve. - Value of the control point. - Tangent approaching point from the previous point on the curve. - Tangent leaving point toward next point on the curve. - - - - Creates a new instance of class. - - Position on the curve. - Value of the control point. - Tangent approaching point from the previous point on the curve. - Tangent leaving point toward next point on the curve. - Indicates whether the curve is discrete or continuous. - - - - - Compares whether two instances are not equal. - - instance on the left of the not equal sign. - instance on the right of the not equal sign. - true if the instances are not equal; false otherwise. - - - - Compares whether two instances are equal. - - instance on the left of the equal sign. - instance on the right of the equal sign. - true if the instances are equal; false otherwise. - - - - Creates a copy of this key. - - A copy of this key. - - - - Defines how the value is determined for position before first point or after the end point on the . - - - - - The value of will be evaluated as first point for positions before the beginning and end point for positions after the end. - - - - - The positions will wrap around from the end to beginning of the for determined the value. - - - - - The positions will wrap around from the end to beginning of the . - The value will be offset by the difference between the values of first and end multiplied by the wrap amount. - If the position is before the beginning of the the difference will be subtracted from its value; otherwise the difference will be added. - - - - - The value at the end of the act as an offset from the same side of the toward the opposite side. - - - - - The linear interpolation will be performed for determined the value. - - - - - Defines the different tangent types to be calculated for points in a . - - - - - The tangent which always has a value equal to zero. - - - - - The tangent which contains a difference between current tangent value and the tangent value from the previous . - - - - - The smoouth tangent which contains the inflection between and by taking into account the values of both neighbors of the . - - - - - Defines the orientation of the display. - - - - - The default orientation. - - - - - The display is rotated counterclockwise into a landscape orientation. Width is greater than height. - - - - - The display is rotated clockwise into a landscape orientation. Width is greater than height. - - - - - The display is rotated as portrait, where height is greater than width. - - - - - The display is rotated as inverted portrait, where height is greater than width. - - - - - Unknown display orientation. - - - - - Provides helper methods to make it easier - to safely raise events. - - - - - Safely raises an event by storing a copy of the event's delegate - in the parameter and checking it for - null before invoking it. - - - The object raising the event. - to be invoked - The passed to - - - - Safely raises an event by storing a copy of the event's delegate - in the parameter and checking it for - null before invoking it. - - The object raising the event. - to be invoked - The passed to - - - - Helper class for processing internal framework events. - - - If you use class, is called automatically. - Otherwise you must call it as part of your game loop. - - - - - Processes framework events. - - - - - Event that is triggered when a is added - to this . - - - - - Event that is triggered when a is removed - from this . - - - - - Removes every from this . - Triggers once for each removed. - - - - - Shuts down the component. - - - - - Shuts down the component. - - - - - The maximum amount of time we will frameskip over and only perform Update calls with no Draw calls. - MonoGame extension. - - - - - The SortingFilteringCollection class provides efficient, reusable - sorting and filtering based on a configurable sort comparer, filter - predicate, and associate change events. - - - - - When implemented in a derived class, reports the default - GameRunBehavior for this platform. - - - - - Gets the Game instance that owns this GamePlatform instance. - - - - - Raises the AsyncRunLoopEnded event. This method must be called by - derived classes when the asynchronous run loop they start has - stopped running. - - - - - Gives derived classes an opportunity to do work before any - components are initialized. Note that the base implementation sets - IsActive to true, so derived classes should either call the base - implementation or set IsActive to true by their own means. - - - - - Gives derived classes an opportunity to do work just before the - run loop is begun. Implementations may also return false to prevent - the run loop from starting. - - - - - - When implemented in a derived, ends the active run loop. - - - - - When implemented in a derived, starts the run loop and blocks - until it has ended. - - - - - When implemented in a derived, starts the run loop and returns - immediately. - - - - - Gives derived classes an opportunity to do work just before Update - is called for all IUpdatable components. Returning false from this - method will result in this round of Update calls being skipped. - - - - - - - Gives derived classes an opportunity to do work just before Draw - is called for all IDrawable components. Returning false from this - method will result in this round of Draw calls being skipped. - - - - - - - When implemented in a derived class, causes the game to enter - full-screen mode. - - - - - When implemented in a derived class, causes the game to exit - full-screen mode. - - - - - Gives derived classes an opportunity to modify - Game.TargetElapsedTime before it is set. - - The proposed new value of TargetElapsedTime. - The new value of TargetElapsedTime that will be set. - - - - Starts a device transition (windowed to full screen or vice versa). - - - Specifies whether the device will be in full-screen mode upon completion of the change. - - - - - Completes a device transition. - - - Screen device name. - - - The new width of the game's client window. - - - The new height of the game's client window. - - - - - Gives derived classes an opportunity to take action after - Game.TargetElapsedTime has been set. - - - - - MSDN: Use this method if your game is recovering from a slow-running state, and ElapsedGameTime is too large to be useful. - Frame timing is generally handled by the Game class, but some platforms still handle it elsewhere. Once all platforms - rely on the Game class's functionality, this method and any overrides should be removed. - - - - - Called by the GraphicsDeviceManager to notify the platform - that the presentation parameters have changed. - - The new presentation parameters. - - - - Performs application-defined tasks associated with freeing, - releasing, or resetting unmanaged resources. - - - - - Log the specified Message. - - - - - - - - Defines how should be runned. - - - - - The game loop will be runned asynchronous. - - - - - The game loop will be runned synchronous. - - - - - Gets or sets a bool that enables usage of Alt+F4 for window closing on desktop platforms. Value is true by default. - - - - - The location of this window on the desktop, eg: global coordinate space - which stretches across all screens. - - - - - Gets or sets the title of the game window. - - - For Windows 8 and Windows 10 UWP this has no effect. For these platforms the title should be - set by using the DisplayName property found in the app manifest file. - - - - - Determines whether the border of the window is visible. Currently only supported on the WinDX and WinGL/Linux platforms. - - - Thrown when trying to use this property on a platform other than the WinDX and WinGL/Linux platforms. - - - - - Use this event to retrieve text for objects like textbox's. - This event is not raised by noncharacter keys. - This event also supports key repeat. - For more information this event is based off: - http://msdn.microsoft.com/en-AU/library/system.windows.forms.control.keypress.aspx - - - This event is only supported on the Windows DirectX, Windows OpenGL and Linux platforms. - - - - - Buffered keyboard KeyDown event. - - - - - Buffered keyboard KeyUp event. - - - - - Used by the platform code to control the graphics device. - - - - - Called at the start of rendering a frame. - - Returns true if the frame should be rendered. - - - - Called to create the graphics device. - - Does nothing if the graphics device is already created. - - - - Called after rendering to present the frame to the screen. - - - - - Contains commonly used precalculated values and mathematical operations. - - - - - Represents the mathematical constant e(2.71828175). - - - - - Represents the log base ten of e(0.4342945). - - - - - Represents the log base two of e(1.442695). - - - - - Represents the value of pi(3.14159274). - - - - - Represents the value of pi divided by two(1.57079637). - - - - - Represents the value of pi divided by four(0.7853982). - - - - - Represents the value of pi times two(6.28318548). - - - - - Represents the value of pi times two(6.28318548). - This is an alias of TwoPi. - - - - - Returns the Cartesian coordinate for one axis of a point that is defined by a given triangle and two normalized barycentric (areal) coordinates. - - The coordinate on one axis of vertex 1 of the defining triangle. - The coordinate on the same axis of vertex 2 of the defining triangle. - The coordinate on the same axis of vertex 3 of the defining triangle. - The normalized barycentric (areal) coordinate b2, equal to the weighting factor for vertex 2, the coordinate of which is specified in value2. - The normalized barycentric (areal) coordinate b3, equal to the weighting factor for vertex 3, the coordinate of which is specified in value3. - Cartesian coordinate of the specified point with respect to the axis being used. - - - - 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 position that is the result of the Catmull-Rom interpolation. - - - - Restricts a value to be within a specified range. - - The value to clamp. - The minimum value. If value is less than min, min will be returned. - The maximum value. If value is greater than max, max will be returned. - The clamped value. - - - - Restricts a value to be within a specified range. - - The value to clamp. - The minimum value. If value is less than min, min will be returned. - The maximum value. If value is greater than max, max will be returned. - The clamped value. - - - - Calculates the absolute value of the difference of two values. - - Source value. - Source value. - Distance between the two values. - - - - Performs a Hermite spline interpolation. - - Source position. - Source tangent. - Source position. - Source tangent. - Weighting factor. - The result of the Hermite spline interpolation. - - - - Linearly interpolates between two values. - - Source value. - Destination value. - Value between 0 and 1 indicating the weight of value2. - Interpolated value. - This method performs the linear interpolation based on the following formula: - value1 + (value2 - value1) * amount. - Passing amount a value of 0 will cause value1 to be returned, a value of 1 will cause value2 to be returned. - See for a less efficient version with more precision around edge cases. - - - - - Linearly interpolates between two values. - This method is a less efficient, more precise version of . - See remarks for more info. - - Source value. - Destination value. - Value between 0 and 1 indicating the weight of value2. - Interpolated value. - This method performs the linear interpolation based on the following formula: - ((1 - amount) * value1) + (value2 * amount). - Passing amount a value of 0 will cause value1 to be returned, a value of 1 will cause value2 to be returned. - This method does not have the floating point precision issue that has. - i.e. If there is a big gap between value1 and value2 in magnitude (e.g. value1=10000000000000000, value2=1), - right at the edge of the interpolation range (amount=1), will return 0 (whereas it should return 1). - This also holds for value1=10^17, value2=10; value1=10^18,value2=10^2... so on. - For an in depth explanation of the issue, see below references: - Relevant Wikipedia Article: https://en.wikipedia.org/wiki/Linear_interpolation#Programming_language_support - Relevant StackOverflow Answer: http://stackoverflow.com/questions/4353525/floating-point-linear-interpolation#answer-23716956 - - - - - Returns the greater of two values. - - Source value. - Source value. - The greater value. - - - - Returns the greater of two values. - - Source value. - Source value. - The greater value. - - - - Returns the lesser of two values. - - Source value. - Source value. - The lesser value. - - - - Returns the lesser of two values. - - Source value. - Source value. - The lesser value. - - - - Interpolates between two values using a cubic equation. - - Source value. - Source value. - Weighting value. - Interpolated value. - - - - Converts radians to degrees. - - The angle in radians. - The angle in degrees. - - This method uses double precission internally, - though it returns single float - Factor = 180 / pi - - - - - Converts degrees to radians. - - The angle in degrees. - The angle in radians. - - This method uses double precission internally, - though it returns single float - Factor = pi / 180 - - - - - Reduces a given angle to a value between π and -π. - - The angle to reduce, in radians. - The new angle, in radians. - - - - Determines if value is powered by two. - - A value. - true if value is powered by two; otherwise false. - - - - Represents the right-handed 4x4 floating point matrix, which can store translation, scale and rotation information. - - - - - Constructs a matrix. - - A first row and first column value. - A first row and second column value. - A first row and third column value. - A first row and fourth column value. - A second row and first column value. - A second row and second column value. - A second row and third column value. - A second row and fourth column value. - A third row and first column value. - A third row and second column value. - A third row and third column value. - A third row and fourth column value. - A fourth row and first column value. - A fourth row and second column value. - A fourth row and third column value. - A fourth row and fourth column value. - - - - Constructs a matrix. - - A first row of the created matrix. - A second row of the created matrix. - A third row of the created matrix. - A fourth row of the created matrix. - - - - A first row and first column value. - - - - - A first row and second column value. - - - - - A first row and third column value. - - - - - A first row and fourth column value. - - - - - A second row and first column value. - - - - - A second row and second column value. - - - - - A second row and third column value. - - - - - A second row and fourth column value. - - - - - A third row and first column value. - - - - - A third row and second column value. - - - - - A third row and third column value. - - - - - A third row and fourth column value. - - - - - A fourth row and first column value. - - - - - A fourth row and second column value. - - - - - A fourth row and third column value. - - - - - A fourth row and fourth column value. - - - - - The backward vector formed from the third row M31, M32, M33 elements. - - - - - The down vector formed from the second row -M21, -M22, -M23 elements. - - - - - The forward vector formed from the third row -M31, -M32, -M33 elements. - - - - - Returns the identity matrix. - - - - - The left vector formed from the first row -M11, -M12, -M13 elements. - - - - - The right vector formed from the first row M11, M12, M13 elements. - - - - - Position stored in this matrix. - - - - - The upper vector formed from the second row M21, M22, M23 elements. - - - - - Creates a new which contains sum of two matrixes. - - The first matrix to add. - The second matrix to add. - The result of the matrix addition. - - - - Creates a new which contains sum of two matrixes. - - The first matrix to add. - The second matrix to add. - The result of the matrix addition as an output parameter. - - - - Creates a new for spherical billboarding that rotates around specified object position. - - Position of billboard object. It will rotate around that vector. - The camera position. - The camera up vector. - Optional camera forward vector. - The for spherical billboarding. - - - - Creates a new for spherical billboarding that rotates around specified object position. - - Position of billboard object. It will rotate around that vector. - The camera position. - The camera up vector. - Optional camera forward vector. - The for spherical billboarding as an output parameter. - - - - Creates a new for cylindrical billboarding that rotates around specified axis. - - Object position the billboard will rotate around. - Camera position. - Axis of billboard for rotation. - Optional camera forward vector. - Optional object forward vector. - The for cylindrical billboarding. - - - - Creates a new for cylindrical billboarding that rotates around specified axis. - - Object position the billboard will rotate around. - Camera position. - Axis of billboard for rotation. - Optional camera forward vector. - Optional object forward vector. - The for cylindrical billboarding as an output parameter. - - - - Creates a new which contains the rotation moment around specified axis. - - The axis of rotation. - The angle of rotation in radians. - The rotation . - - - - Creates a new which contains the rotation moment around specified axis. - - The axis of rotation. - The angle of rotation in radians. - The rotation as an output parameter. - - - - Creates a new rotation from a . - - of rotation moment. - The rotation . - - - - Creates a new rotation from a . - - of rotation moment. - The rotation as an output parameter. - - - - Creates a new rotation from the specified yaw, pitch and roll values. - - The yaw rotation value in radians. - The pitch rotation value in radians. - The roll rotation value in radians. - The rotation . - For more information about yaw, pitch and roll visit http://en.wikipedia.org/wiki/Euler_angles. - - - - - Creates a new rotation from the specified yaw, pitch and roll values. - - The yaw rotation value in radians. - The pitch rotation value in radians. - The roll rotation value in radians. - The rotation as an output parameter. - For more information about yaw, pitch and roll visit http://en.wikipedia.org/wiki/Euler_angles. - - - - - Creates a new viewing . - - Position of the camera. - Lookup vector of the camera. - The direction of the upper edge of the camera. - The viewing . - - - - Creates a new viewing . - - Position of the camera. - Lookup vector of the camera. - The direction of the upper edge of the camera. - The viewing as an output parameter. - - - - Creates a new projection for orthographic view. - - Width of the viewing volume. - Height of the viewing volume. - Depth of the near plane. - Depth of the far plane. - The new projection for orthographic view. - - - - Creates a new projection for orthographic view. - - Width of the viewing volume. - Height of the viewing volume. - Depth of the near plane. - Depth of the far plane. - The new projection for orthographic view as an output parameter. - - - - Creates a new projection for customized orthographic view. - - Lower x-value at the near plane. - Upper x-value at the near plane. - Lower y-coordinate at the near plane. - Upper y-value at the near plane. - Depth of the near plane. - Depth of the far plane. - The new projection for customized orthographic view. - - - - Creates a new projection for customized orthographic view. - - The viewing volume. - Depth of the near plane. - Depth of the far plane. - The new projection for customized orthographic view. - - - - Creates a new projection for customized orthographic view. - - Lower x-value at the near plane. - Upper x-value at the near plane. - Lower y-coordinate at the near plane. - Upper y-value at the near plane. - Depth of the near plane. - Depth of the far plane. - The new projection for customized orthographic view as an output parameter. - - - - Creates a new projection for perspective view. - - Width of the viewing volume. - Height of the viewing volume. - Distance to the near plane. - Distance to the far plane. - The new projection for perspective view. - - - - Creates a new projection for perspective view. - - Width of the viewing volume. - Height of the viewing volume. - Distance to the near plane. - Distance to the far plane. - The new projection for perspective view as an output parameter. - - - - Creates a new projection for perspective view with field of view. - - Field of view in the y direction in radians. - Width divided by height of the viewing volume. - Distance to the near plane. - Distance to the far plane. - The new projection for perspective view with FOV. - - - - Creates a new projection for perspective view with field of view. - - Field of view in the y direction in radians. - Width divided by height of the viewing volume. - Distance of the near plane. - Distance of the far plane. - The new projection for perspective view with FOV as an output parameter. - - - - Creates a new projection for customized perspective view. - - Lower x-value at the near plane. - Upper x-value at the near plane. - Lower y-coordinate at the near plane. - Upper y-value at the near plane. - Distance to the near plane. - Distance to the far plane. - The new for customized perspective view. - - - - Creates a new projection for customized perspective view. - - The viewing volume. - Distance to the near plane. - Distance to the far plane. - The new for customized perspective view. - - - - Creates a new projection for customized perspective view. - - Lower x-value at the near plane. - Upper x-value at the near plane. - Lower y-coordinate at the near plane. - Upper y-value at the near plane. - Distance to the near plane. - Distance to the far plane. - The new for customized perspective view as an output parameter. - - - - Creates a new rotation around X axis. - - Angle in radians. - The rotation around X axis. - - - - Creates a new rotation around X axis. - - Angle in radians. - The rotation around X axis as an output parameter. - - - - Creates a new rotation around Y axis. - - Angle in radians. - The rotation around Y axis. - - - - Creates a new rotation around Y axis. - - Angle in radians. - The rotation around Y axis as an output parameter. - - - - Creates a new rotation around Z axis. - - Angle in radians. - The rotation around Z axis. - - - - Creates a new rotation around Z axis. - - Angle in radians. - The rotation around Z axis as an output parameter. - - - - Creates a new scaling . - - Scale value for all three axises. - The scaling . - - - - Creates a new scaling . - - Scale value for all three axises. - The scaling as an output parameter. - - - - Creates a new scaling . - - Scale value for X axis. - Scale value for Y axis. - Scale value for Z axis. - The scaling . - - - - Creates a new scaling . - - Scale value for X axis. - Scale value for Y axis. - Scale value for Z axis. - The scaling as an output parameter. - - - - Creates a new scaling . - - representing x,y and z scale values. - The scaling . - - - - Creates a new scaling . - - representing x,y and z scale values. - The scaling as an output parameter. - - - - Creates a new that flattens geometry into a specified as if casting a shadow from a specified light source. - - A vector specifying the direction from which the light that will cast the shadow is coming. - The plane onto which the new matrix should flatten geometry so as to cast a shadow. - A that can be used to flatten geometry onto the specified plane from the specified direction. - - - - Creates a new that flattens geometry into a specified as if casting a shadow from a specified light source. - - A vector specifying the direction from which the light that will cast the shadow is coming. - The plane onto which the new matrix should flatten geometry so as to cast a shadow. - A that can be used to flatten geometry onto the specified plane from the specified direction as an output parameter. - - - - Creates a new translation . - - X coordinate of translation. - Y coordinate of translation. - Z coordinate of translation. - The translation . - - - - Creates a new translation . - - X,Y and Z coordinates of translation. - The translation as an output parameter. - - - - Creates a new translation . - - X,Y and Z coordinates of translation. - The translation . - - - - Creates a new translation . - - X coordinate of translation. - Y coordinate of translation. - Z coordinate of translation. - The translation as an output parameter. - - - - Creates a new reflection . - - The plane that used for reflection calculation. - The reflection . - - - - Creates a new reflection . - - The plane that used for reflection calculation. - The reflection as an output parameter. - - - - Creates a new world . - - The position vector. - The forward direction vector. - The upward direction vector. Usually . - The world . - - - - Creates a new world . - - The position vector. - The forward direction vector. - The upward direction vector. Usually . - The world as an output parameter. - - - - Decomposes this matrix to translation, rotation and scale elements. Returns true if matrix can be decomposed; false otherwise. - - Scale vector as an output parameter. - Rotation quaternion as an output parameter. - Translation vector as an output parameter. - true if matrix can be decomposed; false otherwise. - - - - Returns a determinant of this . - - Determinant of this - See more about determinant here - http://en.wikipedia.org/wiki/Determinant. - - - - - Divides the elements of a by the elements of another matrix. - - Source . - Divisor . - The result of dividing the matrix. - - - - Divides the elements of a by the elements of another matrix. - - Source . - Divisor . - The result of dividing the matrix as an output parameter. - - - - Divides the elements of a by a scalar. - - Source . - Divisor scalar. - The result of dividing a matrix by a scalar. - - - - Divides the elements of a by a scalar. - - Source . - Divisor scalar. - The result of dividing a matrix by a scalar as an output parameter. - - - - Compares whether current instance is equal to specified without any tolerance. - - The to compare. - true if the instances are equal; false otherwise. - - - - Compares whether current instance is equal to specified without any tolerance. - - The to compare. - true if the instances are equal; false otherwise. - - - - Gets the hash code of this . - - Hash code of this . - - - - Creates a new which contains inversion of the specified matrix. - - Source . - The inverted matrix. - - - - Creates a new which contains inversion of the specified matrix. - - Source . - The inverted matrix as output parameter. - - - - Creates a new that contains linear interpolation of the values in specified matrixes. - - The first . - The second . - Weighting value(between 0.0 and 1.0). - >The result of linear interpolation of the specified matrixes. - - - - Creates a new that contains linear interpolation of the values in specified matrixes. - - The first . - The second . - Weighting value(between 0.0 and 1.0). - The result of linear interpolation of the specified matrixes as an output parameter. - - - - Creates a new that contains a multiplication of two matrix. - - Source . - Source . - Result of the matrix multiplication. - - - - Creates a new that contains a multiplication of two matrix. - - Source . - Source . - Result of the matrix multiplication as an output parameter. - - - - Creates a new that contains a multiplication of and a scalar. - - Source . - Scalar value. - Result of the matrix multiplication with a scalar. - - - - Creates a new that contains a multiplication of and a scalar. - - Source . - Scalar value. - Result of the matrix multiplication with a scalar as an output parameter. - - - - Copy the values of specified to the float array. - - The source . - The array which matrix values will be stored. - - Required for OpenGL 2.0 projection matrix stuff. - - - - - Returns a matrix with the all values negated. - - Source . - Result of the matrix negation. - - - - Returns a matrix with the all values negated. - - Source . - Result of the matrix negation as an output parameter. - - - - Adds two matrixes. - - Source on the left of the add sign. - Source on the right of the add sign. - Sum of the matrixes. - - - - Divides the elements of a by the elements of another . - - Source on the left of the div sign. - Divisor on the right of the div sign. - The result of dividing the matrixes. - - - - Divides the elements of a by a scalar. - - Source on the left of the div sign. - Divisor scalar on the right of the div sign. - The result of dividing a matrix by a scalar. - - - - Compares whether two instances are equal without any tolerance. - - Source on the left of the equal sign. - Source on the right of the equal sign. - true if the instances are equal; false otherwise. - - - - Compares whether two instances are not equal without any tolerance. - - Source on the left of the not equal sign. - Source on the right of the not equal sign. - true if the instances are not equal; false otherwise. - - - - Multiplies two matrixes. - - Source on the left of the mul sign. - Source on the right of the mul sign. - Result of the matrix multiplication. - - Using matrix multiplication algorithm - see http://en.wikipedia.org/wiki/Matrix_multiplication. - - - - - Multiplies the elements of matrix by a scalar. - - Source on the left of the mul sign. - Scalar value on the right of the mul sign. - Result of the matrix multiplication with a scalar. - - - - Subtracts the values of one from another . - - Source on the left of the sub sign. - Source on the right of the sub sign. - Result of the matrix subtraction. - - - - Inverts values in the specified . - - Source on the right of the sub sign. - Result of the inversion. - - - - Creates a new that contains subtraction of one matrix from another. - - The first . - The second . - The result of the matrix subtraction. - - - - Creates a new that contains subtraction of one matrix from another. - - The first . - The second . - The result of the matrix subtraction as an output parameter. - - - - Returns a representation of this in the format: - {M11:[] M12:[] M13:[] M14:[]} - {M21:[] M12:[] M13:[] M14:[]} - {M31:[] M32:[] M33:[] M34:[]} - {M41:[] M42:[] M43:[] M44:[]} - - A representation of this . - - - - Swap the matrix rows and columns. - - The matrix for transposing operation. - The new which contains the transposing result. - - - - Swap the matrix rows and columns. - - The matrix for transposing operation. - The new which contains the transposing result as an output parameter. - - - - Helper method for using the Laplace expansion theorem using two rows expansions to calculate major and - minor determinants of a 4x4 matrix. This method is used for inverting a matrix. - - - - - Provides functionality to handle input from keyboards, mice, gamepads, etc. - - - - - Defines the buttons on gamepad. - - - - - Directional pad up. - - - - - Directional pad down. - - - - - Directional pad left. - - - - - Directional pad right. - - - - - START button. - - - - - BACK button. - - - - - Left stick button (pressing the left stick). - - - - - Right stick button (pressing the right stick). - - - - - Left bumper (shoulder) button. - - - - - Right bumper (shoulder) button. - - - - - Big button. - - - - - A button. - - - - - B button. - - - - - X button. - - - - - Y button. - - - - - Left stick is towards the left. - - - - - Right trigger. - - - - - Left trigger. - - - - - Right stick is towards up. - - - - - Right stick is towards down. - - - - - Right stick is towards the right. - - - - - Right stick is towards the left. - - - - - Left stick is towards up. - - - - - Left stick is towards down. - - - - - Left stick is towards the right. - - - - - Defines a button state for buttons of mouse, gamepad or joystick. - - - - - The button is released. - - - - - The button is pressed. - - - - - Supports querying the game controllers and setting the vibration motors. - - - - - Returns the capabilites of the connected controller. - - Player index for the controller you want to query. - The capabilites of the controller. - - - - Returns the capabilites of the connected controller. - - Index for the controller you want to query. - The capabilites of the controller. - - - - Gets the current state of a game pad controller with an independent axes dead zone. - - Player index for the controller you want to query. - The state of the controller. - - - - Gets the current state of a game pad controller with an independent axes dead zone. - - Index for the controller you want to query. - The state of the controller. - - - - Gets the current state of a game pad controller, using a specified dead zone - on analog stick positions. - - Player index for the controller you want to query. - Enumerated value that specifies what dead zone type to use. - The state of the controller. - - - - Gets the current state of a game pad controller, using a specified dead zone - on analog stick positions. - - Index for the controller you want to query. - Enumerated value that specifies what dead zone type to use. - The state of the controller. - - - - Gets the current state of a game pad controller, using a specified dead zone - on analog stick positions. - - Player index for the controller you want to query. - Enumerated value that specifies what dead zone type to use for the left stick. - Enumerated value that specifies what dead zone type to use for the right stick. - The state of the controller. - - - - Gets the current state of a game pad controller, using a specified dead zone - on analog stick positions. - - Index for the controller you want to query. - Enumerated value that specifies what dead zone type to use for the left stick. - Enumerated value that specifies what dead zone type to use for the right stick. - The state of the controller. - - - - Sets the vibration motor speeds on the controller device if supported. - - Player index that identifies the controller to set. - The speed of the left motor, between 0.0 and 1.0. This motor is a low-frequency motor. - The speed of the right motor, between 0.0 and 1.0. This motor is a high-frequency motor. - Returns true if the vibration motors were set. - - - - Sets the vibration motor speeds on the controller device if supported. - - Player index that identifies the controller to set. - The speed of the left motor, between 0.0 and 1.0. This motor is a low-frequency motor. - The speed of the right motor, between 0.0 and 1.0. This motor is a high-frequency motor. - (Xbox One controller only) The speed of the left trigger motor, between 0.0 and 1.0. This motor is a high-frequency motor. - (Xbox One controller only) The speed of the right trigger motor, between 0.0 and 1.0. This motor is a high-frequency motor. - Returns true if the vibration motors were set. - - - - Sets the vibration motor speeds on the controller device if supported. - - Index for the controller you want to query. - The speed of the left motor, between 0.0 and 1.0. This motor is a low-frequency motor. - The speed of the right motor, between 0.0 and 1.0. This motor is a high-frequency motor. - Returns true if the vibration motors were set. - - - - Sets the vibration motor speeds on the controller device if supported. - - Index for the controller you want to query. - The speed of the left motor, between 0.0 and 1.0. This motor is a low-frequency motor. - The speed of the right motor, between 0.0 and 1.0. This motor is a high-frequency motor. - (Xbox One controller only) The speed of the left trigger motor, between 0.0 and 1.0. This motor is a high-frequency motor. - (Xbox One controller only) The speed of the right trigger motor, between 0.0 and 1.0. This motor is a high-frequency motor. - Returns true if the vibration motors were set. - - - - The maximum number of game pads supported on this system. Attempting to - access a gamepad index higher than this number will result in an - being thrown by the API. - - - - - A struct that represents the current button states for the controller. - - - - - Gets a value indicating if the button A is pressed. - - if the button A is pressed; otherwise, . - - - - Gets a value indicating if the button B is pressed. - - if the button B is pressed; otherwise, . - - - - Gets a value indicating if the button Back is pressed. - - if the button Back is pressed; otherwise, . - - - - Gets a value indicating if the button X is pressed. - - if the button X is pressed; otherwise, . - - - - Gets a value indicating if the button Y is pressed. - - if the button Y is pressed; otherwise, . - - - - Gets a value indicating if the button Start is pressed. - - if the button Start is pressed; otherwise, . - - - - Gets a value indicating if the left shoulder button is pressed. - - if the left shoulder button is pressed; otherwise, . - - - - Gets a value indicating if the left stick button is pressed. - - if the left stick button is pressed; otherwise, . - - - - Gets a value indicating if the right shoulder button is pressed. - - if the right shoulder button is pressed; otherwise, . - - - - Gets a value indicating if the right stick button is pressed. - - if the right stick button is pressed; otherwise, . - - - - Gets a value indicating if the guide button is pressed. - - if the guide button is pressed; otherwise, . - - - - Determines whether two specified instances of are equal. - - The first object to compare. - The second object to compare. - true if and are equal; otherwise, false. - - - - Determines whether two specified instances of are not equal. - - The first object to compare. - The second object to compare. - true if and are not equal; otherwise, false. - - - - Returns a value indicating whether this instance is equal to a specified object. - - An object to compare to this instance. - true if is a and has the same value as this instance; otherwise, false. - - - - Serves as a hash function for a object. - - A hash code for this instance that is suitable for use in hashing algorithms and data structures such as a - hash table. - - - - Returns a that represents the current . - - A that represents the current . - - - - A stuct that represents the controller capabilities. - - - - - Gets a value indicating if the controller is connected. - - true if it is connected; otherwise, false. - - - - Gets the gamepad display name. - - This property is not available in XNA. - - String representing the display name of the gamepad. - - - - Gets the unique identifier of the gamepad. - - This property is not available in XNA. - - String representing the unique identifier of the gamepad. - - - - Gets a value indicating whether the controller has the button A. - - true if it has the button A; otherwise, false. - - - - Gets a value indicating whether the controller has the button Back. - - true if it has the button Back; otherwise, false. - - - - Gets a value indicating whether the controller has the button B. - - true if it has the button B; otherwise, false. - - - - Gets a value indicating whether the controller has the directional pad down button. - - true if it has the directional pad down button; otherwise, false. - - - - Gets a value indicating whether the controller has the directional pad left button. - - true if it has the directional pad left button; otherwise, false. - - - - Gets a value indicating whether the controller has the directional pad right button. - - true if it has the directional pad right button; otherwise, false. - - - - Gets a value indicating whether the controller has the directional pad up button. - - true if it has the directional pad up button; otherwise, false. - - - - Gets a value indicating whether the controller has the left shoulder button. - - true if it has the left shoulder button; otherwise, false. - - - - Gets a value indicating whether the controller has the left stick button. - - true if it has the left stick button; otherwise, false. - - - - Gets a value indicating whether the controller has the right shoulder button. - - true if it has the right shoulder button; otherwise, false. - - - - Gets a value indicating whether the controller has the right stick button. - - true if it has the right stick button; otherwise, false. - - - - Gets a value indicating whether the controller has the button Start. - - true if it has the button Start; otherwise, false. - - - - Gets a value indicating whether the controller has the button X. - - true if it has the button X; otherwise, false. - - - - Gets a value indicating whether the controller has the button Y. - - true if it has the button Y; otherwise, false. - - - - Gets a value indicating whether the controller has the guide button. - - true if it has the guide button; otherwise, false. - - - - Gets a value indicating whether the controller has X axis for the left stick (thumbstick) button. - - true if it has X axis for the left stick (thumbstick) button; otherwise, false. - - - - Gets a value indicating whether the controller has Y axis for the left stick (thumbstick) button. - - true if it has Y axis for the left stick (thumbstick) button; otherwise, false. - - - - Gets a value indicating whether the controller has X axis for the right stick (thumbstick) button. - - true if it has X axis for the right stick (thumbstick) button; otherwise, false. - - - - Gets a value indicating whether the controller has Y axis for the right stick (thumbstick) button. - - true if it has Y axis for the right stick (thumbstick) button; otherwise, false. - - - - Gets a value indicating whether the controller has the left trigger button. - - true if it has the left trigger button; otherwise, false. - - - - Gets a value indicating whether the controller has the right trigger button. - - true if it has the right trigger button; otherwise, false. - - - - Gets a value indicating whether the controller has the left vibration motor. - - true if it has the left vibration motor; otherwise, false. - - - - Gets a value indicating whether the controller has the right vibration motor. - - true if it has the right vibration motor; otherwise, false. - - - - Gets a value indicating whether the controller has a microphone. - - true if it has a microphone; otherwise, false. - - - - Gets the type of the controller. - - A representing the controller type.. - - - - Determines whether a specified instance of - is equal to another specified . - - The first to compare. - The second to compare. - true if left and right are equal; otherwise, false. - - - - Determines whether a specified instance of - is not equal to another specified . - - The first to compare. - The second to compare. - true if left and right are not equal; otherwise, false. - - - - Determines whether the specified is equal to the current . - - The to compare with the current . - true if the specified is equal to the current - ; otherwise, false. - - - - Serves as a hash function for a object. - - A hash code for this instance that is suitable for use in hashing algorithms and data structures such as a - hash table. - - - - Returns a that represents the current . - - A that represents the current . - - - - Specifies a type of dead zone processing to apply to Xbox 360 Controller - analog sticks when calling GetState. - - - - - The values of each stick are not processed and are returned by GetState as - "raw" values. This is best if you intend to implement your own dead zone - processing. - - - - - The X and Y positions of each stick are compared against the dead zone independently. - This setting is the default when calling GetState. - - - - - The combined X and Y position of each stick is compared to the dead zone. - This provides better control than IndependentAxes when the stick is used - as a two-dimensional control surface, such as when controlling a character's - view in a first-person game. - - - - - Gets a value indicating wethever down is pressed on the directional pad. - - if the down button is pressed; otherwise, . - - - - Gets a value indicating wethever left is pressed on the directional pad. - - if the left button is pressed; otherwise, . - - - - Gets a value indicating wethever right is pressed on the directional pad. - - if the right button is pressed; otherwise, . - - - - Gets a value indicating wethever up is pressed on the directional pad. - - if the up button is pressed; otherwise, . - - - - Initializes a new instance of the struct. - - Current state of directional pad up. - Current state of directional pad down. - Current state of directional pad left. - Current state of directional pad right. - - - - Determines whether two specified instances of are equal. - - The first object to compare. - The second object to compare. - true if and are equal; otherwise, false. - - - - Determines whether two specified instances of are not equal. - - The first object to compare. - The second object to compare. - true if and are not equal; otherwise, false. - - - - Returns a value indicating whether this instance is equal to a specified object. - - An object to compare to this instance. - true if is a and has the same value as this instance; otherwise, false. - - - - Serves as a hash function for a object. - - A hash code for this instance that is suitable for use in hashing algorithms and data structures such as a - hash table. - - - - Returns a that represents the current - in a format of 0000 where each number represents a boolean value of each respecting object property: Left, Up, Right, Down. - - A that represents the current . - - - - Represents specific information about the state of the controller, - including the current state of buttons and sticks. - - This is implemented as a partial struct to allow for individual platforms - to offer additional data without separate state queries to GamePad. - - - - - The default initialized gamepad state. - - - - - Gets a value indicating if the controller is connected. - - true if it is connected; otherwise, false. - - - - Gets the packet number associated with this state. - - The packet number. - - - - Gets a structure that identifies what buttons on the controller are pressed. - - The buttons structure. - - - - Gets a structure that identifies what directions of the directional pad on the controller are pressed. - - The directional pad structure. - - - - Gets a structure that indicates the position of the controller sticks (thumbsticks). - - The thumbsticks position. - - - - Gets a structure that identifies the position of triggers on the controller. - - Positions of the triggers. - - - - Initializes a new instance of the struct - using the specified GamePadThumbSticks, GamePadTriggers, GamePadButtons, and GamePadDPad. - - Initial thumbstick state. - Initial trigger state.. - Initial button state. - Initial directional pad state. - - - - Initializes a new instance of the struct - using the specified stick, trigger, and button values. - - Left stick value. Each axis is clamped between −1.0 and 1.0. - Right stick value. Each axis is clamped between −1.0 and 1.0. - Left trigger value. This value is clamped between 0.0 and 1.0. - Right trigger value. This value is clamped between 0.0 and 1.0. - Button(s) to initialize as pressed. - - - - Initializes a new instance of the struct - using the specified stick, trigger, and button values. - - Left stick value. Each axis is clamped between −1.0 and 1.0. - Right stick value. Each axis is clamped between −1.0 and 1.0. - Left trigger value. This value is clamped between 0.0 and 1.0. - Right trigger value. This value is clamped between 0.0 and 1.0. - Array of Buttons to initialize as pressed. - - - - Gets the button mask along with 'virtual buttons' like LeftThumbstickLeft. - - - - - Determines whether specified input device buttons are pressed in this GamePadState. - - true, if button was pressed, false otherwise. - Buttons to query. Specify a single button, or combine multiple buttons using a bitwise OR operation. - - - - Determines whether specified input device buttons are released (not pressed) in this GamePadState. - - true, if button was released (not pressed), false otherwise. - Buttons to query. Specify a single button, or combine multiple buttons using a bitwise OR operation. - - - - Determines whether a specified instance of is equal - to another specified . - - The first to compare. - The second to compare. - true if left and right are equal; otherwise, false. - - - - Determines whether a specified instance of is not - equal to another specified . - - The first to compare. - The second to compare. - true if left and right are not equal; otherwise, false. - - - - Determines whether the specified is equal to the current . - - The to compare with the current . - true if the specified is equal to the current - ; otherwise, false. - - - - Serves as a hash function for a object. - - A hash code for this instance that is suitable for use in hashing algorithms and data structures such as a - hash table. - - - - Returns a that represents the current . - - A that represents the current . - - - - A struct that represents the current stick (thumbstick) states for the controller. - - - - - Gets a value indicating the position of the left stick (thumbstick). - - A indicating the current position of the left stick (thumbstick). - - - - Gets a value indicating the position of the right stick (thumbstick). - - A indicating the current position of the right stick (thumbstick). - - - - Determines whether two specified instances of are equal. - - The first object to compare. - The second object to compare. - true if and are equal; otherwise, false. - - - - Determines whether two specified instances of are not equal. - - The first object to compare. - The second object to compare. - true if and are not equal; otherwise, false. - - - - Returns a value indicating whether this instance is equal to a specified object. - - An object to compare to this instance. - true if is a and has the same value as this instance; otherwise, false. - - - - Serves as a hash function for a object. - - A hash code for this instance that is suitable for use in hashing algorithms and data structures such as a - hash table. - - - - Returns a that represents the current . - - A that represents the current . - - - - A struct that countains information on the left and the right trigger buttons. - - - - - Gets the position of the left trigger. - - A value from 0.0f to 1.0f representing left trigger. - - - - Gets the position of the right trigger. - - A value from 0.0f to 1.0f representing right trigger. - - - - Initializes a new instance of the struct. - - The position of the left trigger, the value will get clamped between 0.0f and 1.0f. - The position of the right trigger, the value will get clamped between 0.0f and 1.0f. - - - - Determines whether two specified instances of are equal. - - The first object to compare. - The second object to compare. - true if and are equal; otherwise, false. - - - - Determines whether two specified instances of are not equal. - - The first object to compare. - The second object to compare. - true if and are not equal; otherwise, false. - - - - Returns a value indicating whether this instance is equal to a specified object. - - An object to compare to this instance. - true if is a and has the same value as this instance; otherwise, false. - - - - Serves as a hash function for a object. - - A hash code for this instance that is suitable for use in hashing algorithms and data structures such as a - hash table. - - - - Returns a that represents the current . - - A that represents the current . - - - - Defines a type of gamepad. - - - - - Unknown. - - - - - GamePad is the XBOX controller. - - - - - GamePad is a wheel. - - - - - GamePad is an arcade stick. - - - - - GamePad is a flight stick. - - - - - GamePad is a dance pad. - - - - - GamePad is a guitar. - - - - - GamePad is an alternate guitar. - - - - - GamePad is a drum kit. - - - - - GamePad is a big button pad. - - - - - Allows interaction with joysticks. Unlike the number of Buttons/Axes/DPads is not limited. - - - - - A default . - - - - - Gets a value indicating whether the current platform supports reading raw joystick data. - - true if the current platform supports reading raw joystick data; otherwise, false. - - - - Gets a value indicating the last joystick index connected to the system. If this value is less than 0, no joysticks are connected. - The order joysticks are connected and disconnected determines their index. - As such, this value may be larger than 0 even if only one joystick is connected. - - - - - - Gets the capabilites of the joystick. - - Index of the joystick you want to access. - The capabilites of the joystick. - - - - Gets the current state of the joystick. - - Index of the joystick you want to access. - The state of the joystick. - - - - Gets the current state of the joystick by updating an existing . - - The to update. - Index of the joystick you want to access. - - - - Describes joystick capabilities. - - - - - Gets a value indicating whether the joystick is connected. - - true if the joystick is connected; otherwise, false. - - - - Gets the unique identifier of the joystick. - - String representing the unique identifier of the joystick. - - - - Gets the joystick's display name. - - String representing the display name of the joystick. - - - - Gets a value indicating if the joystick is a gamepad. - - true if the joystick is a gamepad; otherwise, false. - - - - Gets the axis count. - - The number of axes that the joystick possesses. - - - - Gets the button count. - - The number of buttons that the joystick possesses. - - - - Gets the hat count. - - The number of hats/dpads that the joystick possesses. - - - - Determines whether a specified instance of - is equal to another specified . - - The first to compare. - The second to compare. - true if left and right are equal; otherwise, false. - - - - Determines whether a specified instance of - is not equal to another specified . - - The first to compare. - The second to compare. - true if left and right are not equal; otherwise, false. - - - - Determines whether the specified is equal to the current . - - The to compare with the current . - true if the specified is equal to the current - ; otherwise, false. - - - - Serves as a hash function for a object. - - A hash code for this instance that is suitable for use in hashing algorithms and data structures such as a - hash table. - - - - Returns a that represents the current . - - A that represents the current . - - - - Describes joystick hat state. - - - - - Gets if joysticks hat "down" is pressed. - - if the button is pressed otherwise, . - - - - Gets if joysticks hat "left" is pressed. - - if the button is pressed otherwise, . - - - - Gets if joysticks hat "right" is pressed. - - if the button is pressed otherwise, . - - - - Gets if joysticks hat "up" is pressed. - - if the button is pressed otherwise, . - - - - Determines whether a specified instance of is equal - to another specified . - - The first to compare. - The second to compare. - true if left and right are equal; otherwise, false. - - - - Determines whether a specified instance of is not - equal to another specified . - - The first to compare. - The second to compare. - true if left and right are not equal; otherwise, false. - - - - Determines whether the specified is equal to the current . - - The to compare with the current . - true if the specified is equal to the current - ; otherwise, false. - - - - Serves as a hash function for a object. - - A hash code for this instance that is suitable for use in hashing algorithms and data structures such as a - hash table. - - - - Returns a that represents the current in a format of 0000 where each number represents a boolean value of each respecting object property: Left, Up, Right, Down. - - A that represents the current . - - - - Describes current joystick state. - - - - - Gets a value indicating whether the joystick is connected. - - true if the joystick is connected; otherwise, false. - - - - Gets the joystick axis values. - - An array list of ints that indicate axis values. - - - - Gets the joystick button values. - - An array list of ButtonState that indicate button values. - - - - Gets the joystick hat values. - - An array list of that indicate hat values. - - - - Determines whether a specified instance of is - equal to another specified . - - The first to compare. - The second to compare. - true if left and right are equal; otherwise, false. - - - - Determines whether a specified instance of is not - equal to another specified . - - The first to compare. - The second to compare. - true if left and right are not equal; otherwise, false. - - - - Determines whether the specified is equal to the current . - - The to compare with the current . - true if the specified is equal to the current - ; otherwise, false. - - - - Serves as a hash function for a object. - - A hash code for this instance that is suitable for use in hashing algorithms and data structures such as a - hash table. - - - - Returns a that represents the current . - - A that represents the current . - - - - Allows getting keystrokes from keyboard. - - - - - Returns the current keyboard state. - - Current keyboard state. - - - - Returns the current keyboard state for a given player. - - Player index of the keyboard. - Current keyboard state. - - - - Displays the keyboard input interface asynchronously. - - Title of the dialog box. - Description of the dialog box. - Default text displayed in the input area. - If password mode is enabled, the characters entered are not displayed. - Text entered by the player. Null if back was used. - Thrown when the message box is already visible - - - var name = await KeyboardInput.Show("Name", "What's your name?", "Player"); - - - - - - Hides the keyboard input interface and returns the parameter as the result of - - Result to return - Thrown when the keyboard input is not visible - - - var nameTask = KeyboardInput.Show("Name", "What's your name?", "Player"); - KeyboardInput.Cancel("John Doe"); - var name = await nameTask; - - - - - - Holds the state of keystrokes by a keyboard. - - - - - Initializes a new instance of the class. - - List of keys to be flagged as pressed on initialization. - Caps Lock state. - Num Lock state. - - - - Initializes a new instance of the class. - - List of keys to be flagged as pressed on initialization. - - - - Gets the current state of the Caps Lock key. - - - - - Gets the current state of the Num Lock key. - - - - - Returns the state of a specified key. - - The key to query. - The state of the key. - - - - Gets whether given key is currently being pressed. - - The key to query. - true if the key is pressed; false otherwise. - - - - Gets whether given key is currently being not pressed. - - The key to query. - true if the key is not pressed; false otherwise. - - - - Returns the number of pressed keys in this . - - An integer representing the number of keys currently pressed in this . - - - - Returns an array of values holding keys that are currently being pressed. - - The keys that are currently being pressed. - - - - Fills an array of values holding keys that are currently being pressed. - - The keys array to fill. - This array is not cleared, and it must be equal to or larger than the number of keys pressed. - - - - Gets the hash code for instance. - - Hash code of the object. - - - - Compares whether two instances are equal. - - instance to the left of the equality operator. - instance to the right of the equality operator. - true if the instances are equal; false otherwise. - - - - Compares whether two instances are not equal. - - instance to the left of the inequality operator. - instance to the right of the inequality operator. - true if the instances are different; false otherwise. - - - - Compares whether current instance is equal to specified object. - - The to compare. - true if the provided instance is same with current; false otherwise. - - - - Defines the keys on a keyboard. - - - - - Reserved. - - - - - BACKSPACE key. - - - - - TAB key. - - - - - ENTER key. - - - - - CAPS LOCK key. - - - - - ESC key. - - - - - SPACEBAR key. - - - - - PAGE UP key. - - - - - PAGE DOWN key. - - - - - END key. - - - - - HOME key. - - - - - LEFT ARROW key. - - - - - UP ARROW key. - - - - - RIGHT ARROW key. - - - - - DOWN ARROW key. - - - - - SELECT key. - - - - - PRINT key. - - - - - EXECUTE key. - - - - - PRINT SCREEN key. - - - - - INS key. - - - - - DEL key. - - - - - HELP key. - - - - - Used for miscellaneous characters; it can vary by keyboard. - - - - - Used for miscellaneous characters; it can vary by keyboard. - - - - - Used for miscellaneous characters; it can vary by keyboard. - - - - - Used for miscellaneous characters; it can vary by keyboard. - - - - - Used for miscellaneous characters; it can vary by keyboard. - - - - - Used for miscellaneous characters; it can vary by keyboard. - - - - - Used for miscellaneous characters; it can vary by keyboard. - - - - - Used for miscellaneous characters; it can vary by keyboard. - - - - - Used for miscellaneous characters; it can vary by keyboard. - - - - - Used for miscellaneous characters; it can vary by keyboard. - - - - - A key. - - - - - B key. - - - - - C key. - - - - - D key. - - - - - E key. - - - - - F key. - - - - - G key. - - - - - H key. - - - - - I key. - - - - - J key. - - - - - K key. - - - - - L key. - - - - - M key. - - - - - N key. - - - - - O key. - - - - - P key. - - - - - Q key. - - - - - R key. - - - - - S key. - - - - - T key. - - - - - U key. - - - - - V key. - - - - - W key. - - - - - X key. - - - - - Y key. - - - - - Z key. - - - - - Left Windows key. - - - - - Right Windows key. - - - - - Applications key. - - - - - Computer Sleep key. - - - - - Numeric keypad 0 key. - - - - - Numeric keypad 1 key. - - - - - Numeric keypad 2 key. - - - - - Numeric keypad 3 key. - - - - - Numeric keypad 4 key. - - - - - Numeric keypad 5 key. - - - - - Numeric keypad 6 key. - - - - - Numeric keypad 7 key. - - - - - Numeric keypad 8 key. - - - - - Numeric keypad 9 key. - - - - - Multiply key. - - - - - Add key. - - - - - Separator key. - - - - - Subtract key. - - - - - Decimal key. - - - - - Divide key. - - - - - F1 key. - - - - - F2 key. - - - - - F3 key. - - - - - F4 key. - - - - - F5 key. - - - - - F6 key. - - - - - F7 key. - - - - - F8 key. - - - - - F9 key. - - - - - F10 key. - - - - - F11 key. - - - - - F12 key. - - - - - F13 key. - - - - - F14 key. - - - - - F15 key. - - - - - F16 key. - - - - - F17 key. - - - - - F18 key. - - - - - F19 key. - - - - - F20 key. - - - - - F21 key. - - - - - F22 key. - - - - - F23 key. - - - - - F24 key. - - - - - NUM LOCK key. - - - - - SCROLL LOCK key. - - - - - Left SHIFT key. - - - - - Right SHIFT key. - - - - - Left CONTROL key. - - - - - Right CONTROL key. - - - - - Left ALT key. - - - - - Right ALT key. - - - - - Browser Back key. - - - - - Browser Forward key. - - - - - Browser Refresh key. - - - - - Browser Stop key. - - - - - Browser Search key. - - - - - Browser Favorites key. - - - - - Browser Start and Home key. - - - - - Volume Mute key. - - - - - Volume Down key. - - - - - Volume Up key. - - - - - Next Track key. - - - - - Previous Track key. - - - - - Stop Media key. - - - - - Play/Pause Media key. - - - - - Start Mail key. - - - - - Select Media key. - - - - - Start Application 1 key. - - - - - Start Application 2 key. - - - - - The OEM Semicolon key on a US standard keyboard. - - - - - For any country/region, the '+' key. - - - - - For any country/region, the ',' key. - - - - - For any country/region, the '-' key. - - - - - For any country/region, the '.' key. - - - - - The OEM question mark key on a US standard keyboard. - - - - - The OEM tilde key on a US standard keyboard. - - - - - The OEM open bracket key on a US standard keyboard. - - - - - The OEM pipe key on a US standard keyboard. - - - - - The OEM close bracket key on a US standard keyboard. - - - - - The OEM singled/double quote key on a US standard keyboard. - - - - - Used for miscellaneous characters; it can vary by keyboard. - - - - - The OEM angle bracket or backslash key on the RT 102 key keyboard. - - - - - IME PROCESS key. - - - - - Attn key. - - - - - CrSel key. - - - - - ExSel key. - - - - - Erase EOF key. - - - - - Play key. - - - - - Zoom key. - - - - - PA1 key. - - - - - CLEAR key. - - - - - Green ChatPad key. - - - - - Orange ChatPad key. - - - - - PAUSE key. - - - - - IME Convert key. - - - - - IME NoConvert key. - - - - - Kana key on Japanese keyboards. - - - - - Kanji key on Japanese keyboards. - - - - - OEM Auto key. - - - - - OEM Copy key. - - - - - OEM Enlarge Window key. - - - - - Checks if specified value is valid Key. - - Keys base value - Returns true if value is valid Key, false otherwise - - - - Identifies the state of a keyboard key. - - - - - Key is released. - - - - - Key is pressed. - - - - - Displays the message box interface asynchronously. - - Title of the message box. - Description of the message box. - Captions of the message box buttons. Up to three supported. - Index of button selected by the player. Null if back was used. - Thrown when the message box is already visible - - - var color = await MessageBox.Show("Color", "What's your favorite color?", new[] { "Red", "Green", "Blue" }); - - - - - - Hides the message box interface and returns the parameter as the result of - - Result to return - Thrown when the message box is not visible - - - var colorTask = MessageBox.Show("Color", "What's your favorite color?", new[] { "Red", "Green", "Blue" }); - MessageBox.Cancel(0); - var color = await colorTask; - - - - - - Allows reading position and button click information from mouse. - - - - - Gets or sets the window handle for current mouse processing. - - - - - This API is an extension to XNA. - Gets mouse state information that includes position and button - presses for the provided window - - Current state of the mouse. - - - - Gets mouse state information that includes position and button presses - for the primary window - - Current state of the mouse. - - - - Sets mouse cursor's relative position to game-window. - - Relative horizontal position of the cursor. - Relative vertical position of the cursor. - - - - Sets the cursor image to the specified MouseCursor. - - Mouse cursor to use for the cursor image. - - - - Describes a mouse cursor. - - - - - Gets the default arrow cursor. - - - - - Gets the cursor that appears when the mouse is over text editing regions. - - - - - Gets the waiting cursor that appears while the application/system is busy. - - - - - Gets the crosshair ("+") cursor. - - - - - Gets the cross between Arrow and Wait cursors. - - - - - Gets the northwest/southeast ("\") cursor. - - - - - Gets the northeast/southwest ("/") cursor. - - - - - Gets the horizontal west/east ("-") cursor. - - - - - Gets the vertical north/south ("|") cursor. - - - - - Gets the size all cursor which points in all directions. - - - - - Gets the cursor that points that something is invalid, usually a cross. - - - - - Gets the hand cursor, usually used for web links. - - - - - Creates a mouse cursor from the specified texture. - - Texture to use as the cursor image. - X cordinate of the image that will be used for mouse position. - Y cordinate of the image that will be used for mouse position. - - - - Represents a mouse state with cursor position and button press information. - - - - - Initializes a new instance of the MouseState. - - Horizontal position of the mouse in relation to the window. - Vertical position of the mouse in relation to the window. - Mouse scroll wheel's value. - Left mouse button's state. - Middle mouse button's state. - Right mouse button's state. - XBUTTON1's state. - XBUTTON2's state. - Normally should be used to get mouse current state. The constructor is provided for simulating mouse input. - - - - Initializes a new instance of the MouseState. - - Horizontal position of the mouse in relation to the window. - Vertical position of the mouse in relation to the window. - Mouse scroll wheel's value. - Left mouse button's state. - Middle mouse button's state. - Right mouse button's state. - XBUTTON1's state. - XBUTTON2's state. - Mouse horizontal scroll wheel's value. - Normally should be used to get mouse current state. The constructor is provided for simulating mouse input. - - - - Compares whether two MouseState instances are equal. - - MouseState instance on the left of the equal sign. - MouseState instance on the right of the equal sign. - true if the instances are equal; false otherwise. - - - - Compares whether two MouseState instances are not equal. - - MouseState instance on the left of the equal sign. - MouseState instance on the right of the equal sign. - true if the objects are not equal; false otherwise. - - - - Compares whether current instance is equal to specified object. - - The MouseState to compare. - - - - - Gets the hash code for MouseState instance. - - Hash code of the object. - - - - Gets horizontal position of the cursor in relation to the window. - - - - - Gets vertical position of the cursor in relation to the window. - - - - - Gets cursor position. - - - - - Gets state of the left mouse button. - - - - - Gets state of the middle mouse button. - - - - - Gets state of the right mouse button. - - - - - Returns cumulative scroll wheel value since the game start. - - - - - Returns the cumulative horizontal scroll wheel value since the game start - - - - - Gets state of the XButton1. - - - - - Gets state of the XButton2. - - - - - Represents data from a multi-touch gesture over a span of time. - - - - - Gets the type of the gesture. - - - - - Gets the starting time for this multi-touch gesture sample. - - - - - Gets the position of the first touch-point in the gesture sample. - - - - - Gets the position of the second touch-point in the gesture sample. - - - - - Gets the delta information for the first touch-point in the gesture sample. - - - - - Gets the delta information for the second touch-point in the gesture sample. - - - - - Initializes a new . - - - - - - - - - - - Enumuration of values that represent different gestures that can be processed by . - - - - - No gestures. - - - - - The user touched a single point. - - - - - States completion of a drag gesture(VerticalDrag, HorizontalDrag, or FreeDrag). - - No position or delta information is available for this sample. - - - - States that a touch was combined with a quick swipe. - - Flicks does not contain position information. The velocity of it can be read from - - - - The use touched a point and then performed a free-form drag. - - - - - The use touched a single point for approximately one second. - - As this is a single event, it will not be contionusly fired while the user is holding the touch-point. - - - - The user touched the screen and performed either left to right or right to left drag gesture. - - - - - The user either converged or diverged two touch-points on the screen which is like a two-finger drag. - - When this gesture-type is enabled and two fingers are down, it takes precedence over drag gestures. - - - - An in-progress pinch operation was completed. - - No position or delta information is available for this sample. - - - - The user tapped the device twice which is always preceded by a Tap gesture. - - If the time between two touchs are long enough, insted two seperate single Tap gestures will be generated. - - - - The user touched the screen and performed either top to bottom or bottom to top drag gesture. - - - - - Provides state information for a touch screen enabled device. - - - - - States if a touch screen is available. - - - - - Initializes a new instance of the with a pre-determined set of touch locations. - - Array of items to initialize with. - - - - Returns specified by ID. - - - - - - - - States if touch collection is read only. - - - - - Returns the index of the first occurrence of specified item in the collection. - - to query. - - - - - Inserts a item into the indicated position. - - The position to insert into. - The item to insert. - - - - Removes the item at specified index. - - Index of the item that will be removed from collection. - - - - Gets or sets the item at the specified index of the collection. - - Position of the item. - - - - - Adds a to the collection. - - The item to be added. - - - - Clears all the items in collection. - - - - - Returns true if specified item exists in the collection, false otherwise./> - - The item to query for. - Returns true if queried item is found, false otherwise. - - - - Copies the collection to specified array starting from the given index. - - The array to copy items. - The starting index of the copy operation. - - - - Returns the number of items that exist in the collection. - - - - - Removes the specified item from the collection. - - The item to remove. - - - - - Returns an enumerator for the . - - Enumerable list of objects. - - - - Returns an enumerator for the . - - Enumerable list of objects. - - - - Returns an enumerator for the . - - Enumerable list of objects. - - - - Provides the ability to iterate through the TouchLocations in an TouchCollection. - - - - - Gets the current element in the TouchCollection. - - - - - Advances the enumerator to the next element of the TouchCollection. - - - - - Immediately releases the unmanaged resources used by this object. - - - - - Attributes - - - - - True if this touch was pressed and released on the same frame. - In this case we will keep it around for the user to get by GetState that frame. - However if they do not call GetState that frame, this touch will be forgotten. - - - - - Helper for assigning an invalid touch location. - - - - - Returns a copy of the touch with the state changed to moved. - - The new touch location. - - - - Updates the touch location using the new event. - - The next event for this touch location. - - - - Holds the possible state information for a touch location.. - - - - - This touch location position is invalid. - - Typically, you will encounter this state when a new touch location attempts to get the previous state of itself. - - - - This touch location position was updated or pressed at the same position. - - - - - This touch location position is new. - - - - - This touch location position was released. - - - - - Allows retrieval of information from Touch Panel device. - - - - - Gets the current state of the touch panel. - - - - - - Returns the next available gesture on touch panel device. - - - - - - The window handle of the touch panel. Purely for Xna compatibility. - - - - - Gets or sets the display height of the touch panel. - - - - - Gets or sets the display orientation of the touch panel. - - - - - Gets or sets the display width of the touch panel. - - - - - Gets or sets enabled gestures. - - - - - Returns true if a touch gesture is available. - - - - - Allows retrieval of capabilities information from touch panel device. - - - - - Returns true if a device is available for use. - - - - - Returns the maximum number of touch locations tracked by the touch panel device. - - - - - The reserved touchId for all mouse touch points. - - - - - The current touch state. - - - - - The current gesture state. - - - - - The positional scale to apply to touch input. - - - - - The current size of the display. - - - - - The next touch location identifier. - The value 1 is reserved for the mouse touch point. - - - - - The current timestamp that we use for setting the timestamp of new TouchLocations - - - - - The mapping between platform specific touch ids - and the touch ids we assign to touch locations. - - - - - The window handle of the touch panel. Purely for Xna compatibility. - - - - - Returns capabilities of touch panel device. - - - - - - Age all the touches, so any that were Pressed become Moved, and any that were Released are removed - - - - - Apply the given new touch to the state. If it is a Pressed it will be added as a new touch, otherwise we update the existing touch it matches - - - - - This will release all touch locations. It should only be - called on platforms where touch state is reset all at once. - - - - - Gets or sets the display height of the touch panel. - - - - - Gets or sets the display orientation of the touch panel. - - - - - Gets or sets the display width of the touch panel. - - - - - Gets or sets enabled gestures. - - - - - Returns true if a touch gesture is available. - - - - - Returns the next available gesture on touch panel device. - - - - - - Maximum distance a touch location can wiggle and - not be considered to have moved. - - - - - The pinch touch locations. - - - - - If true the pinch touch locations are valid and - a pinch gesture has begun. - - - - - Used to disable emitting of tap gestures. - - - - - Used to disable emitting of hold gestures. - - - - - Support for playing sound effects and XACT audio. - - - - - Represents how many channels are used in the audio data. - - - - Single channel. - - - Two channels. - - - - Represents a 3D audio emitter. Used to simulate 3D audio effects. - - - - Initializes a new AudioEmitter instance. - - - Gets or sets a scale applied to the Doppler effect between the AudioEmitter and an AudioListener. - - Defaults to 1.0 - A value of 1.0 leaves the Doppler effect unmodified. - - - - Gets or sets the emitter's forward vector. - - Defaults to Vector3.Forward. (new Vector3(0, 0, -1)) - Used with AudioListener.Velocity to calculate Doppler values. - The Forward and Up values must be orthonormal. - - - - Gets or sets the position of this emitter. - - - Gets or sets the emitter's Up vector. - - Defaults to Vector3.Up. (new Vector3(0, -1, 1)). - The Up and Forward vectors must be orthonormal. - - - - Gets or sets the emitter's velocity vector. - - Defaults to Vector3.Zero. - This value is only used when calculating Doppler values. - - - - - Represents a 3D audio listener. Used when simulating 3D Audio. - - - - Gets or sets the listener's forward vector. - - Defaults to Vector3.Forward. (new Vector3(0, 0, -1)) - Used with AudioListener.Velocity and AudioEmitter.Velocity to calculate Doppler values. - The Forward and Up vectors must be orthonormal. - - - - Gets or sets the listener's position. - - Defaults to Vector3.Zero. - - - - - Gets or sets the listener's up vector.. - - - Defaults to Vector3.Up (New Vector3(0, -1, 0)). - Used with AudioListener.Velocity and AudioEmitter.Velocity to calculate Doppler values. - The values of the Forward and Up vectors must be orthonormal. - - - - Gets or sets the listener's velocity vector. - - Defaults to Vector3.Zero. - Scaled by DopplerScale to calculate the Doppler effect value applied to a Cue. - This value is only used to calculate Doppler values. - - - - - A for which the audio buffer is provided by the game at run time. - - - - - This value has no effect on DynamicSoundEffectInstance. - It may not be set. - - - - - Returns the number of audio buffers queued for playback. - - - - - The event that occurs when the number of queued audio buffers is less than or equal to 2. - - - This event may occur when is called or during playback when a buffer is completed. - - - - Sample rate, in Hertz (Hz). - Number of channels (mono or stereo). - - - - Returns the duration of an audio buffer of the specified size, based on the settings of this instance. - - Size of the buffer, in bytes. - The playback length of the buffer. - - - - Returns the size, in bytes, of a buffer of the specified duration, based on the settings of this instance. - - The playback length of the buffer. - The data size of the buffer, in bytes. - - - - Plays or resumes the DynamicSoundEffectInstance. - - - - - Pauses playback of the DynamicSoundEffectInstance. - - - - - Resumes playback of the DynamicSoundEffectInstance. - - - - - Immediately stops playing the DynamicSoundEffectInstance. - - - Calling this also releases all queued buffers. - - - - - Stops playing the DynamicSoundEffectInstance. - If the parameter is false, this call has no effect. - - - Calling this also releases all queued buffers. - - When set to false, this call has no effect. - - - - Queues an audio buffer for playback. - - - The buffer length must conform to alignment requirements for the audio format. - - The buffer containing PCM audio data. - - - - Queues an audio buffer for playback. - - - The buffer length must conform to alignment requirements for the audio format. - - The buffer containing PCM audio data. - The starting position of audio data. - The amount of bytes to use. - - - - Handles the buffer events of all DynamicSoundEffectInstance instances. - - - - - Updates buffer queues of the currently playing instances. - - - XNA posts events always on the main thread. - - - - - The exception thrown when the system attempts to play more SoundEffectInstances than allotted. - - - Most platforms have a hard limit on how many sounds can be played simultaneously. This exception is thrown when that limit is exceeded. - - - - - The exception thrown when no audio hardware is present, or driver issues are detected. - - - - A message describing the error. - - - A message describing the error. - The exception that is the underlying cause of the current exception. If not null, the current exception is raised in a try/catch block that handled the innerException. - - - Represents a loaded sound resource. - - A SoundEffect represents the buffer used to hold audio data and metadata. SoundEffectInstances are used to play from SoundEffects. Multiple SoundEffectInstance objects can be created and played from the same SoundEffect object. - The only limit on the number of loaded SoundEffects is restricted by available memory. When a SoundEffect is disposed, all SoundEffectInstances created from it will become invalid. - SoundEffect.Play() can be used for 'fire and forget' sounds. If advanced playback controls like volume or pitch is required, use SoundEffect.CreateInstance(). - - - - - Initializes the sound system for SoundEffect support. - This method is automatically called when a SoundEffect is loaded, a DynamicSoundEffectInstance is created, or Microphone.All is queried. - You can however call this method manually (preferably in, or before the Game constructor) to catch any Exception that may occur during the sound system initialization (and act accordingly). - - - - - Create a sound effect. - - The buffer with the sound data. - The sound data sample rate in hertz. - The number of channels in the sound data. - This only supports uncompressed 16bit PCM wav data. - - - - Create a sound effect. - - The buffer with the sound data. - The offset to the start of the sound data in bytes. - The length of the sound data in bytes. - The sound data sample rate in hertz. - The number of channels in the sound data. - The position where the sound should begin looping in samples. - The duration of the sound data loop in samples. - This only supports uncompressed 16bit PCM wav data. - - - - Releases unmanaged resources and performs other cleanup operations before the - is reclaimed by garbage collection. - - - - - Creates a new SoundEffectInstance for this SoundEffect. - - A new SoundEffectInstance for this SoundEffect. - Creating a SoundEffectInstance before calling SoundEffectInstance.Play() allows you to access advanced playback features, such as volume, pitch, and 3D positioning. - - - - Creates a new SoundEffect object based on the specified data stream. - This internally calls . - - The path to the audio file. - The loaded from the given file. - The stream must point to the head of a valid wave file in the RIFF bitstream format. The formats supported are: - - - 8-bit unsigned PCM - 16-bit signed PCM - 24-bit signed PCM - 32-bit IEEE float PCM - MS-ADPCM 4-bit compressed - IMA/ADPCM (IMA4) 4-bit compressed - - - - - - - Creates a new SoundEffect object based on the specified data stream. - - A stream containing the wave data. - A new SoundEffect object. - The stream must point to the head of a valid wave file in the RIFF bitstream format. The formats supported are: - - - 8-bit unsigned PCM - 16-bit signed PCM - 24-bit signed PCM - 32-bit IEEE float PCM - MS-ADPCM 4-bit compressed - IMA/ADPCM (IMA4) 4-bit compressed - - - - - - - Returns the duration for 16-bit PCM audio. - - The length of the audio data in bytes. - Sample rate, in Hertz (Hz). Must be between 8000 Hz and 48000 Hz - Number of channels in the audio data. - The duration of the audio data. - - - - Returns the data size in bytes for 16bit PCM audio. - - The total duration of the audio data. - Sample rate, in Hertz (Hz), of audio data. Must be between 8,000 and 48,000 Hz. - Number of channels in the audio data. - The size in bytes of a single sample of audio data. - - - Gets an internal SoundEffectInstance and plays it. - True if a SoundEffectInstance was successfully played, false if not. - - Play returns false if more SoundEffectInstances are currently playing then the platform allows. - To loop a sound or apply 3D effects, call SoundEffect.CreateInstance() and SoundEffectInstance.Play() instead. - SoundEffectInstances used by SoundEffect.Play() are pooled internally. - - - - Gets an internal SoundEffectInstance and plays it with the specified volume, pitch, and panning. - True if a SoundEffectInstance was successfully created and played, false if not. - Volume, ranging from 0.0 (silence) to 1.0 (full volume). Volume during playback is scaled by SoundEffect.MasterVolume. - Pitch adjustment, ranging from -1.0 (down an octave) to 0.0 (no change) to 1.0 (up an octave). - Panning, ranging from -1.0 (left speaker) to 0.0 (centered), 1.0 (right speaker). - - Play returns false if more SoundEffectInstances are currently playing then the platform allows. - To apply looping or simulate 3D audio, call SoundEffect.CreateInstance() and SoundEffectInstance.Play() instead. - SoundEffectInstances used by SoundEffect.Play() are pooled internally. - - - - - Returns a sound effect instance from the pool or null if none are available. - - - - Gets the duration of the SoundEffect. - - - Gets or sets the asset name of the SoundEffect. - - - - Gets or sets the master volume scale applied to all SoundEffectInstances. - - - Each SoundEffectInstance has its own Volume property that is independent to SoundEffect.MasterVolume. During playback SoundEffectInstance.Volume is multiplied by SoundEffect.MasterVolume. - This property is used to adjust the volume on all current and newly created SoundEffectInstances. The volume of an individual SoundEffectInstance can be adjusted on its own. - - - - - Gets or sets the scale of distance calculations. - - - DistanceScale defaults to 1.0 and must be greater than 0.0. - Higher values reduce the rate of falloff between the sound and listener. - - - - - Gets or sets the scale of Doppler calculations applied to sounds. - - - DopplerScale defaults to 1.0 and must be greater or equal to 0.0 - Affects the relative velocity of emitters and listeners. - Higher values more dramatically shift the pitch for the given relative velocity of the emitter and listener. - - - - Returns the speed of sound used when calculating the Doppler effect.. - - Defaults to 343.5. Value is measured in meters per second. - Has no effect on distance attenuation. - - - - Indicates whether the object is disposed. - - - Releases the resources held by this . - - - - Releases the resources held by this . - - If set to true, Dispose was called explicitly. - If the disposing parameter is true, the Dispose method was called explicitly. This - means that managed objects referenced by this instance should be disposed or released as - required. If the disposing parameter is false, Dispose was called by the finalizer and - no managed objects should be touched because we do not know if they are still valid or - not at that time. Unmanaged resources should always be released. - - - - Initializes XAudio. - - - - Represents a single instance of a playing, paused, or stopped sound. - - SoundEffectInstances are created through SoundEffect.CreateInstance() and used internally by SoundEffect.Play() - - - - Enables or Disables whether the SoundEffectInstance should repeat after playback. - This value has no effect on an already playing sound. - - - Gets or sets the pan, or speaker balance.. - Pan value ranging from -1.0 (left speaker) to 0.0 (centered), 1.0 (right speaker). Values outside of this range will throw an exception. - - - Gets or sets the pitch adjustment. - Pitch adjustment, ranging from -1.0 (down an octave) to 0.0 (no change) to 1.0 (up an octave). Values outside of this range will throw an Exception. - - - Gets or sets the volume of the SoundEffectInstance. - Volume, ranging from 0.0 (silence) to 1.0 (full volume). Volume during playback is scaled by SoundEffect.MasterVolume. - - This is the volume relative to SoundEffect.MasterVolume. Before playback, this Volume property is multiplied by SoundEffect.MasterVolume when determining the final mix volume. - - - - Gets the SoundEffectInstance's current playback state. - - - Indicates whether the object is disposed. - - - - Releases unmanaged resources and performs other cleanup operations before the - is reclaimed by garbage collection. - - - - Applies 3D positioning to the SoundEffectInstance using a single listener. - Data about the listener. - Data about the source of emission. - - - Applies 3D positioning to the SoundEffectInstance using multiple listeners. - Data about each listener. - Data about the source of emission. - - - Pauses playback of a SoundEffectInstance. - Paused instances can be resumed with SoundEffectInstance.Play() or SoundEffectInstance.Resume(). - - - Plays or resumes a SoundEffectInstance. - Throws an exception if more sounds are playing than the platform allows. - - - Resumes playback for a SoundEffectInstance. - Only has effect on a SoundEffectInstance in a paused state. - - - Immediately stops playing a SoundEffectInstance. - - - Stops playing a SoundEffectInstance, either immediately or as authored. - Determined whether the sound stops immediately, or after playing its release phase and/or transitions. - Stopping a sound with the immediate argument set to false will allow it to play any release phases, such as fade, before coming to a stop. - - - Releases the resources held by this . - - - - Releases the resources held by this . - - If set to true, Dispose was called explicitly. - If the disposing parameter is true, the Dispose method was called explicitly. This - means that managed objects referenced by this instance should be disposed or released as - required. If the disposing parameter is false, Dispose was called by the finalizer and - no managed objects should be touched because we do not know if they are still valid or - not at that time. Unmanaged resources should always be released. - - - - Gets a value indicating whether the platform has capacity for more sounds to be played at this time. - - true if more sounds can be played; otherwise, false. - - - - Add the specified instance to the pool if it is a pooled instance and removes it from the - list of playing instances. - - The SoundEffectInstance - - - - Adds the SoundEffectInstance to the list of playing instances. - - The SoundEffectInstance to add to the playing list. - - - - Returns a pooled SoundEffectInstance if one is available, or allocates a new - SoundEffectInstance if the pool is empty. - - The SoundEffectInstance. - - - - Iterates the list of playing instances, returning them to the pool if they - have stopped playing. - - - - - Iterates the list of playing instances, stop them and return them to the pool if they are instances of the given SoundEffect. - - The SoundEffect - - - Described the playback state of a SoundEffectInstance. - - - The SoundEffectInstance is currently playing. - - - The SoundEffectInstance is currently paused. - - - The SoundEffectInstance is currently stopped. - - - - Microphone state. - - - - - Provides microphones capture features. - - - Provides microphones capture features. - - - - - Returns the friendly name of the microphone. - - - - - Gets or sets the capture buffer duration. This value must be greater than 100 milliseconds, lower than 1000 milliseconds, and must be 10 milliseconds aligned (BufferDuration % 10 == 10). - - - - - Determines if the microphone is a wired headset. - Note: XNA could know if a headset microphone was plugged in an Xbox 360 controller but MonoGame can't. - Hence, this is always true on mobile platforms, and always false otherwise. - - - - - Returns the sample rate of the captured audio. - Note: default value is 44100hz - - - - - Returns the state of the Microphone. - - - - - Returns all compatible microphones. - - - - - Returns the default microphone. - - - - - Returns the duration based on the size of the buffer (assuming 16-bit PCM data). - - Size, in bytes - TimeSpan of the duration. - - - - Returns the size, in bytes, of the array required to hold the specified duration of 16-bit PCM data. - - TimeSpan of the duration of the sample. - Size, in bytes, of the buffer. - - - - Starts microphone capture. - - - - - Stops microphone capture. - - - - - Gets the latest available data from the microphone. - - Buffer, in bytes, of the captured data (16-bit PCM). - The buffer size, in bytes, of the captured data. - - - - Gets the latest available data from the microphone. - - Buffer, in bytes, of the captured data (16-bit PCM). - Byte offset. - Amount, in bytes. - The buffer size, in bytes, of the captured data. - - - - Event fired when the audio data are available. - - - - - The exception thrown when no audio hardware is present, or driver issues are detected. - - - - A message describing the error. - - - A message describing the error. - The exception that is the underlying cause of the current exception. If not null, the current exception is raised in a try/catch block that handled the innerException. - - - - Provides functionality for manipulating multiple sounds at a time. - - - - - Gets the category's friendly name. - - - - - Pauses all associated sounds. - - - - - Resumes all associated paused sounds. - - - - - Stops all associated sounds. - - - - - Determines whether two AudioCategory instances are equal. - - First AudioCategory instance to compare. - Second AudioCategory instance to compare. - true if the objects are equal or false if they aren't. - - - - Determines whether two AudioCategory instances are not equal. - - First AudioCategory instance to compare. - Second AudioCategory instance to compare. - true if the objects are not equal or false if they are. - - - - Determines whether two AudioCategory instances are equal. - - AudioCategory to compare with this instance. - true if the objects are equal or false if they aren't - - - - Determines whether two AudioCategory instances are equal. - - Object to compare with this instance. - true if the objects are equal or false if they aren't. - - - - Gets the hash code for this instance. - - Hash code for this object. - - - - Returns the name of this AudioCategory - - Friendly name of the AudioCategory - - - - Class used to create and manipulate code audio objects. - - - - - The current content version. - - - - Path to a XACT settings file. - - - Path to a XACT settings file. - Determines how many milliseconds the engine will look ahead when determing when to transition to another sound. - A string that specifies the audio renderer to use. - For the best results, use a lookAheadTime of 250 milliseconds or greater. - - - - Performs periodic work required by the audio engine. - - Must be called at least once per frame. - - - Returns an audio category by name. - Friendly name of the category to get. - The AudioCategory with a matching name. Throws an exception if not found. - - - Gets the value of a global variable. - Friendly name of the variable. - float value of the queried variable. - A global variable has global scope. It can be accessed by all code within a project. - - - Sets the value of a global variable. - Friendly name of the variable. - Value of the global variable. - - - - This event is triggered when the AudioEngine is disposed. - - - - - Is true if the AudioEngine has been disposed. - - - - - Disposes the AudioEngine. - - - - Controls how Cue objects should cease playback when told to stop. - - - Stop normally, playing any pending release phases or transitions. - - - Immediately stops the cue, ignoring any pending release phases or transitions. - - - Manages the playback of a sound or set of sounds. - - Cues are comprised of one or more sounds. - Cues also define specific properties such as pitch or volume. - Cues are referenced through SoundBank objects. - - - - Indicates whether or not the cue is currently paused. - IsPlaying and IsPaused both return true if a cue is paused while playing. - - - Indicates whether or not the cue is currently playing. - IsPlaying and IsPaused both return true if a cue is paused while playing. - - - Indicates whether or not the cue is currently stopped. - - - Gets the friendly name of the cue. - The friendly name is a value set from the designer. - - - Pauses playback. - - - Requests playback of a prepared or preparing Cue. - Calling Play when the Cue already is playing can result in an InvalidOperationException. - - - Resumes playback of a paused Cue. - - - Stops playback of a Cue. - Specifies if the sound should play any pending release phases or transitions before stopping. - - - - Sets the value of a cue-instance variable based on its friendly name. - - Friendly name of the variable to set. - Value to assign to the variable. - The friendly name is a value set from the designer. - - - Gets a cue-instance variable value based on its friendly name. - Friendly name of the variable. - Value of the variable. - - Cue-instance variables are useful when multiple instantiations of a single cue (and its associated sounds) are required (for example, a "car" cue where there may be more than one car at any given time). While a global variable allows multiple audio elements to be controlled in unison, a cue instance variable grants discrete control of each instance of a cue, even for each copy of the same cue. - The friendly name is a value set from the designer. - - - - Updates the simulated 3D Audio settings calculated between an AudioEmitter and AudioListener. - The listener to calculate. - The emitter to calculate. - - This must be called before Play(). - Calling this method automatically converts the sound to monoaural and sets the speaker mix for any sound played by this cue to a value calculated with the listener's and emitter's positions. Any stereo information in the sound will be discarded. - - - - - This event is triggered when the Cue is disposed. - - - - - Is true if the Cue has been disposed. - - - - - Disposes the Cue. - - - - Represents a collection of Cues. - - - - Is true if the SoundBank has any live Cues in use. - - - - AudioEngine that will be associated with this sound bank. - Path to a .xsb SoundBank file. - - - - Returns a pooled Cue object. - - Friendly name of the cue to get. - a unique Cue object from a pool. - - Cue instances are unique, even when sharing the same name. This allows multiple instances to simultaneously play. - - - - - Plays a cue. - - Name of the cue to play. - - - - Plays a cue with static 3D positional information. - - - Commonly used for short lived effects. To dynamically change the 3D - positional information on a cue over time use and . - The name of the cue to play. - The listener state. - The cue emitter state. - - - - This event is triggered when the SoundBank is disposed. - - - - - Is true if the SoundBank has been disposed. - - - - - Disposes the SoundBank. - - - - Represents a collection of wave files. - - - - - - - - - - - Instance of the AudioEngine to associate this wave bank with. - Path to the .xwb file to load. - This constructor immediately loads all wave data into memory at once. - - - Instance of the AudioEngine to associate this wave bank with. - Path to the .xwb to stream from. - DVD sector-aligned offset within the wave bank data file. - Stream packet size, in sectors, to use for each stream. The minimum value is 2. - - This constructor streams wave data as needed. - Note that packetsize is in sectors, which is 2048 bytes. - AudioEngine.Update() must be called at least once before using data from a streaming wave bank. - - - - - This event is triggered when the WaveBank is disposed. - - - - - Is true if the WaveBank has been disposed. - - - - - Disposes the WaveBank. - - - - - Set the combined volume scale from the parent objects. - - The volume scale. - - - - Set the volume for the clip. - - The volume level. - - - - The runtime support for loading content pipeline content. - - - - - Virtual property to allow a derived ContentManager to have it's assets reloaded - - - - - Gets the GraphicsDevice from the ContentManager.ServiceProvider. - - The . - - - - External reference reader, provided for compatibility with XNA Framework built content - - - - - Creates an instance of the attribute. - - - - - Returns the overriden XML element name or the default "Item". - - - - - Returns true if the default CollectionItemName value was overridden. - - - - - This is used to specify the XML element name to use for each item in a collection. - - - - - Creates an instance of the attribute. - - The XML element name to use for each item in the collection. - - - - The XML element name to use for each item in the collection. - - - - - This is used to specify the type to use when deserializing this object at runtime. - - - - - Creates an instance of the attribute. - - The name of the type to use at runtime. - - - - The name of the type to use at runtime. - - - - - This is used to specify the version when deserializing this object at runtime. - - - - - Creates an instance of the attribute. - - The version passed to the type at runtime. - - - - The version passed to the type at runtime. - - - - - Removes Version, Culture and PublicKeyToken from a type string. - - - Supports multiple generic types (e.g. Dictionary<TKey,TValue>) and nested generic types (e.g. List<List<int>>). - - - A - - - A - - - - - Adds the type creator. - - - Type string. - - - Create function. - - - - - Returns a value indicating what side (positive/negative) of a plane a point is - - The point to check with - The plane to check against - Greater than zero if on the positive side, less than zero if on the negative size, 0 otherwise - - - - Returns the perpendicular distance from a point to a plane - - The point to check - The place to check - The perpendicular distance from the point to the plane - - - - Create a that contains the specified point and has the specified vector. - - A point the created should contain. - The normal of the plane. - - - - Transforms a normalized plane by a matrix. - - The normalized plane to transform. - The transformation matrix. - The transformed plane. - - - - Transforms a normalized plane by a matrix. - - The normalized plane to transform. - The transformation matrix. - The transformed plane. - - - - Transforms a normalized plane by a quaternion rotation. - - The normalized plane to transform. - The quaternion rotation. - The transformed plane. - - - - Transforms a normalized plane by a quaternion rotation. - - The normalized plane to transform. - The quaternion rotation. - The transformed plane. - - - - Deconstruction method for . - - - - - - - Defines the intersection between a and a bounding volume. - - - - - There is no intersection, the bounding volume is in the negative half space of the plane. - - - - - There is no intersection, the bounding volume is in the positive half space of the plane. - - - - - The plane is intersected. - - - - - Defines the index of player for various MonoGame components. - - - - - The first player index. - - - - - The second player index. - - - - - The third player index. - - - - - The fourth player index. - - - - - Describes a 2D-point. - - - - - The x coordinate of this . - - - - - The y coordinate of this . - - - - - Returns a with coordinates 0, 0. - - - - - Constructs a point with X and Y from two values. - - The x coordinate in 2d-space. - The y coordinate in 2d-space. - - - - Constructs a point with X and Y set to the same value. - - The x and y coordinates in 2d-space. - - - - Adds two points. - - Source on the left of the add sign. - Source on the right of the add sign. - Sum of the points. - - - - Subtracts a from a . - - Source on the left of the sub sign. - Source on the right of the sub sign. - Result of the subtraction. - - - - Multiplies the components of two points by each other. - - Source on the left of the mul sign. - Source on the right of the mul sign. - Result of the multiplication. - - - - Divides the components of a by the components of another . - - Source on the left of the div sign. - Divisor on the right of the div sign. - The result of dividing the points. - - - - Compares whether two instances are equal. - - instance on the left of the equal sign. - instance on the right of the equal sign. - true if the instances are equal; false otherwise. - - - - Compares whether two instances are not equal. - - instance on the left of the not equal sign. - instance on the right of the not equal sign. - true if the instances are not equal; false otherwise. - - - - Compares whether current instance is equal to specified . - - The to compare. - true if the instances are equal; false otherwise. - - - - Compares whether current instance is equal to specified . - - The to compare. - true if the instances are equal; false otherwise. - - - - Gets the hash code of this . - - Hash code of this . - - - - Returns a representation of this in the format: - {X:[] Y:[]} - - representation of this . - - - - Gets a representation for this object. - - A representation for this object. - - - - Deconstruction method for . - - - - - - - The arguments to the event. - - - - - Create a new instance of the event. - - The default settings to be used in device creation. - - - - The default settings that will be used in device creation. - - - - - An efficient mathematical representation for three dimensional rotations. - - - - - The x coordinate of this . - - - - - The y coordinate of this . - - - - - The z coordinate of this . - - - - - The rotation component of this . - - - - - Constructs a quaternion with X, Y, Z and W from four values. - - The x coordinate in 3d-space. - The y coordinate in 3d-space. - The z coordinate in 3d-space. - The rotation component. - - - - Constructs a quaternion with X, Y, Z from and rotation component from a scalar. - - The x, y, z coordinates in 3d-space. - The rotation component. - - - - Constructs a quaternion from . - - The x, y, z coordinates in 3d-space and the rotation component. - - - - Returns a quaternion representing no rotation. - - - - - Creates a new that contains the sum of two quaternions. - - Source . - Source . - The result of the quaternion addition. - - - - Creates a new that contains the sum of two quaternions. - - Source . - Source . - The result of the quaternion addition as an output parameter. - - - - Creates a new that contains concatenation between two quaternion. - - The first to concatenate. - The second to concatenate. - The result of rotation of followed by rotation. - - - - Creates a new that contains concatenation between two quaternion. - - The first to concatenate. - The second to concatenate. - The result of rotation of followed by rotation as an output parameter. - - - - Transforms this quaternion into its conjugated version. - - - - - Creates a new that contains conjugated version of the specified quaternion. - - The quaternion which values will be used to create the conjugated version. - The conjugate version of the specified quaternion. - - - - Creates a new that contains conjugated version of the specified quaternion. - - The quaternion which values will be used to create the conjugated version. - The conjugated version of the specified quaternion as an output parameter. - - - - Creates a new from the specified axis and angle. - - The axis of rotation. - The angle in radians. - The new quaternion builded from axis and angle. - - - - Creates a new from the specified axis and angle. - - The axis of rotation. - The angle in radians. - The new quaternion builded from axis and angle as an output parameter. - - - - Creates a new from the specified . - - The rotation matrix. - A quaternion composed from the rotation part of the matrix. - - - - Creates a new from the specified . - - The rotation matrix. - A quaternion composed from the rotation part of the matrix as an output parameter. - - - - Creates a new from the specified yaw, pitch and roll angles. - - Yaw around the y axis in radians. - Pitch around the x axis in radians. - Roll around the z axis in radians. - A new quaternion from the concatenated yaw, pitch, and roll angles. - - - - Creates a new from the specified yaw, pitch and roll angles. - - Yaw around the y axis in radians. - Pitch around the x axis in radians. - Roll around the z axis in radians. - A new quaternion from the concatenated yaw, pitch, and roll angles as an output parameter. - - - - Divides a by the other . - - Source . - Divisor . - The result of dividing the quaternions. - - - - Divides a by the other . - - Source . - Divisor . - The result of dividing the quaternions as an output parameter. - - - - Returns a dot product of two quaternions. - - The first quaternion. - The second quaternion. - The dot product of two quaternions. - - - - Returns a dot product of two quaternions. - - The first quaternion. - The second quaternion. - The dot product of two quaternions as an output parameter. - - - - Compares whether current instance is equal to specified . - - The to compare. - true if the instances are equal; false otherwise. - - - - Compares whether current instance is equal to specified . - - The to compare. - true if the instances are equal; false otherwise. - - - - Gets the hash code of this . - - Hash code of this . - - - - Returns the inverse quaternion which represents the opposite rotation. - - Source . - The inverse quaternion. - - - - Returns the inverse quaternion which represents the opposite rotation. - - Source . - The inverse quaternion as an output parameter. - - - - Returns the magnitude of the quaternion components. - - The magnitude of the quaternion components. - - - - Returns the squared magnitude of the quaternion components. - - The squared magnitude of the quaternion components. - - - - Performs a linear blend between two quaternions. - - Source . - Source . - The blend amount where 0 returns and 1 . - The result of linear blending between two quaternions. - - - - Performs a linear blend between two quaternions. - - Source . - Source . - The blend amount where 0 returns and 1 . - The result of linear blending between two quaternions as an output parameter. - - - - Performs a spherical linear blend between two quaternions. - - Source . - Source . - The blend amount where 0 returns and 1 . - The result of spherical linear blending between two quaternions. - - - - Performs a spherical linear blend between two quaternions. - - Source . - Source . - The blend amount where 0 returns and 1 . - The result of spherical linear blending between two quaternions as an output parameter. - - - - Creates a new that contains subtraction of one from another. - - Source . - Source . - The result of the quaternion subtraction. - - - - Creates a new that contains subtraction of one from another. - - Source . - Source . - The result of the quaternion subtraction as an output parameter. - - - - Creates a new that contains a multiplication of two quaternions. - - Source . - Source . - The result of the quaternion multiplication. - - - - Creates a new that contains a multiplication of and a scalar. - - Source . - Scalar value. - The result of the quaternion multiplication with a scalar. - - - - Creates a new that contains a multiplication of and a scalar. - - Source . - Scalar value. - The result of the quaternion multiplication with a scalar as an output parameter. - - - - Creates a new that contains a multiplication of two quaternions. - - Source . - Source . - The result of the quaternion multiplication as an output parameter. - - - - Flips the sign of the all the quaternion components. - - Source . - The result of the quaternion negation. - - - - Flips the sign of the all the quaternion components. - - Source . - The result of the quaternion negation as an output parameter. - - - - Scales the quaternion magnitude to unit length. - - - - - Scales the quaternion magnitude to unit length. - - Source . - The unit length quaternion. - - - - Scales the quaternion magnitude to unit length. - - Source . - The unit length quaternion an output parameter. - - - - Returns a representation of this in the format: - {X:[] Y:[] Z:[] W:[]} - - A representation of this . - - - - Gets a representation for this object. - - A representation for this object. - - - - Adds two quaternions. - - Source on the left of the add sign. - Source on the right of the add sign. - Sum of the vectors. - - - - Divides a by the other . - - Source on the left of the div sign. - Divisor on the right of the div sign. - The result of dividing the quaternions. - - - - Compares whether two instances are equal. - - instance on the left of the equal sign. - instance on the right of the equal sign. - true if the instances are equal; false otherwise. - - - - Compares whether two instances are not equal. - - instance on the left of the not equal sign. - instance on the right of the not equal sign. - true if the instances are not equal; false otherwise. - - - - Multiplies two quaternions. - - Source on the left of the mul sign. - Source on the right of the mul sign. - Result of the quaternions multiplication. - - - - Multiplies the components of quaternion by a scalar. - - Source on the left of the mul sign. - Scalar value on the right of the mul sign. - Result of the quaternion multiplication with a scalar. - - - - Subtracts a from a . - - Source on the left of the sub sign. - Source on the right of the sub sign. - Result of the quaternion subtraction. - - - - Flips the sign of the all the quaternion components. - - Source on the right of the sub sign. - The result of the quaternion negation. - - - - Deconstruction method for . - - Receives the start position of the ray. - Receives the direction of the ray. - - - - Describes a 2D-rectangle. - - - - - The x coordinate of the top-left corner of this . - - - - - The y coordinate of the top-left corner of this . - - - - - The width of this . - - - - - The height of this . - - - - - Returns a with X=0, Y=0, Width=0, Height=0. - - - - - Returns the x coordinate of the left edge of this . - - - - - Returns the x coordinate of the right edge of this . - - - - - Returns the y coordinate of the top edge of this . - - - - - Returns the y coordinate of the bottom edge of this . - - - - - Whether or not this has a and - of 0, and a of (0, 0). - - - - - The top-left coordinates of this . - - - - - The width-height coordinates of this . - - - - - A located in the center of this . - - - If or is an odd number, - the center point will be rounded down. - - - - - Creates a new instance of struct, with the specified - position, width, and height. - - The x coordinate of the top-left corner of the created . - The y coordinate of the top-left corner of the created . - The width of the created . - The height of the created . - - - - Creates a new instance of struct, with the specified - location and size. - - The x and y coordinates of the top-left corner of the created . - The width and height of the created . - - - - Compares whether two instances are equal. - - instance on the left of the equal sign. - instance on the right of the equal sign. - true if the instances are equal; false otherwise. - - - - Compares whether two instances are not equal. - - instance on the left of the not equal sign. - instance on the right of the not equal sign. - true if the instances are not equal; false otherwise. - - - - Gets whether or not the provided coordinates lie within the bounds of this . - - The x coordinate of the point to check for containment. - The y coordinate of the point to check for containment. - true if the provided coordinates lie inside this ; false otherwise. - - - - Gets whether or not the provided coordinates lie within the bounds of this . - - The x coordinate of the point to check for containment. - The y coordinate of the point to check for containment. - true if the provided coordinates lie inside this ; false otherwise. - - - - Gets whether or not the provided lies within the bounds of this . - - The coordinates to check for inclusion in this . - true if the provided lies inside this ; false otherwise. - - - - Gets whether or not the provided lies within the bounds of this . - - The coordinates to check for inclusion in this . - true if the provided lies inside this ; false otherwise. As an output parameter. - - - - Gets whether or not the provided lies within the bounds of this . - - The coordinates to check for inclusion in this . - true if the provided lies inside this ; false otherwise. - - - - Gets whether or not the provided lies within the bounds of this . - - The coordinates to check for inclusion in this . - true if the provided lies inside this ; false otherwise. As an output parameter. - - - - Gets whether or not the provided lies within the bounds of this . - - The to check for inclusion in this . - true if the provided 's bounds lie entirely inside this ; false otherwise. - - - - Gets whether or not the provided lies within the bounds of this . - - The to check for inclusion in this . - true if the provided 's bounds lie entirely inside this ; false otherwise. As an output parameter. - - - - Compares whether current instance is equal to specified . - - The to compare. - true if the instances are equal; false otherwise. - - - - Compares whether current instance is equal to specified . - - The to compare. - true if the instances are equal; false otherwise. - - - - Gets the hash code of this . - - Hash code of this . - - - - Adjusts the edges of this by specified horizontal and vertical amounts. - - Value to adjust the left and right edges. - Value to adjust the top and bottom edges. - - - - Adjusts the edges of this by specified horizontal and vertical amounts. - - Value to adjust the left and right edges. - Value to adjust the top and bottom edges. - - - - Gets whether or not the other intersects with this rectangle. - - The other rectangle for testing. - true if other intersects with this rectangle; false otherwise. - - - - Gets whether or not the other intersects with this rectangle. - - The other rectangle for testing. - true if other intersects with this rectangle; false otherwise. As an output parameter. - - - - Creates a new that contains overlapping region of two other rectangles. - - The first . - The second . - Overlapping region of the two rectangles. - - - - Creates a new that contains overlapping region of two other rectangles. - - The first . - The second . - Overlapping region of the two rectangles as an output parameter. - - - - Changes the of this . - - The x coordinate to add to this . - The y coordinate to add to this . - - - - Changes the of this . - - The x coordinate to add to this . - The y coordinate to add to this . - - - - Changes the of this . - - The x and y components to add to this . - - - - Changes the of this . - - The x and y components to add to this . - - - - Returns a representation of this in the format: - {X:[] Y:[] Width:[] Height:[]} - - representation of this . - - - - Creates a new that completely contains two other rectangles. - - The first . - The second . - The union of the two rectangles. - - - - Creates a new that completely contains two other rectangles. - - The first . - The second . - The union of the two rectangles as an output parameter. - - - - Deconstruction method for . - - - - - - - - - This class is used for the game window's TextInput event as EventArgs. - - - - - Returns an open stream to an exsiting file in the title storage area. - - The filepath relative to the title storage area. - A open stream or null if the file is not found. - - - - Describes a 2D-vector. - - - - - The x coordinate of this . - - - - - The y coordinate of this . - - - - - Returns a with components 0, 0. - - - - - Returns a with components 1, 1. - - - - - Returns a with components 1, 0. - - - - - Returns a with components 0, 1. - - - - - Constructs a 2d vector with X and Y from two values. - - The x coordinate in 2d-space. - The y coordinate in 2d-space. - - - - Constructs a 2d vector with X and Y set to the same value. - - The x and y coordinates in 2d-space. - - - - Inverts values in the specified . - - Source on the right of the sub sign. - Result of the inversion. - - - - Adds two vectors. - - Source on the left of the add sign. - Source on the right of the add sign. - Sum of the vectors. - - - - Subtracts a from a . - - Source on the left of the sub sign. - Source on the right of the sub sign. - Result of the vector subtraction. - - - - Multiplies the components of two vectors by each other. - - Source on the left of the mul sign. - Source on the right of the mul sign. - Result of the vector multiplication. - - - - Multiplies the components of vector by a scalar. - - Source on the left of the mul sign. - Scalar value on the right of the mul sign. - Result of the vector multiplication with a scalar. - - - - Multiplies the components of vector by a scalar. - - Scalar value on the left of the mul sign. - Source on the right of the mul sign. - Result of the vector multiplication with a scalar. - - - - Divides the components of a by the components of another . - - Source on the left of the div sign. - Divisor on the right of the div sign. - The result of dividing the vectors. - - - - Divides the components of a by a scalar. - - Source on the left of the div sign. - Divisor scalar on the right of the div sign. - The result of dividing a vector by a scalar. - - - - Compares whether two instances are equal. - - instance on the left of the equal sign. - instance on the right of the equal sign. - true if the instances are equal; false otherwise. - - - - Compares whether two instances are not equal. - - instance on the left of the not equal sign. - instance on the right of the not equal sign. - true if the instances are not equal; false otherwise. - - - - Performs vector addition on and . - - The first vector to add. - The second vector to add. - The result of the vector addition. - - - - Performs vector addition on and - , storing the result of the - addition in . - - The first vector to add. - The second vector to add. - The result of the vector addition. - - - - Creates a new that contains the cartesian coordinates of a vector specified in barycentric coordinates and relative to 2d-triangle. - - The first vector of 2d-triangle. - The second vector of 2d-triangle. - The third vector of 2d-triangle. - Barycentric scalar b2 which represents a weighting factor towards second vector of 2d-triangle. - Barycentric scalar b3 which represents a weighting factor towards third vector of 2d-triangle. - The cartesian translation of barycentric coordinates. - - - - Creates a new that contains the cartesian coordinates of a vector specified in barycentric coordinates and relative to 2d-triangle. - - The first vector of 2d-triangle. - The second vector of 2d-triangle. - The third vector of 2d-triangle. - Barycentric scalar b2 which represents a weighting factor towards second vector of 2d-triangle. - Barycentric scalar b3 which represents a weighting factor towards third vector of 2d-triangle. - The cartesian translation of barycentric coordinates as an output parameter. - - - - Creates a new that contains CatmullRom interpolation of the specified vectors. - - The first vector in interpolation. - The second vector in interpolation. - The third vector in interpolation. - The fourth vector in interpolation. - Weighting factor. - The result of CatmullRom interpolation. - - - - Creates a new that contains CatmullRom interpolation of the specified vectors. - - The first vector in interpolation. - The second vector in interpolation. - The third vector in interpolation. - The fourth vector in interpolation. - Weighting factor. - The result of CatmullRom interpolation as an output parameter. - - - - Round the members of this towards positive infinity. - - - - - Creates a new that contains members from another vector rounded towards positive infinity. - - Source . - The rounded . - - - - Creates a new that contains members from another vector rounded towards positive infinity. - - Source . - The rounded . - - - - Clamps the specified value within a range. - - The value to clamp. - The min value. - The max value. - The clamped value. - - - - Clamps the specified value within a range. - - The value to clamp. - The min value. - The max value. - The clamped value as an output parameter. - - - - Returns the distance between two vectors. - - The first vector. - The second vector. - The distance between two vectors. - - - - Returns the distance between two vectors. - - The first vector. - The second vector. - The distance between two vectors as an output parameter. - - - - Returns the squared distance between two vectors. - - The first vector. - The second vector. - The squared distance between two vectors. - - - - Returns the squared distance between two vectors. - - The first vector. - The second vector. - The squared distance between two vectors as an output parameter. - - - - Divides the components of a by the components of another . - - Source . - Divisor . - The result of dividing the vectors. - - - - Divides the components of a by the components of another . - - Source . - Divisor . - The result of dividing the vectors as an output parameter. - - - - Divides the components of a by a scalar. - - Source . - Divisor scalar. - The result of dividing a vector by a scalar. - - - - Divides the components of a by a scalar. - - Source . - Divisor scalar. - The result of dividing a vector by a scalar as an output parameter. - - - - Returns a dot product of two vectors. - - The first vector. - The second vector. - The dot product of two vectors. - - - - Returns a dot product of two vectors. - - The first vector. - The second vector. - The dot product of two vectors as an output parameter. - - - - Compares whether current instance is equal to specified . - - The to compare. - true if the instances are equal; false otherwise. - - - - Compares whether current instance is equal to specified . - - The to compare. - true if the instances are equal; false otherwise. - - - - Round the members of this towards negative infinity. - - - - - Creates a new that contains members from another vector rounded towards negative infinity. - - Source . - The rounded . - - - - Creates a new that contains members from another vector rounded towards negative infinity. - - Source . - The rounded . - - - - Gets the hash code of this . - - Hash code of this . - - - - Creates a new that contains hermite spline interpolation. - - The first position vector. - The first tangent vector. - The second position vector. - The second tangent vector. - Weighting factor. - The hermite spline interpolation vector. - - - - Creates a new that contains hermite spline interpolation. - - The first position vector. - The first tangent vector. - The second position vector. - The second tangent vector. - Weighting factor. - The hermite spline interpolation vector as an output parameter. - - - - Returns the length of this . - - The length of this . - - - - Returns the squared length of this . - - The squared length of this . - - - - Creates a new that contains linear interpolation of the specified vectors. - - The first vector. - The second vector. - Weighting value(between 0.0 and 1.0). - The result of linear interpolation of the specified vectors. - - - - Creates a new that contains linear interpolation of the specified vectors. - - The first vector. - The second vector. - Weighting value(between 0.0 and 1.0). - The result of linear interpolation of the specified vectors as an output parameter. - - - - Creates a new that contains linear interpolation of the specified vectors. - Uses on MathHelper for the interpolation. - Less efficient but more precise compared to . - See remarks section of on MathHelper for more info. - - The first vector. - The second vector. - Weighting value(between 0.0 and 1.0). - The result of linear interpolation of the specified vectors. - - - - Creates a new that contains linear interpolation of the specified vectors. - Uses on MathHelper for the interpolation. - Less efficient but more precise compared to . - See remarks section of on MathHelper for more info. - - The first vector. - The second vector. - Weighting value(between 0.0 and 1.0). - The result of linear interpolation of the specified vectors as an output parameter. - - - - Creates a new that contains a maximal values from the two vectors. - - The first vector. - The second vector. - The with maximal values from the two vectors. - - - - Creates a new that contains a maximal values from the two vectors. - - The first vector. - The second vector. - The with maximal values from the two vectors as an output parameter. - - - - Creates a new that contains a minimal values from the two vectors. - - The first vector. - The second vector. - The with minimal values from the two vectors. - - - - Creates a new that contains a minimal values from the two vectors. - - The first vector. - The second vector. - The with minimal values from the two vectors as an output parameter. - - - - Creates a new that contains a multiplication of two vectors. - - Source . - Source . - The result of the vector multiplication. - - - - Creates a new that contains a multiplication of two vectors. - - Source . - Source . - The result of the vector multiplication as an output parameter. - - - - Creates a new that contains a multiplication of and a scalar. - - Source . - Scalar value. - The result of the vector multiplication with a scalar. - - - - Creates a new that contains a multiplication of and a scalar. - - Source . - Scalar value. - The result of the multiplication with a scalar as an output parameter. - - - - Creates a new that contains the specified vector inversion. - - Source . - The result of the vector inversion. - - - - Creates a new that contains the specified vector inversion. - - Source . - The result of the vector inversion as an output parameter. - - - - Turns this to a unit vector with the same direction. - - - - - Creates a new that contains a normalized values from another vector. - - Source . - Unit vector. - - - - Creates a new that contains a normalized values from another vector. - - Source . - Unit vector as an output parameter. - - - - Creates a new that contains reflect vector of the given vector and normal. - - Source . - Reflection normal. - Reflected vector. - - - - Creates a new that contains reflect vector of the given vector and normal. - - Source . - Reflection normal. - Reflected vector as an output parameter. - - - - Round the members of this to the nearest integer value. - - - - - Creates a new that contains members from another vector rounded to the nearest integer value. - - Source . - The rounded . - - - - Creates a new that contains members from another vector rounded to the nearest integer value. - - Source . - The rounded . - - - - Creates a new that contains cubic interpolation of the specified vectors. - - Source . - Source . - Weighting value. - Cubic interpolation of the specified vectors. - - - - Creates a new that contains cubic interpolation of the specified vectors. - - Source . - Source . - Weighting value. - Cubic interpolation of the specified vectors as an output parameter. - - - - Creates a new that contains subtraction of on from a another. - - Source . - Source . - The result of the vector subtraction. - - - - Creates a new that contains subtraction of on from a another. - - Source . - Source . - The result of the vector subtraction as an output parameter. - - - - Returns a representation of this in the format: - {X:[] Y:[]} - - A representation of this . - - - - Gets a representation for this object. - - A representation for this object. - - - - Creates a new that contains a transformation of 2d-vector by the specified . - - Source . - The transformation . - Transformed . - - - - Creates a new that contains a transformation of 2d-vector by the specified . - - Source . - The transformation . - Transformed as an output parameter. - - - - Creates a new that contains a transformation of 2d-vector by the specified , representing the rotation. - - Source . - The which contains rotation transformation. - Transformed . - - - - Creates a new that contains a transformation of 2d-vector by the specified , representing the rotation. - - Source . - The which contains rotation transformation. - Transformed as an output parameter. - - - - Apply transformation on vectors within array of by the specified and places the results in an another array. - - Source array. - The starting index of transformation in the source array. - The transformation . - Destination array. - The starting index in the destination array, where the first should be written. - The number of vectors to be transformed. - - - - Apply transformation on vectors within array of by the specified and places the results in an another array. - - Source array. - The starting index of transformation in the source array. - The which contains rotation transformation. - Destination array. - The starting index in the destination array, where the first should be written. - The number of vectors to be transformed. - - - - Apply transformation on all vectors within array of by the specified and places the results in an another array. - - Source array. - The transformation . - Destination array. - - - - Apply transformation on all vectors within array of by the specified and places the results in an another array. - - Source array. - The which contains rotation transformation. - Destination array. - - - - Creates a new that contains a transformation of the specified normal by the specified . - - Source which represents a normal vector. - The transformation . - Transformed normal. - - - - Creates a new that contains a transformation of the specified normal by the specified . - - Source which represents a normal vector. - The transformation . - Transformed normal as an output parameter. - - - - Apply transformation on normals within array of by the specified and places the results in an another array. - - Source array. - The starting index of transformation in the source array. - The transformation . - Destination array. - The starting index in the destination array, where the first should be written. - The number of normals to be transformed. - - - - Apply transformation on all normals within array of by the specified and places the results in an another array. - - Source array. - The transformation . - Destination array. - - - - Deconstruction method for . - - - - - - - Describes a 3D-vector. - - - - - The x coordinate of this . - - - - - The y coordinate of this . - - - - - The z coordinate of this . - - - - - Returns a with components 0, 0, 0. - - - - - Returns a with components 1, 1, 1. - - - - - Returns a with components 1, 0, 0. - - - - - Returns a with components 0, 1, 0. - - - - - Returns a with components 0, 0, 1. - - - - - Returns a with components 0, 1, 0. - - - - - Returns a with components 0, -1, 0. - - - - - Returns a with components 1, 0, 0. - - - - - Returns a with components -1, 0, 0. - - - - - Returns a with components 0, 0, -1. - - - - - Returns a with components 0, 0, 1. - - - - - Constructs a 3d vector with X, Y and Z from three values. - - The x coordinate in 3d-space. - The y coordinate in 3d-space. - The z coordinate in 3d-space. - - - - Constructs a 3d vector with X, Y and Z set to the same value. - - The x, y and z coordinates in 3d-space. - - - - Constructs a 3d vector with X, Y from and Z from a scalar. - - The x and y coordinates in 3d-space. - The z coordinate in 3d-space. - - - - Performs vector addition on and . - - The first vector to add. - The second vector to add. - The result of the vector addition. - - - - Performs vector addition on and - , storing the result of the - addition in . - - The first vector to add. - The second vector to add. - The result of the vector addition. - - - - Creates a new that contains the cartesian coordinates of a vector specified in barycentric coordinates and relative to 3d-triangle. - - The first vector of 3d-triangle. - The second vector of 3d-triangle. - The third vector of 3d-triangle. - Barycentric scalar b2 which represents a weighting factor towards second vector of 3d-triangle. - Barycentric scalar b3 which represents a weighting factor towards third vector of 3d-triangle. - The cartesian translation of barycentric coordinates. - - - - Creates a new that contains the cartesian coordinates of a vector specified in barycentric coordinates and relative to 3d-triangle. - - The first vector of 3d-triangle. - The second vector of 3d-triangle. - The third vector of 3d-triangle. - Barycentric scalar b2 which represents a weighting factor towards second vector of 3d-triangle. - Barycentric scalar b3 which represents a weighting factor towards third vector of 3d-triangle. - The cartesian translation of barycentric coordinates as an output parameter. - - - - Creates a new that contains CatmullRom interpolation of the specified vectors. - - The first vector in interpolation. - The second vector in interpolation. - The third vector in interpolation. - The fourth vector in interpolation. - Weighting factor. - The result of CatmullRom interpolation. - - - - Creates a new that contains CatmullRom interpolation of the specified vectors. - - The first vector in interpolation. - The second vector in interpolation. - The third vector in interpolation. - The fourth vector in interpolation. - Weighting factor. - The result of CatmullRom interpolation as an output parameter. - - - - Round the members of this towards positive infinity. - - - - - Creates a new that contains members from another vector rounded towards positive infinity. - - Source . - The rounded . - - - - Creates a new that contains members from another vector rounded towards positive infinity. - - Source . - The rounded . - - - - Clamps the specified value within a range. - - The value to clamp. - The min value. - The max value. - The clamped value. - - - - Clamps the specified value within a range. - - The value to clamp. - The min value. - The max value. - The clamped value as an output parameter. - - - - Computes the cross product of two vectors. - - The first vector. - The second vector. - The cross product of two vectors. - - - - Computes the cross product of two vectors. - - The first vector. - The second vector. - The cross product of two vectors as an output parameter. - - - - Returns the distance between two vectors. - - The first vector. - The second vector. - The distance between two vectors. - - - - Returns the distance between two vectors. - - The first vector. - The second vector. - The distance between two vectors as an output parameter. - - - - Returns the squared distance between two vectors. - - The first vector. - The second vector. - The squared distance between two vectors. - - - - Returns the squared distance between two vectors. - - The first vector. - The second vector. - The squared distance between two vectors as an output parameter. - - - - Divides the components of a by the components of another . - - Source . - Divisor . - The result of dividing the vectors. - - - - Divides the components of a by a scalar. - - Source . - Divisor scalar. - The result of dividing a vector by a scalar. - - - - Divides the components of a by a scalar. - - Source . - Divisor scalar. - The result of dividing a vector by a scalar as an output parameter. - - - - Divides the components of a by the components of another . - - Source . - Divisor . - The result of dividing the vectors as an output parameter. - - - - Returns a dot product of two vectors. - - The first vector. - The second vector. - The dot product of two vectors. - - - - Returns a dot product of two vectors. - - The first vector. - The second vector. - The dot product of two vectors as an output parameter. - - - - Compares whether current instance is equal to specified . - - The to compare. - true if the instances are equal; false otherwise. - - - - Compares whether current instance is equal to specified . - - The to compare. - true if the instances are equal; false otherwise. - - - - Round the members of this towards negative infinity. - - - - - Creates a new that contains members from another vector rounded towards negative infinity. - - Source . - The rounded . - - - - Creates a new that contains members from another vector rounded towards negative infinity. - - Source . - The rounded . - - - - Gets the hash code of this . - - Hash code of this . - - - - Creates a new that contains hermite spline interpolation. - - The first position vector. - The first tangent vector. - The second position vector. - The second tangent vector. - Weighting factor. - The hermite spline interpolation vector. - - - - Creates a new that contains hermite spline interpolation. - - The first position vector. - The first tangent vector. - The second position vector. - The second tangent vector. - Weighting factor. - The hermite spline interpolation vector as an output parameter. - - - - Returns the length of this . - - The length of this . - - - - Returns the squared length of this . - - The squared length of this . - - - - Creates a new that contains linear interpolation of the specified vectors. - - The first vector. - The second vector. - Weighting value(between 0.0 and 1.0). - The result of linear interpolation of the specified vectors. - - - - Creates a new that contains linear interpolation of the specified vectors. - - The first vector. - The second vector. - Weighting value(between 0.0 and 1.0). - The result of linear interpolation of the specified vectors as an output parameter. - - - - Creates a new that contains linear interpolation of the specified vectors. - Uses on MathHelper for the interpolation. - Less efficient but more precise compared to . - See remarks section of on MathHelper for more info. - - The first vector. - The second vector. - Weighting value(between 0.0 and 1.0). - The result of linear interpolation of the specified vectors. - - - - Creates a new that contains linear interpolation of the specified vectors. - Uses on MathHelper for the interpolation. - Less efficient but more precise compared to . - See remarks section of on MathHelper for more info. - - The first vector. - The second vector. - Weighting value(between 0.0 and 1.0). - The result of linear interpolation of the specified vectors as an output parameter. - - - - Creates a new that contains a maximal values from the two vectors. - - The first vector. - The second vector. - The with maximal values from the two vectors. - - - - Creates a new that contains a maximal values from the two vectors. - - The first vector. - The second vector. - The with maximal values from the two vectors as an output parameter. - - - - Creates a new that contains a minimal values from the two vectors. - - The first vector. - The second vector. - The with minimal values from the two vectors. - - - - Creates a new that contains a minimal values from the two vectors. - - The first vector. - The second vector. - The with minimal values from the two vectors as an output parameter. - - - - Creates a new that contains a multiplication of two vectors. - - Source . - Source . - The result of the vector multiplication. - - - - Creates a new that contains a multiplication of and a scalar. - - Source . - Scalar value. - The result of the vector multiplication with a scalar. - - - - Creates a new that contains a multiplication of and a scalar. - - Source . - Scalar value. - The result of the multiplication with a scalar as an output parameter. - - - - Creates a new that contains a multiplication of two vectors. - - Source . - Source . - The result of the vector multiplication as an output parameter. - - - - Creates a new that contains the specified vector inversion. - - Source . - The result of the vector inversion. - - - - Creates a new that contains the specified vector inversion. - - Source . - The result of the vector inversion as an output parameter. - - - - Turns this to a unit vector with the same direction. - - - - - Creates a new that contains a normalized values from another vector. - - Source . - Unit vector. - - - - Creates a new that contains a normalized values from another vector. - - Source . - Unit vector as an output parameter. - - - - Creates a new that contains reflect vector of the given vector and normal. - - Source . - Reflection normal. - Reflected vector. - - - - Creates a new that contains reflect vector of the given vector and normal. - - Source . - Reflection normal. - Reflected vector as an output parameter. - - - - Round the members of this towards the nearest integer value. - - - - - Creates a new that contains members from another vector rounded to the nearest integer value. - - Source . - The rounded . - - - - Creates a new that contains members from another vector rounded to the nearest integer value. - - Source . - The rounded . - - - - Creates a new that contains cubic interpolation of the specified vectors. - - Source . - Source . - Weighting value. - Cubic interpolation of the specified vectors. - - - - Creates a new that contains cubic interpolation of the specified vectors. - - Source . - Source . - Weighting value. - Cubic interpolation of the specified vectors as an output parameter. - - - - Creates a new that contains subtraction of on from a another. - - Source . - Source . - The result of the vector subtraction. - - - - Creates a new that contains subtraction of on from a another. - - Source . - Source . - The result of the vector subtraction as an output parameter. - - - - Returns a representation of this in the format: - {X:[] Y:[] Z:[]} - - A representation of this . - - - - Creates a new that contains a transformation of 3d-vector by the specified . - - Source . - The transformation . - Transformed . - - - - Creates a new that contains a transformation of 3d-vector by the specified . - - Source . - The transformation . - Transformed as an output parameter. - - - - Creates a new that contains a transformation of 3d-vector by the specified , representing the rotation. - - Source . - The which contains rotation transformation. - Transformed . - - - - Creates a new that contains a transformation of 3d-vector by the specified , representing the rotation. - - Source . - The which contains rotation transformation. - Transformed as an output parameter. - - - - Apply transformation on vectors within array of by the specified and places the results in an another array. - - Source array. - The starting index of transformation in the source array. - The transformation . - Destination array. - The starting index in the destination array, where the first should be written. - The number of vectors to be transformed. - - - - Apply transformation on vectors within array of by the specified and places the results in an another array. - - Source array. - The starting index of transformation in the source array. - The which contains rotation transformation. - Destination array. - The starting index in the destination array, where the first should be written. - The number of vectors to be transformed. - - - - Apply transformation on all vectors within array of by the specified and places the results in an another array. - - Source array. - The transformation . - Destination array. - - - - Apply transformation on all vectors within array of by the specified and places the results in an another array. - - Source array. - The which contains rotation transformation. - Destination array. - - - - Creates a new that contains a transformation of the specified normal by the specified . - - Source which represents a normal vector. - The transformation . - Transformed normal. - - - - Creates a new that contains a transformation of the specified normal by the specified . - - Source which represents a normal vector. - The transformation . - Transformed normal as an output parameter. - - - - Apply transformation on normals within array of by the specified and places the results in an another array. - - Source array. - The starting index of transformation in the source array. - The transformation . - Destination array. - The starting index in the destination array, where the first should be written. - The number of normals to be transformed. - - - - Apply transformation on all normals within array of by the specified and places the results in an another array. - - Source array. - The transformation . - Destination array. - - - - Deconstruction method for . - - - - - - - - Compares whether two instances are equal. - - instance on the left of the equal sign. - instance on the right of the equal sign. - true if the instances are equal; false otherwise. - - - - Compares whether two instances are not equal. - - instance on the left of the not equal sign. - instance on the right of the not equal sign. - true if the instances are not equal; false otherwise. - - - - Adds two vectors. - - Source on the left of the add sign. - Source on the right of the add sign. - Sum of the vectors. - - - - Inverts values in the specified . - - Source on the right of the sub sign. - Result of the inversion. - - - - Subtracts a from a . - - Source on the left of the sub sign. - Source on the right of the sub sign. - Result of the vector subtraction. - - - - Multiplies the components of two vectors by each other. - - Source on the left of the mul sign. - Source on the right of the mul sign. - Result of the vector multiplication. - - - - Multiplies the components of vector by a scalar. - - Source on the left of the mul sign. - Scalar value on the right of the mul sign. - Result of the vector multiplication with a scalar. - - - - Multiplies the components of vector by a scalar. - - Scalar value on the left of the mul sign. - Source on the right of the mul sign. - Result of the vector multiplication with a scalar. - - - - Divides the components of a by the components of another . - - Source on the left of the div sign. - Divisor on the right of the div sign. - The result of dividing the vectors. - - - - Divides the components of a by a scalar. - - Source on the left of the div sign. - Divisor scalar on the right of the div sign. - The result of dividing a vector by a scalar. - - - - Describes a 4D-vector. - - - - - The x coordinate of this . - - - - - The y coordinate of this . - - - - - The z coordinate of this . - - - - - The w coordinate of this . - - - - - Returns a with components 0, 0, 0, 0. - - - - - Returns a with components 1, 1, 1, 1. - - - - - Returns a with components 1, 0, 0, 0. - - - - - Returns a with components 0, 1, 0, 0. - - - - - Returns a with components 0, 0, 1, 0. - - - - - Returns a with components 0, 0, 0, 1. - - - - - Constructs a 3d vector with X, Y, Z and W from four values. - - The x coordinate in 4d-space. - The y coordinate in 4d-space. - The z coordinate in 4d-space. - The w coordinate in 4d-space. - - - - Constructs a 3d vector with X and Z from and Z and W from the scalars. - - The x and y coordinates in 4d-space. - The z coordinate in 4d-space. - The w coordinate in 4d-space. - - - - Constructs a 3d vector with X, Y, Z from and W from a scalar. - - The x, y and z coordinates in 4d-space. - The w coordinate in 4d-space. - - - - Constructs a 4d vector with X, Y, Z and W set to the same value. - - The x, y, z and w coordinates in 4d-space. - - - - Performs vector addition on and . - - The first vector to add. - The second vector to add. - The result of the vector addition. - - - - Performs vector addition on and - , storing the result of the - addition in . - - The first vector to add. - The second vector to add. - The result of the vector addition. - - - - Creates a new that contains the cartesian coordinates of a vector specified in barycentric coordinates and relative to 4d-triangle. - - The first vector of 4d-triangle. - The second vector of 4d-triangle. - The third vector of 4d-triangle. - Barycentric scalar b2 which represents a weighting factor towards second vector of 4d-triangle. - Barycentric scalar b3 which represents a weighting factor towards third vector of 4d-triangle. - The cartesian translation of barycentric coordinates. - - - - Creates a new that contains the cartesian coordinates of a vector specified in barycentric coordinates and relative to 4d-triangle. - - The first vector of 4d-triangle. - The second vector of 4d-triangle. - The third vector of 4d-triangle. - Barycentric scalar b2 which represents a weighting factor towards second vector of 4d-triangle. - Barycentric scalar b3 which represents a weighting factor towards third vector of 4d-triangle. - The cartesian translation of barycentric coordinates as an output parameter. - - - - Creates a new that contains CatmullRom interpolation of the specified vectors. - - The first vector in interpolation. - The second vector in interpolation. - The third vector in interpolation. - The fourth vector in interpolation. - Weighting factor. - The result of CatmullRom interpolation. - - - - Creates a new that contains CatmullRom interpolation of the specified vectors. - - The first vector in interpolation. - The second vector in interpolation. - The third vector in interpolation. - The fourth vector in interpolation. - Weighting factor. - The result of CatmullRom interpolation as an output parameter. - - - - Round the members of this towards positive infinity. - - - - - Creates a new that contains members from another vector rounded towards positive infinity. - - Source . - The rounded . - - - - Creates a new that contains members from another vector rounded towards positive infinity. - - Source . - The rounded . - - - - Clamps the specified value within a range. - - The value to clamp. - The min value. - The max value. - The clamped value. - - - - Clamps the specified value within a range. - - The value to clamp. - The min value. - The max value. - The clamped value as an output parameter. - - - - Returns the distance between two vectors. - - The first vector. - The second vector. - The distance between two vectors. - - - - Returns the distance between two vectors. - - The first vector. - The second vector. - The distance between two vectors as an output parameter. - - - - Returns the squared distance between two vectors. - - The first vector. - The second vector. - The squared distance between two vectors. - - - - Returns the squared distance between two vectors. - - The first vector. - The second vector. - The squared distance between two vectors as an output parameter. - - - - Divides the components of a by the components of another . - - Source . - Divisor . - The result of dividing the vectors. - - - - Divides the components of a by a scalar. - - Source . - Divisor scalar. - The result of dividing a vector by a scalar. - - - - Divides the components of a by a scalar. - - Source . - Divisor scalar. - The result of dividing a vector by a scalar as an output parameter. - - - - Divides the components of a by the components of another . - - Source . - Divisor . - The result of dividing the vectors as an output parameter. - - - - Returns a dot product of two vectors. - - The first vector. - The second vector. - The dot product of two vectors. - - - - Returns a dot product of two vectors. - - The first vector. - The second vector. - The dot product of two vectors as an output parameter. - - - - Compares whether current instance is equal to specified . - - The to compare. - true if the instances are equal; false otherwise. - - - - Compares whether current instance is equal to specified . - - The to compare. - true if the instances are equal; false otherwise. - - - - Round the members of this towards negative infinity. - - - - - Creates a new that contains members from another vector rounded towards negative infinity. - - Source . - The rounded . - - - - Creates a new that contains members from another vector rounded towards negative infinity. - - Source . - The rounded . - - - - Gets the hash code of this . - - Hash code of this . - - - - Creates a new that contains hermite spline interpolation. - - The first position vector. - The first tangent vector. - The second position vector. - The second tangent vector. - Weighting factor. - The hermite spline interpolation vector. - - - - Creates a new that contains hermite spline interpolation. - - The first position vector. - The first tangent vector. - The second position vector. - The second tangent vector. - Weighting factor. - The hermite spline interpolation vector as an output parameter. - - - - Returns the length of this . - - The length of this . - - - - Returns the squared length of this . - - The squared length of this . - - - - Creates a new that contains linear interpolation of the specified vectors. - - The first vector. - The second vector. - Weighting value(between 0.0 and 1.0). - The result of linear interpolation of the specified vectors. - - - - Creates a new that contains linear interpolation of the specified vectors. - - The first vector. - The second vector. - Weighting value(between 0.0 and 1.0). - The result of linear interpolation of the specified vectors as an output parameter. - - - - Creates a new that contains linear interpolation of the specified vectors. - Uses on MathHelper for the interpolation. - Less efficient but more precise compared to . - See remarks section of on MathHelper for more info. - - The first vector. - The second vector. - Weighting value(between 0.0 and 1.0). - The result of linear interpolation of the specified vectors. - - - - Creates a new that contains linear interpolation of the specified vectors. - Uses on MathHelper for the interpolation. - Less efficient but more precise compared to . - See remarks section of on MathHelper for more info. - - The first vector. - The second vector. - Weighting value(between 0.0 and 1.0). - The result of linear interpolation of the specified vectors as an output parameter. - - - - Creates a new that contains a maximal values from the two vectors. - - The first vector. - The second vector. - The with maximal values from the two vectors. - - - - Creates a new that contains a maximal values from the two vectors. - - The first vector. - The second vector. - The with maximal values from the two vectors as an output parameter. - - - - Creates a new that contains a minimal values from the two vectors. - - The first vector. - The second vector. - The with minimal values from the two vectors. - - - - Creates a new that contains a minimal values from the two vectors. - - The first vector. - The second vector. - The with minimal values from the two vectors as an output parameter. - - - - Creates a new that contains a multiplication of two vectors. - - Source . - Source . - The result of the vector multiplication. - - - - Creates a new that contains a multiplication of and a scalar. - - Source . - Scalar value. - The result of the vector multiplication with a scalar. - - - - Creates a new that contains a multiplication of and a scalar. - - Source . - Scalar value. - The result of the multiplication with a scalar as an output parameter. - - - - Creates a new that contains a multiplication of two vectors. - - Source . - Source . - The result of the vector multiplication as an output parameter. - - - - Creates a new that contains the specified vector inversion. - - Source . - The result of the vector inversion. - - - - Creates a new that contains the specified vector inversion. - - Source . - The result of the vector inversion as an output parameter. - - - - Turns this to a unit vector with the same direction. - - - - - Creates a new that contains a normalized values from another vector. - - Source . - Unit vector. - - - - Creates a new that contains a normalized values from another vector. - - Source . - Unit vector as an output parameter. - - - - Round the members of this to the nearest integer value. - - - - - Creates a new that contains members from another vector rounded to the nearest integer value. - - Source . - The rounded . - - - - Creates a new that contains members from another vector rounded to the nearest integer value. - - Source . - The rounded . - - - - Creates a new that contains cubic interpolation of the specified vectors. - - Source . - Source . - Weighting value. - Cubic interpolation of the specified vectors. - - - - Creates a new that contains cubic interpolation of the specified vectors. - - Source . - Source . - Weighting value. - Cubic interpolation of the specified vectors as an output parameter. - - - - Creates a new that contains subtraction of on from a another. - - Source . - Source . - The result of the vector subtraction. - - - - Creates a new that contains subtraction of on from a another. - - Source . - Source . - The result of the vector subtraction as an output parameter. - - - - Creates a new that contains a transformation of 2d-vector by the specified . - - Source . - The transformation . - Transformed . - - - - Creates a new that contains a transformation of 2d-vector by the specified . - - Source . - The which contains rotation transformation. - Transformed . - - - - Creates a new that contains a transformation of 3d-vector by the specified . - - Source . - The transformation . - Transformed . - - - - Creates a new that contains a transformation of 3d-vector by the specified . - - Source . - The which contains rotation transformation. - Transformed . - - - - Creates a new that contains a transformation of 4d-vector by the specified . - - Source . - The transformation . - Transformed . - - - - Creates a new that contains a transformation of 4d-vector by the specified . - - Source . - The which contains rotation transformation. - Transformed . - - - - Creates a new that contains a transformation of 2d-vector by the specified . - - Source . - The transformation . - Transformed as an output parameter. - - - - Creates a new that contains a transformation of 2d-vector by the specified . - - Source . - The which contains rotation transformation. - Transformed as an output parameter. - - - - Creates a new that contains a transformation of 3d-vector by the specified . - - Source . - The transformation . - Transformed as an output parameter. - - - - Creates a new that contains a transformation of 3d-vector by the specified . - - Source . - The which contains rotation transformation. - Transformed as an output parameter. - - - - Creates a new that contains a transformation of 4d-vector by the specified . - - Source . - The transformation . - Transformed as an output parameter. - - - - Creates a new that contains a transformation of 4d-vector by the specified . - - Source . - The which contains rotation transformation. - Transformed as an output parameter. - - - - Apply transformation on vectors within array of by the specified and places the results in an another array. - - Source array. - The starting index of transformation in the source array. - The transformation . - Destination array. - The starting index in the destination array, where the first should be written. - The number of vectors to be transformed. - - - - Apply transformation on vectors within array of by the specified and places the results in an another array. - - Source array. - The starting index of transformation in the source array. - The which contains rotation transformation. - Destination array. - The starting index in the destination array, where the first should be written. - The number of vectors to be transformed. - - - - Apply transformation on all vectors within array of by the specified and places the results in an another array. - - Source array. - The transformation . - Destination array. - - - - Apply transformation on all vectors within array of by the specified and places the results in an another array. - - Source array. - The which contains rotation transformation. - Destination array. - - - - Returns a representation of this in the format: - {X:[] Y:[] Z:[] W:[]} - - A representation of this . - - - - Deconstruction method for . - - - - - - - - - Inverts values in the specified . - - Source on the right of the sub sign. - Result of the inversion. - - - - Compares whether two instances are equal. - - instance on the left of the equal sign. - instance on the right of the equal sign. - true if the instances are equal; false otherwise. - - - - Compares whether two instances are not equal. - - instance on the left of the not equal sign. - instance on the right of the not equal sign. - true if the instances are not equal; false otherwise. - - - - Adds two vectors. - - Source on the left of the add sign. - Source on the right of the add sign. - Sum of the vectors. - - - - Subtracts a from a . - - Source on the left of the sub sign. - Source on the right of the sub sign. - Result of the vector subtraction. - - - - Multiplies the components of two vectors by each other. - - Source on the left of the mul sign. - Source on the right of the mul sign. - Result of the vector multiplication. - - - - Multiplies the components of vector by a scalar. - - Source on the left of the mul sign. - Scalar value on the right of the mul sign. - Result of the vector multiplication with a scalar. - - - - Multiplies the components of vector by a scalar. - - Scalar value on the left of the mul sign. - Source on the right of the mul sign. - Result of the vector multiplication with a scalar. - - - - Divides the components of a by the components of another . - - Source on the left of the div sign. - Divisor on the right of the div sign. - The result of dividing the vectors. - - - - Divides the components of a by a scalar. - - Source on the left of the div sign. - Divisor scalar on the right of the div sign. - The result of dividing a vector by a scalar. - - - - Defines the buffers for clearing when calling operation. - - - - - Color buffer. - - - - - Depth buffer. - - - - - Stencil buffer. - - - - - Defines the color channels for render target blending operations. - - - - - No channels selected. - - - - - Red channel selected. - - - - - Green channel selected. - - - - - Blue channel selected. - - - - - Alpha channel selected. - - - - - All channels selected. - - - - - Defines the faces in a cube map for the class. - - - - - Positive X face in the cube map. - - - - - Negative X face in the cube map. - - - - - Positive Y face in the cube map. - - - - - Negative Y face in the cube map. - - - - - Positive Z face in the cube map. - - - - - Negative Z face in the cube map. - - - - - A snapshot of rendering statistics from to be used for runtime debugging and profiling. - - - - - Number of times Clear was called. - - - - - Number of times Draw was called. - - - - - Number of times the pixel shader was changed on the GPU. - - - - - Number of rendered primitives. - - - - - Number of sprites and text characters rendered via . - - - - - Number of times a target was changed on the GPU. - - - - - Number of times a texture was changed on the GPU. - - - - - Number of times the vertex shader was changed on the GPU. - - - - - Returns the difference between two sets of metrics. - - Source on the left of the sub sign. - Source on the right of the sub sign. - Difference between two sets of metrics. - - - - Returns the combination of two sets of metrics. - - Source on the left of the add sign. - Source on the right of the add sign. - Combination of two sets of metrics. - - - - Built-in effect that supports alpha testing. - - - - - Gets or sets the world matrix. - - - - - Gets or sets the view matrix. - - - - - Gets or sets the projection matrix. - - - - - Gets or sets the material diffuse color (range 0 to 1). - - - - - Gets or sets the material alpha. - - - - - Gets or sets the fog enable flag. - - - - - Gets or sets the fog start distance. - - - - - Gets or sets the fog end distance. - - - - - Gets or sets the fog color. - - - - - Gets or sets the current texture. - - - - - Gets or sets whether vertex color is enabled. - - - - - Gets or sets the alpha compare function (default Greater). - - - - - Gets or sets the reference alpha value (default 0). - - - - - Creates a new AlphaTestEffect with default parameter settings. - - - - - Creates a new AlphaTestEffect by cloning parameter settings from an existing instance. - - - - - Creates a clone of the current AlphaTestEffect instance. - - - - - Looks up shortcut references to our effect parameters. - - - - - Lazily computes derived parameter values immediately before applying the effect. - - - - - Built-in effect that supports optional texturing, vertex coloring, fog, and lighting. - - - - - Gets or sets the world matrix. - - - - - Gets or sets the view matrix. - - - - - Gets or sets the projection matrix. - - - - - Gets or sets the material diffuse color (range 0 to 1). - - - - - Gets or sets the material emissive color (range 0 to 1). - - - - - Gets or sets the material specular color (range 0 to 1). - - - - - Gets or sets the material specular power. - - - - - Gets or sets the material alpha. - - - - - - - - Gets or sets the per-pixel lighting prefer flag. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Gets or sets whether texturing is enabled. - - - - - Gets or sets the current texture. - - - - - Gets or sets whether vertex color is enabled. - - - - - Creates a new BasicEffect with default parameter settings. - - - - - Creates a new BasicEffect by cloning parameter settings from an existing instance. - - - - - Creates a clone of the current BasicEffect instance. - - - - - - - - Looks up shortcut references to our effect parameters. - - - - - Lazily computes derived parameter values immediately before applying the effect. - - - - - Built-in effect that supports two-layer multitexturing. - - - - - Gets or sets the world matrix. - - - - - Gets or sets the view matrix. - - - - - Gets or sets the projection matrix. - - - - - Gets or sets the material diffuse color (range 0 to 1). - - - - - Gets or sets the material alpha. - - - - - Gets or sets the fog enable flag. - - - - - Gets or sets the fog start distance. - - - - - Gets or sets the fog end distance. - - - - - Gets or sets the fog color. - - - - - Gets or sets the current base texture. - - - - - Gets or sets the current overlay texture. - - - - - Gets or sets whether vertex color is enabled. - - - - - Creates a new DualTextureEffect with default parameter settings. - - - - - Creates a new DualTextureEffect by cloning parameter settings from an existing instance. - - - - - Creates a clone of the current DualTextureEffect instance. - - - - - Looks up shortcut references to our effect parameters. - - - - - Lazily computes derived parameter values immediately before applying the effect. - - - - - The MonoGame Effect file format header identifier ("MGFX"). - - - - - The current MonoGame Effect file format versions - used to detect old packaged content. - - - We should avoid supporting old versions for very long if at all - as users should be rebuilding content when packaging their game. - - - - - Clone the source into this existing object. - - - Note this is not overloaded in derived classes on purpose. This is - only a reason this exists is for caching effects. - - The source effect to clone from. - - - - Returns a deep copy of the effect where immutable types - are shared and mutable data is duplicated. - - - See "Cloning an Effect" in MSDN: - http://msdn.microsoft.com/en-us/library/windows/desktop/ff476138(v=vs.85).aspx - - The cloned effect. - - - - Track which effect parameters need to be recomputed during the next OnApply. - - - - - Helper code shared between the various built-in effects. - - - - - Sets up the standard key/fill/back lighting rig. - - - - - Lazily recomputes the world+view+projection matrix and - fog vector based on the current effect parameter settings. - - - - - Sets a vector which can be dotted with the object space vertex position to compute fog amount. - - - - - Lazily recomputes the world inverse transpose matrix and - eye position based on the current effect parameter settings. - - - - - Sets the diffuse/emissive/alpha material color parameters. - - - - - Defines classes for effect parameters and shader constants. - - - - - Scalar class type. - - - - - Vector class type. - - - - - Matrix class type. - - - - - Class type for textures, shaders or strings. - - - - - Structure class type. - - - - - The next state key used when an effect parameter - is updated by any of the 'set' methods. - - - - - The current state key which is used to detect - if the parameter value has been changed. - - - - - Property referenced by the DebuggerDisplayAttribute. - - - - - Defines types for effect parameters and shader constants. - - - - - Pointer to void type. - - - - - Boolean type. Any non-zero will be true; false otherwise. - - - - - 32-bit integer type. - - - - - Float type. - - - - - String type. - - - - - Any texture type. - - - - - 1D-texture type. - - - - - 2D-texture type. - - - - - 3D-texture type. - - - - - Cubic texture type. - - - - - Internal helper for accessing the bytecode for stock effects. - - - - - Built-in effect that supports environment mapping. - - - - - Gets or sets the world matrix. - - - - - Gets or sets the view matrix. - - - - - Gets or sets the projection matrix. - - - - - Gets or sets the material diffuse color (range 0 to 1). - - - - - Gets or sets the material emissive color (range 0 to 1). - - - - - Gets or sets the material alpha. - - - - - Gets or sets the ambient light color (range 0 to 1). - - - - - Gets the first directional light. - - - - - Gets the second directional light. - - - - - Gets the third directional light. - - - - - Gets or sets the fog enable flag. - - - - - Gets or sets the fog start distance. - - - - - Gets or sets the fog end distance. - - - - - Gets or sets the fog color. - - - - - Gets or sets the current texture. - - - - - Gets or sets the current environment map texture. - - - - - Gets or sets the amount of the environment map RGB that will be blended over - the base texture. Range 0 to 1, default 1. If set to zero, the RGB channels - of the environment map will completely ignored (but the environment map alpha - may still be visible if EnvironmentMapSpecular is greater than zero). - - - - - Gets or sets the amount of the environment map alpha channel that will - be added to the base texture. Range 0 to 1, default 0. This can be used - to implement cheap specular lighting, by encoding one or more specular - highlight patterns into the environment map alpha channel, then setting - EnvironmentMapSpecular to the desired specular light color. - - - - - Gets or sets the Fresnel factor used for the environment map blending. - Higher values make the environment map only visible around the silhouette - edges of the object, while lower values make it visible everywhere. - Setting this property to 0 disables Fresnel entirely, making the - environment map equally visible regardless of view angle. The default is - 1. Fresnel only affects the environment map RGB (the intensity of which is - controlled by EnvironmentMapAmount). The alpha contribution (controlled by - EnvironmentMapSpecular) is not affected by the Fresnel setting. - - - - - This effect requires lighting, so we explicitly implement - IEffectLights.LightingEnabled, and do not allow turning it off. - - - - - Creates a new EnvironmentMapEffect with default parameter settings. - - - - - Creates a new EnvironmentMapEffect by cloning parameter settings from an existing instance. - - - - - Creates a clone of the current EnvironmentMapEffect instance. - - - - - Sets up the standard key/fill/back lighting rig. - - - - - Looks up shortcut references to our effect parameters. - - - - - Lazily computes derived parameter values immediately before applying the effect. - - - - - The common effect fog rendering parameters. - - - - - The floating point fog color. - - - - - Used to toggle the rendering of fog. - - - - - The world space distance from the camera at which fogging is fully applied. - - - FogEnd should be greater than FogStart. If FogEnd and FogStart - are the same value everything is fully fogged. - - - - - The world space distance from the camera at which fogging begins. - - - FogStart should be less than FogEnd. If FogEnd and FogStart are the - same value everything is fully fogged. - - - - - The common effect light rendering parameters. - - - - - The floating point ambient light color. - - - - - Returns the first directional light. - - - - - Returns the second directional light. - - - - - Returns the third directional light. - - - - - Toggles the rendering of lighting. - - - - - Initializes the lights to the standard key/fill/back lighting rig. - - - - - Built-in effect for rendering skinned character models. - - - - - Gets or sets the world matrix. - - - - - Gets or sets the view matrix. - - - - - Gets or sets the projection matrix. - - - - - Gets or sets the material diffuse color (range 0 to 1). - - - - - Gets or sets the material emissive color (range 0 to 1). - - - - - Gets or sets the material specular color (range 0 to 1). - - - - - Gets or sets the material specular power. - - - - - Gets or sets the material alpha. - - - - - Gets or sets the per-pixel lighting prefer flag. - - - - - Gets or sets the ambient light color (range 0 to 1). - - - - - Gets the first directional light. - - - - - Gets the second directional light. - - - - - Gets the third directional light. - - - - - Gets or sets the fog enable flag. - - - - - Gets or sets the fog start distance. - - - - - Gets or sets the fog end distance. - - - - - Gets or sets the fog color. - - - - - Gets or sets the current texture. - - - - - Gets or sets the number of skinning weights to evaluate for each vertex (1, 2, or 4). - - - - - Sets an array of skinning bone transform matrices. - - - - - Gets a copy of the current skinning bone transform matrices. - - - - - This effect requires lighting, so we explicitly implement - IEffectLights.LightingEnabled, and do not allow turning it off. - - - - - Creates a new SkinnedEffect with default parameter settings. - - - - - Creates a new SkinnedEffect by cloning parameter settings from an existing instance. - - - - - Creates a clone of the current SkinnedEffect instance. - - - - - Sets up the standard key/fill/back lighting rig. - - - - - Looks up shortcut references to our effect parameters. - - - - - Lazily computes derived parameter values immediately before applying the effect. - - - - - The default effect used by SpriteBatch. - - - - - Creates a new SpriteEffect. - - - - - An optional matrix used to transform the sprite geometry. Uses if null. - - - - - Creates a new SpriteEffect by cloning parameter settings from an existing instance. - - - - - Creates a clone of the current SpriteEffect instance. - - - - - Looks up shortcut references to our effect parameters. - - - - - Lazily computes derived parameter values immediately before applying the effect. - - - - - Defines the driver type for graphics adapter. Usable only on DirectX platforms for now. - - - - - Hardware device been used for rendering. Maximum speed and performance. - - - - - Emulates the hardware device on CPU. Slowly, only for testing. - - - - - Useful when acceleration does not work. - - - - - Used to request creation of the reference graphics device, - or the default hardware accelerated device (when set to false). - - - This only works on DirectX platforms where a reference graphics - device is available and must be defined before the graphics device - is created. It defaults to false. - - - - - Used to request creation of a specific kind of driver. - - - These values only work on DirectX platforms and must be defined before the graphics device - is created. by default. - - - - - Used to request the graphics device should be created with debugging - features enabled. - - - - - Returns true if the is widescreen. - - - Common widescreen modes include 16:9, 16:10 and 2:1. - - - - - Queries for support of the requested render target format on the adaptor. - - The graphics profile. - The requested surface format. - The requested depth stencil format. - The requested multisample count. - Set to the best format supported by the adaptor for the requested surface format. - Set to the best format supported by the adaptor for the requested depth stencil format. - Set to the best count supported by the adaptor for the requested multisample count. - True if the requested format is supported by the adaptor. False if one or more of the values was changed. - - - - Provides information about the capabilities of the - current graphics device. A very useful thread for investigating GL extenion names - http://stackoverflow.com/questions/3881197/opengl-es-2-0-extensions-on-android-devices - - - - - Whether the device fully supports non power-of-two textures, including - mip maps and wrap modes other than CLAMP_TO_EDGE - - - - - Whether the device supports anisotropic texture filtering - - - - - Gets the support for DXT1 - - - - - Gets the support for S3TC (DXT1, DXT3, DXT5) - - - - - Gets the support for PVRTC - - - - - Gets the support for ETC1 - - - - - Gets the support for ETC2 - - - - - Gets the support for ATITC - - - - - True, if sRGB is supported. On Direct3D platforms, this is always true. - On OpenGL platforms, it is true if both framebuffer sRGB - and texture sRGB are supported. - - - - - True, if the underlying platform supports floating point textures. - For Direct3D platforms this is always true. - For OpenGL Desktop platforms it is always true. - For OpenGL Mobile platforms it requires `GL_EXT_color_buffer_float`. - If the requested format is not supported an NotSupportedException - will be thrown. - - - - - True, if the underlying platform supports half floating point textures. - For Direct3D platforms this is always true. - For OpenGL Desktop platforms it is always true. - For OpenGL Mobile platforms it requires `GL_EXT_color_buffer_half_float`. - If the requested format is not supported an NotSupportedException - will be thrown. - - - - - Gets the max texture anisotropy. This value typically lies - between 0 and 16, where 0 means anisotropic filtering is not - supported. - - - - - Attempt to dequeue a debugging message from the graphics subsystem. - - - When running on a graphics device with debugging enabled, this allows you to retrieve - subsystem-specific (e.g. DirectX, OpenGL, etc.) debugging messages including information - about improper usage of shaders and APIs. - - The graphics debugging message if retrieved, null otherwise. - True if a graphics debugging message was retrieved, false otherwise. - - - - Indicates if DX9 style pixel addressing or current standard - pixel addressing should be used. This flag is set to - false by default. If `UseHalfPixelOffset` is - `true` you have to add half-pixel offset to a Projection matrix. - See also . - - - XNA uses DirectX9 for its graphics. DirectX9 interprets UV - coordinates differently from other graphics API's. This is - typically referred to as the half-pixel offset. MonoGame - replicates XNA behavior if this flag is set to true. - - - - - Get or set the color a is cleared to when it is set. - - - - - The active vertex shader. - - - - - The active pixel shader. - - - - - The cache of effects from unique byte streams. - - - - - The rendering information for debugging and profiling. - The metrics are reset every frame after draw within . - - - - - Access debugging APIs for the graphics subsystem. - - - - - Initializes a new instance of the class. - - The graphics adapter. - The graphics profile. - The presentation options. - - is . - - - - - Initializes a new instance of the class. - - The graphics adapter. - The graphics profile. - Indicates if DX9 style pixel addressing or current standard pixel addressing should be used. This value is passed to - The presentation options. - - is . - - - - - The color used as blend factor when alpha blending. - - - When only changing BlendFactor, use this rather than to - only update BlendFactor so the whole BlendState does not have to be updated. - - - - - Trigger the DeviceResetting event - Currently internal to allow the various platforms to send the event at the appropriate time. - - - - - Trigger the DeviceReset event to allow games to be notified of a device reset. - Currently internal to allow the various platforms to send the event at the appropriate time. - - - - - Draw geometry by indexing into the vertex buffer. - - The type of primitives in the index buffer. - Used to offset the vertex range indexed from the vertex buffer. - This is unused and remains here only for XNA API compatibility. - This is unused and remains here only for XNA API compatibility. - The index within the index buffer to start drawing from. - The number of primitives to render from the index buffer. - Note that minVertexIndex and numVertices are unused in MonoGame and will be ignored. - - - - Draw geometry by indexing into the vertex buffer. - - The type of primitives in the index buffer. - Used to offset the vertex range indexed from the vertex buffer. - The index within the index buffer to start drawing from. - The number of primitives to render from the index buffer. - - - - Draw primitives of the specified type from the data in an array of vertices without indexing. - - The type of the vertices. - The type of primitives to draw with the vertices. - An array of vertices to draw. - The index in the array of the first vertex that should be rendered. - The number of primitives to draw. - The will be found by getting - from an instance of and cached for subsequent calls. - - - - Draw primitives of the specified type from the data in the given array of vertices without indexing. - - The type of the vertices. - The type of primitives to draw with the vertices. - An array of vertices to draw. - The index in the array of the first vertex that should be rendered. - The number of primitives to draw. - The layout of the vertices. - - - - Draw primitives of the specified type from the currently bound vertexbuffers without indexing. - - The type of primitives to draw. - Index of the vertex to start at. - The number of primitives to draw. - - - - Draw primitives of the specified type by indexing into the given array of vertices with 16-bit indices. - - The type of the vertices. - The type of primitives to draw with the vertices. - An array of vertices to draw. - The index in the array of the first vertex to draw. - The index in the array of indices of the first index to use - The number of primitives to draw. - The number of vertices to draw. - The index data. - The will be found by getting - from an instance of and cached for subsequent calls. - All indices in the vertex buffer are interpreted relative to the specified . - For example a value of zero in the array of indices points to the vertex at index - in the array of vertices. - - - - Draw primitives of the specified type by indexing into the given array of vertices with 16-bit indices. - - The type of the vertices. - The type of primitives to draw with the vertices. - An array of vertices to draw. - The index in the array of the first vertex to draw. - The index in the array of indices of the first index to use - The number of primitives to draw. - The number of vertices to draw. - The index data. - The layout of the vertices. - All indices in the vertex buffer are interpreted relative to the specified . - For example a value of zero in the array of indices points to the vertex at index - in the array of vertices. - - - - Draw primitives of the specified type by indexing into the given array of vertices with 32-bit indices. - - The type of the vertices. - The type of primitives to draw with the vertices. - An array of vertices to draw. - The index in the array of the first vertex to draw. - The index in the array of indices of the first index to use - The number of primitives to draw. - The number of vertices to draw. - The index data. - The will be found by getting - from an instance of and cached for subsequent calls. - All indices in the vertex buffer are interpreted relative to the specified . - For example a value of zero in the array of indices points to the vertex at index - in the array of vertices. - - - - Draw primitives of the specified type by indexing into the given array of vertices with 32-bit indices. - - The type of the vertices. - The type of primitives to draw with the vertices. - An array of vertices to draw. - The index in the array of the first vertex to draw. - The index in the array of indices of the first index to use - The number of primitives to draw. - The number of vertices to draw. - The index data. - The layout of the vertices. - All indices in the vertex buffer are interpreted relative to the specified . - For example value of zero in the array of indices points to the vertex at index - in the array of vertices. - - - - Draw instanced geometry from the bound vertex buffers and index buffer. - - The type of primitives in the index buffer. - Used to offset the vertex range indexed from the vertex buffer. - This is unused and remains here only for XNA API compatibility. - This is unused and remains here only for XNA API compatibility. - The index within the index buffer to start drawing from. - The number of primitives in a single instance. - The number of instances to render. - Note that minVertexIndex and numVertices are unused in MonoGame and will be ignored. - - - - Draw instanced geometry from the bound vertex buffers and index buffer. - - The type of primitives in the index buffer. - Used to offset the vertex range indexed from the vertex buffer. - The index within the index buffer to start drawing from. - The number of primitives in a single instance. - The number of instances to render. - Draw geometry with data from multiple bound vertex streams at different frequencies. - - - - Draw instanced geometry from the bound vertex buffers and index buffer. - - The type of primitives in the index buffer. - Used to offset the vertex range indexed from the vertex buffer. - The index within the index buffer to start drawing from. - The number of primitives in a single instance. - The number of instances to render. - Used to offset the instance range indexed from the instance buffer. - Draw geometry with data from multiple bound vertex streams at different frequencies. - - - - Gets the Pixel data of what is currently drawn on screen. - The format is whatever the current format of the backbuffer is. - - A byte[] of size (ViewPort.Width * ViewPort.Height * 4) - - - - Returns a handle to internal device object. Valid only on DirectX platforms. - For usage, convert this to SharpDX.Direct3D11.Device. - - - - - Create graphics device specific resources. - - - - - Get highest multisample quality level for specified format and multisample count. - Returns 0 if multisampling is not supported for input parameters. - - The texture format. - The number of samples during multisampling. - - Higher than zero if multiSampleCount is supported. - Zero if multiSampleCount is not supported. - - - - - Sends queued-up commands in the command buffer to the graphics processing unit (GPU). - - - - - Describes the status of the . - - - - - The device is normal. - - - - - The device has been lost. - - - - - The device has not been reset. - - - - - Defines a set of graphic capabilities. - - - - - Use a limited set of graphic features and capabilities, allowing the game to support the widest variety of devices. - - - - - Use the largest available set of graphic features and capabilities to target devices, that have more enhanced graphic capabilities. - - - - - Called before the device is reset. Allows graphics resources to - invalidate their state so they can be recreated after the device reset. - Warning: This may be called after a call to Dispose() up until - the resource is garbage collected. - - - - - The method that derived classes should override to implement disposing of managed and native resources. - - True if managed objects should be disposed. - Native resources should always be released regardless of the value of the disposing parameter. - - - - Represents a render target. - - - - - Gets the width of the render target in pixels - - The width of the render target in pixels. - - - - Gets the height of the render target in pixels - - The height of the render target in pixels. - - - - Gets the usage mode of the render target. - - The usage mode of the render target. - - - - Gets the for the specified array slice. - - The array slice. - The . - - For texture cubes: The array slice is the index of the cube map face. - - - - - Gets the . - - The . Can be . - - - - Represents a set of bones associated with a model. - - - - - Retrieves a ModelBone from the collection, given the name of the bone. - - The name of the bone to retrieve. - - - - Finds a bone with a given name if it exists in the collection. - - The name of the bone to find. - The bone named boneName, if found. - true if the bone was found - - - - Returns a ModelMeshCollection.Enumerator that can iterate through a ModelMeshCollection. - - - - - - Provides the ability to iterate through the bones in an ModelMeshCollection. - - - - - Gets the current element in the ModelMeshCollection. - - - - - Advances the enumerator to the next element of the ModelMeshCollection. - - - - - Immediately releases the unmanaged resources used by this object. - - - - - Transform of this node from the root of the model not from the parent - - - - - A basic 3D model with per mesh parent bones. - - - - - A collection of objects which describe how each mesh in the - mesh collection for this model relates to its parent mesh. - - - - - A collection of objects which compose the model. Each - in a model may be moved independently and may be composed of multiple materials - identified as objects. - - - - - Root bone for this model. - - - - - Custom attached object. - - Skinning data is example of attached object for model. - - - - - - Constructs a model. - - A valid reference to . - The collection of bones. - The collection of meshes. - - is null. - - - is null. - - - is null. - - - - - Draws the model meshes. - - The world transform. - The view transform. - The projection transform. - - - - Copies bone transforms relative to all parent bones of the each bone from this model to a given array. - - The array receiving the transformed bones. - - - - Copies bone transforms relative to bone from a given array to this model. - - The array of prepared bone transform data. - - is null. - - - is invalid. - - - - - Copies bone transforms relative to bone from this model to a given array. - - The array receiving the transformed bones. - - is null. - - - is invalid. - - - - - Represents a collection of ModelMesh objects. - - - - - Retrieves a ModelMesh from the collection, given the name of the mesh. - - The name of the mesh to retrieve. - - - - Finds a mesh with a given name if it exists in the collection. - - The name of the mesh to find. - The mesh named meshName, if found. - true if a mesh was found - - - - Returns a ModelMeshCollection.Enumerator that can iterate through a ModelMeshCollection. - - - - - - Provides the ability to iterate through the bones in an ModelMeshCollection. - - - - - Gets the current element in the ModelMeshCollection. - - - - - Advances the enumerator to the next element of the ModelMeshCollection. - - - - - Immediately releases the unmanaged resources used by this object. - - - - - Gets a value indicating whether the occlusion query has completed. - - - if the occlusion query has completed; otherwise, - . - - - - - Gets the number of visible pixels. - - The number of visible pixels. - - The occlusion query has not yet completed. Check before reading - the result! - - - - - Initializes a new instance of the class. - - The graphics device. - - is . - - - The current graphics profile does not support occlusion queries. - - - - - Begins the occlusion query. - - - is called again before calling . - - - - - Ends the occlusion query. - - - is called before calling . - - - - - Packed vector type containing a single 8 bit normalized W values that is ranging from 0 to 1. - - - - - Gets and sets the packed value. - - - - - Creates a new instance of Alpha8. - - The alpha component - - - - Gets the packed vector in float format. - - The packed vector in Vector3 format - - - - Sets the packed vector from a Vector4. - - Vector containing the components. - - - - Gets the packed vector in Vector4 format. - - The packed vector in Vector4 format - - - - Compares an object with the packed vector. - - The object to compare. - True if the object is equal to the packed vector. - - - - Compares another Alpha8 packed vector with the packed vector. - - The Alpha8 packed vector to compare. - True if the packed vectors are equal. - - - - Gets a string representation of the packed vector. - - A string representation of the packed vector. - - - - Gets a hash code of the packed vector. - - The hash code for the packed vector. - - - - Packed vector type containing unsigned normalized values ranging from 0 to 1. The x and z components use 5 bits, and the y component uses 6 bits. - - - - - Creates a new instance of Bgr565. - - The x component - The y component - The z component - - - - Creates a new instance of Bgr565. - - Vector containing the components for the packed vector. - - - - Gets and sets the packed value. - - - - - Gets the packed vector in Vector3 format. - - The packed vector in Vector3 format - - - - Sets the packed vector from a Vector4. - - Vector containing the components. - - - - Gets the packed vector in Vector4 format. - - The packed vector in Vector4 format - - - - Compares an object with the packed vector. - - The object to compare. - true if the object is equal to the packed vector. - - - - Compares another Bgr565 packed vector with the packed vector. - - The Bgr565 packed vector to compare. - true if the packed vectors are equal. - - - - Gets a string representation of the packed vector. - - A string representation of the packed vector. - - - - Gets a hash code of the packed vector. - - The hash code for the packed vector. - - - - Packed vector type containing unsigned normalized values, ranging from 0 to 1, using 4 bits each for x, y, z, and w. - - - - - Creates a new instance of Bgra4444. - - The x component - The y component - The z component - The w component - - - - Creates a new instance of Bgra4444. - - Vector containing the components for the packed vector. - - - - Gets and sets the packed value. - - - - - Gets the packed vector in Vector4 format. - - The packed vector in Vector4 format - - - - Sets the packed vector from a Vector4. - - Vector containing the components. - - - - Compares an object with the packed vector. - - The object to compare. - true if the object is equal to the packed vector. - - - - Compares another Bgra4444 packed vector with the packed vector. - - The Bgra4444 packed vector to compare. - true if the packed vectors are equal. - - - - Gets a string representation of the packed vector. - - A string representation of the packed vector. - - - - Gets a hash code of the packed vector. - - The hash code for the packed vector. - - - - Packed vector type containing unsigned normalized values ranging from 0 to 1. - The x , y and z components use 5 bits, and the w component uses 1 bit. - - - - - Gets and sets the packed value. - - - - - Creates a new instance of Bgra5551. - - The x component - The y component - The z component - The w component - - - - Creates a new instance of Bgra5551. - - - Vector containing the components for the packed vector. - - - - - Gets the packed vector in Vector4 format. - - The packed vector in Vector4 format - - - - Sets the packed vector from a Vector4. - - Vector containing the components. - - - - Compares an object with the packed vector. - - The object to compare. - True if the object is equal to the packed vector. - - - - Compares another Bgra5551 packed vector with the packed vector. - - The Bgra5551 packed vector to compare. - True if the packed vectors are equal. - - - - Gets a string representation of the packed vector. - - A string representation of the packed vector. - - - - Gets a hash code of the packed vector. - - The hash code for the packed vector. - - - - Packed vector type containing four 8-bit unsigned integer values, ranging from 0 to 255. - - - - - Initializes a new instance of the Byte4 class. - - A vector containing the initial values for the components of the Byte4 structure. - - - - Initializes a new instance of the Byte4 class. - - Initial value for the x component. - Initial value for the y component. - Initial value for the z component. - Initial value for the w component. - - - - Compares the current instance of a class to another instance to determine whether they are different. - - The object to the left of the equality operator. - The object to the right of the equality operator. - true if the objects are different; false otherwise. - - - - Compares the current instance of a class to another instance to determine whether they are the same. - - The object to the left of the equality operator. - The object to the right of the equality operator. - true if the objects are the same; false otherwise. - - - - Directly gets or sets the packed representation of the value. - - The packed representation of the value. - - - - Returns a value that indicates whether the current instance is equal to a specified object. - - The object with which to make the comparison. - 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. - - The object with which to make the comparison. - true if the current instance is equal to the specified object; false otherwise. - - - - Gets the hash code for the current instance. - - Hash code for the instance. - - - - Returns a string representation of the current instance. - - String that represents the object. - - - - Packs a vector into a uint. - - The vector containing the values to pack. - The ulong containing the packed values. - - - - Sets the packed representation from a Vector4. - - The vector to create the packed representation from. - - - - Expands the packed representation into a Vector4. - - The expanded vector. - - - - Gets the packed vector in Vector4 format. - - The packed vector in Vector4 format - - - - Gets the packed vector in Vector4 format. - - The packed vector in Vector4 format - - - - Packed vector type containing four 16-bit floating-point values. - - - - - Initializes a new instance of the HalfVector4 structure. - - Initial value for the x component. - Initial value for the y component. - Initial value for the z component. - Initial value for the q component. - - - - Initializes a new instance of the HalfVector4 structure. - - A vector containing the initial values for the components of the HalfVector4 structure. - - - - Sets the packed representation from a Vector4. - - The vector to create the packed representation from. - - - - Packs a vector into a ulong. - - The vector containing the values to pack. - The ulong containing the packed values. - - - - Expands the packed representation into a Vector4. - - The expanded vector. - - - - Directly gets or sets the packed representation of the value. - - The packed representation of the value. - - - - Returns a string representation of the current instance. - - String that represents the object. - - - - Gets the hash code for the current instance. - - Hash code for the instance. - - - - Returns a value that indicates whether the current instance is equal to a specified object. - - The object with which to make the comparison. - 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. - - The object with which to make the comparison. - true if the current instance is equal to the specified object; false otherwise. - - - - Compares the current instance of a class to another instance to determine whether they are the same. - - The object to the left of the equality operator. - The object to the right of the equality operator. - true if the objects are the same; false otherwise. - - - - Compares the current instance of a class to another instance to determine whether they are different. - - The object to the left of the equality operator. - The object to the right of the equality operator. - true if the objects are different; false otherwise. - - - - Gets the packed vector in Vector4 format. - - The packed vector in Vector4 format - - - - Gets the packed vector in Vector4 format. - - The packed vector in Vector4 format - - - - Packed vector type containing two 16-bit unsigned normalized values ranging from 0 to 1. - - - - - Gets and sets the packed value. - - - - - Creates a new instance of Rg32. - - The x component - The y component - - - - Creates a new instance of Rg32. - - - Vector containing the components for the packed vector. - - - - - Gets the packed vector in Vector2 format. - - The packed vector in Vector2 format - - - - Sets the packed vector from a Vector4. - - Vector containing the components. - - - - Gets the packed vector in Vector4 format. - - The packed vector in Vector4 format - - - - Compares an object with the packed vector. - - The object to compare. - True if the object is equal to the packed vector. - - - - Compares another Rg32 packed vector with the packed vector. - - The Rg32 packed vector to compare. - True if the packed vectors are equal. - - - - Gets a string representation of the packed vector. - - A string representation of the packed vector. - - - - Gets a hash code of the packed vector. - - The hash code for the packed vector. - - - - Packed vector type containing four 16-bit unsigned normalized values ranging from 0 to 1. - - - - - Gets and sets the packed value. - - - - - Creates a new instance of Rgba64. - - The x component - The y component - The z component - The w component - - - - Creates a new instance of Rgba64. - - - Vector containing the components for the packed vector. - - - - - Gets the packed vector in Vector4 format. - - The packed vector in Vector4 format - - - - Sets the packed vector from a Vector4. - - Vector containing the components. - - - - Compares an object with the packed vector. - - The object to compare. - True if the object is equal to the packed vector. - - - - Compares another Rgba64 packed vector with the packed vector. - - The Rgba64 packed vector to compare. - True if the packed vectors are equal. - - - - Gets a string representation of the packed vector. - - A string representation of the packed vector. - - - - Gets a hash code of the packed vector. - - The hash code for the packed vector. - - - - Packed vector type containing unsigned normalized values ranging from 0 to 1. - The x, y and z components use 10 bits, and the w component uses 2 bits. - - - - - Gets and sets the packed value. - - - - - Creates a new instance of Rgba1010102. - - The x component - The y component - The z component - The w component - - - - Creates a new instance of Rgba1010102. - - - Vector containing the components for the packed vector. - - - - - Gets the packed vector in Vector4 format. - - The packed vector in Vector4 format - - - - Sets the packed vector from a Vector4. - - Vector containing the components. - - - - Compares an object with the packed vector. - - The object to compare. - True if the object is equal to the packed vector. - - - - Compares another Rgba1010102 packed vector with the packed vector. - - The Rgba1010102 packed vector to compare. - True if the packed vectors are equal. - - - - Gets a string representation of the packed vector. - - A string representation of the packed vector. - - - - Gets a hash code of the packed vector. - - The hash code for the packed vector. - - - - Gets the packed vector in Vector4 format. - - The packed vector in Vector4 format - - - - Packed vector type containing four 16-bit signed integer values. - - - - - Initializes a new instance of the Short4 class. - - A vector containing the initial values for the components of the Short4 structure. - - - - Initializes a new instance of the Short4 class. - - Initial value for the x component. - Initial value for the y component. - Initial value for the z component. - Initial value for the w component. - - - - Compares the current instance of a class to another instance to determine whether they are different. - - The object to the left of the equality operator. - The object to the right of the equality operator. - true if the objects are different; false otherwise. - - - - Compares the current instance of a class to another instance to determine whether they are the same. - - The object to the left of the equality operator. - The object to the right of the equality operator. - true if the objects are the same; false otherwise. - - - - Directly gets or sets the packed representation of the value. - - The packed representation of the value. - - - - Returns a value that indicates whether the current instance is equal to a specified object. - - The object with which to make the comparison. - 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. - - The object with which to make the comparison. - true if the current instance is equal to the specified object; false otherwise. - - - - Gets the hash code for the current instance. - - Hash code for the instance. - - - - Returns a string representation of the current instance. - - String that represents the object. - - - - Packs a vector into a ulong. - - The vector containing the values to pack. - The ulong containing the packed values. - - - - Sets the packed representation from a Vector4. - - The vector to create the packed representation from. - - - - Expands the packed representation into a Vector4. - - The expanded vector. - - - - Create a instance with default values for all properties. - - - - - Get or set the format of the back buffer. - - - - - Get or set the height of the back buffer. - - - - - Get or set the width of the back buffer. - - - - - Get the bounds of the back buffer. - - - - - Get or set the handle of the window that will present the back buffer. - - - - - Get or set the depth stencil format for the back buffer. - - - - - Get or set a value indicating if we are in full screen mode. - - - - - If true the will do a mode switch - when going to full screen mode. If false it will instead do a - soft full screen by maximizing the window and making it borderless. - - - - - Get or set the multisample count for the back buffer. - - - - - Get or set the presentation interval. - - - - - Get or set the display orientation. - - - - - Get or set the RenderTargetUsage for the back buffer. - Determines if the back buffer is cleared when it is set as the - render target by the . - target. - - - - - Reset all properties to their default values. - - - - - Create a copy of this instance. - - - - - - Defines how updates the game window. - - - - - Equivalent to . - - - - - The driver waits for the vertical retrace period, before updating window client area. Present operations are not affected more frequently than the screen refresh rate. - - - - - The driver waits for the vertical retrace period, before updating window client area. Present operations are not affected more frequently than every second screen refresh. - - - - - The driver updates the window client area immediately. Present operations might be affected immediately. There is no limit for framerate. - - - - - Allows child class to specify the surface type, eg: a swap chain. - - - - - Represents a texture cube that can be used as a render target. - - - - - Gets the depth-stencil buffer format of this render target. - - The format of the depth-stencil buffer. - - - - Gets the number of multisample locations. - - The number of multisample locations. - - - - Gets the usage mode of this render target. - - The usage mode of the render target. - - - - - - - - - - Initializes a new instance of the class. - - The graphics device. - The width and height of a texture cube face in pixels. - to generate a full mipmap chain; otherwise . - The preferred format of the surface. - The preferred format of the depth-stencil buffer. - - - - Initializes a new instance of the class. - - The graphics device. - The width and height of a texture cube face in pixels. - to generate a full mipmap chain; otherwise . - The preferred format of the surface. - The preferred format of the depth-stencil buffer. - The preferred number of multisample locations. - The usage mode of the render target. - - - - - - - - - - Defines if the previous content in a render target is preserved when it set on the graphics device. - - - - - The render target content will not be preserved. - - - - - The render target content will be preserved even if it is slow or requires extra memory. - - - - - The render target content might be preserved if the platform can do so without a penalty in performance or memory usage. - - - - - The newly created resource object. - - - - - The name of the destroyed resource. - - - - - The resource manager tag of the destroyed resource. - - - - - Mark all the sampler slots as dirty. - - - - - Defines how vertex or index buffer data will be flushed during a SetData operation. - - - - - The SetData can overwrite the portions of existing data. - - - - - The SetData will discard the entire buffer. A pointer to a new memory area is returned and rendering from the previous area do not stall. - - - - - The SetData operation will not overwrite existing data. This allows the driver to return immediately from a SetData operation and continue rendering. - - - - - Returns the platform specific shader profile identifier. - - - - - A hash value which can be used to compare shaders. - - - - - Helper class for drawing text strings and sprites in one or more optimized batches. - - - - - Constructs a . - - The , which will be used for sprite rendering. - Thrown when is null. - - - - Constructs a . - - The , which will be used for sprite rendering. - The initial capacity of the internal array holding batch items (the value will be rounded to the next multiple of 64). - Thrown when is null. - - - - Begins a new sprite and text batch with the specified render state. - - The drawing order for sprite and text drawing. by default. - State of the blending. Uses if null. - State of the sampler. Uses if null. - State of the depth-stencil buffer. Uses if null. - State of the rasterization. Uses if null. - A custom to override the default sprite effect. Uses default sprite effect if null. - An optional matrix used to transform the sprite geometry. Uses if null. - Thrown if is called next time without previous . - This method uses optional parameters. - The Begin should be called before drawing commands, and you cannot call it again before subsequent . - - - - Flushes all batched text and sprites to the screen. - - This command should be called after and drawing commands. - - - - Submit a sprite for drawing in the current batch. - - A texture. - The drawing location on screen. - An optional region on the texture which will be rendered. If null - draws full texture. - A color mask. - A rotation of this sprite. - Center of the rotation. 0,0 by default. - A scaling of this sprite. - Modificators for drawing. Can be combined. - A depth of the layer of this sprite. - - - - Submit a sprite for drawing in the current batch. - - A texture. - The drawing location on screen. - An optional region on the texture which will be rendered. If null - draws full texture. - A color mask. - A rotation of this sprite. - Center of the rotation. 0,0 by default. - A scaling of this sprite. - Modificators for drawing. Can be combined. - A depth of the layer of this sprite. - - - - Submit a sprite for drawing in the current batch. - - A texture. - The drawing bounds on screen. - An optional region on the texture which will be rendered. If null - draws full texture. - A color mask. - A rotation of this sprite. - Center of the rotation. 0,0 by default. - Modificators for drawing. Can be combined. - A depth of the layer of this sprite. - - - - Submit a sprite for drawing in the current batch. - - A texture. - The drawing location on screen. - An optional region on the texture which will be rendered. If null - draws full texture. - A color mask. - - - - Submit a sprite for drawing in the current batch. - - A texture. - The drawing bounds on screen. - An optional region on the texture which will be rendered. If null - draws full texture. - A color mask. - - - - Submit a sprite for drawing in the current batch. - - A texture. - The drawing location on screen. - A color mask. - - - - Submit a sprite for drawing in the current batch. - - A texture. - The drawing bounds on screen. - A color mask. - - - - Submit a text string of sprites for drawing in the current batch. - - A font. - The text which will be drawn. - The drawing location on screen. - A color mask. - - - - Submit a text string of sprites for drawing in the current batch. - - A font. - The text which will be drawn. - The drawing location on screen. - A color mask. - A rotation of this string. - Center of the rotation. 0,0 by default. - A scaling of this string. - Modificators for drawing. Can be combined. - A depth of the layer of this string. - - - - Submit a text string of sprites for drawing in the current batch. - - A font. - The text which will be drawn. - The drawing location on screen. - A color mask. - A rotation of this string. - Center of the rotation. 0,0 by default. - A scaling of this string. - Modificators for drawing. Can be combined. - A depth of the layer of this string. - - - - Submit a text string of sprites for drawing in the current batch. - - A font. - The text which will be drawn. - The drawing location on screen. - A color mask. - - - - Submit a text string of sprites for drawing in the current batch. - - A font. - The text which will be drawn. - The drawing location on screen. - A color mask. - A rotation of this string. - Center of the rotation. 0,0 by default. - A scaling of this string. - Modificators for drawing. Can be combined. - A depth of the layer of this string. - - - - Submit a text string of sprites for drawing in the current batch. - - A font. - The text which will be drawn. - The drawing location on screen. - A color mask. - A rotation of this string. - Center of the rotation. 0,0 by default. - A scaling of this string. - Modificators for drawing. Can be combined. - A depth of the layer of this string. - - - - Immediately releases the unmanaged resources used by this object. - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - This class handles the queueing of batch items into the GPU by creating the triangle tesselations - that are used to draw the sprite textures. This class supports int.MaxValue number of sprites to be - batched and will process them into short.MaxValue groups (strided by 6 for the number of vertices - sent to the GPU). - - - - - Initialization size for the batch item list and queue. - - - - - The maximum number of batch items that can be processed per iteration - - - - - Initialization size for the vertex array, in batch units. - - - - - The list of batch items to process. - - - - - Index pointer to the next available SpriteBatchItem in _batchItemList. - - - - - The target graphics device. - - - - - Vertex index array. The values in this array never change. - - - - - Reuse a previously allocated SpriteBatchItem from the item pool. - if there is none available grow the pool and initialize new items. - - - - - - Resize and recreate the missing indices for the index and vertex position color buffers. - - - - - - Sorts the batch items and then groups batch drawing into maximal allowed batch sets that do not - overflow the 16 bit array indices for vertices. - - The type of depth sorting desired for the rendering. - The custom effect to apply to the drawn geometry - - - - Sends the triangle list to the graphics device. Here is where the actual drawing starts. - - Start index of vertices to draw. Not used except to compute the count of vertices to draw. - End index of vertices to draw. Not used except to compute the count of vertices to draw. - The custom effect to apply to the geometry - The texture to draw. - - - - Defines sprite visual options for mirroring. - - - - - No options specified. - - - - - Render the sprite reversed along the X axis. - - - - - Render the sprite reversed along the Y axis. - - - - - All the glyphs in this SpriteFont. - - - - - Initializes a new instance of the class. - - The font texture. - The rectangles in the font texture containing letters. - The cropping rectangles, which are applied to the corresponding glyphBounds to calculate the bounds of the actual character. - The characters. - The line spacing (the distance from baseline to baseline) of the font. - The spacing (tracking) between characters in the font. - The letters kernings(X - left side bearing, Y - width and Z - right side bearing). - The character that will be substituted when a given character is not included in the font. - - - - Gets the texture that this SpriteFont draws from. - - Can be used to implement custom rendering of a SpriteFont - - - - Returns a copy of the dictionary containing the glyphs in this SpriteFont. - - A new Dictionary containing all of the glyphs inthis SpriteFont - Can be used to calculate character bounds when implementing custom SpriteFont rendering. - - - - Gets a collection of the characters in the font. - - - - - Gets or sets the character that will be substituted when a - given character is not included in the font. - - - - - Gets or sets the line spacing (the distance from baseline - to baseline) of the font. - - - - - Gets or sets the spacing (tracking) between characters in - the font. - - - - - Returns the size of a string when rendered in this font. - - The text to measure. - The size, in pixels, of 'text' when rendered in - this font. - - - - Returns the size of the contents of a StringBuilder when - rendered in this font. - - The text to measure. - The size, in pixels, of 'text' when rendered in - this font. - - - - Struct that defines the spacing, Kerning, and bounds of a character. - - Provides the data necessary to implement custom SpriteFont rendering. - - - - The char associated with this glyph. - - - - - Rectangle in the font texture where this letter exists. - - - - - Cropping applied to the BoundsInTexture to calculate the bounds of the actual character. - - - - - The amount of space between the left side ofthe character and its first pixel in the X dimention. - - - - - The amount of space between the right side of the character and its last pixel in the X dimention. - - - - - Width of the character before kerning is applied. - - - - - Width of the character before kerning is applied. - - - - - Defines sprite sort rendering options. - - - - - All sprites are drawing when invokes, in order of draw call sequence. Depth is ignored. - - - - - Each sprite is drawing at individual draw call, instead of . Depth is ignored. - - - - - Same as , except sprites are sorted by texture prior to drawing. Depth is ignored. - - - - - Same as , except sprites are sorted by depth in back-to-front order prior to drawing. - - - - - Same as , except sprites are sorted by depth in front-to-back order prior to drawing. - - - - - Defines a blend mode. - - - - - Each component of the color is multiplied by {1, 1, 1, 1}. - - - - - Each component of the color is multiplied by {0, 0, 0, 0}. - - - - - Each component of the color is multiplied by the source color. - {Rs, Gs, Bs, As}, where Rs, Gs, Bs, As are color source values. - - - - - Each component of the color is multiplied by the inverse of the source color. - {1 − Rs, 1 − Gs, 1 − Bs, 1 − As}, where Rs, Gs, Bs, As are color source values. - - - - - Each component of the color is multiplied by the alpha value of the source. - {As, As, As, As}, where As is the source alpha value. - - - - - Each component of the color is multiplied by the inverse of the alpha value of the source. - {1 − As, 1 − As, 1 − As, 1 − As}, where As is the source alpha value. - - - - - Each component color is multiplied by the destination color. - {Rd, Gd, Bd, Ad}, where Rd, Gd, Bd, Ad are color destination values. - - - - - Each component of the color is multiplied by the inversed destination color. - {1 − Rd, 1 − Gd, 1 − Bd, 1 − Ad}, where Rd, Gd, Bd, Ad are color destination values. - - - - - Each component of the color is multiplied by the alpha value of the destination. - {Ad, Ad, Ad, Ad}, where Ad is the destination alpha value. - - - - - Each component of the color is multiplied by the inversed alpha value of the destination. - {1 − Ad, 1 − Ad, 1 − Ad, 1 − Ad}, where Ad is the destination alpha value. - - - - - Each component of the color is multiplied by a constant in the . - - - - - Each component of the color is multiplied by a inversed constant in the . - - - - - Each component of the color is multiplied by either the alpha of the source color, or the inverse of the alpha of the source color, whichever is greater. - {f, f, f, 1}, where f = min(As, 1 − As), where As is the source alpha value. - - - - - Defines a function for color blending. - - - - - The function will adds destination to the source. (srcColor * srcBlend) + (destColor * destBlend) - - - - - The function will subtracts destination from source. (srcColor * srcBlend) − (destColor * destBlend) - - - - - The function will subtracts source from destination. (destColor * destBlend) - (srcColor * srcBlend) - - - - - The function will extracts minimum of the source and destination. min((srcColor * srcBlend),(destColor * destBlend)) - - - - - The function will extracts maximum of the source and destination. max((srcColor * srcBlend),(destColor * destBlend)) - - - - - Returns the target specific blend state. - - The 0 to 3 target blend state index. - A target blend state. - - - - The color used as blend factor when alpha blending. - - - is set to this value when this - is bound to a GraphicsDevice. - - - - - Enables use of the per-target blend states. - - - - - The comparison function used for depth, stencil, and alpha tests. - - - - - Always passes the test. - - - - - Never passes the test. - - - - - Passes the test when the new pixel value is less than current pixel value. - - - - - Passes the test when the new pixel value is less than or equal to current pixel value. - - - - - Passes the test when the new pixel value is equal to current pixel value. - - - - - Passes the test when the new pixel value is greater than or equal to current pixel value. - - - - - Passes the test when the new pixel value is greater than current pixel value. - - - - - Passes the test when the new pixel value does not equal to current pixel value. - - - - - Defines a culling mode for faces in rasterization process. - - - - - Do not cull faces. - - - - - Cull faces with clockwise order. - - - - - Cull faces with counter clockwise order. - - - - - Defines formats for depth-stencil buffer. - - - - - Depth-stencil buffer will not be created. - - - - - 16-bit depth buffer. - - - - - 24-bit depth buffer. Equivalent of for DirectX platforms. - - - - - 32-bit depth-stencil buffer. Where 24-bit depth and 8-bit for stencil used. - - - - - Defines options for filling the primitive. - - - - - Draw solid faces for each primitive. - - - - - Draw lines for each primitive. - - - - - When using comparison sampling, also set to . - - - - - Defines stencil buffer operations. - - - - - Does not update the stencil buffer entry. - - - - - Sets the stencil buffer entry to 0. - - - - - Replaces the stencil buffer entry with a reference value. - - - - - Increments the stencil buffer entry, wrapping to 0 if the new value exceeds the maximum value. - - - - - Decrements the stencil buffer entry, wrapping to the maximum value if the new value is less than 0. - - - - - Increments the stencil buffer entry, clamping to the maximum value. - - - - - Decrements the stencil buffer entry, clamping to 0. - - - - - Inverts the bits in the stencil buffer entry. - - - - - Defines modes for addressing texels using texture coordinates that are outside of the range of 0.0 to 1.0. - - - - - Texels outside range will form the tile at every integer junction. - - - - - Texels outside range will be set to color of 0.0 or 1.0 texel. - - - - - Same as but tiles will also flipped at every integer junction. - - - - - Texels outside range will be set to the border color. - - - - - Defines filtering types for texture sampler. - - - - - Use linear filtering. - - - - - Use point filtering. - - - - - Use anisotropic filtering. - - - - - Use linear filtering to shrink or expand, and point filtering between mipmap levels (mip). - - - - - Use point filtering to shrink (minify) or expand (magnify), and linear filtering between mipmap levels. - - - - - Use linear filtering to shrink, point filtering to expand, and linear filtering between mipmap levels. - - - - - Use linear filtering to shrink, point filtering to expand, and point filtering between mipmap levels. - - - - - Use point filtering to shrink, linear filtering to expand, and linear filtering between mipmap levels. - - - - - Use point filtering to shrink, linear filtering to expand, and point filtering between mipmap levels. - - - - - Filtering modes for texture samplers. - - - - - Defines types of surface formats. - - - - - Unsigned 32-bit ARGB pixel format for store 8 bits per channel. - - - - - Unsigned 16-bit BGR pixel format for store 5 bits for blue, 6 bits for green, and 5 bits for red. - - - - - Unsigned 16-bit BGRA pixel format where 5 bits reserved for each color and last bit is reserved for alpha. - - - - - Unsigned 16-bit BGRA pixel format for store 4 bits per channel. - - - - - DXT1. Texture format with compression. Surface dimensions must be a multiple 4. - - - - - DXT3. Texture format with compression. Surface dimensions must be a multiple 4. - - - - - DXT5. Texture format with compression. Surface dimensions must be a multiple 4. - - - - - Signed 16-bit bump-map format for store 8 bits for u and v data. - - - - - Signed 32-bit bump-map format for store 8 bits per channel. - - - - - Unsigned 32-bit RGBA pixel format for store 10 bits for each color and 2 bits for alpha. - - - - - Unsigned 32-bit RG pixel format using 16 bits per channel. - - - - - Unsigned 64-bit RGBA pixel format using 16 bits per channel. - - - - - Unsigned A 8-bit format for store 8 bits to alpha channel. - - - - - IEEE 32-bit R float format for store 32 bits to red channel. - - - - - IEEE 64-bit RG float format for store 32 bits per channel. - - - - - IEEE 128-bit RGBA float format for store 32 bits per channel. - - - - - Float 16-bit R format for store 16 bits to red channel. - - - - - Float 32-bit RG format for store 16 bits per channel. - - - - - Float 64-bit ARGB format for store 16 bits per channel. - - - - - Float pixel format for high dynamic range data. - - - - - For compatibility with WPF D3DImage. - - - - - For compatibility with WPF D3DImage. - - - - - Unsigned 32-bit RGBA sRGB pixel format that supports 8 bits per channel. - - - - - Unsigned 32-bit sRGB pixel format that supports 8 bits per channel. 8 bits are unused. - - - - - Unsigned 32-bit sRGB pixel format that supports 8 bits per channel. - - - - - DXT1. sRGB texture format with compression. Surface dimensions must be a multiple of 4. - - - - - DXT3. sRGB texture format with compression. Surface dimensions must be a multiple of 4. - - - - - DXT5. sRGB texture format with compression. Surface dimensions must be a multiple of 4. - - - - - PowerVR texture compression format (iOS and Android). - - - - - PowerVR texture compression format (iOS and Android). - - - - - PowerVR texture compression format (iOS and Android). - - - - - PowerVR texture compression format (iOS and Android). - - - - - Ericcson Texture Compression (Android) - - - - - DXT1 version where 1-bit alpha is used. - - - - - ATC/ATITC compression (Android) - - - - - ATC/ATITC compression (Android) - - - - - Etc2 RGB8 (Android/iOS withh OpenglES 3.0) - - - - - Etc2 SRGB8 (Android/iOS withh OpenglES 3.0) - - - - - Etc2 RGB8A1 (Android/iOS withh OpenglES 3.0) - - - - - Etc2 SRGB8A1 (Android/iOS withh OpenglES 3.0) - - - - - Etc2 RGBA8 EAC (Android/iOS withh OpenglES 3.0) - - - - - Etc2 SRGB8A8 EAC (Android/iOS withh OpenglES 3.0) - - - - - A swap chain used for rendering to a secondary GameWindow. - - - This is an extension and not part of stock XNA. - It is currently implemented for Windows and DirectX only. - - - - - Displays the contents of the active back buffer to the screen. - - - - - Gets the dimensions of the texture - - - - - Creates a new texture of the given size - - - - - - - - Creates a new texture of a given size with a surface format and optional mipmaps - - - - - - - - - - Creates a new texture array of a given size with a surface format and optional mipmaps. - Throws ArgumentException if the current GraphicsDevice can't work with texture arrays - - - - - - - - - - - Creates a new texture of a given size with a surface format and optional mipmaps. - - - - - - - - - - - Gets the width of the texture in pixels. - - - - - Gets the height of the texture in pixels. - - - - - Changes the pixels of the texture - Throws ArgumentNullException if data is null - Throws ArgumentException if arraySlice is greater than 0, and the GraphicsDevice does not support texture arrays - - - Layer of the texture to modify - Index inside the texture array - Area to modify - New data for the texture - Start position of data - - - - - Changes the pixels of the texture - - - Layer of the texture to modify - Area to modify - New data for the texture - Start position of data - - - - - Changes the texture's pixels - - - New data for the texture - Start position of data - - - - - Changes the texture's pixels - - New data for the texture - - - - - Retrieves the contents of the texture - Throws ArgumentException if data is null, data.length is too short or - if arraySlice is greater than 0 and the GraphicsDevice doesn't support texture arrays - - - Layer of the texture - Index inside the texture array - Area of the texture to retrieve - Destination array for the data - Starting index of data where to write the pixel data - Number of pixels to read - - - - Retrieves the contents of the texture - Throws ArgumentException if data is null, data.length is too short or - if arraySlice is greater than 0 and the GraphicsDevice doesn't support texture arrays - - - Layer of the texture - Area of the texture - Destination array for the texture data - First position in data where to write the pixel data - Number of pixels to read - - - - Retrieves the contents of the texture - Throws ArgumentException if data is null, data.length is too short or - if arraySlice is greater than 0 and the GraphicsDevice doesn't support texture arrays - - - Destination array for the texture data - First position in data where to write the pixel data - Number of pixels to read - - - - Retrieves the contents of the texture - Throws ArgumentException if data is null, data.length is too short or - if arraySlice is greater than 0 and the GraphicsDevice doesn't support texture arrays - - - Destination array for the texture data - - - - Creates a from a file, supported formats bmp, gif, jpg, png, tif and dds (only for simple textures). - May work with other formats, but will not work with tga files. - This internally calls . - - The graphics device to use to create the texture. - The path to the image file. - The created from the given file. - Note that different image decoders may generate slight differences between platforms, but perceptually - the images should be identical. This call does not premultiply the image alpha, but areas of zero alpha will - result in black color data. - - - - - Creates a from a stream, supported formats bmp, gif, jpg, png, tif and dds (only for simple textures). - May work with other formats, but will not work with tga files. - - The graphics device to use to create the texture. - The stream from which to read the image data. - The created from the image stream. - Note that different image decoders may generate slight differences between platforms, but perceptually - the images should be identical. This call does not premultiply the image alpha, but areas of zero alpha will - result in black color data. - - - - - Converts the texture to a JPG image - - Destination for the image - - - - - - Converts the texture to a PNG image - - Destination for the image - - - - - - Gets a copy of 3D texture data, specifying a mipmap level, source box, start index, and number of elements. - - The type of the elements in the array. - Mipmap level. - Position of the left side of the box on the x-axis. - Position of the top of the box on the y-axis. - Position of the right side of the box on the x-axis. - Position of the bottom of the box on the y-axis. - Position of the front of the box on the z-axis. - Position of the back of the box on the z-axis. - Array of data. - Index of the first element to get. - Number of elements to get. - - - - Gets a copy of 3D texture data, specifying a start index and number of elements. - - The type of the elements in the array. - Array of data. - Index of the first element to get. - Number of elements to get. - - - - Gets a copy of 3D texture data. - - The type of the elements in the array. - Array of data. - - - - Marks all texture slots as dirty. - - - - - Gets a unique identifier of this texture for sorting purposes. - - - For example, this value is used by when drawing with . - The value is an implementation detail and may change between application launches or MonoGame versions. - It is only guaranteed to stay consistent during application lifetime. - - - - - Gets the handle to a shared resource. - - - The handle of the shared resource, or if the texture was not - created as a shared resource. - - - - - Gets the width and height of the cube map face in pixels. - - The width and height of a cube map face in pixels. - - - - Gets a copy of cube texture data specifying a cubemap face. - - - The cube map face. - The data. - - - - A usage hint for optimizing memory placement of graphics buffers. - - - - - No special usage. - - - - - The buffer will not be readable and will be optimized for rendering and writing. - - - - - Special offset used internally by GraphicsDevice.DrawUserXXX() methods. - - - - - Special offset used internally by GraphicsDevice.DrawUserXXX() methods. - - - - - Immutable version of . Can be used as a key in the - . - - - - - Initializes a new instance of the class. - - The vertex declarations per resource slot. - The instance frequencies per resource slot. - - The specified arrays are stored internally - the arrays are not copied. - - - - - 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. - - - - - Gets the relevant IndexElementSize enum value for the given type. - - The graphics device. - The type to use for the index buffer - The IndexElementSize enum value that matches the type - - - - The GraphicsDevice is resetting, so GPU resources must be recreated. - - - - - Defines size for index in and . - - - - - 16-bit short/ushort value been used. - - - - - 32-bit int/uint value been used. - - - - - Caches DirectX input layouts for the input assembler stage. - - - - - Initializes a new instance of the class. - - The graphics device. - The byte code of the vertex shader. - - - - Releases all resources used by an instance of the class. - - - This method calls the virtual method, passing in - , and then suppresses finalization of the instance. - - - - - Releases the unmanaged resources used by an instance of the - class and optionally releases the managed resources. - - - to release both managed and unmanaged resources; - to release only unmanaged resources. - - - - - Gets or create the DirectX input layout for the specified vertex buffers. - - The vertex buffers. - The DirectX input layout. - - - - Gets a more helpful message for the SharpDX invalid arg error. - - The input elements. - The exception message. - - - - Defines how vertex data is ordered. - - - - - Renders the specified vertices as a sequence of isolated triangles. Each group of three vertices defines a separate triangle. Back-face culling is affected by the current winding-order render state. - - - - - Renders the vertices as a triangle strip. The back-face culling flag is flipped automatically on even-numbered triangles. - - - - - Renders the vertices as a list of isolated straight line segments; the count may be any positive integer. - - - - - Renders the vertices as a single polyline; the count may be any positive integer. - - - - - The GraphicsDevice is resetting, so GPU resources must be recreated. - - - - - Get the vertex data froom this VertexBuffer. - - The struct you want to fill. - The offset to the first element in the vertex buffer in bytes. - An array of T's to be filled. - The index to start filling the data array. - The number of T's to get. - The size of how a vertex buffer element should be interpreted. - - - Note that this pulls data from VRAM into main memory and because of that is a very expensive operation. - It is often a better idea to keep a copy of the data in main memory. - - - -

Using this operation it is easy to get certain vertex elements from a VertexBuffer.

-

- For example to get the texture coordinates from a VertexBuffer of you can call - GetData(4 * 3, data, elementCount, 20). 'data'should be an array of in this example. - The offsetInBytes is the number of bytes taken up by the of the vertex. - For vertexStride we pass the size of a . -

-
-
- - - Sets the vertex buffer data, specifying the index at which to start copying from the source data array, - the number of elements to copy from the source data array, - and how far apart elements from the source data array should be when they are copied into the vertex buffer. - - Type of elements in the data array. - Offset in bytes from the beginning of the vertex buffer to the start of the copied data. - Data array. - Index at which to start copying from . - Must be within the array bounds. - Number of elements to copy from . - The combination of and - must be within the array bounds. - Specifies how far apart, in bytes, elements from should be when - they are copied into the vertex buffer. - In almost all cases this should be sizeof(T), to create a tightly-packed vertex buffer. - If you specify sizeof(T), elements from will be copied into the - vertex buffer with no padding between each element. - If you specify a value greater than sizeof(T), elements from will be copied - into the vertex buffer with padding between each element. - If you specify 0 for this parameter, it will be treated as if you had specified sizeof(T). - With the exception of 0, you must specify a value greater than or equal to sizeof(T). - - If T is VertexPositionTexture, but you want to set only the position component of the vertex data, - you would call this method as follows: - - Vector3[] positions = new Vector3[numVertices]; - vertexBuffer.SetData(0, positions, 0, numVertices, vertexBuffer.VertexDeclaration.VertexStride); - - - Continuing from the previous example, if you want to set only the texture coordinate component of the vertex data, - you would call this method as follows (note the use of : - - Vector2[] texCoords = new Vector2[numVertices]; - vertexBuffer.SetData(12, texCoords, 0, numVertices, vertexBuffer.VertexDeclaration.VertexStride); - - - - If you provide a byte[] in the parameter, then you should almost certainly - set to 1, to avoid leaving any padding between the byte values - when they are copied into the vertex buffer. - - - - - Sets the vertex buffer data, specifying the index at which to start copying from the source data array, - and the number of elements to copy from the source data array. This is the same as calling - with offsetInBytes equal to 0, - and vertexStride equal to sizeof(T). - - Type of elements in the data array. - Data array. - Index at which to start copying from . - Must be within the array bounds. - Number of elements to copy from . - The combination of and - must be within the array bounds. - - - - Sets the vertex buffer data. This is the same as calling - with offsetInBytes and startIndex equal to 0, elementCount equal to data.Length, - and vertexStride equal to sizeof(T). - - Type of elements in the data array. - Data array. - - - - Defines how a vertex buffer is bound to the graphics device for rendering. - - - - - Gets the vertex buffer. - - The vertex buffer. - - - - Gets the index of the first vertex in the vertex buffer to use. - - The index of the first vertex in the vertex buffer to use. - - - - Gets the number of instances to draw using the same per-instance data before advancing - in the buffer by one element. - - - 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 and greater than 0 for per-instance data. - - - - - Creates an instance of . - - The vertex buffer to bind. - - - - Creates an instance of . - - The vertex buffer to bind. - - The index of the first vertex in the vertex buffer to use. - - - - - Creates an instance of VertexBufferBinding. - - The vertex buffer to bind. - - The index of the first vertex in the vertex buffer to use. - - - 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 - and greater than 0 for per-instance data. - - - is . - - - or is invalid. - - - - - Stores the vertex buffers to be bound to the input assembler stage. - - - - - Initializes a new instance of the class. - - The maximum number of vertex buffer slots. - - - - Clears the vertex buffer slots. - - - if the input layout was changed; otherwise, - . - - - - - Binds the specified vertex buffer to the first input slot. - - The vertex buffer. - - The offset (in vertices) from the beginning of the vertex buffer to the first vertex to - use. - - - if the input layout was changed; otherwise, - . - - - - - Binds the the specified vertex buffers to the input slots. - - The vertex buffer bindings. - - if the input layout was changed; otherwise, - . - - - - - Gets vertex buffer bound to the specified input slots. - - The vertex buffer binding. - - - - Gets vertex buffers bound to the input slots. - - The vertex buffer bindings. - - - - Creates an that can be used as a key in the - . - - The . - - - - Helper class which ensures we only lookup a vertex - declaration for a particular type once. - - A vertex structure which implements IVertexType. - - - - Defines per-vertex data of a vertex buffer. - - - implements and can be used as - a key in a dictionary. Two vertex declarations are considered equal if the vertices are - structurally equivalent, i.e. the vertex elements and the vertex stride are identical. (The - properties and are - ignored in and !) - - - - - Gets the internal vertex elements array. - - The internal vertex elements array. - - - - Initializes a new instance of the class. - - The vertex elements. - - is or empty. - - - - - Initializes a new instance of the class. - - The size of a vertex (including padding) in bytes. - The vertex elements. - - is or empty. - - - - - Returns the VertexDeclaration for Type. - - A value type which implements the IVertexType interface. - The VertexDeclaration. - - Prefer to use VertexDeclarationCache when the declaration lookup - can be performed with a templated type. - - - - - Gets a copy of the vertex elements. - - A copy of the vertex elements. - - - - Gets the size of a vertex (including padding) in bytes. - - The size of a vertex (including padding) in bytes. - - - - Determines whether the specified is equal to this instance. - - The object to compare with the current object. - - if the specified is equal to this instance; - otherwise, . - - - - - Determines whether the specified is equal to this - instance. - - The object to compare with the current object. - - if the specified is equal to this - instance; otherwise, . - - - - - 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. - - - - - Compares two instances to determine whether they are the - same. - - The first instance. - The second instance. - - if the and are - the same; otherwise, . - - - - - Compares two instances to determine whether they are - different. - - The first instance. - The second instance. - - if the and are - the different; otherwise, . - - - - - Defines a single element in a vertex. - - - - - Gets or sets the offset in bytes from the beginning of the stream to the vertex element. - - The offset in bytes. - - - - Gets or sets the data format. - - The data format. - - - - Gets or sets the HLSL semantic of the element in the vertex shader input. - - The HLSL semantic of the element in the vertex shader input. - - - - Gets or sets the semantic index. - - - The semantic index, which is required if the semantic is used for more than one vertex - element. - - - Usage indices in a vertex declaration usually start with 0. When multiple vertex buffers - are bound to the input assembler stage (see ), - MonoGame internally adjusts the usage indices based on the order in which the vertex - buffers are bound. - - - - - Initializes a new instance of the struct. - - The offset in bytes from the beginning of the stream to the vertex element. - The element format. - The HLSL semantic of the element in the vertex shader input-signature. - The semantic index, which is required if the semantic is used for more than one vertex element. - - - - 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. - - - - Determines whether the specified is equal to this instance. - - The object to compare with the current object. - - if the specified is equal to this instance; - otherwise, . - - - - - Determines whether the specified is equal to this - instance. - - The object to compare with the current object. - - if the specified is equal to this - instance; otherwise, . - - - - - Compares two instances to determine whether they are the - same. - - The first instance. - The second instance. - - if the and are - the same; otherwise, . - - - - - Compares two instances to determine whether they are - different. - - The first instance. - The second instance. - - if the and are - the different; otherwise, . - - - - - Gets the DirectX . - - The input resource 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. - - . - - Unknown vertex element format or usage! - - - - - Defines vertex element formats. - - - - - Single 32-bit floating point number. - - - - - Two component 32-bit floating point number. - - - - - Three component 32-bit floating point number. - - - - - Four component 32-bit floating point number. - - - - - Four component, packed unsigned byte, mapped to 0 to 1 range. - - - - - Four component unsigned byte. - - - - - Two component signed 16-bit integer. - - - - - Four component signed 16-bit integer. - - - - - Normalized, two component signed 16-bit integer. - - - - - Normalized, four component signed 16-bit integer. - - - - - Two component 16-bit floating point number. - - - - - Four component 16-bit floating point number. - - - - - Defines usage for vertex elements. - - - - - Position data. - - - - - Color data. - - - - - Texture coordinate data or can be used for user-defined data. - - - - - Normal data. - - - - - Binormal data. - - - - - Tangent data. - - - - - Blending indices data. - - - - - Blending weight data. - - - - - Depth data. - - - - - Fog data. - - - - - Point size data. Usable for drawing point sprites. - - - - - Sampler data for specifies the displacement value to look up. - - - - - Single, positive float value, specifies a tessellation factor used in the tessellation unit to control the rate of tessellation. - - - - - Stores the vertex layout (input elements) for the input assembler stage. - - - In the DirectX version the input layouts are cached in a dictionary. The - is used as the key in the dictionary and therefore needs to - implement . Two instance are - considered equal if the vertex layouts are structurally identical. - - - - - Gets or sets the number of used input slots. - - The number of used input slots. - - - - Initializes a new instance of the class. - - The maximum number of vertex buffer slots. - - - - Initializes a new instance of the class. - - The array for storing vertex declarations. - The array for storing instance frequencies. - The number of used slots. - - - - Determines whether the specified is equal to this instance. - - The object to compare with the current object. - - if the specified is equal to this instance; - otherwise, . - - - - - Determines whether the specified is equal to this - instance. - - The object to compare with the current object. - - if the specified is equal to this - instance; otherwise, . - - - - - 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. - - - - - Compares two instances to determine whether they are the - same. - - The first instance. - The second instance. - - if the and are - the same; otherwise, . - - - - - Compares two instances to determine whether they are - different. - - The first instance. - The second instance. - - if the and are - the different; otherwise, . - - - - - Describes the view bounds for render-target surface. - - - - - The height of the bounds in pixels. - - - - - The upper limit of depth of this viewport. - - - - - The lower limit of depth of this viewport. - - - - - The width of the bounds in pixels. - - - - - The y coordinate of the beginning of this viewport. - - - - - The x coordinate of the beginning of this viewport. - - - - - Gets the aspect ratio of this , which is width / height. - - - - - Gets or sets a boundary of this . - - - - - Returns the subset of the viewport that is guaranteed to be visible on a lower quality display. - - - - - Constructs a viewport from the given values. The will be 0.0 and will be 1.0. - - The x coordinate of the upper-left corner of the view bounds in pixels. - The y coordinate of the upper-left corner of the view bounds in pixels. - The width of the view bounds in pixels. - The height of the view bounds in pixels. - - - - Constructs a viewport from the given values. - - The x coordinate of the upper-left corner of the view bounds in pixels. - The y coordinate of the upper-left corner of the view bounds in pixels. - The width of the view bounds in pixels. - The height of the view bounds in pixels. - The lower limit of depth. - The upper limit of depth. - - - - Creates a new instance of struct. - - A that defines the location and size of the in a render target. - - - - Projects a from model space into screen space. - The source point is transformed from model space to world space by the world matrix, - then from world space to view space by the view matrix, and - finally from view space to screen space by the projection matrix. - - The to project. - The projection . - The view . - The world . - - - - - Unprojects a from screen space into model space. - The source point is transformed from screen space to view space by the inverse of the projection matrix, - then from view space to world space by the inverse of the view matrix, and - finally from world space to model space by the inverse of the world matrix. - Note source.Z must be less than or equal to MaxDepth. - - The to unproject. - The projection . - The view . - The world . - - - - - Returns a representation of this in the format: - {X:[] Y:[] Width:[] Height:[] MinDepth:[] MaxDepth:[]} - - A representation of this . - - - - The settings used in creation of the graphics device. - See . - - - - - The graphics adapter on which the graphics device will be created. - - - This is only valid on desktop systems where multiple graphics - adapters are possible. Defaults to . - - - - - The requested graphics device feature set. - - - - - The settings that define how graphics will be presented to the display. - - - - - Used to initialize and control the presentation of the graphics device. - - - - - The default back buffer width. - - - - - The default back buffer height. - - - - - Associates this graphics device manager to a game instances. - - The game instance to attach. - - - - This populates a GraphicsDeviceInformation instance and invokes PreparingDeviceSettings to - allow users to change the settings. Then returns that GraphicsDeviceInformation. - Throws NullReferenceException if users set GraphicsDeviceInformation.PresentationParameters to null. - - - - - Applies any pending property changes to the graphics device. - - - - - Toggles between windowed and fullscreen modes. - - - Note that on platforms that do not support windowed modes this has no affect. - - - - - The profile which determines the graphics feature level. - - - - - Returns the graphics device for this manager. - - - - - Indicates the desire to switch into fullscreen mode. - - - When called at startup this will automatically set fullscreen mode during initialization. If - set after startup you must call ApplyChanges() for the fullscreen mode to be changed. - Note that for some platforms that do not support windowed modes this property has no affect. - - - - - Gets or sets the boolean which defines how window switches from windowed to fullscreen state. - "Hard" mode(true) is slow to switch, but more effecient for performance, while "soft" mode(false) is vice versa. - The default value is true. - - - - - Indicates if DX9 style pixel addressing or current standard - pixel addressing should be used. This flag is set to - false by default. It should be set to true - for XNA compatibility. It is recommended to leave this flag - set to false for projects that are not ported from - XNA. This value is passed to . - - - XNA uses DirectX9 for its graphics. DirectX9 interprets UV - coordinates differently from other graphics API's. This is - typically referred to as the half-pixel offset. MonoGame - replicates XNA behavior if this flag is set to true. - - - - - Indicates the desire for a multisampled back buffer. - - - When called at startup this will automatically set the MSAA mode during initialization. If - set after startup you must call ApplyChanges() for the MSAA mode to be changed. - - - - - Indicates the desired back buffer color format. - - - When called at startup this will automatically set the format during initialization. If - set after startup you must call ApplyChanges() for the format to be changed. - - - - - Indicates the desired back buffer height in pixels. - - - When called at startup this will automatically set the height during initialization. If - set after startup you must call ApplyChanges() for the height to be changed. - - - - - Indicates the desired back buffer width in pixels. - - - When called at startup this will automatically set the width during initialization. If - set after startup you must call ApplyChanges() for the width to be changed. - - - - - Indicates the desired depth-stencil buffer format. - - - The depth-stencil buffer format defines the scene depth precision and stencil bits available for effects during rendering. - When called at startup this will automatically set the format during initialization. If - set after startup you must call ApplyChanges() for the format to be changed. - - - - - Indicates the desire for vsync when presenting the back buffer. - - - Vsync limits the frame rate of the game to the monitor referesh rate to prevent screen tearing. - When called at startup this will automatically set the vsync mode during initialization. If - set after startup you must call ApplyChanges() for the vsync mode to be changed. - - - - - Indicates the desired allowable display orientations when the device is rotated. - - - This property only applies to mobile platforms with automatic display rotation. - When called at startup this will automatically apply the supported orientations during initialization. If - set after startup you must call ApplyChanges() for the supported orientations to be changed. - - - - - The key that was either pressed or released. - - - - - Create a new keyboard input event - - The key involved in this event - - - - Gets the duration of the Album. - - - - - Gets the Genre of the Album. - - - - - Gets a value indicating whether the Album has associated album art. - - - - - Gets a value indicating whether the object is disposed. - - - - - Gets the name of the Album. - - - - - Gets a SongCollection that contains the songs on the album. - - - - - Immediately releases the unmanaged resources used by this object. - - - - - Returns the stream that contains the album art image data. - - - - - Returns the stream that contains the album thumbnail image data. - - - - - Returns a String representation of this Album. - - - - - Gets the hash code for this instance. - - - - - Gets the number of Album objects in the AlbumCollection. - - - - - Gets a value indicating whether the object is disposed. - - - - - Gets the Album at the specified index in the AlbumCollection. - - Index of the Album to get. - - - - Immediately releases the unmanaged resources used by this object. - - - - - Gets the AlbumCollection for the Artist. - - - - - Gets a value indicating whether the object is disposed. - - - - - Gets the name of the Artist. - - - - - Gets the SongCollection for the Artist. - - - - - Immediately releases the unmanaged resources used by this object. - - - - - Returns a String representation of the Artist. - - - - - Gets the hash code for this instance. - - - - - Gets the AlbumCollection for the Genre. - - - - - Gets a value indicating whether the object is disposed. - - - - - Gets the name of the Genre. - - - - - Gets the SongCollection for the Genre. - - - - - Immediately releases the unmanaged resources used by this object. - - - - - Returns a String representation of the Genre. - - - - - Gets the hash code for this instance. - - - - - Load the contents of MediaLibrary. This blocking call might take up to a few minutes depending on the platform and the size of the user's music library. - - Callback that reports back the progress of the music library loading in percents (0-100). - - - - This class provides a way for the MediaManager to be initialised exactly once, - regardless of how many different places need it, and which is called first. - - - - - Ensures that the MediaManager has been initialised. Must be called from UI thread. - - - - - Ensures that the MediaManager has been shutdown. Must be called from UI thread. - - - - - Play clears the current playback queue, and then queues up the specified song for playback. - Playback starts immediately at the beginning of the song. - - - - - Play clears the current playback queue, and then queues up the specified song for playback. - Playback starts immediately at the given position of the song. - - - - - Gets the Album on which the Song appears. - - - - - Gets the Artist of the Song. - - - - - Gets the Genre of the Song. - - - - - Returns a song that can be played via . - - The name for the song. See . - The path to the song file. - - - - - Type of sounds in a video - - - - - This video contains only music. - - - - - This video contains only dialog. - - - - - This video contains music and dialog. - - - - - Represents a video. - - - - - I actually think this is a file PATH... - - - - - Gets the duration of the Video. - - - - - Gets the frame rate of this video. - - - - - Gets the height of this video, in pixels. - - - - - Gets the VideoSoundtrackType for this video. - - - - - Gets the width of this video, in pixels. - - - - - Gets a value that indicates whether the object is disposed. - - - - - Gets a value that indicates whether the player is playing video in a loop. - - - - - Gets or sets the muted setting for the video player. - - - - - Gets the play position within the currently playing video. - - - - - Gets the media playback state, MediaState. - - - - - Gets the Video that is currently playing. - - - - - Video player volume, from 0.0f (silence) to 1.0f (full volume relative to the current device volume). - - - - - Retrieves a Texture2D containing the current frame of video being played. - - The current frame of video. - Thrown if no video is set on the player - Thrown if the platform was unable to get a texture in a reasonable amount of time. Often the platform specific media code is running - in a different thread or process. Note: This may be a change from XNA behaviour - - - - Pauses the currently playing video. - - - - - Plays a Video. - - Video to play. - - - - Resumes a paused video. - - - - - Stops playing a video. - - - - - Immediately releases the unmanaged resources used by this object. - - - - - Compute a hash from a byte array. - - - Modified FNV Hash in C# - http://stackoverflow.com/a/468084 - - - - - Compute a hash from the content of a stream and restore the position. - - - Modified FNV Hash in C# - http://stackoverflow.com/a/468084 - - - - - Combines the filePath and relativeFile based on relativeFile being a file in the same location as filePath. - Relative directory operators (..) are also resolved - - "A\B\C.txt","D.txt" becomes "A\B\D.txt" - "A\B\C.txt","..\D.txt" becomes "A\D.txt" - Path to the file we are starting from - Relative location of another file to resolve the path to - - - - Returns the Assembly of a Type - - - - - Returns true if the given type represents a non-object type that is not abstract. - - - - - Returns true if the get method of the given property exist and are public. - Note that we allow a getter-only property to be serialized (and deserialized), - *if* CanDeserializeIntoExistingObject is true for the property type. - - - - - Returns true if the given type can be assigned the given value - - - - - Returns true if the given type can be assigned a value with the given object type - - - - - Generics handler for Marshal.SizeOf - - - - - Fallback handler for Marshal.SizeOf(type) - - - - - Returns the current timer resolution in milliseconds - - - - - Sleeps as long as possible without exceeding the specified period - - - - - Represents a Zlib stream for compression or decompression. - - - - - The ZlibStream is a Decorator on a . It adds ZLIB compression or decompression to any - stream. - - - Using this stream, applications can compress or decompress data via - stream Read() and Write() operations. Either compression or - decompression can occur through either reading or writing. The compression - format used is ZLIB, which is documented in IETF RFC 1950, "ZLIB Compressed - Data Format Specification version 3.3". This implementation of ZLIB always uses - DEFLATE as the compression method. (see IETF RFC 1951, "DEFLATE - Compressed Data Format Specification version 1.3.") - - - The ZLIB format allows for varying compression methods, window sizes, and dictionaries. - This implementation always uses the DEFLATE compression method, a preset dictionary, - and 15 window bits by default. - - - - This class is similar to DeflateStream, except that it adds the - RFC1950 header and trailer bytes to a compressed stream when compressing, or expects - the RFC1950 header and trailer bytes when decompressing. It is also similar to the - . - - - - - - - Create a ZlibStream using the specified CompressionMode. - - - - - When mode is CompressionMode.Compress, the ZlibStream - will use the default compression level. The "captive" stream will be - closed when the ZlibStream is closed. - - - - - - This example uses a ZlibStream to compress a file, and writes the - compressed data to another file. - - using (System.IO.Stream input = System.IO.File.OpenRead(fileToCompress)) - { - using (var raw = System.IO.File.Create(fileToCompress + ".zlib")) - { - using (Stream compressor = new ZlibStream(raw, CompressionMode.Compress)) - { - byte[] buffer = new byte[WORKING_BUFFER_SIZE]; - int n; - while ((n= input.Read(buffer, 0, buffer.Length)) != 0) - { - compressor.Write(buffer, 0, n); - } - } - } - } - - - Using input As Stream = File.OpenRead(fileToCompress) - Using raw As FileStream = File.Create(fileToCompress & ".zlib") - Using compressor As Stream = New ZlibStream(raw, CompressionMode.Compress) - Dim buffer As Byte() = New Byte(4096) {} - Dim n As Integer = -1 - Do While (n <> 0) - If (n > 0) Then - compressor.Write(buffer, 0, n) - End If - n = input.Read(buffer, 0, buffer.Length) - Loop - End Using - End Using - End Using - - - - The stream which will be read or written. - Indicates whether the ZlibStream will compress or decompress. - - - - Create a ZlibStream using the specified CompressionMode and - the specified CompressionLevel. - - - - - - When mode is CompressionMode.Decompress, the level parameter is ignored. - The "captive" stream will be closed when the ZlibStream is closed. - - - - - - This example uses a ZlibStream to compress data from a file, and writes the - compressed data to another file. - - - using (System.IO.Stream input = System.IO.File.OpenRead(fileToCompress)) - { - using (var raw = System.IO.File.Create(fileToCompress + ".zlib")) - { - using (Stream compressor = new ZlibStream(raw, - CompressionMode.Compress, - CompressionLevel.BestCompression)) - { - byte[] buffer = new byte[WORKING_BUFFER_SIZE]; - int n; - while ((n= input.Read(buffer, 0, buffer.Length)) != 0) - { - compressor.Write(buffer, 0, n); - } - } - } - } - - - - Using input As Stream = File.OpenRead(fileToCompress) - Using raw As FileStream = File.Create(fileToCompress & ".zlib") - Using compressor As Stream = New ZlibStream(raw, CompressionMode.Compress, CompressionLevel.BestCompression) - Dim buffer As Byte() = New Byte(4096) {} - Dim n As Integer = -1 - Do While (n <> 0) - If (n > 0) Then - compressor.Write(buffer, 0, n) - End If - n = input.Read(buffer, 0, buffer.Length) - Loop - End Using - End Using - End Using - - - - The stream to be read or written while deflating or inflating. - Indicates whether the ZlibStream will compress or decompress. - A tuning knob to trade speed for effectiveness. - - - - Create a ZlibStream using the specified CompressionMode, and - explicitly specify whether the captive stream should be left open after - Deflation or Inflation. - - - - - - When mode is CompressionMode.Compress, the ZlibStream will use - the default compression level. - - - - This constructor allows the application to request that the captive stream - remain open after the deflation or inflation occurs. By default, after - Close() is called on the stream, the captive stream is also - closed. In some cases this is not desired, for example if the stream is a - that will be re-read after - compression. Specify true for the parameter to leave the stream - open. - - - - See the other overloads of this constructor for example code. - - - - - The stream which will be read or written. This is called the - "captive" stream in other places in this documentation. - Indicates whether the ZlibStream will compress or decompress. - true if the application would like the stream to remain - open after inflation/deflation. - - - - Create a ZlibStream using the specified CompressionMode - and the specified CompressionLevel, and explicitly specify - whether the stream should be left open after Deflation or Inflation. - - - - - - This constructor allows the application to request that the captive - stream remain open after the deflation or inflation occurs. By - default, after Close() is called on the stream, the captive - stream is also closed. In some cases this is not desired, for example - if the stream is a that will be - re-read after compression. Specify true for the parameter to leave the stream open. - - - - When mode is CompressionMode.Decompress, the level parameter is - ignored. - - - - - - - This example shows how to use a ZlibStream to compress the data from a file, - and store the result into another file. The filestream remains open to allow - additional data to be written to it. - - - using (var output = System.IO.File.Create(fileToCompress + ".zlib")) - { - using (System.IO.Stream input = System.IO.File.OpenRead(fileToCompress)) - { - using (Stream compressor = new ZlibStream(output, CompressionMode.Compress, CompressionLevel.BestCompression, true)) - { - byte[] buffer = new byte[WORKING_BUFFER_SIZE]; - int n; - while ((n= input.Read(buffer, 0, buffer.Length)) != 0) - { - compressor.Write(buffer, 0, n); - } - } - } - // can write additional data to the output stream here - } - - - Using output As FileStream = File.Create(fileToCompress & ".zlib") - Using input As Stream = File.OpenRead(fileToCompress) - Using compressor As Stream = New ZlibStream(output, CompressionMode.Compress, CompressionLevel.BestCompression, True) - Dim buffer As Byte() = New Byte(4096) {} - Dim n As Integer = -1 - Do While (n <> 0) - If (n > 0) Then - compressor.Write(buffer, 0, n) - End If - n = input.Read(buffer, 0, buffer.Length) - Loop - End Using - End Using - ' can write additional data to the output stream here. - End Using - - - - The stream which will be read or written. - - Indicates whether the ZlibStream will compress or decompress. - - - true if the application would like the stream to remain open after - inflation/deflation. - - - - A tuning knob to trade speed for effectiveness. This parameter is - effective only when mode is CompressionMode.Compress. - - - - - This property sets the flush behavior on the stream. - Sorry, though, not sure exactly how to describe all the various settings. - - - - - The size of the working buffer for the compression codec. - - - - - The working buffer is used for all stream operations. The default size is - 1024 bytes. The minimum size is 128 bytes. You may get better performance - with a larger buffer. Then again, you might not. You would have to test - it. - - - - Set this before the first call to Read() or Write() on the - stream. If you try to set it afterwards, it will throw. - - - - - Returns the total number of bytes input so far. - - - Returns the total number of bytes output so far. - - - - Dispose the stream. - - - - This may or may not result in a Close() call on the captive - stream. See the constructors that have a leaveOpen parameter - for more information. - - - This method may be invoked in two distinct scenarios. If disposing - == true, the method has been called directly or indirectly by a - user's code, for example via the public Dispose() method. In this - case, both managed and unmanaged resources can be referenced and - disposed. If disposing == false, the method has been called by the - runtime from inside the object finalizer and this method should not - reference other objects; in that case only unmanaged resources must - be referenced or disposed. - - - - indicates whether the Dispose method was invoked by user code. - - - - - Indicates whether the stream can be read. - - - The return value depends on whether the captive stream supports reading. - - - - - Indicates whether the stream supports Seek operations. - - - Always returns false. - - - - - Indicates whether the stream can be written. - - - The return value depends on whether the captive stream supports writing. - - - - - Flush the stream. - - - - - Reading this property always throws a . - - - - - The position of the stream pointer. - - - - Setting this property always throws a . Reading will return the total bytes - written out, if used in writing, or the total bytes read in, if used in - reading. The count may refer to compressed bytes or uncompressed bytes, - depending on how you've used the stream. - - - - - Read data from the stream. - - - - - - If you wish to use the ZlibStream to compress data while reading, - you can create a ZlibStream with CompressionMode.Compress, - providing an uncompressed data stream. Then call Read() on that - ZlibStream, and the data read will be compressed. If you wish to - use the ZlibStream to decompress data while reading, you can create - a ZlibStream with CompressionMode.Decompress, providing a - readable compressed data stream. Then call Read() on that - ZlibStream, and the data will be decompressed as it is read. - - - - A ZlibStream can be used for Read() or Write(), but - not both. - - - - - - The buffer into which the read data should be placed. - - - the offset within that data array to put the first byte read. - - the number of bytes to read. - - the number of bytes read - - - - Calling this method always throws a . - - - The offset to seek to.... - IF THIS METHOD ACTUALLY DID ANYTHING. - - - The reference specifying how to apply the offset.... IF - THIS METHOD ACTUALLY DID ANYTHING. - - - nothing. This method always throws. - - - - Calling this method always throws a . - - - The new value for the stream length.... IF - THIS METHOD ACTUALLY DID ANYTHING. - - - - - Write data to the stream. - - - - - - If you wish to use the ZlibStream to compress data while writing, - you can create a ZlibStream with CompressionMode.Compress, - and a writable output stream. Then call Write() on that - ZlibStream, providing uncompressed data as input. The data sent to - the output stream will be the compressed form of the data written. If you - wish to use the ZlibStream to decompress data while writing, you - can create a ZlibStream with CompressionMode.Decompress, and a - writable output stream. Then call Write() on that stream, - providing previously compressed data. The data sent to the output stream - will be the decompressed form of the data written. - - - - A ZlibStream can be used for Read() or Write(), but not both. - - - The buffer holding data to write to the stream. - the offset within that data array to find the first byte to write. - the number of bytes to write. - - - - Compress a string into a byte array using ZLIB. - - - - Uncompress it with . - - - - - - - - A string to compress. The string will first be encoded - using UTF8, then compressed. - - - The string in compressed form - - - - Compress a byte array into a new byte array using ZLIB. - - - - Uncompress it with . - - - - - - - A buffer to compress. - - - The data in compressed form - - - - Uncompress a ZLIB-compressed byte array into a single string. - - - - - - - A buffer containing ZLIB-compressed data. - - - The uncompressed string - - - - Uncompress a ZLIB-compressed byte array into a byte array. - - - - - - - A buffer containing ZLIB-compressed data. - - - The data in uncompressed form - - - - A bunch of constants used in the Zlib interface. - - - - - The maximum number of window bits for the Deflate algorithm. - - - - - The default number of window bits for the Deflate algorithm. - - - - - indicates everything is A-OK - - - - - Indicates that the last operation reached the end of the stream. - - - - - The operation ended in need of a dictionary. - - - - - There was an error with the stream - not enough data, not open and readable, etc. - - - - - There was an error with the data - not enough data, bad data, etc. - - - - - There was an error with the working buffer. - - - - - The size of the working buffer used in the ZlibCodec class. Defaults to 8192 bytes. - - - - - The minimum size of the working buffer used in the ZlibCodec class. Currently it is 128 bytes. - - - - - Encoder and Decoder for ZLIB and DEFLATE (IETF RFC1950 and RFC1951). - - - - This class compresses and decompresses data according to the Deflate algorithm - and optionally, the ZLIB format, as documented in RFC 1950 - ZLIB and RFC 1951 - DEFLATE. - - - - - The buffer from which data is taken. - - - - - An index into the InputBuffer array, indicating where to start reading. - - - - - The number of bytes available in the InputBuffer, starting at NextIn. - - - Generally you should set this to InputBuffer.Length before the first Inflate() or Deflate() call. - The class will update this number as calls to Inflate/Deflate are made. - - - - - Total number of bytes read so far, through all calls to Inflate()/Deflate(). - - - - - Buffer to store output data. - - - - - An index into the OutputBuffer array, indicating where to start writing. - - - - - The number of bytes available in the OutputBuffer, starting at NextOut. - - - Generally you should set this to OutputBuffer.Length before the first Inflate() or Deflate() call. - The class will update this number as calls to Inflate/Deflate are made. - - - - - Total number of bytes written to the output so far, through all calls to Inflate()/Deflate(). - - - - - used for diagnostics, when something goes wrong! - - - - - The compression level to use in this codec. Useful only in compression mode. - - - - - The number of Window Bits to use. - - - This gauges the size of the sliding window, and hence the - compression effectiveness as well as memory consumption. It's best to just leave this - setting alone if you don't know what it is. The maximum value is 15 bits, which implies - a 32k window. - - - - - The compression strategy to use. - - - This is only effective in compression. The theory offered by ZLIB is that different - strategies could potentially produce significant differences in compression behavior - for different data sets. Unfortunately I don't have any good recommendations for how - to set it differently. When I tested changing the strategy I got minimally different - compression performance. It's best to leave this property alone if you don't have a - good feel for it. Or, you may want to produce a test harness that runs through the - different strategy options and evaluates them on different file types. If you do that, - let me know your results. - - - - - The Adler32 checksum on the data transferred through the codec so far. You probably don't need to look at this. - - - - - Create a ZlibCodec. - - - If you use this default constructor, you will later have to explicitly call - InitializeInflate() or InitializeDeflate() before using the ZlibCodec to compress - or decompress. - - - - - Create a ZlibCodec that either compresses or decompresses. - - - Indicates whether the codec should compress (deflate) or decompress (inflate). - - - - - Initialize the inflation state. - - - It is not necessary to call this before using the ZlibCodec to inflate data; - It is implicitly called when you call the constructor. - - Z_OK if everything goes well. - - - - Initialize the inflation state with an explicit flag to - govern the handling of RFC1950 header bytes. - - - - By default, the ZLIB header defined in RFC 1950 is expected. If - you want to read a zlib stream you should specify true for - expectRfc1950Header. If you have a deflate stream, you will want to specify - false. It is only necessary to invoke this initializer explicitly if you - want to specify false. - - - whether to expect an RFC1950 header byte - pair when reading the stream of data to be inflated. - - Z_OK if everything goes well. - - - - Initialize the ZlibCodec for inflation, with the specified number of window bits. - - The number of window bits to use. If you need to ask what that is, - then you shouldn't be calling this initializer. - Z_OK if all goes well. - - - - Initialize the inflation state with an explicit flag to govern the handling of - RFC1950 header bytes. - - - - If you want to read a zlib stream you should specify true for - expectRfc1950Header. In this case, the library will expect to find a ZLIB - header, as defined in RFC - 1950, in the compressed stream. If you will be reading a DEFLATE or - GZIP stream, which does not have such a header, you will want to specify - false. - - - whether to expect an RFC1950 header byte pair when reading - the stream of data to be inflated. - The number of window bits to use. If you need to ask what that is, - then you shouldn't be calling this initializer. - Z_OK if everything goes well. - - - - Inflate the data in the InputBuffer, placing the result in the OutputBuffer. - - - You must have set InputBuffer and OutputBuffer, NextIn and NextOut, and AvailableBytesIn and - AvailableBytesOut before calling this method. - - - - private void InflateBuffer() - { - int bufferSize = 1024; - byte[] buffer = new byte[bufferSize]; - ZlibCodec decompressor = new ZlibCodec(); - - Console.WriteLine("\n============================================"); - Console.WriteLine("Size of Buffer to Inflate: {0} bytes.", CompressedBytes.Length); - MemoryStream ms = new MemoryStream(DecompressedBytes); - - int rc = decompressor.InitializeInflate(); - - decompressor.InputBuffer = CompressedBytes; - decompressor.NextIn = 0; - decompressor.AvailableBytesIn = CompressedBytes.Length; - - decompressor.OutputBuffer = buffer; - - // pass 1: inflate - do - { - decompressor.NextOut = 0; - decompressor.AvailableBytesOut = buffer.Length; - rc = decompressor.Inflate(FlushType.None); - - if (rc != ZlibConstants.Z_OK && rc != ZlibConstants.Z_STREAM_END) - throw new Exception("inflating: " + decompressor.Message); - - ms.Write(decompressor.OutputBuffer, 0, buffer.Length - decompressor.AvailableBytesOut); - } - while (decompressor.AvailableBytesIn > 0 || decompressor.AvailableBytesOut == 0); - - // pass 2: finish and flush - do - { - decompressor.NextOut = 0; - decompressor.AvailableBytesOut = buffer.Length; - rc = decompressor.Inflate(FlushType.Finish); - - if (rc != ZlibConstants.Z_STREAM_END && rc != ZlibConstants.Z_OK) - throw new Exception("inflating: " + decompressor.Message); - - if (buffer.Length - decompressor.AvailableBytesOut > 0) - ms.Write(buffer, 0, buffer.Length - decompressor.AvailableBytesOut); - } - while (decompressor.AvailableBytesIn > 0 || decompressor.AvailableBytesOut == 0); - - decompressor.EndInflate(); - } - - - - The flush to use when inflating. - Z_OK if everything goes well. - - - - Ends an inflation session. - - - Call this after successively calling Inflate(). This will cause all buffers to be flushed. - After calling this you cannot call Inflate() without a intervening call to one of the - InitializeInflate() overloads. - - Z_OK if everything goes well. - - - - I don't know what this does! - - Z_OK if everything goes well. - - - - Initialize the ZlibCodec for deflation operation. - - - The codec will use the MAX window bits and the default level of compression. - - - - int bufferSize = 40000; - byte[] CompressedBytes = new byte[bufferSize]; - byte[] DecompressedBytes = new byte[bufferSize]; - - ZlibCodec compressor = new ZlibCodec(); - - compressor.InitializeDeflate(CompressionLevel.Default); - - compressor.InputBuffer = System.Text.ASCIIEncoding.ASCII.GetBytes(TextToCompress); - compressor.NextIn = 0; - compressor.AvailableBytesIn = compressor.InputBuffer.Length; - - compressor.OutputBuffer = CompressedBytes; - compressor.NextOut = 0; - compressor.AvailableBytesOut = CompressedBytes.Length; - - while (compressor.TotalBytesIn != TextToCompress.Length && compressor.TotalBytesOut < bufferSize) - { - compressor.Deflate(FlushType.None); - } - - while (true) - { - int rc= compressor.Deflate(FlushType.Finish); - if (rc == ZlibConstants.Z_STREAM_END) break; - } - - compressor.EndDeflate(); - - - - Z_OK if all goes well. You generally don't need to check the return code. - - - - Initialize the ZlibCodec for deflation operation, using the specified CompressionLevel. - - - The codec will use the maximum window bits (15) and the specified - CompressionLevel. It will emit a ZLIB stream as it compresses. - - The compression level for the codec. - Z_OK if all goes well. - - - - Initialize the ZlibCodec for deflation operation, using the specified CompressionLevel, - and the explicit flag governing whether to emit an RFC1950 header byte pair. - - - The codec will use the maximum window bits (15) and the specified CompressionLevel. - If you want to generate a zlib stream, you should specify true for - wantRfc1950Header. In this case, the library will emit a ZLIB - header, as defined in RFC - 1950, in the compressed stream. - - The compression level for the codec. - whether to emit an initial RFC1950 byte pair in the compressed stream. - Z_OK if all goes well. - - - - Initialize the ZlibCodec for deflation operation, using the specified CompressionLevel, - and the specified number of window bits. - - - The codec will use the specified number of window bits and the specified CompressionLevel. - - The compression level for the codec. - the number of window bits to use. If you don't know what this means, don't use this method. - Z_OK if all goes well. - - - - Initialize the ZlibCodec for deflation operation, using the specified - CompressionLevel, the specified number of window bits, and the explicit flag - governing whether to emit an RFC1950 header byte pair. - - - The compression level for the codec. - whether to emit an initial RFC1950 byte pair in the compressed stream. - the number of window bits to use. If you don't know what this means, don't use this method. - Z_OK if all goes well. - - - - Deflate one batch of data. - - - You must have set InputBuffer and OutputBuffer before calling this method. - - - - private void DeflateBuffer(CompressionLevel level) - { - int bufferSize = 1024; - byte[] buffer = new byte[bufferSize]; - ZlibCodec compressor = new ZlibCodec(); - - Console.WriteLine("\n============================================"); - Console.WriteLine("Size of Buffer to Deflate: {0} bytes.", UncompressedBytes.Length); - MemoryStream ms = new MemoryStream(); - - int rc = compressor.InitializeDeflate(level); - - compressor.InputBuffer = UncompressedBytes; - compressor.NextIn = 0; - compressor.AvailableBytesIn = UncompressedBytes.Length; - - compressor.OutputBuffer = buffer; - - // pass 1: deflate - do - { - compressor.NextOut = 0; - compressor.AvailableBytesOut = buffer.Length; - rc = compressor.Deflate(FlushType.None); - - if (rc != ZlibConstants.Z_OK && rc != ZlibConstants.Z_STREAM_END) - throw new Exception("deflating: " + compressor.Message); - - ms.Write(compressor.OutputBuffer, 0, buffer.Length - compressor.AvailableBytesOut); - } - while (compressor.AvailableBytesIn > 0 || compressor.AvailableBytesOut == 0); - - // pass 2: finish and flush - do - { - compressor.NextOut = 0; - compressor.AvailableBytesOut = buffer.Length; - rc = compressor.Deflate(FlushType.Finish); - - if (rc != ZlibConstants.Z_STREAM_END && rc != ZlibConstants.Z_OK) - throw new Exception("deflating: " + compressor.Message); - - if (buffer.Length - compressor.AvailableBytesOut > 0) - ms.Write(buffer, 0, buffer.Length - compressor.AvailableBytesOut); - } - while (compressor.AvailableBytesIn > 0 || compressor.AvailableBytesOut == 0); - - compressor.EndDeflate(); - - ms.Seek(0, SeekOrigin.Begin); - CompressedBytes = new byte[compressor.TotalBytesOut]; - ms.Read(CompressedBytes, 0, CompressedBytes.Length); - } - - - whether to flush all data as you deflate. Generally you will want to - use Z_NO_FLUSH here, in a series of calls to Deflate(), and then call EndDeflate() to - flush everything. - - Z_OK if all goes well. - - - - End a deflation session. - - - Call this after making a series of one or more calls to Deflate(). All buffers are flushed. - - Z_OK if all goes well. - - - - Reset a codec for another deflation session. - - - Call this to reset the deflation state. For example if a thread is deflating - non-consecutive blocks, you can call Reset() after the Deflate(Sync) of the first - block and before the next Deflate(None) of the second block. - - Z_OK if all goes well. - - - - Set the CompressionStrategy and CompressionLevel for a deflation session. - - the level of compression to use. - the strategy to use for compression. - Z_OK if all goes well. - - - - Set the dictionary to be used for either Inflation or Deflation. - - The dictionary bytes to use. - Z_OK if all goes well. - - - - Describes how to flush the current deflate operation. - - - The different FlushType values are useful when using a Deflate in a streaming application. - - - - No flush at all. - - - Closes the current block, but doesn't flush it to - the output. Used internally only in hypothetical - scenarios. This was supposed to be removed by Zlib, but it is - still in use in some edge cases. - - - - - Use this during compression to specify that all pending output should be - flushed to the output buffer and the output should be aligned on a byte - boundary. You might use this in a streaming communication scenario, so that - the decompressor can get all input data available so far. When using this - with a ZlibCodec, AvailableBytesIn will be zero after the call if - enough output space has been provided before the call. Flushing will - degrade compression and so it should be used only when necessary. - - - - - Use this during compression to specify that all output should be flushed, as - with FlushType.Sync, but also, the compression state should be reset - so that decompression can restart from this point if previous compressed - data has been damaged or if random access is desired. Using - FlushType.Full too often can significantly degrade the compression. - - - - Signals the end of the compression/decompression stream. - - - - The compression level to be used when using a DeflateStream or ZlibStream with CompressionMode.Compress. - - - - - None means that the data will be simply stored, with no change at all. - If you are producing ZIPs for use on Mac OSX, be aware that archives produced with CompressionLevel.None - cannot be opened with the default zip reader. Use a different CompressionLevel. - - - - - Same as None. - - - - - The fastest but least effective compression. - - - - - A synonym for BestSpeed. - - - - - A little slower, but better, than level 1. - - - - - A little slower, but better, than level 2. - - - - - A little slower, but better, than level 3. - - - - - A little slower than level 4, but with better compression. - - - - - The default compression level, with a good balance of speed and compression efficiency. - - - - - A synonym for Default. - - - - - Pretty good compression! - - - - - Better compression than Level7! - - - - - The "best" compression, where best means greatest reduction in size of the input data stream. - This is also the slowest compression. - - - - - A synonym for BestCompression. - - - - - Describes options for how the compression algorithm is executed. Different strategies - work better on different sorts of data. The strategy parameter can affect the compression - ratio and the speed of compression but not the correctness of the compresssion. - - - - - The default strategy is probably the best for normal data. - - - - - The Filtered strategy is intended to be used most effectively with data produced by a - filter or predictor. By this definition, filtered data consists mostly of small - values with a somewhat random distribution. In this case, the compression algorithm - is tuned to compress them better. The effect of Filtered is to force more Huffman - coding and less string matching; it is a half-step between Default and HuffmanOnly. - - - - - Using HuffmanOnly will force the compressor to do Huffman encoding only, with no - string matching. - - - - - An enum to specify the direction of transcoding - whether to compress or decompress. - - - - - Used to specify that the stream should compress the data. - - - - - Used to specify that the stream should decompress the data. - - - - - A general purpose exception class for exceptions in the Zlib library. - - - - - The ZlibException class captures exception information generated - by the Zlib library. - - - - - This ctor collects a message attached to the exception. - - the message for the exception. - - - - Performs an unsigned bitwise right shift with the specified number - - Number to operate on - Ammount of bits to shift - The resulting number from the shift operation - - - - Reads a number of characters from the current source TextReader and writes - the data to the target array at the specified index. - - - The source TextReader to read from - Contains the array of characteres read from the source TextReader. - The starting index of the target array. - The maximum number of characters to read from the source TextReader. - - - The number of characters read. The number will be less than or equal to - count depending on the data available in the source TextReader. Returns -1 - if the end of the stream is reached. - - - - - Computes an Adler-32 checksum. - - - The Adler checksum is similar to a CRC checksum, but faster to compute, though less - reliable. It is used in producing RFC1950 compressed streams. The Adler checksum - is a required part of the "ZLIB" standard. Applications will almost never need to - use this class directly. - - - - - - - Calculates the Adler32 checksum. - - - - This is used within ZLIB. You probably don't need to use this directly. - - - - To compute an Adler32 checksum on a byte array: - - var adler = Adler.Adler32(0, null, 0, 0); - adler = Adler.Adler32(adler, buffer, index, length); - - - - - - Map from a distance to a distance code. - - - No side effects. _dist_code[256] and _dist_code[257] are never used. - - - - - A class for compressing and decompressing GZIP streams. - - - - - The GZipStream is a Decorator on a - . It adds GZIP compression or decompression to any - stream. - - - - Like the System.IO.Compression.GZipStream in the .NET Base Class Library, the - Ionic.Zlib.GZipStream can compress while writing, or decompress while - reading, but not vice versa. The compression method used is GZIP, which is - documented in IETF RFC - 1952, "GZIP file format specification version 4.3". - - - A GZipStream can be used to decompress data (through Read()) or - to compress data (through Write()), but not both. - - - - If you wish to use the GZipStream to compress data, you must wrap it - around a write-able stream. As you call Write() on the GZipStream, the - data will be compressed into the GZIP format. If you want to decompress data, - you must wrap the GZipStream around a readable stream that contains an - IETF RFC 1952-compliant stream. The data will be decompressed as you call - Read() on the GZipStream. - - - - Though the GZIP format allows data from multiple files to be concatenated - together, this stream handles only a single segment of GZIP format, typically - representing a single file. - - - - - - - - The comment on the GZIP stream. - - - - - The GZIP format allows for each file to optionally have an associated - comment stored with the file. The comment is encoded with the ISO-8859-1 - code page. To include a comment in a GZIP stream you create, set this - property before calling Write() for the first time on the - GZipStream. - - - - When using GZipStream to decompress, you can retrieve this property - after the first call to Read(). If no comment has been set in the - GZIP bytestream, the Comment property will return null - (Nothing in VB). - - - - - - The FileName for the GZIP stream. - - - - - - The GZIP format optionally allows each file to have an associated - filename. When compressing data (through Write()), set this - FileName before calling Write() the first time on the GZipStream. - The actual filename is encoded into the GZIP bytestream with the - ISO-8859-1 code page, according to RFC 1952. It is the application's - responsibility to insure that the FileName can be encoded and decoded - correctly with this code page. - - - - When decompressing (through Read()), you can retrieve this value - any time after the first Read(). In the case where there was no filename - encoded into the GZIP bytestream, the property will return null (Nothing - in VB). - - - - - - The last modified time for the GZIP stream. - - - - GZIP allows the storage of a last modified time with each GZIP entry. - When compressing data, you can set this before the first call to - Write(). When decompressing, you can retrieve this value any time - after the first call to Read(). - - - - - The CRC on the GZIP stream. - - - This is used for internal error checking. You probably don't need to look at this property. - - - - - Create a GZipStream using the specified CompressionMode. - - - - - When mode is CompressionMode.Compress, the GZipStream will use the - default compression level. - - - - As noted in the class documentation, the CompressionMode (Compress - or Decompress) also establishes the "direction" of the stream. A - GZipStream with CompressionMode.Compress works only through - Write(). A GZipStream with - CompressionMode.Decompress works only through Read(). - - - - - - This example shows how to use a GZipStream to compress data. - - using (System.IO.Stream input = System.IO.File.OpenRead(fileToCompress)) - { - using (var raw = System.IO.File.Create(outputFile)) - { - using (Stream compressor = new GZipStream(raw, CompressionMode.Compress)) - { - byte[] buffer = new byte[WORKING_BUFFER_SIZE]; - int n; - while ((n= input.Read(buffer, 0, buffer.Length)) != 0) - { - compressor.Write(buffer, 0, n); - } - } - } - } - - - Dim outputFile As String = (fileToCompress & ".compressed") - Using input As Stream = File.OpenRead(fileToCompress) - Using raw As FileStream = File.Create(outputFile) - Using compressor As Stream = New GZipStream(raw, CompressionMode.Compress) - Dim buffer As Byte() = New Byte(4096) {} - Dim n As Integer = -1 - Do While (n <> 0) - If (n > 0) Then - compressor.Write(buffer, 0, n) - End If - n = input.Read(buffer, 0, buffer.Length) - Loop - End Using - End Using - End Using - - - - - This example shows how to use a GZipStream to uncompress a file. - - private void GunZipFile(string filename) - { - if (!filename.EndsWith(".gz)) - throw new ArgumentException("filename"); - var DecompressedFile = filename.Substring(0,filename.Length-3); - byte[] working = new byte[WORKING_BUFFER_SIZE]; - int n= 1; - using (System.IO.Stream input = System.IO.File.OpenRead(filename)) - { - using (Stream decompressor= new Ionic.Zlib.GZipStream(input, CompressionMode.Decompress, true)) - { - using (var output = System.IO.File.Create(DecompressedFile)) - { - while (n !=0) - { - n= decompressor.Read(working, 0, working.Length); - if (n > 0) - { - output.Write(working, 0, n); - } - } - } - } - } - } - - - - Private Sub GunZipFile(ByVal filename as String) - If Not (filename.EndsWith(".gz)) Then - Throw New ArgumentException("filename") - End If - Dim DecompressedFile as String = filename.Substring(0,filename.Length-3) - Dim working(WORKING_BUFFER_SIZE) as Byte - Dim n As Integer = 1 - Using input As Stream = File.OpenRead(filename) - Using decompressor As Stream = new Ionic.Zlib.GZipStream(input, CompressionMode.Decompress, True) - Using output As Stream = File.Create(UncompressedFile) - Do - n= decompressor.Read(working, 0, working.Length) - If n > 0 Then - output.Write(working, 0, n) - End IF - Loop While (n > 0) - End Using - End Using - End Using - End Sub - - - - The stream which will be read or written. - Indicates whether the GZipStream will compress or decompress. - - - - Create a GZipStream using the specified CompressionMode and - the specified CompressionLevel. - - - - - The CompressionMode (Compress or Decompress) also establishes the - "direction" of the stream. A GZipStream with - CompressionMode.Compress works only through Write(). A - GZipStream with CompressionMode.Decompress works only - through Read(). - - - - - - - This example shows how to use a GZipStream to compress a file into a .gz file. - - - using (System.IO.Stream input = System.IO.File.OpenRead(fileToCompress)) - { - using (var raw = System.IO.File.Create(fileToCompress + ".gz")) - { - using (Stream compressor = new GZipStream(raw, - CompressionMode.Compress, - CompressionLevel.BestCompression)) - { - byte[] buffer = new byte[WORKING_BUFFER_SIZE]; - int n; - while ((n= input.Read(buffer, 0, buffer.Length)) != 0) - { - compressor.Write(buffer, 0, n); - } - } - } - } - - - - Using input As Stream = File.OpenRead(fileToCompress) - Using raw As FileStream = File.Create(fileToCompress & ".gz") - Using compressor As Stream = New GZipStream(raw, CompressionMode.Compress, CompressionLevel.BestCompression) - Dim buffer As Byte() = New Byte(4096) {} - Dim n As Integer = -1 - Do While (n <> 0) - If (n > 0) Then - compressor.Write(buffer, 0, n) - End If - n = input.Read(buffer, 0, buffer.Length) - Loop - End Using - End Using - End Using - - - The stream to be read or written while deflating or inflating. - Indicates whether the GZipStream will compress or decompress. - A tuning knob to trade speed for effectiveness. - - - - Create a GZipStream using the specified CompressionMode, and - explicitly specify whether the stream should be left open after Deflation - or Inflation. - - - - - This constructor allows the application to request that the captive stream - remain open after the deflation or inflation occurs. By default, after - Close() is called on the stream, the captive stream is also - closed. In some cases this is not desired, for example if the stream is a - memory stream that will be re-read after compressed data has been written - to it. Specify true for the parameter to leave - the stream open. - - - - The (Compress or Decompress) also - establishes the "direction" of the stream. A GZipStream with - CompressionMode.Compress works only through Write(). A GZipStream - with CompressionMode.Decompress works only through Read(). - - - - The GZipStream will use the default compression level. If you want - to specify the compression level, see . - - - - See the other overloads of this constructor for example code. - - - - - - The stream which will be read or written. This is called the "captive" - stream in other places in this documentation. - - - Indicates whether the GZipStream will compress or decompress. - - - - true if the application would like the base stream to remain open after - inflation/deflation. - - - - - Create a GZipStream using the specified CompressionMode and the - specified CompressionLevel, and explicitly specify whether the - stream should be left open after Deflation or Inflation. - - - - - - This constructor allows the application to request that the captive stream - remain open after the deflation or inflation occurs. By default, after - Close() is called on the stream, the captive stream is also - closed. In some cases this is not desired, for example if the stream is a - memory stream that will be re-read after compressed data has been written - to it. Specify true for the parameter to - leave the stream open. - - - - As noted in the class documentation, the CompressionMode (Compress - or Decompress) also establishes the "direction" of the stream. A - GZipStream with CompressionMode.Compress works only through - Write(). A GZipStream with CompressionMode.Decompress works only - through Read(). - - - - - - This example shows how to use a GZipStream to compress data. - - using (System.IO.Stream input = System.IO.File.OpenRead(fileToCompress)) - { - using (var raw = System.IO.File.Create(outputFile)) - { - using (Stream compressor = new GZipStream(raw, CompressionMode.Compress, CompressionLevel.BestCompression, true)) - { - byte[] buffer = new byte[WORKING_BUFFER_SIZE]; - int n; - while ((n= input.Read(buffer, 0, buffer.Length)) != 0) - { - compressor.Write(buffer, 0, n); - } - } - } - } - - - Dim outputFile As String = (fileToCompress & ".compressed") - Using input As Stream = File.OpenRead(fileToCompress) - Using raw As FileStream = File.Create(outputFile) - Using compressor As Stream = New GZipStream(raw, CompressionMode.Compress, CompressionLevel.BestCompression, True) - Dim buffer As Byte() = New Byte(4096) {} - Dim n As Integer = -1 - Do While (n <> 0) - If (n > 0) Then - compressor.Write(buffer, 0, n) - End If - n = input.Read(buffer, 0, buffer.Length) - Loop - End Using - End Using - End Using - - - The stream which will be read or written. - Indicates whether the GZipStream will compress or decompress. - true if the application would like the stream to remain open after inflation/deflation. - A tuning knob to trade speed for effectiveness. - - - - This property sets the flush behavior on the stream. - - - - - The size of the working buffer for the compression codec. - - - - - The working buffer is used for all stream operations. The default size is - 1024 bytes. The minimum size is 128 bytes. You may get better performance - with a larger buffer. Then again, you might not. You would have to test - it. - - - - Set this before the first call to Read() or Write() on the - stream. If you try to set it afterwards, it will throw. - - - - - Returns the total number of bytes input so far. - - - Returns the total number of bytes output so far. - - - - Dispose the stream. - - - - This may or may not result in a Close() call on the captive - stream. See the constructors that have a leaveOpen parameter - for more information. - - - This method may be invoked in two distinct scenarios. If disposing - == true, the method has been called directly or indirectly by a - user's code, for example via the internal Dispose() method. In this - case, both managed and unmanaged resources can be referenced and - disposed. If disposing == false, the method has been called by the - runtime from inside the object finalizer and this method should not - reference other objects; in that case only unmanaged resources must - be referenced or disposed. - - - - indicates whether the Dispose method was invoked by user code. - - - - - Indicates whether the stream can be read. - - - The return value depends on whether the captive stream supports reading. - - - - - Indicates whether the stream supports Seek operations. - - - Always returns false. - - - - - Indicates whether the stream can be written. - - - The return value depends on whether the captive stream supports writing. - - - - - Flush the stream. - - - - - Reading this property always throws a . - - - - - The position of the stream pointer. - - - - Setting this property always throws a . Reading will return the total bytes - written out, if used in writing, or the total bytes read in, if used in - reading. The count may refer to compressed bytes or uncompressed bytes, - depending on how you've used the stream. - - - - - Read and decompress data from the source stream. - - - - With a GZipStream, decompression is done through reading. - - - - - byte[] working = new byte[WORKING_BUFFER_SIZE]; - using (System.IO.Stream input = System.IO.File.OpenRead(_CompressedFile)) - { - using (Stream decompressor= new Ionic.Zlib.GZipStream(input, CompressionMode.Decompress, true)) - { - using (var output = System.IO.File.Create(_DecompressedFile)) - { - int n; - while ((n= decompressor.Read(working, 0, working.Length)) !=0) - { - output.Write(working, 0, n); - } - } - } - } - - - The buffer into which the decompressed data should be placed. - the offset within that data array to put the first byte read. - the number of bytes to read. - the number of bytes actually read - - - - Calling this method always throws a . - - irrelevant; it will always throw! - irrelevant; it will always throw! - irrelevant! - - - - Calling this method always throws a . - - irrelevant; this method will always throw! - - - - Write data to the stream. - - - - - If you wish to use the GZipStream to compress data while writing, - you can create a GZipStream with CompressionMode.Compress, and a - writable output stream. Then call Write() on that GZipStream, - providing uncompressed data as input. The data sent to the output stream - will be the compressed form of the data written. - - - - A GZipStream can be used for Read() or Write(), but not - both. Writing implies compression. Reading implies decompression. - - - - The buffer holding data to write to the stream. - the offset within that data array to find the first byte to write. - the number of bytes to write. - - - - Compress a string into a byte array using GZip. - - - - Uncompress it with . - - - - - - - A string to compress. The string will first be encoded - using UTF8, then compressed. - - - The string in compressed form - - - - Compress a byte array into a new byte array using GZip. - - - - Uncompress it with . - - - - - - - A buffer to compress. - - - The data in compressed form - - - - Uncompress a GZip'ed byte array into a single string. - - - - - - - A buffer containing GZIP-compressed data. - - - The uncompressed string - - - - Uncompress a GZip'ed byte array into a byte array. - - - - - - - A buffer containing data that has been compressed with GZip. - - - The data in uncompressed form - - - - Computes a CRC-32. The CRC-32 algorithm is parameterized - you - can set the polynomial and enable or disable bit - reversal. This can be used for GZIP, BZip2, or ZIP. - - - This type is used internally by DotNetZip; it is generally not used - directly by applications wishing to create, read, or manipulate zip - archive files. - - - - - Indicates the total number of bytes applied to the CRC. - - - - - Indicates the current CRC for all blocks slurped in. - - - - - Returns the CRC32 for the specified stream. - - The stream over which to calculate the CRC32 - the CRC32 calculation - - - - Returns the CRC32 for the specified stream, and writes the input into the - output stream. - - The stream over which to calculate the CRC32 - The stream into which to deflate the input - the CRC32 calculation - - - - Get the CRC32 for the given (word,byte) combo. This is a - computation defined by PKzip for PKZIP 2.0 (weak) encryption. - - The word to start with. - The byte to combine it with. - The CRC-ized result. - - - - Update the value for the running CRC32 using the given block of bytes. - This is useful when using the CRC32() class in a Stream. - - block of bytes to slurp - starting point in the block - how many bytes within the block to slurp - - - - Process one byte in the CRC. - - the byte to include into the CRC . - - - - Process a run of N identical bytes into the CRC. - - - - This method serves as an optimization for updating the CRC when a - run of identical bytes is found. Rather than passing in a buffer of - length n, containing all identical bytes b, this method accepts the - byte value and the length of the (virtual) buffer - the length of - the run. - - - the byte to include into the CRC. - the number of times that byte should be repeated. - - - - Combines the given CRC32 value with the current running total. - - - This is useful when using a divide-and-conquer approach to - calculating a CRC. Multiple threads can each calculate a - CRC32 on a segment of the data, and then combine the - individual CRC32 values at the end. - - the crc value to be combined with this one - the length of data the CRC value was calculated on - - - - Create an instance of the CRC32 class using the default settings: no - bit reversal, and a polynomial of 0xEDB88320. - - - - - Create an instance of the CRC32 class, specifying whether to reverse - data bits or not. - - - specify true if the instance should reverse data bits. - - - - In the CRC-32 used by BZip2, the bits are reversed. Therefore if you - want a CRC32 with compatibility with BZip2, you should pass true - here. In the CRC-32 used by GZIP and PKZIP, the bits are not - reversed; Therefore if you want a CRC32 with compatibility with - those, you should pass false. - - - - - - Create an instance of the CRC32 class, specifying the polynomial and - whether to reverse data bits or not. - - - The polynomial to use for the CRC, expressed in the reversed (LSB) - format: the highest ordered bit in the polynomial value is the - coefficient of the 0th power; the second-highest order bit is the - coefficient of the 1 power, and so on. Expressed this way, the - polynomial for the CRC-32C used in IEEE 802.3, is 0xEDB88320. - - - specify true if the instance should reverse data bits. - - - - - In the CRC-32 used by BZip2, the bits are reversed. Therefore if you - want a CRC32 with compatibility with BZip2, you should pass true - here for the reverseBits parameter. In the CRC-32 used by - GZIP and PKZIP, the bits are not reversed; Therefore if you want a - CRC32 with compatibility with those, you should pass false for the - reverseBits parameter. - - - - - - Reset the CRC-32 class - clear the CRC "remainder register." - - - - Use this when employing a single instance of this class to compute - multiple, distinct CRCs on multiple, distinct data blocks. - - - - - - A Stream that calculates a CRC32 (a checksum) on all bytes read, - or on all bytes written. - - - - - This class can be used to verify the CRC of a ZipEntry when - reading from a stream, or to calculate a CRC when writing to a - stream. The stream should be used to either read, or write, but - not both. If you intermix reads and writes, the results are not - defined. - - - - This class is intended primarily for use internally by the - DotNetZip library. - - - - - - The default constructor. - - - - Instances returned from this constructor will leave the underlying - stream open upon Close(). The stream uses the default CRC32 - algorithm, which implies a polynomial of 0xEDB88320. - - - The underlying stream - - - - The constructor allows the caller to specify how to handle the - underlying stream at close. - - - - The stream uses the default CRC32 algorithm, which implies a - polynomial of 0xEDB88320. - - - The underlying stream - true to leave the underlying stream - open upon close of the CrcCalculatorStream; false otherwise. - - - - A constructor allowing the specification of the length of the stream - to read. - - - - The stream uses the default CRC32 algorithm, which implies a - polynomial of 0xEDB88320. - - - Instances returned from this constructor will leave the underlying - stream open upon Close(). - - - The underlying stream - The length of the stream to slurp - - - - A constructor allowing the specification of the length of the stream - to read, as well as whether to keep the underlying stream open upon - Close(). - - - - The stream uses the default CRC32 algorithm, which implies a - polynomial of 0xEDB88320. - - - The underlying stream - The length of the stream to slurp - true to leave the underlying stream - open upon close of the CrcCalculatorStream; false otherwise. - - - - A constructor allowing the specification of the length of the stream - to read, as well as whether to keep the underlying stream open upon - Close(), and the CRC32 instance to use. - - - - The stream uses the specified CRC32 instance, which allows the - application to specify how the CRC gets calculated. - - - The underlying stream - The length of the stream to slurp - true to leave the underlying stream - open upon close of the CrcCalculatorStream; false otherwise. - the CRC32 instance to use to calculate the CRC32 - - - - Gets the total number of bytes run through the CRC32 calculator. - - - - This is either the total number of bytes read, or the total number of - bytes written, depending on the direction of this stream. - - - - - Provides the current CRC for all blocks slurped in. - - - - The running total of the CRC is kept as data is written or read - through the stream. read this property after all reads or writes to - get an accurate CRC for the entire stream. - - - - - - Indicates whether the underlying stream will be left open when the - CrcCalculatorStream is Closed. - - - - Set this at any point before calling . - - - - - - Read from the stream - - the buffer to read - the offset at which to start - the number of bytes to read - the number of bytes actually read - - - - Write to the stream. - - the buffer from which to write - the offset at which to start writing - the number of bytes to write - - - - Indicates whether the stream supports reading. - - - - - Indicates whether the stream supports seeking. - - - - Always returns false. - - - - - - Indicates whether the stream supports writing. - - - - - Flush the stream. - - - - - Returns the length of the underlying stream. - - - - - The getter for this property returns the total bytes read. - If you use the setter, it will throw - . - - - - - Seeking is not supported on this stream. This method always throws - - - N/A - N/A - N/A - - - - This method always throws - - - N/A - - - - A custom encoding class that provides encoding capabilities for the - 'Western European (ISO)' encoding under Silverlight.
- This class was generated by a tool. For more information, visit - http://www.hardcodet.net/2010/03/silverlight-text-encoding-class-generator -
-
- - - Gets the name registered with the - Internet Assigned Numbers Authority (IANA) for the current encoding. - - - The IANA name for the current . - - - - - A character that can be set in order to make the encoding class - more fault tolerant. If this property is set, the encoding class will - use this property instead of throwing an exception if an unsupported - byte value is being passed for decoding. - - - - - A byte value that corresponds to the . - It is used in encoding scenarios in case an unsupported character is - being passed for encoding. - - - - - Encodes a set of characters from the specified character array into the specified byte array. - - - The actual number of bytes written into . - - The character array containing the set of characters to encode. - The index of the first character to encode. - The number of characters to encode. - The byte array to contain the resulting sequence of bytes. - The index at which to start writing the resulting sequence of bytes. - - - - - Decodes a sequence of bytes from the specified byte array into the specified character array. - - - The actual number of characters written into . - - The byte array containing the sequence of bytes to decode. - The index of the first byte to decode. - The number of bytes to decode. - The character array to contain the resulting set of characters. - The index at which to start writing the resulting set of characters. - - - - - Calculates the number of bytes produced by encoding a set of characters - from the specified character array. - - - The number of bytes produced by encoding the specified characters. This class - always returns the value of . - - - - - Calculates the number of characters produced by decoding a sequence - of bytes from the specified byte array. - - - The number of characters produced by decoding the specified sequence of bytes. This class - always returns the value of . - - - - - Calculates the maximum number of bytes produced by encoding the specified number of characters. - - - The maximum number of bytes produced by encoding the specified number of characters. This - class always returns the value of . - - The number of characters to encode. - - - - - Calculates the maximum number of characters produced by decoding the specified number of bytes. - - - The maximum number of characters produced by decoding the specified number of bytes. This class - always returns the value of . - - The number of bytes to decode. - - - - Gets the number of characters that are supported by this encoding. - This property returns a maximum value of 256, as the encoding class - only supports single byte encodings (1 byte == 256 possible values). - - - - - This table contains characters in an array. The index within the - array corresponds to the encoding's mapping of bytes to characters - (e.g. if a byte value of 5 is used to encode the character 'x', this - character will be stored at the array index 5. - - - - - This dictionary is used to resolve byte values for a given character. - - - - - Get a buffer that is at least as big as size. - - - - - Return the given buffer to the pool. - - - - - - Utility class that returns information about the underlying platform - - - - - Underlying game platform type - - - - - Graphics backend - - - - - Type of the underlying game platform. - - - - - MonoGame Android platform. - - - - - MonoGame iOS platform. - - - - - MonoGame tvOS platform. - - - - - MonoGame cross platform desktop OpenGL platform. - - - - - MonoGame Win32 Windows platform. - - - - - MonoGame Windows universal platform. - - - - - MonoGame WebGL platform. - - - - - MonoGame PSVita platform. - - - - - MonoGame Xbox One platform. - - - - - MonoGame PlayStation 4 platform. - - - - - MonoGame Nintendo Switch platform. - - - - - MonoGame Google Stadia platform. - - - - - Type of the underlying graphics backend. - - - - - Represents the Microsoft DirectX graphics backend. - - - - - Represents the OpenGL graphics backend. - - - - - Represents the Vulkan graphics backend. - - - - - Represents the Apple Metal graphics backend. - - - - - This code had been borrowed from here: https://github.com/MachineCognitis/C.math.NET - - - - - - - - - - - - - - - Should be from 1 to 100 - - - - - - - - - - - Should be from 1 to 100 - -
-
diff --git a/Tractor_VS/Game1/bin/Windows/x86/Debug/SharpDX.DXGI.dll b/Tractor_VS/Game1/bin/Windows/x86/Debug/SharpDX.DXGI.dll deleted file mode 100644 index 9f30efd..0000000 Binary files a/Tractor_VS/Game1/bin/Windows/x86/Debug/SharpDX.DXGI.dll and /dev/null differ diff --git a/Tractor_VS/Game1/bin/Windows/x86/Debug/SharpDX.DXGI.xml b/Tractor_VS/Game1/bin/Windows/x86/Debug/SharpDX.DXGI.xml deleted file mode 100644 index c47f4f5..0000000 --- a/Tractor_VS/Game1/bin/Windows/x86/Debug/SharpDX.DXGI.xml +++ /dev/null @@ -1,10091 +0,0 @@ - - - - SharpDX.DXGI - - - - -

The interface represents a display subsystem (including one or more GPUs, DACs and video memory).

-
- -

A display subsystem is often referred to as a video card, however, on some machines the display subsystem is part of the motherboard.

To enumerate the display subsystems, use .

To get an interface to the adapter for a particular device, use .

To create a software adapter, use .

Windows?Phone?8: This API is supported.

-
- - bb174523 - IDXGIAdapter - IDXGIAdapter -
- - - Gets all outputs from this adapter. - - bb174525 - HRESULT IDXGIAdapter::EnumOutputs([In] unsigned int Output,[Out] IDXGIOutput** ppOutput) - IDXGIAdapter::EnumOutputs - - - - 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. - - - - -

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

-
- -

Graphics apps can use the DXGI API to retrieve an accurate set of graphics memory values on systems that have Windows Display Driver Model (WDDM) drivers. The following are the critical steps involved.

  • Graphics driver model determination ? Because DXGI is only available on systems with WDDM drivers, the app 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 app determines the driver model to be WDDM, the app can use the Direct3D 10 or later API and DXGI to get the amount of graphics memory. After you create a Direct3D device, use this code to obtain a structure that contains 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) -
- - -

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). is returned if the index is greater than the number of outputs.

If the adapter came from a device created using , then the adapter has no outputs, so is returned.

- - Note??If you call this API in a Session 0 process, it returns .?

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 output 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. On feature level 9 graphics hardware, GetDesc returns zeros for the PCI ID in the VendorId, DeviceId, SubSysId, and Revision members of and ?Software Adapter? for the description string in the Description member.

-

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

- -

Graphics apps can use the DXGI API to retrieve an accurate set of graphics memory values on systems that have Windows Display Driver Model (WDDM) drivers. The following are the critical steps involved.

  • Graphics driver model determination ? Because DXGI is only available on systems with WDDM drivers, the app 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 app determines the driver model to be WDDM, the app can use the Direct3D 10 or later API and DXGI to get the amount of graphics memory. After you create a Direct3D device, use this code to obtain a structure that contains 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, otherwise this parameter will 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 -
- - - The assembly provides 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 Direct3D create device functions return a Direct3D device object. This Direct3D device object implements the interface. You can query this Direct3D device object for the device's corresponding interface. To retrieve the interface of a Direct3D device, use the following code:

 * pDXGIDevice;	
-            hr = g_pd3dDevice->QueryInterface(__uuidof(), (void **)&pDXGIDevice);	
-            

Windows?Phone?8: This API is supported.

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

-
- -

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

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 successful; otherwise, returns , E_INVALIDARG, or E_POINTER (see Common Values and 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??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 successful; otherwise, returns , E_INVALIDARG, or E_POINTER (see Common Values and 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??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 successful; otherwise, returns , E_INVALIDARG, or E_POINTER (see Common Values and 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??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 -
- - -

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

-
- -

Windows?Phone?8: This API is supported.

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

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

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 the following interfaces:

Windows?Phone?8: This API is supported.

-
- - 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?8. -

-
- - 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, Optional] 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 , you must call ::Release() on the reference before the reference is freed to decrement the reference count.

You can pass GUID_DeviceType in the Name parameter of GetPrivateData to retrieve the device type from the display adapter object (, , ).

To get the type of device on which the display adapter was created

  1. Call IUnknown::QueryInterface on the or ID3D10Device object to retrieve the object.
  2. Call GetParent on the object to retrieve the object.
  3. Call GetPrivateData on the object with GUID_DeviceType to retrieve the type of device on which the display adapter was created. pData will point to a value from the driver-type enumeration (for example, a value from ).

On Windows?7 or earlier, this type is either a value from D3D10_DRIVER_TYPE or depending on which kind of device was created. On Windows?8, this type is always a value from . Don't use with GUID_DeviceType because the behavior when doing so is undefined.

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

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

-
- -

Create a factory by calling CreateDXGIFactory.

Because you can create a Direct3D device 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. You can request the interface from the Direct3D device and then use the method to locate the factory. The following code shows how.

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

Windows?Phone?8: This API is supported.

-
- - 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 an array of available from this factory. - - 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 adapter with the output on which the desktop primary is displayed. This adapter corresponds with an index of zero. EnumAdapters next returns other adapters with outputs. EnumAdapters finally returns adapters without 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.

- - Note??If you call this API in a Session 0 process, it returns .?

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.

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

- - Note??If you call this API in a Session 0 process, it returns .? - - - 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, CreateSwapChainForCoreWindow, or CreateSwapChainForComposition 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.

- - Note??If you call this API in a Session 0 process, it returns .?

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 can't be chosen explicitly when the swap chain is created, we recommend not to 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.

After the runtime renders the initial frame in full screen, the runtime might unexpectedly exit full screen during a call to . To work around this issue, we recommend that you execute the following code right after you call CreateSwapChain to create a full-screen swap chain (Windowed member of set to ). -

 // Detect if newly created full-screen swap chain isn't actually full screen.	
-            * pTarget;  bFullscreen;	
-            if (SUCCEEDED(pSwapChain->GetFullscreenState(&bFullscreen, &pTarget)))	
-            { pTarget->Release();	
-            }	
-            else bFullscreen = ;	
-            // If not full screen, enable full screen again.	
-            if (!bFullscreen)	
-            { ShowWindow(hWnd, SW_MINIMIZE); ShowWindow(hWnd, SW_RESTORE); pSwapChain->SetFullscreenState(TRUE, null);	
-            }	
-            

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?8 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.

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

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.

Because you can create a Direct3D device 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. - You can request the or interface from the Direct3D device and then use the method to locate - the factory. The following code shows how.

 * pDXGIDevice;	
-            hr = g_pd3dDevice->QueryInterface(__uuidof(), (void **)&pDXGIDevice);  * pDXGIAdapter;	
-            hr = pDXGIDevice->GetParent(__uuidof(), (void **)&pDXGIAdapter);  * pIDXGIFactory;	
-            pDXGIAdapter->GetParent(__uuidof(), (void **)&pIDXGIFactory);	
-            
-
- - 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 an array of available from this factory. - - 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. - - - - -

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

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

The interface includes methods to create a newer version swap chain with more features than and to monitor stereoscopic 3D capabilities.

-
- -

To create a Microsoft DirectX Graphics Infrastructure (DXGI) 1.2 factory interface, pass into either the CreateDXGIFactory or CreateDXGIFactory1 function or call QueryInterface from a factory object that either CreateDXGIFactory or CreateDXGIFactory1 returns. -

Because you can create a Direct3D device 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. - You can request the , , or interface from the Direct3D device and then use the method to locate - the factory. The following code shows how.

 * pDXGIDevice;	
-            hr = g_pd3dDevice->QueryInterface(__uuidof(), (void **)&pDXGIDevice);  * pDXGIAdapter;	
-            hr = pDXGIDevice->GetParent(__uuidof(), (void **)&pDXGIAdapter);  * pIDXGIFactory;	
-            pDXGIAdapter->GetParent(__uuidof(), (void **)&pIDXGIFactory);	
-            
-
- - hh404556 - IDXGIFactory2 - IDXGIFactory2 -
- - - Initializes a new instance of class. - - True - to set the DXGI_CREATE_FACTORY_DEBUG flag. - - - - Initializes a new instance of the class. - - The native pointer. - - - - Performs an explicit conversion from to . (This method is a shortcut to ) - - The native pointer. - - The result of the conversion. - - - - -

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

Determines whether to use stereo mode.

-
-

Indicates whether to use stereo mode. TRUE indicates that you can use stereo mode; otherwise, .

Platform Update for Windows?7:??On Windows?7 or Windows Server?2008?R2 with the Platform Update for Windows?7 installed, IsWindowedStereoEnabled always returns because stereoscopic 3D display behavior isn?t available with the Platform Update for Windows?7. For more info about the Platform Update for Windows?7, see Platform Update for Windows 7.

- -

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 (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 -
- - -

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

CreateSwapChainForHwnd returns:

  • if it successfully created a swap chain.
  • E_OUTOFMEMORY if memory is unavailable to complete the operation.
  • if the calling application provided invalid data, for example, if pDesc or ppSwapChain is null.
  • Possibly other error codes that are described in the DXGI_ERROR topic that are defined by the type of device that you pass to pDevice.

Platform Update for Windows?7:?? is not supported on Windows?7 or Windows Server?2008?R2 with the Platform Update for Windows?7 installed and causes CreateSwapChainForHwnd to return when called. For more info about the Platform Update for Windows?7, see Platform Update for Windows 7.

- - Note??Do not use this method in Windows Store 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.

For info about how to choose a format for the swap chain's back buffer, see Converting data for the color space.

-
- - 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, Fast] IDXGISwapChain1** ppSwapChain) - IDXGIFactory2::CreateSwapChainForHwnd -
- - -

Creates a swap chain that is associated with the CoreWindow object for the output window for the swap chain.

-
- No documentation. - No documentation. - No documentation. - No documentation. - No documentation. -

CreateSwapChainForCoreWindow returns:

  • if it successfully created a swap chain.
  • E_OUTOFMEMORY if memory is unavailable to complete the operation.
  • if the calling application provided invalid data, for example, if pDesc or ppSwapChain is null.
  • Possibly other error codes that are described in the DXGI_ERROR topic that are defined by the type of device that you pass to pDevice.

Platform Update for Windows?7:??On Windows?7 or Windows Server?2008?R2 with the Platform Update for Windows?7 installed, CreateSwapChainForCoreWindow fails with E_NOTIMPL. For more info about the Platform Update for Windows?7, see Platform Update for Windows 7.

- - Note??Use this method in Windows Store 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 (per layer) at a time with a CoreWindow, 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.

For info about how to choose a format for the swap chain's back buffer, see Converting data for the color space.

-
- - hh404559 - HRESULT IDXGIFactory2::CreateSwapChainForCoreWindow([In] IUnknown* pDevice,[In] IUnknown* pWindow,[In] const DXGI_SWAP_CHAIN_DESC1* pDesc,[In, Optional] IDXGIOutput* pRestrictToOutput,[Out, Fast] IDXGISwapChain1** ppSwapChain) - IDXGIFactory2::CreateSwapChainForCoreWindow -
- - -

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.

Platform Update for Windows?7:??On Windows?7 or Windows Server?2008?R2 with the Platform Update for Windows?7 installed, GetSharedResourceAdapterLuid fails with E_NOTIMPL. For more info about the Platform Update for Windows?7, see Platform Update for Windows 7.

- -

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

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.

Platform Update for Windows?7:??On Windows?7 or Windows Server?2008?R2 with the Platform Update for Windows?7 installed, RegisterStereoStatusWindow fails with E_NOTIMPL. For more info about the Platform Update for Windows?7, see Platform Update for Windows 7.

- - hh404587 - HRESULT IDXGIFactory2::RegisterStereoStatusWindow([In] HWND WindowHandle,[In] unsigned int wMsg,[Out] unsigned int* pdwCookie) - IDXGIFactory2::RegisterStereoStatusWindow -
- - -

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.

Platform Update for Windows?7:??On Windows?7 or Windows Server?2008?R2 with the Platform Update for Windows?7 installed, RegisterStereoStatusEvent fails with E_NOTIMPL. For more info about the Platform Update for Windows?7, see Platform Update for Windows 7.

- - hh404584 - HRESULT IDXGIFactory2::RegisterStereoStatusEvent([In] void* hEvent,[Out] unsigned int* pdwCookie) - IDXGIFactory2::RegisterStereoStatusEvent -
- - -

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.

- -

Platform Update for Windows?7:??On Windows?7 or Windows Server?2008?R2 with the Platform Update for Windows?7 installed, UnregisterStereoStatus has no effect. For more info about the Platform Update for Windows?7, see Platform Update for Windows 7.

-
- - hh404593 - void IDXGIFactory2::UnregisterStereoStatus([In] unsigned int dwCookie) - IDXGIFactory2::UnregisterStereoStatus -
- - -

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.

Platform Update for Windows?7:??On Windows?7 or Windows Server?2008?R2 with the Platform Update for Windows?7 installed, RegisterOcclusionStatusWindow fails with E_NOTIMPL. For more info about the Platform Update for Windows?7, see Platform Update for Windows 7.

- -

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

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.

Platform Update for Windows?7:??On Windows?7 or Windows Server?2008?R2 with the Platform Update for Windows?7 installed, RegisterOcclusionStatusEvent fails with E_NOTIMPL. For more info about the Platform Update for Windows?7, see Platform Update for Windows 7.

- -

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

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.

- -

Platform Update for Windows?7:??On Windows?7 or Windows Server?2008?R2 with the Platform Update for Windows?7 installed, UnregisterOcclusionStatus has no effect. For more info about the Platform Update for Windows?7, see Platform Update for Windows 7.

-
- - hh404590 - void IDXGIFactory2::UnregisterOcclusionStatus([In] unsigned int dwCookie) - IDXGIFactory2::UnregisterOcclusionStatus -
- - -

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

CreateSwapChainForComposition returns:

  • if it successfully created a swap chain.
  • E_OUTOFMEMORY if memory is unavailable to complete the operation.
  • if the calling application provided invalid data, for example, if pDesc or ppSwapChain is null.
  • Possibly other error codes that are described in the DXGI_ERROR topic that are defined by the type of device that you pass to pDevice.

Platform Update for Windows?7:??On Windows?7 or Windows Server?2008?R2 with the Platform Update for Windows?7 installed, CreateSwapChainForComposition fails with E_NOTIMPL. For more info about the Platform Update for Windows?7, see Platform Update for Windows 7.

- -

You can use composition swap chains with either DirectComposition?s interface or XAML?s SwapChainBackgroundPanel class. For DirectComposition, you can call the 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. For info about how to use composition swap chains with XAML?s SwapChainBackgroundPanel class, see DirectX and XAML interop.

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.

For info about how to choose a format for the swap chain's back buffer, see Converting data for the color space.

-
- - hh404558 - HRESULT IDXGIFactory2::CreateSwapChainForComposition([In] IUnknown* pDevice,[In] const DXGI_SWAP_CHAIN_DESC1* pDesc,[In, Optional] IDXGIOutput* pRestrictToOutput,[Out, Fast] IDXGISwapChain1** ppSwapChain) - IDXGIFactory2::CreateSwapChainForComposition -
- - -

Enables creating Microsoft DirectX Graphics Infrastructure (DXGI) objects.

-
- - mt427785 - IDXGIFactory4 - IDXGIFactory4 -
- - - Initializes a new instance of class. - - - - - Gets the default warp adapter. - - The warp adapter. - - - - Gets the adapter for the specified LUID. - - A unique value that identifies the adapter. - The adapter. - - - - Initializes a new instance of the class. - - The native pointer. - - - - Performs an explicit conversion from to . (This method is a shortcut to ) - - The native pointer. - - The result of the conversion. - - - - -

Outputs the for the specified .

-
- No documentation. - No documentation. - No documentation. -

Returns if successful; an error code otherwise. For a list of error codes, see DXGI_ERROR. See also Direct3D 12 Return Codes.

- -

For Direct3D 12, it's no longer possible to backtrack from a device to the that was used to create it. enables an app to retrieve information about the adapter where a D3D12 device was created. is designed to be paired with . For more information, see DXGI 1.4 Improvements.

-
- - mt427786 - HRESULT IDXGIFactory4::EnumAdapterByLuid([In] LUID AdapterLuid,[In] const GUID& riid,[Out] void** ppvAdapter) - IDXGIFactory4::EnumAdapterByLuid -
- - -

Provides an adapter which can be provided to to use the WARP renderer.

-
-

The globally unique identifier () of the object referenced by the ppvAdapter parameter.

-

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

-

Returns if successful; an error code otherwise. For a list of error codes, see DXGI_ERROR. See also Direct3D 12 Return Codes.

- -

For more information, see DXGI 1.4 Improvements.

-
- - mt427787 - HRESULT IDXGIFactory4::EnumWarpAdapter([In] const GUID& riid,[Out] void** ppvAdapter) - IDXGIFactory4::EnumWarpAdapter -
- - - Helper to use with . - - - - - Calculates the size of a in bytes. Can be 0 for compressed format (as they are less than 1 byte) - - 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. For more info about this flag, see new info in Windows?8 about enumerating adapters.

Direct3D 11:??This enumeration value is supported starting with Windows?8.

-
- - ff471327 - DXGI_ADAPTER_FLAG_SOFTWARE - DXGI_ADAPTER_FLAG_SOFTWARE -
- - -

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_FLAG3 - DXGI_ADAPTER_FLAG3 -
- - -

Specifies no flags.

-
- - ff471327 - DXGI_ADAPTER_FLAG3_NONE - DXGI_ADAPTER_FLAG3_NONE -
- - -

Value always set to 0. This flag is reserved.

-
- - ff471327 - DXGI_ADAPTER_FLAG3_REMOTE - DXGI_ADAPTER_FLAG3_REMOTE -
- - -

Specifies a software adapter. For more info about this flag, see new info in Windows?8 about enumerating adapters.

Direct3D 11:??This enumeration value is supported starting with Windows?8.

-
- - ff471327 - DXGI_ADAPTER_FLAG3_SOFTWARE - DXGI_ADAPTER_FLAG3_SOFTWARE -
- - -

Forces this enumeration to compile to 32 bits in size. Without this value, some compilers would allow this enumeration to compile to a size other than 32 bits. This value is not used.

-
- - ff471327 - DXGI_ADAPTER_FLAG3_ACG_COMPATIBLE - DXGI_ADAPTER_FLAG3_ACG_COMPATIBLE -
- - -

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

Specifies color space types.

-
- -

This enum is used within DXGI in the CheckColorSpaceSupport, SetColorSpace1 and CheckOverlayColorSpaceSupport methods. It is also referenced in D3D11 video methods such as , and D2D methods such as .

The following color parameters are defined:

-
- - dn903661 - DXGI_COLOR_SPACE_TYPE - DXGI_COLOR_SPACE_TYPE -
- - -
PropertyValue
ColorspaceRGB
Range0-255
Gamma2.2
SitingImage
PrimariesBT.709

?

This is the standard definition for sRGB. Note that this is often implemented with a linear segment, but in that case the exponent is corrected to stay aligned with a gamma 2.2 curve. This is usually used with 8 bit and 10 bit color channels. -

-
- - dn903661 - DXGI_COLOR_SPACE_RGB_FULL_G22_NONE_P709 - DXGI_COLOR_SPACE_RGB_FULL_G22_NONE_P709 -
- - -
PropertyValue
ColorspaceRGB
Range0-255
Gamma1.0
SitingImage
PrimariesBT.709

?

This is the standard definition for scRGB, and is usually used with 16 bit integer, 16 bit floating point, and 32 bit floating point channels. -

-
- - dn903661 - DXGI_COLOR_SPACE_RGB_FULL_G10_NONE_P709 - DXGI_COLOR_SPACE_RGB_FULL_G10_NONE_P709 -
- - -
PropertyValue
ColorspaceRGB
Range16-235
Gamma2.2
SitingImage
PrimariesBT.709

?

This is the standard definition for ITU-R Recommendation BT.709. Note that due to the inclusion of a linear segment, the transfer curve looks similar to a pure exponential gamma of 1.9. This is usually used with 8 bit and 10 bit color channels. -

-
- - dn903661 - DXGI_COLOR_SPACE_RGB_STUDIO_G22_NONE_P709 - DXGI_COLOR_SPACE_RGB_STUDIO_G22_NONE_P709 -
- - -
PropertyValue
ColorspaceRGB
Range16-235
Gamma2.2
SitingImage
PrimariesBT.2020

?

This is usually used with 10, 12, or 16 bit color channels. -

-
- - dn903661 - DXGI_COLOR_SPACE_RGB_STUDIO_G22_NONE_P2020 - DXGI_COLOR_SPACE_RGB_STUDIO_G22_NONE_P2020 -
- - -

Reserved.

-
- - dn903661 - DXGI_COLOR_SPACE_RESERVED - DXGI_COLOR_SPACE_RESERVED -
- - -
PropertyValue
ColorspaceYCbCr
Range0-255
Gamma2.2
SitingImage
PrimariesBT.709
TransferBT.601

?

This definition is commonly used for JPG, and is usually used with 8, 10, 12, or 16 bit color channels. -

-
- - dn903661 - DXGI_COLOR_SPACE_YCBCR_FULL_G22_NONE_P709_X601 - DXGI_COLOR_SPACE_YCBCR_FULL_G22_NONE_P709_X601 -
- - -
PropertyValue
ColorspaceYCbCr
Range16-235
Gamma2.2
SitingVideo
PrimariesBT.601

?

This definition is commonly used for MPEG2, and is usually used with 8, 10, 12, or 16 bit color channels. -

-
- - dn903661 - DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P601 - DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P601 -
- - -
PropertyValue
ColorspaceYCbCr
Range0-255
Gamma2.2
SitingVideo
PrimariesBT.601

?

This is sometimes used for H.264 camera capture, and is usually used with 8, 10, 12, or 16 bit color channels. -

-
- - dn903661 - DXGI_COLOR_SPACE_YCBCR_FULL_G22_LEFT_P601 - DXGI_COLOR_SPACE_YCBCR_FULL_G22_LEFT_P601 -
- - -
PropertyValue
ColorspaceYCbCr
Range16-235
Gamma2.2
SitingVideo
PrimariesBT.709

?

This definition is commonly used for H.264 and HEVC, and is usually used with 8, 10, 12, or 16 bit color channels. -

-
- - dn903661 - DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P709 - DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P709 -
- - -
PropertyValue
ColorspaceYCbCr
Range0-255
Gamma2.2
SitingVideo
PrimariesBT.709

?

This is sometimes used for H.264 camera capture, and is usually used with 8, 10, 12, or 16 bit color channels. -

-
- - dn903661 - DXGI_COLOR_SPACE_YCBCR_FULL_G22_LEFT_P709 - DXGI_COLOR_SPACE_YCBCR_FULL_G22_LEFT_P709 -
- - -
PropertyValue
ColorspaceYCbCr
Range16-235
Gamma2.2
SitingVideo
PrimariesBT.2020

?

This definition may be used by HEVC, and is usually used with 10, 12, or 16 bit color channels. -

-
- - dn903661 - DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P2020 - DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P2020 -
- - -
PropertyValue
ColorspaceYCbCr
Range0-255
Gamma2.2
SitingVideo
PrimariesBT.2020

?

This is usually used with 10, 12, or 16 bit color channels.

-
- - dn903661 - DXGI_COLOR_SPACE_YCBCR_FULL_G22_LEFT_P2020 - DXGI_COLOR_SPACE_YCBCR_FULL_G22_LEFT_P2020 -
- - -
PropertyValue
ColorspaceRGB
Range0-255
Gamma2084
SitingImage
PrimariesBT.2020

?

This is usually used with 10, 12, or 16 bit color channels.

-
- - dn903661 - DXGI_COLOR_SPACE_RGB_FULL_G2084_NONE_P2020 - DXGI_COLOR_SPACE_RGB_FULL_G2084_NONE_P2020 -
- - -
PropertyValue
ColorspaceYCbCr
Range16-235
Gamma2084
SitingVideo
PrimariesBT.2020

?

This is usually used with 10, 12, or 16 bit color channels.

-
- - dn903661 - DXGI_COLOR_SPACE_YCBCR_STUDIO_G2084_LEFT_P2020 - DXGI_COLOR_SPACE_YCBCR_STUDIO_G2084_LEFT_P2020 -
- - -
PropertyValue
ColorspaceRGB
Range16-235
Gamma2084
SitingImage
PrimariesBT.2020

?

This is usually used with 10, 12, or 16 bit color channels.

-
- - dn903661 - DXGI_COLOR_SPACE_RGB_STUDIO_G2084_NONE_P2020 - DXGI_COLOR_SPACE_RGB_STUDIO_G2084_NONE_P2020 -
- - -
PropertyValue
ColorspaceYCbCr
Range16-235
Gamma2.2
SitingVideo
PrimariesBT.2020

?

This is usually used with 10, 12, or 16 bit color channels.

-
- - dn903661 - DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_TOPLEFT_P2020 - DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_TOPLEFT_P2020 -
- - -
PropertyValue
ColorspaceYCbCr
Range16-235
Gamma2084
SitingVideo
PrimariesBT.2020

?

This is usually used with 10, 12, or 16 bit color channels.

-
- - dn903661 - DXGI_COLOR_SPACE_YCBCR_STUDIO_G2084_TOPLEFT_P2020 - DXGI_COLOR_SPACE_YCBCR_STUDIO_G2084_TOPLEFT_P2020 -
- - -
PropertyValue
ColorspaceRGB
Range0-255
Gamma2.2
SitingImage
PrimariesBT.2020

?

This is usually used with 10, 12, or 16 bit color channels.

-
- - dn903661 - DXGI_COLOR_SPACE_RGB_FULL_G22_NONE_P2020 - DXGI_COLOR_SPACE_RGB_FULL_G22_NONE_P2020 -
- - -

A custom color definition is used.

-
- - dn903661 - DXGI_COLOR_SPACE_YCBCR_STUDIO_GHLG_TOPLEFT_P2020 - DXGI_COLOR_SPACE_YCBCR_STUDIO_GHLG_TOPLEFT_P2020 -
- - - No documentation. - - - dn903661 - DXGI_COLOR_SPACE_YCBCR_FULL_GHLG_TOPLEFT_P2020 - DXGI_COLOR_SPACE_YCBCR_FULL_GHLG_TOPLEFT_P2020 - - - -

A custom color definition is used.

-
- - dn903661 - DXGI_COLOR_SPACE_CUSTOM - DXGI_COLOR_SPACE_CUSTOM -
- - -

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.

-
- -

Selecting the CENTERED or STRETCHED modes can result in a mode change even if you specify the native resolution of the display in the . If you know the native resolution of the display and want to make sure that you do not initiate a mode change when transitioning a swap chain to full screen (either via ALT+ENTER or ), you should use UNSPECIFIED.

This enum is used by the and structures.

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

-
- -

This enum is used by the and structures.

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

-

- -

The value for each value is determined from this macro that is defined in DXGItype.h:

 #define _FACDXGI    0x87a	
-            #define MAKE_DXGI_STATUS(code)  MAKE_HRESULT(0, _FACDXGI, code)	
-            

For example, is defined as 0x087A0001:

 #define                     MAKE_DXGI_STATUS(1)	
-            
-
- - cc308061 - DXGI_STATUS - DXGI_STATUS -
- - - No documentation. - - - cc308061 - DXGI_STATUS_OCCLUDED - DXGI_STATUS_OCCLUDED - - - - No documentation. - - - cc308061 - DXGI_STATUS_CLIPPED - DXGI_STATUS_CLIPPED - - - - No documentation. - - - cc308061 - DXGI_STATUS_NO_REDIRECTION - DXGI_STATUS_NO_REDIRECTION - - - - No documentation. - - - cc308061 - DXGI_STATUS_NO_DESKTOP_ACCESS - DXGI_STATUS_NO_DESKTOP_ACCESS - - - - No documentation. - - - cc308061 - DXGI_STATUS_GRAPHICS_VIDPN_SOURCE_IN_USE - DXGI_STATUS_GRAPHICS_VIDPN_SOURCE_IN_USE - - - - No documentation. - - - cc308061 - DXGI_STATUS_MODE_CHANGED - DXGI_STATUS_MODE_CHANGED - - - - No documentation. - - - cc308061 - DXGI_STATUS_MODE_CHANGE_IN_PROGRESS - DXGI_STATUS_MODE_CHANGE_IN_PROGRESS - - - - No documentation. - - - cc308061 - DXGI_STATUS_UNOCCLUDED - DXGI_STATUS_UNOCCLUDED - - - - No documentation. - - - cc308061 - DXGI_STATUS_DDA_WAS_STILL_DRAWING - DXGI_STATUS_DDA_WAS_STILL_DRAWING - - - - No documentation. - - - cc308061 - DXGI_STATUS_PRESENT_REQUIRED - DXGI_STATUS_PRESENT_REQUIRED - - - -

Specifies a range of hardware features, to be used when checking for feature support.

-
- -

This enum is used by the CheckFeatureSupport method.

-
- - mt722565 - DXGI_FEATURE - DXGI_FEATURE -
- - -

The display supports tearing, a requirement of variable refresh rate displays.

-
- - mt722565 - DXGI_FEATURE_PRESENT_ALLOW_TEARING - DXGI_FEATURE_PRESENT_ALLOW_TEARING -
- - -

Resource data formats, including fully-typed and typeless formats. A list of modifiers at the bottom of the page more fully describes each format type.

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

-
- - 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,5,8

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

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

-
- - 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.5,8

-
- - 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.5,7

-
- - 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.5,8

-
- - 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.5,7

-
- - 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.5,7

-
- - 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.5,8

-
- - 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.5,8

-
- - 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.5,7

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

-
- - 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,6,7.

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

Width must be even.

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

Width must be even.

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

Direct3D 10 through Direct3D 11:??This value is defined for DXGI. However, Direct3D 10, 10.1, or 11 devices do not support this format.

Direct3D 11.1:??This value is not supported until Windows?8.

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

Direct3D 10 through Direct3D 11:??This value is defined for DXGI. However, Direct3D 10, 10.1, or 11 devices do not support this format.

Direct3D 11.1:??This value is not supported until Windows?8.

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

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

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

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

-
- - bb173059 - DXGI_FORMAT_B8G8R8X8_UNORM_SRGB - DXGI_FORMAT_B8G8R8X8_UNORM_SRGB -
- - -

A typeless block-compression format. ? 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. ? 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. ? 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. ? 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. ? 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. ? 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.

For more info about YUV formats for video rendering, see Recommended 8-Bit YUV Formats for Video Rendering.

Direct3D 11.1:??This value is not supported until Windows?8.

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

For more info about YUV formats for video rendering, see Recommended 8-Bit YUV Formats for Video Rendering.

Direct3D 11.1:??This value is not supported until Windows?8.

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

For more info about YUV formats for video rendering, see Recommended 8-Bit YUV Formats for Video Rendering.

Direct3D 11.1:??This value is not supported until Windows?8.

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

For more info about YUV formats for video rendering, see Recommended 8-Bit YUV Formats for Video Rendering.

Width and height must be even. Direct3D 11 staging resources and initData parameters for this format use (rowPitch * (height + (height / 2))) bytes. The first (SysMemPitch * height) bytes are the Y plane, the remaining (SysMemPitch * (height / 2)) bytes are the UV plane.

An app using the YUY 4:2:0 formats must map the luma (Y) plane separately from the chroma (UV) planes. Developers do this by calling twice for the same texture and passing in 1-channel and 2-channel formats. Passing in a 1-channel format compatible with the Y plane maps only the Y plane. Passing in a 2-channel format compatible with the UV planes (together) maps only the U and V planes as a single resource view.

Direct3D 11.1:??This value is not supported until Windows?8.

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

For more info about YUV formats for video rendering, see Recommended 8-Bit YUV Formats for Video Rendering.

Width and height must be even. Direct3D 11 staging resources and initData parameters for this format use (rowPitch * (height + (height / 2))) bytes. The first (SysMemPitch * height) bytes are the Y plane, the remaining (SysMemPitch * (height / 2)) bytes are the UV plane.

An app using the YUY 4:2:0 formats must map the luma (Y) plane separately from the chroma (UV) planes. Developers do this by calling twice for the same texture and passing in 1-channel and 2-channel formats. Passing in a 1-channel format compatible with the Y plane maps only the Y plane. Passing in a 2-channel format compatible with the UV planes (together) maps only the U and V planes as a single resource view.

Direct3D 11.1:??This value is not supported until Windows?8.

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

For more info about YUV formats for video rendering, see Recommended 8-Bit YUV Formats for Video Rendering.

Width and height must be even. Direct3D 11 staging resources and initData parameters for this format use (rowPitch * (height + (height / 2))) bytes. The first (SysMemPitch * height) bytes are the Y plane, the remaining (SysMemPitch * (height / 2)) bytes are the UV plane.

An app using the YUY 4:2:0 formats must map the luma (Y) plane separately from the chroma (UV) planes. Developers do this by calling twice for the same texture and passing in 1-channel and 2-channel formats. Passing in a 1-channel format compatible with the Y plane maps only the Y plane. Passing in a 2-channel format compatible with the UV planes (together) maps only the U and V planes as a single resource view.

Direct3D 11.1:??This value is not supported until Windows?8.

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

For more info about YUV formats for video rendering, see Recommended 8-Bit YUV Formats for Video Rendering.

Width and height must be even. Direct3D 11 staging resources and initData parameters for this format use (rowPitch * (height + (height / 2))) bytes.

An app using the YUY 4:2:0 formats must map the luma (Y) plane separately from the chroma (UV) planes. Developers do this by calling twice for the same texture and passing in 1-channel and 2-channel formats. Passing in a 1-channel format compatible with the Y plane maps only the Y plane. Passing in a 2-channel format compatible with the UV planes (together) maps only the U and V planes as a single resource view.

Direct3D 11.1:??This value is not supported until Windows?8.

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

For more info about YUV formats for video rendering, see Recommended 8-Bit YUV Formats for Video Rendering.

Width must be even.

Direct3D 11.1:??This value is not supported until Windows?8.

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

For more info about YUV formats for video rendering, see Recommended 8-Bit YUV Formats for Video Rendering.

Width must be even.

Direct3D 11.1:??This value is not supported until Windows?8.

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

For more info about YUV formats for video rendering, see Recommended 8-Bit YUV Formats for Video Rendering.

Width must be even.

Direct3D 11.1:??This value is not supported until Windows?8.

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

For more info about YUV formats for video rendering, see Recommended 8-Bit YUV Formats for Video Rendering.

Width must be a multiple of 4. Direct3D11 staging resources and initData parameters for this format use (rowPitch * height * 2) bytes. The first (SysMemPitch * height) bytes are the Y plane, the next ((SysMemPitch / 2) * height) bytes are the UV plane, and the remainder is padding.

Direct3D 11.1:??This value is not supported until Windows?8.

-
- - bb173059 - DXGI_FORMAT_NV11 - DXGI_FORMAT_NV11 -
- - -

4-bit palletized YUV format that is commonly used for DVD subpicture.

For more info about YUV formats for video rendering, see Recommended 8-Bit YUV Formats for Video Rendering.

Direct3D 11.1:??This value is not supported until Windows?8.

-
- - bb173059 - DXGI_FORMAT_AI44 - DXGI_FORMAT_AI44 -
- - -

4-bit palletized YUV format that is commonly used for DVD subpicture.

For more info about YUV formats for video rendering, see Recommended 8-Bit YUV Formats for Video Rendering.

Direct3D 11.1:??This value is not supported until Windows?8.

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

For more info about YUV formats for video rendering, see Recommended 8-Bit YUV Formats for Video Rendering.

Direct3D 11.1:??This value is not supported until Windows?8.

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

For more info about YUV formats for video rendering, see Recommended 8-Bit YUV Formats for Video Rendering.

Direct3D 11.1:??This value is not supported until Windows?8.

-
- - 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.1:??This value is not supported until Windows?8.

-
- - bb173059 - DXGI_FORMAT_B4G4R4A4_UNORM - DXGI_FORMAT_B4G4R4A4_UNORM -
- - -

A video format; an 8-bit version of a hybrid planar 4:2:2 format.

-
- - bb173059 - DXGI_FORMAT_P208 - DXGI_FORMAT_P208 -
- - -

An 8 bit YCbCrA 4:4 rendering format.

-
- - bb173059 - DXGI_FORMAT_V208 - DXGI_FORMAT_V208 -
- - -

An 8 bit YCbCrA 4:4:4:4 rendering format.

-
- - bb173059 - DXGI_FORMAT_V408 - DXGI_FORMAT_V408 -
- - -

Indicates options for presenting frames to the swap chain.

-
- -

This enum is used by the structure.

-
- - dn384107 - DXGI_FRAME_PRESENTATION_MODE - DXGI_FRAME_PRESENTATION_MODE -
- - -

Specifies that the presentation mode is a composition surface, meaning that the conversion from YUV to RGB is happening once per output refresh (for example, 60 Hz). When this value is returned, the media app should discontinue use of the decode swap chain and perform YUV to RGB conversion itself, reducing the frequency of YUV to RGB conversion to once per video frame.

-
- - dn384107 - DXGI_FRAME_PRESENTATION_MODE_COMPOSED - DXGI_FRAME_PRESENTATION_MODE_COMPOSED -
- - -

Specifies that the presentation mode is an overlay surface, meaning that the YUV to RGB conversion is happening efficiently in hardware (once per video frame). When this value is returned, the media app can continue to use the decode swap chain. See .

-
- - dn384107 - DXGI_FRAME_PRESENTATION_MODE_OVERLAY - DXGI_FRAME_PRESENTATION_MODE_OVERLAY -
- - -

No presentation is specified.

-
- - dn384107 - DXGI_FRAME_PRESENTATION_MODE_NONE - DXGI_FRAME_PRESENTATION_MODE_NONE -
- - -

An issue occurred that caused content protection to be invalidated in a swap-chain with hardware content protection, and is usually because the system ran out of hardware protected memory. The app will need to do one of the following:

  • Drastically reduce the amount of hardware protected memory used. For example, media applications might be able to reduce their buffering. -
  • Stop using hardware protection if possible.

Note that simply re-creating the swap chain or the device will usually have no impact as the DWM will continue to run out of memory and will return the same failure.

-
- - dn384107 - DXGI_FRAME_PRESENTATION_MODE_COMPOSITION_FAILURE - DXGI_FRAME_PRESENTATION_MODE_COMPOSITION_FAILURE -
- - -

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_HARDWARE_COMPOSITION_SUPPORT_FLAGS - DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAGS - - - - No documentation. - - - DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAG_FULLSCREEN - DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAG_FULLSCREEN - - - - No documentation. - - - DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAG_WINDOWED - DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAG_WINDOWED - - - - No documentation. - - - DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAG_CURSOR_STRETCHED - DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAG_CURSOR_STRETCHED - - - - None. - - - None - None - - - -

Specifies the header metadata type.

-
- -

This enum is used by the SetHDRMetaData method.

-
- - mt732701 - DXGI_HDR_METADATA_TYPE - DXGI_HDR_METADATA_TYPE -
- - -

Indicates there is no header metadata.

-
- - mt732701 - DXGI_HDR_METADATA_TYPE_NONE - DXGI_HDR_METADATA_TYPE_NONE -
- - -

Indicates the header metadata is held by a structure.

-
- - mt732701 - DXGI_HDR_METADATA_TYPE_HDR10 - DXGI_HDR_METADATA_TYPE_HDR10 -
- - -

Get a reference to the data contained in the surface, and deny GPU access to the surface.

-
- -

Use to access a surface from the CPU. To release a mapped surface (and allow GPU access) call .

-
- - bb174567 - DXGI_MAP_FLAGS - DXGI_MAP_FLAGS -
- - -

A reference to the surface data (see ).

-
- - bb174567 - DXGI_MAP_READ - DXGI_MAP_READ -
- - -

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.
-
- - bb174567 - DXGI_MAP_WRITE - DXGI_MAP_WRITE -
- - - No documentation. - - - bb174567 - DXGI_MAP_DISCARD - DXGI_MAP_DISCARD - - - -

Specifies the memory segment group to use.

-
- -

This enum is used by QueryVideoMemoryInfo and SetVideoMemoryReservation.

Refer to the remarks for .

-
- - dn933219 - DXGI_MEMORY_SEGMENT_GROUP - DXGI_MEMORY_SEGMENT_GROUP -
- - -

The grouping of segments which is considered local to the video adapter, and represents the fastest available memory to the GPU. Applications should target the local segment group as the target size for their working set.

-
- - dn933219 - DXGI_MEMORY_SEGMENT_GROUP_LOCAL - DXGI_MEMORY_SEGMENT_GROUP_LOCAL -
- - -

The grouping of segments which is considered non-local to the video adapter, and may have slower performance than the local segment group.

-
- - dn933219 - DXGI_MEMORY_SEGMENT_GROUP_NON_LOCAL - DXGI_MEMORY_SEGMENT_GROUP_NON_LOCAL -
- - -

Options for swap-chain color space.

-
- -

This enum is used by SetColorSpace.

-
- - dn313170 - DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAGS - DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAGS -
- - -

Specifies nominal range YCbCr, which isn't an absolute color space, but a way of encoding RGB info.

-
- - dn313170 - DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAG_NOMINAL_RANGE - DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAG_NOMINAL_RANGE -
- - -

Specifies BT.709, which standardizes the format of high-definition television and has 16:9 (widescreen) aspect ratio.

-
- - dn313170 - DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAG_BT709 - DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAG_BT709 -
- - -

Specifies xvYCC or extended-gamut YCC (also x.v.Color) color space that can be used in the video electronics of television sets to support a gamut 1.8 times as large as that of the sRGB color space.

-
- - dn313170 - DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAG_xvYCC - DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAG_xvYCC -
- - - None. - - - None - None - - - -

Specifies flags for the OfferResources1 method.

-
- - mt732702 - DXGI_OFFER_RESOURCE_FLAGS - DXGI_OFFER_RESOURCE_FLAGS -
- - - No documentation. - - - mt732702 - DXGI_OFFER_RESOURCE_FLAG_ALLOW_DECOMMIT - DXGI_OFFER_RESOURCE_FLAG_ALLOW_DECOMMIT - - - - None. - - - None - None - - - -

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.

-
- - dn933257 - DXGI_OFFER_RESOURCE_PRIORITY - DXGI_OFFER_RESOURCE_PRIORITY -
- - - No documentation. - - - dn933257 - DXGI_OFFER_RESOURCE_PRIORITY_LOW - DXGI_OFFER_RESOURCE_PRIORITY_LOW - - - - No documentation. - - - dn933257 - DXGI_OFFER_RESOURCE_PRIORITY_NORMAL - DXGI_OFFER_RESOURCE_PRIORITY_NORMAL - - - - No documentation. - - - dn933257 - DXGI_OFFER_RESOURCE_PRIORITY_HIGH - DXGI_OFFER_RESOURCE_PRIORITY_HIGH - - - - No documentation. - - - DXGI_OUTDUPL_FLAG - DXGI_OUTDUPL_FLAG - - - - No documentation. - - - DXGI_OUTDUPL_COMPOSITED_UI_CAPTURE_ONLY - DXGI_OUTDUPL_COMPOSITED_UI_CAPTURE_ONLY - - - - None. - - - None - None - - - -

Identifies the type of reference shape.

-
- - hh404520 - DXGI_OUTDUPL_POINTER_SHAPE_TYPE - DXGI_OUTDUPL_POINTER_SHAPE_TYPE -
- - -

The reference type is a monochrome mouse reference, which is a monochrome bitmap. The bitmap's size is specified by width and height in a 1 bits per pixel (bpp) device independent bitmap (DIB) format AND mask that is followed by another 1 bpp DIB format XOR mask of the same size.

-
- - hh404520 - DXGI_OUTDUPL_POINTER_SHAPE_TYPE_MONOCHROME - DXGI_OUTDUPL_POINTER_SHAPE_TYPE_MONOCHROME -
- - -

The reference type is a color mouse reference, which is a color bitmap. The bitmap's size is specified by width and height in a 32 bpp ARGB DIB format.

-
- - hh404520 - DXGI_OUTDUPL_POINTER_SHAPE_TYPE_COLOR - DXGI_OUTDUPL_POINTER_SHAPE_TYPE_COLOR -
- - -

The reference type is a masked color mouse reference. A masked color mouse reference is a 32 bpp ARGB format bitmap with the mask value in the alpha bits. The only allowed mask values are 0 and 0xFF. When the mask value is 0, the RGB value should replace the screen pixel. When the mask value is 0xFF, an XOR operation is performed on the RGB value and the screen pixel; the result replaces the screen pixel.

-
- - hh404520 - DXGI_OUTDUPL_POINTER_SHAPE_TYPE_MASKED_COLOR - DXGI_OUTDUPL_POINTER_SHAPE_TYPE_MASKED_COLOR -
- - -

Specifies support for overlay color space.

-
- - dn903665 - DXGI_OVERLAY_COLOR_SPACE_SUPPORT_FLAG - DXGI_OVERLAY_COLOR_SPACE_SUPPORT_FLAG -
- - -

Overlay color space support is present.

-
- - dn903665 - DXGI_OVERLAY_COLOR_SPACE_SUPPORT_FLAG_PRESENT - DXGI_OVERLAY_COLOR_SPACE_SUPPORT_FLAG_PRESENT -
- - - None. - - - None - None - - - -

Specifies overlay support to check for in a call to .

-
- - dn903667 - DXGI_OVERLAY_SUPPORT_FLAG - DXGI_OVERLAY_SUPPORT_FLAG -
- - - No documentation. - - - dn903667 - DXGI_OVERLAY_SUPPORT_FLAG_DIRECT - DXGI_OVERLAY_SUPPORT_FLAG_DIRECT - - - - No documentation. - - - dn903667 - DXGI_OVERLAY_SUPPORT_FLAG_SCALING - DXGI_OVERLAY_SUPPORT_FLAG_SCALING - - - -

Presents a rendered image to the user.

-
- -

Starting with Direct3D 11.1, consider using because you can then use dirty rectangles and the scroll rectangle in the swap chain presentation and as such use less memory bandwidth and as a result less system power. For more info about using dirty rectangles and the scroll rectangle in swap chain presentation, see Using dirty rectangles and the scroll rectangle in swap chain presentation.

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.

For info about how data values change when you present content to the screen, see Converting data for the color space.

-
- - bb174576 - DXGI_PRESENT_FLAGS - DXGI_PRESENT_FLAGS -
- - -

An integer that specifies how to synchronize presentation of a frame with the vertical blank. -

For the bit-block transfer (bitblt) model ( or ), values are:

  • 0 - The presentation occurs immediately, there is no synchronization.
  • 1 through 4 - Synchronize presentation after the nth vertical blank.

For the flip model (), values are:

  • 0 - Cancel the remaining time on the previously presented frame and discard this frame if a newer frame is queued. -
  • 1 through 4 - 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 ), Present performs the synchronization to the output that contains the largest sub-rectangle of the target window's client area.

-
- - bb174576 - DXGI_PRESENT_TEST - DXGI_PRESENT_TEST -
- - -

An integer value that contains swap-chain presentation options. These options are defined by the DXGI_PRESENT constants.

-
- - bb174576 - DXGI_PRESENT_DO_NOT_SEQUENCE - DXGI_PRESENT_DO_NOT_SEQUENCE -
- - - No documentation. - - - bb174576 - DXGI_PRESENT_RESTART - DXGI_PRESENT_RESTART - - - - No documentation. - - - bb174576 - DXGI_PRESENT_DO_NOT_WAIT - DXGI_PRESENT_DO_NOT_WAIT - - - - No documentation. - - - bb174576 - DXGI_PRESENT_STEREO_PREFER_RIGHT - DXGI_PRESENT_STEREO_PREFER_RIGHT - - - - No documentation. - - - bb174576 - DXGI_PRESENT_STEREO_TEMPORARY_MONO - DXGI_PRESENT_STEREO_TEMPORARY_MONO - - - - No documentation. - - - bb174576 - DXGI_PRESENT_RESTRICT_TO_OUTPUT - DXGI_PRESENT_RESTRICT_TO_OUTPUT - - - - No documentation. - - - bb174576 - DXGI_PRESENT_USE_DURATION - DXGI_PRESENT_USE_DURATION - - - - No documentation. - - - bb174576 - DXGI_PRESENT_ALLOW_TEARING - DXGI_PRESENT_ALLOW_TEARING - - - - None. - - - None - None - - - -

Specifies result flags for the ReclaimResources1 method.

-
- - mt732703 - DXGI_RECLAIM_RESOURCE_RESULTS - DXGI_RECLAIM_RESOURCE_RESULTS -
- - - No documentation. - - - mt732703 - DXGI_RECLAIM_RESOURCE_RESULT_OK - DXGI_RECLAIM_RESOURCE_RESULT_OK - - - - No documentation. - - - mt732703 - DXGI_RECLAIM_RESOURCE_RESULT_DISCARDED - DXGI_RECLAIM_RESOURCE_RESULT_DISCARDED - - - - No documentation. - - - mt732703 - DXGI_RECLAIM_RESOURCE_RESULT_NOT_COMMITTED - DXGI_RECLAIM_RESOURCE_RESULT_NOT_COMMITTED - - - -

Flags indicating the memory location of a resource.

-
- -

This enum is used by QueryResourceResidency.

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

Set the priority for evicting the resource from memory.

-
- -

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 - DXGI_RESOURCE_PRIORITY - DXGI_RESOURCE_PRIORITY -
- - -

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.

?

-
- - bb174564 - DXGI_RESOURCE_PRIORITY_MINIMUM - DXGI_RESOURCE_PRIORITY_MINIMUM -
- - - No documentation. - - - bb174564 - DXGI_RESOURCE_PRIORITY_LOW - DXGI_RESOURCE_PRIORITY_LOW - - - - No documentation. - - - bb174564 - DXGI_RESOURCE_PRIORITY_NORMAL - DXGI_RESOURCE_PRIORITY_NORMAL - - - - No documentation. - - - bb174564 - DXGI_RESOURCE_PRIORITY_HIGH - DXGI_RESOURCE_PRIORITY_HIGH - - - - No documentation. - - - bb174564 - DXGI_RESOURCE_PRIORITY_MAXIMUM - DXGI_RESOURCE_PRIORITY_MAXIMUM - - - -

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 .

will prefer to use a horizontal fill, otherwise it will use a vertical fill, using the following logic.

float aspectRatio = backBufferWidth / float(backBufferHeight); // Horizontal fill float scaledWidth = outputWidth; float scaledHeight = outputWidth / aspectRatio; if (scaledHeight >= outputHeight) { // Do vertical fill scaledWidth = outputHeight * aspectRatio; scaledHeight = outputHeight; } float offsetX = (outputWidth - scaledWidth) * 0.5f; float offsetY = (outputHeight - scaledHeight) * 0.5f; rect.left = static_cast<LONG>(offsetX); rect.top = static_cast<LONG>(offsetY); rect.right = static_cast<LONG>(offsetX + scaledWidth); rect.bottom = static_cast<LONG>(offsetY + scaledHeight); rect.left = std::max<LONG>(0, rect.left); rect.top = std::max<LONG>(0, rect.top); rect.right = std::min<LONG>(static_cast<LONG>(outputWidth), rect.right); rect.bottom = std::min<LONG>(static_cast<LONG>(outputHeight), rect.bottom); -

Note that outputWidth and outputHeight are the pixel sizes of the presentation target size. In the case of CoreWindow, this requires converting the logicalWidth and logicalHeight values from DIPS to pixels using the window's DPI property.

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

Directs DXGI to make the back-buffer contents scale to fit the presentation target size, while preserving the aspect ratio of the back-buffer. If the scaled back-buffer does not fill the presentation area, it will be centered with black borders.

This constant is supported on Windows Phone 8 and Windows 10.

Note that with legacy Win32 window swapchains, this works the same as . -

-
- - hh404526 - DXGI_SCALING_ASPECT_RATIO_STRETCH - DXGI_SCALING_ASPECT_RATIO_STRETCH -
- - - 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 - - - -

Specifies color space support for the swap chain.

-
- - dn903668 - DXGI_SWAP_CHAIN_COLOR_SPACE_SUPPORT_FLAG - DXGI_SWAP_CHAIN_COLOR_SPACE_SUPPORT_FLAG -
- - -

Color space support is present.

-
- - dn903668 - DXGI_SWAP_CHAIN_COLOR_SPACE_SUPPORT_FLAG_PRESENT - DXGI_SWAP_CHAIN_COLOR_SPACE_SUPPORT_FLAG_PRESENT -
- - -

Overlay color space support is present.

-
- - dn903668 - DXGI_SWAP_CHAIN_COLOR_SPACE_SUPPORT_FLAG_OVERLAY_PRESENT - DXGI_SWAP_CHAIN_COLOR_SPACE_SUPPORT_FLAG_OVERLAY_PRESENT -
- - - 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.

You don't need to set for swap chains that you create in full-screen mode with the method because those swap chains already behave as if is set. That is, presented content is not accessible by remote access or through the desktop duplication APIs.

Swap chains that you create with the , , and 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.

When you call to change the swap chain's back buffer, you can reset or change all flags.

-
- - 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?8.

-
- - 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?8.

-
- - 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?8.

-
- - bb173076 - DXGI_SWAP_CHAIN_FLAG_DISPLAY_ONLY - DXGI_SWAP_CHAIN_FLAG_DISPLAY_ONLY -
- - -

Set this flag to create a waitable object you can use to ensure rendering does not begin while a frame is still being presented. When this flag is used, the swapchain's latency must be set with the API instead of .

Note??This enumeration value is supported starting with Windows?8.1.

-
- - bb173076 - DXGI_SWAP_CHAIN_FLAG_FRAME_LATENCY_WAITABLE_OBJECT - DXGI_SWAP_CHAIN_FLAG_FRAME_LATENCY_WAITABLE_OBJECT -
- - -

Set this flag to create a swap chain in the foreground layer for multi-plane rendering. This flag can only be used with CoreWindow swap chains, which are created with CreateSwapChainForCoreWindow. Apps should not create foreground swap chains if indicates that hardware support for overlays is not available.

Note that cannot be used to add or remove this flag.

Note??This enumeration value is supported starting with Windows?8.1.

-
- - bb173076 - DXGI_SWAP_CHAIN_FLAG_FOREGROUND_LAYER - DXGI_SWAP_CHAIN_FLAG_FOREGROUND_LAYER -
- - -

Set this flag to create a swap chain for full-screen video.

Note??This enumeration value is supported starting with Windows?8.1.

-
- - bb173076 - DXGI_SWAP_CHAIN_FLAG_FULLSCREEN_VIDEO - DXGI_SWAP_CHAIN_FLAG_FULLSCREEN_VIDEO -
- - -

Set this flag to create a swap chain for YUV video.

Note??This enumeration value is supported starting with Windows?8.1.

-
- - bb173076 - DXGI_SWAP_CHAIN_FLAG_YUV_VIDEO - DXGI_SWAP_CHAIN_FLAG_YUV_VIDEO -
- - -

Indicates that the swap chain should be created such that all underlying resources can be protected by the hardware. Resource creation will fail if hardware content protection is not supported.

This flag has the following restrictions:

  • This flag can only be used with swap effect .
Note??Creating a swap chain using this flag does not automatically guarantee that hardware protection will be enabled for the underlying allocation. Some implementations require that the DRM components are first initialized prior to any guarantees of protection. ?

Note??This enumeration value is supported starting with Windows?10.

-
- - bb173076 - DXGI_SWAP_CHAIN_FLAG_HW_PROTECTED - DXGI_SWAP_CHAIN_FLAG_HW_PROTECTED -
- - -

Tearing support is a requirement to enable displays that support variable refresh rates to function properly when the application presents a swap chain tied to a full screen borderless window. Win32 apps can already achieve tearing in fullscreen exclusive mode by calling SetFullscreenState(TRUE), but the recommended approach for Win32 developers is to use this tearing flag instead.

To check for hardware support of this feature, refer to . For usage information refer to and the DXGI_PRESENT flags.

-
- - bb173076 - DXGI_SWAP_CHAIN_FLAG_ALLOW_TEARING - DXGI_SWAP_CHAIN_FLAG_ALLOW_TEARING -
- - - No documentation. - - - bb173076 - DXGI_SWAP_CHAIN_FLAG_RESTRICTED_TO_ALL_HOLOGRAPHIC_DISPLAYS - DXGI_SWAP_CHAIN_FLAG_RESTRICTED_TO_ALL_HOLOGRAPHIC_DISPLAYS - - - - None. - - - None - None - - - -

Options for handling pixels in a display surface after calling .

-
- -

This enumeration is used by the and structures.

To use multisampling with or , you must perform the multisampling in a separate render target. For example, create a multisampled texture by calling with a filled structure (BindFlags member set to and SampleDesc member with multisampling parameters). Next call to create a render-target view for the texture, and render your scene into the texture. Finally call to resolve the multisampled texture into your non-multisampled swap chain.

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.

When you call on a flip model swap chain () with 0 specified in the SyncInterval parameter, 's behavior is the same as the behavior of Direct3D 9Ex's IDirect3DDevice9Ex::PresentEx with D3DSWAPEFFECT_FLIPEX and D3DPRESENT_FORCEIMMEDIATE. That is, the runtime not only presents the next frame instead of any previously queued frames, it also terminates any remaining time left on the previously queued frames.

Regardless of whether the flip model is more efficient, an application still might choose the bitblt model because 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.

For more info about the flip-model swap chain and optimizing presentation, see Enhancing presentation with the flip model, dirty rectangles, and scrolled areas.

-
- - bb173077 - DXGI_SWAP_EFFECT - DXGI_SWAP_EFFECT -
- - - No documentation. - - - bb173077 - DXGI_SWAP_EFFECT_DISCARD - DXGI_SWAP_EFFECT_DISCARD - - - - No documentation. - - - bb173077 - DXGI_SWAP_EFFECT_SEQUENTIAL - DXGI_SWAP_EFFECT_SEQUENTIAL - - - - No documentation. - - - bb173077 - DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL - DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL - - - - No documentation. - - - bb173077 - DXGI_SWAP_EFFECT_FLIP_DISCARD - DXGI_SWAP_EFFECT_FLIP_DISCARD - - - - 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 - - - - - Constant CreateFactoryDebug. - DXGI_CREATE_FACTORY_DEBUG - - - -

Creates a DXGI 1.1 factory that you can use to generate other DXGI objects.

-
-

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.?Note??CreateDXGIFactory1 fails if your app's DllMain function calls it. For more info about how DXGI responds from DllMain, see DXGI Responses from DLLMain.?Note??Starting with Windows?8, all DXGI factories (regardless if they were created with CreateDXGIFactory or CreateDXGIFactory1) enumerate adapters identically. The enumeration order of adapters, which you retrieve with or , is as follows:
  • Adapter with the output on which the desktop primary is displayed. This adapter corresponds with an index of zero.
  • Adapters with outputs.
  • Adapters without outputs.
? -
- - ff471318 - HRESULT CreateDXGIFactory1([In] const GUID& riid,[Out] void** ppFactory) - CreateDXGIFactory1 -
- - -

Creates a DXGI 1.3 factory that you can use to generate other DXGI objects.

In Windows?8, any DXGI factory created while DXGIDebug.dll was present on the system would load and use it. Starting in Windows?8.1, apps explicitly request that DXGIDebug.dll be loaded instead. Use CreateDXGIFactory2 and specify the flag to request DXGIDebug.dll; the DLL will be loaded if it is present on the system.

-
-

Valid values include the (0x01) flag, and zero.

Note??This flag will be set by the D3D runtime if:
  • The system creates an implicit factory during device creation.
  • The flag is specified during device creation, for example using (or the swapchain method, or the Direct3D 10 equivalents).
?
-

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.

- -

This function accepts a flag indicating whether DXGIDebug.dll is loaded. The function otherwise behaves identically to CreateDXGIFactory1.

-
- - dn268307 - HRESULT CreateDXGIFactory2([In] unsigned int Flags,[In] const GUID& riid,[Out] void** ppFactory) - CreateDXGIFactory2 -
- - - Functions - - - - - Constant InvalidCall. - DXGI_ERROR_INVALID_CALL - - - Constant NotFound. - DXGI_ERROR_NOT_FOUND - - - Constant MoreData. - DXGI_ERROR_MORE_DATA - - - Constant Unsupported. - DXGI_ERROR_UNSUPPORTED - - - Constant DeviceRemoved. - DXGI_ERROR_DEVICE_REMOVED - - - Constant DeviceHung. - DXGI_ERROR_DEVICE_HUNG - - - Constant DeviceReset. - DXGI_ERROR_DEVICE_RESET - - - Constant WasStillDrawing. - DXGI_ERROR_WAS_STILL_DRAWING - - - Constant FrameStatisticsDisjoint. - DXGI_ERROR_FRAME_STATISTICS_DISJOINT - - - Constant GraphicsVidpnSourceInUse. - DXGI_ERROR_GRAPHICS_VIDPN_SOURCE_IN_USE - - - Constant DriverInternalError. - DXGI_ERROR_DRIVER_INTERNAL_ERROR - - - Constant Nonexclusive. - DXGI_ERROR_NONEXCLUSIVE - - - Constant NotCurrentlyAvailable. - DXGI_ERROR_NOT_CURRENTLY_AVAILABLE - - - Constant RemoteClientDisconnected. - DXGI_ERROR_REMOTE_CLIENT_DISCONNECTED - - - Constant RemoteOufOfMemory. - DXGI_ERROR_REMOTE_OUTOFMEMORY - - - Constant AccessLost. - DXGI_ERROR_ACCESS_LOST - - - Constant WaitTimeout. - DXGI_ERROR_WAIT_TIMEOUT - - - Constant SessionDisconnected. - DXGI_ERROR_SESSION_DISCONNECTED - - - Constant RestrictToOutputStale. - DXGI_ERROR_RESTRICT_TO_OUTPUT_STALE - - - Constant CannotProtectContent. - DXGI_ERROR_CANNOT_PROTECT_CONTENT - - - Constant AccessDenied. - DXGI_ERROR_ACCESS_DENIED - - - Constant NameAlreadyExists. - DXGI_ERROR_NAME_ALREADY_EXISTS - - - Constant SdkComponentMissing. - DXGI_ERROR_SDK_COMPONENT_MISSING - - - Constant NotCurrent. - DXGI_ERROR_NOT_CURRENT - - - Constant HwProtectionOufOfMemory. - DXGI_ERROR_HW_PROTECTION_OUTOFMEMORY - - - Constant DynamicCodePolicyViolation. - DXGI_ERROR_DYNAMIC_CODE_POLICY_VIOLATION - - - Constant NonCompositedUi. - DXGI_ERROR_NON_COMPOSITED_UI - - - Constant ModeChangeInProgress. - DXGI_ERROR_MODE_CHANGE_IN_PROGRESS - - - Constant CacheCorrupt. - DXGI_ERROR_CACHE_CORRUPT - - - Constant CacheFull. - DXGI_ERROR_CACHE_FULL - - - Constant CacheHashCollision. - DXGI_ERROR_CACHE_HASH_COLLISION - - - Constant AlreadyExists. - DXGI_ERROR_ALREADY_EXISTS - - - -

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 .

Windows?Phone?8: This API is supported.

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

-
- -

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

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. On feature level 9 graphics hardware, GetDesc1 returns zeros for the PCI ID in the VendorId, DeviceId, SubSysId, and Revision members of and ?Software Adapter? for the description string in the Description member.

-

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

The interface represents a display subsystem, which includes one or more GPUs, DACs, and video memory.

-
- -

A display subsystem is often referred to as a video card; however, on some computers, the display subsystem is part of the motherboard.

To enumerate the display subsystems, use .

To get an interface to the adapter for a particular device, use .

To create a software adapter, use .

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

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

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. On feature level 9 graphics hardware, earlier versions of GetDesc2 (GetDesc and GetDesc1) return zeros for the PCI ID in the VendorId, DeviceId, SubSysId, and Revision members of the adapter description structure and ?Software Adapter? for the description string in the Description member. GetDesc2 returns the actual feature level 9 hardware values in these members.

-

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 interface adds some memory residency methods, for budgeting and reserving physical memory.

-
- -

For more details, refer to the Residency section of the D3D12 documentation.

-
- - dn933221 - IDXGIAdapter3 - IDXGIAdapter3 -
- - - Initializes a new instance of the 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 to receive notification of hardware content protection teardown events.

-
-

A handle to the event object that the operating system sets when hardware content protection teardown 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.

- -

Call () to check for the presence of the capability to know whether the hardware contains an automatic teardown mechanism. After the event is signaled, the application can call to determine the impact of the hardware teardown for a specific interface. -

-
- - dn933230 - HRESULT IDXGIAdapter3::RegisterHardwareContentProtectionTeardownStatusEvent([In] void* hEvent,[Out] unsigned int* pdwCookie) - IDXGIAdapter3::RegisterHardwareContentProtectionTeardownStatusEvent -
- - -

Unregisters an event to stop it from receiving notification of hardware content protection teardown events.

-
-

A key value for the window or event to unregister. The method returns this value.

- - dn933233 - void IDXGIAdapter3::UnregisterHardwareContentProtectionTeardownStatus([In] unsigned int dwCookie) - IDXGIAdapter3::UnregisterHardwareContentProtectionTeardownStatus -
- - -

This method informs the process of the current budget and process usage.

-
-

Specifies the device's physical adapter for which the video memory information is queried. For single-GPU operation, set this to zero. If there are multiple GPU nodes, set this to the index of the node (the device's physical adapter) for which the video memory information is queried. See Multi-Adapter.

-

Specifies a that identifies the group as local or non-local.

-

Fills in a structure with the current values.

- -

Applications must explicitly manage their usage of physical memory explicitly and keep usage within the budget assigned to the application process. Processes that cannot kept their usage within their assigned budgets will likely experience stuttering, as they are intermittently frozen and paged-out to allow other processes to run.

-
- - dn933223 - HRESULT IDXGIAdapter3::QueryVideoMemoryInfo([In] unsigned int NodeIndex,[In] DXGI_MEMORY_SEGMENT_GROUP MemorySegmentGroup,[Out] DXGI_QUERY_VIDEO_MEMORY_INFO* pVideoMemoryInfo) - IDXGIAdapter3::QueryVideoMemoryInfo -
- - -

This method sends the minimum required physical memory for an application, to the OS.

-
-

Specifies the device's physical adapter for which the video memory information is being set. For single-GPU operation, set this to zero. If there are multiple GPU nodes, set this to the index of the node (the device's physical adapter) for which the video memory information is being set. See Multi-Adapter.

-

Specifies a that identifies the group as local or non-local.

-

Specifies a UINT64 that sets the minimum required physical memory, in bytes.

-

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

- -

Applications are encouraged to set a video reservation to denote the amount of physical memory they cannot go without. This value helps the OS quickly minimize the impact of large memory pressure situations.

-
- - dn933232 - HRESULT IDXGIAdapter3::SetVideoMemoryReservation([In] unsigned int NodeIndex,[In] DXGI_MEMORY_SEGMENT_GROUP MemorySegmentGroup,[In] unsigned longlong Reservation) - IDXGIAdapter3::SetVideoMemoryReservation -
- - -

This method establishes a correlation between a CPU synchronization object and the budget change event.

-
-

Specifies a HANDLE for the event.

-

A key value for the window or event to unregister. The method returns this value.

- -

Instead of calling QueryVideoMemoryInfo regularly, applications can use CPU synchronization objects to efficiently wake threads when budget changes occur.

-
- - dn933231 - HRESULT IDXGIAdapter3::RegisterVideoMemoryBudgetChangeNotificationEvent([In] void* hEvent,[Out] unsigned int* pdwCookie) - IDXGIAdapter3::RegisterVideoMemoryBudgetChangeNotificationEvent -
- - -

This method stops notifying a CPU synchronization object whenever a budget change occurs. An application may switch back to polling the information regularly.

-
-

A key value for the window or event to unregister. The method returns this value.

- -

An application may switch back to polling for the information regularly.

-
- - dn933234 - void IDXGIAdapter3::UnregisterVideoMemoryBudgetChangeNotification([In] unsigned int dwCookie) - IDXGIAdapter3::UnregisterVideoMemoryBudgetChangeNotification -
- - -

The interface represents a display subsystem (including one or more GPUs, DACs and video memory).

-
- -

A display subsystem is often referred to as a video card, however, on some machines the display subsystem is part of the motherboard.

To enumerate the display subsystems, use .

To get an interface to the adapter for a particular device, use .

To create a software adapter, use .

Windows?Phone?8: This API is supported.

-
- - bb174523 - IDXGIAdapter4 - IDXGIAdapter4 -
- - - Initializes a new instance of the 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. - - - GetDesc3 - GetDesc3 - HRESULT IDXGIAdapter4::GetDesc3([Out] DXGI_ADAPTER_DESC3* pDesc) - - - - No documentation. - - No documentation. - No documentation. - - HRESULT IDXGIAdapter4::GetDesc3([Out] DXGI_ADAPTER_DESC3* pDesc) - IDXGIAdapter4::GetDesc3 - - - -

Represents a swap chain that is used by desktop media apps to decode video data and show it on a DirectComposition surface.

-
- -

Decode swap chains are intended for use primarily with YUV surface formats. When using decode buffers created with an RGB surface format, the TargetRect and DestSize must be set equal to the buffer dimensions. SourceRect cannot exceed the buffer dimensions.

In clone mode, the decode swap chain is only guaranteed to be shown on the primary output.

Decode swap chains cannot be used with dirty rects.

-
- - dn384109 - IDXGIDecodeSwapChain - IDXGIDecodeSwapChain -
- - - Initializes a new instance of the 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 or sets the source region that is used for the swap chain.

-
- - dn384121 - GetSourceRect / SetSourceRect - GetSourceRect - HRESULT IDXGIDecodeSwapChain::GetSourceRect([Out] RECT* pRect) -
- - -

Gets or sets the rectangle that defines the target region for the video processing blit operation.

-
- - dn384122 - GetTargetRect / SetTargetRect - GetTargetRect - HRESULT IDXGIDecodeSwapChain::GetTargetRect([Out] RECT* pRect) -
- - -

Gets or sets the color space used by the swap chain.

-
- - dn384119 - GetColorSpace / SetColorSpace - GetColorSpace - DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAGS IDXGIDecodeSwapChain::GetColorSpace() -
- - -

Presents a frame on the output adapter. The frame is a subresource of the object that was used to create the decode swap chain.

-
- No documentation. - No documentation. - No documentation. -

This method returns on success, or it returns one of the following error codes:

  • E_OUTOFMEMORY
- - dn384123 - HRESULT IDXGIDecodeSwapChain::PresentBuffer([In] unsigned int BufferToPresent,[In] unsigned int SyncInterval,[In] unsigned int Flags) - IDXGIDecodeSwapChain::PresentBuffer -
- - -

Sets the rectangle that defines the source region for the video processing blit operation.

The source rectangle is the portion of the input surface that is blitted to the destination surface. The source rectangle is given in pixel coordinates, relative to the input surface.

-
-

A reference to a structure that contains the source region to set for the swap chain.

-

This method returns on success, or it returns one of the error codes that are described in the DXGI_ERROR topic.

- - dn384126 - HRESULT IDXGIDecodeSwapChain::SetSourceRect([In] const RECT* pRect) - IDXGIDecodeSwapChain::SetSourceRect -
- - -

Sets the rectangle that defines the target region for the video processing blit operation.

The target rectangle is the area within the destination surface where the output will be drawn. The target rectangle is given in pixel coordinates, relative to the destination surface.

-
-

A reference to a structure that contains the target region to set for the swap chain.

-

This method returns on success, or it returns one of the error codes that are described in the DXGI_ERROR topic.

- - dn384127 - HRESULT IDXGIDecodeSwapChain::SetTargetRect([In] const RECT* pRect) - IDXGIDecodeSwapChain::SetTargetRect -
- - -

Sets the size of the destination surface to use for the video processing blit operation.

The destination rectangle is the portion of the output surface that receives the blit for this stream. The destination rectangle is given in pixel coordinates, relative to the output surface.

-
-

The width of the destination size, in pixels.

-

The height of the destination size, in pixels.

-

This method returns on success, or it returns one of the error codes that are described in the DXGI_ERROR topic.

- - dn384125 - HRESULT IDXGIDecodeSwapChain::SetDestSize([In] unsigned int Width,[In] unsigned int Height) - IDXGIDecodeSwapChain::SetDestSize -
- - -

Gets the source region that is used for the swap chain.

-
-

A reference to a structure that receives the source region for the swap chain.

-

This method returns on success, or it returns one of the error codes that are described in the DXGI_ERROR topic.

- - dn384121 - HRESULT IDXGIDecodeSwapChain::GetSourceRect([Out] RECT* pRect) - IDXGIDecodeSwapChain::GetSourceRect -
- - -

Gets the rectangle that defines the target region for the video processing blit operation.

-
-

A reference to a structure that receives the target region for the swap chain.

-

This method returns on success, or it returns one of the error codes that are described in the DXGI_ERROR topic.

- - dn384122 - HRESULT IDXGIDecodeSwapChain::GetTargetRect([Out] RECT* pRect) - IDXGIDecodeSwapChain::GetTargetRect -
- - -

Gets the size of the destination surface to use for the video processing blit operation.

-
-

A reference to a variable that receives the width in pixels.

-

A reference to a variable that receives the height in pixels.

-

This method returns on success, or it returns one of the error codes that are described in the DXGI_ERROR topic.

- - dn384120 - HRESULT IDXGIDecodeSwapChain::GetDestSize([Out] unsigned int* pWidth,[Out] unsigned int* pHeight) - IDXGIDecodeSwapChain::GetDestSize -
- - -

Sets the color space used by the swap chain.

-
-

A reference to a combination of -typed values that are combined by using a bitwise OR operation. The resulting value specifies the color space to set for the swap chain.

-

This method returns on success, or it returns one of the error codes that are described in the DXGI_ERROR topic.

- - dn384124 - HRESULT IDXGIDecodeSwapChain::SetColorSpace([In] DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAGS ColorSpace) - IDXGIDecodeSwapChain::SetColorSpace -
- - -

Gets the color space used by the swap chain.

-
-

A combination of -typed values that are combined by using a bitwise OR operation. The resulting value specifies the color space for the swap chain.

- - dn384119 - DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAGS IDXGIDecodeSwapChain::GetColorSpace() - IDXGIDecodeSwapChain::GetColorSpace -
- - -

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

-
- -

This interface is not supported by Direct3D 12 devices. Direct3D 12 applications have direct control over their swapchain management, so better latency control should be handled by the application. You can make use of Waitable objects (refer to ) and the method if desired.

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.

The Direct3D create device functions return a Direct3D device object. This Direct3D device object implements the interface. You can query this Direct3D device object for the device's corresponding interface. To retrieve the interface of a Direct3D device, use the following code:

 * pDXGIDevice;	
-            hr = g_pd3dDevice->QueryInterface(__uuidof(), (void **)&pDXGIDevice);	
-            

Windows?Phone?8: This API is supported.

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

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

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

The interface implements a derived class for DXGI objects that produce image data. The interface exposes methods to block CPU processing until the GPU completes processing, and to offer resources to the operating system.

-
- -

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 Direct3D create device functions return a Direct3D device object. This Direct3D device object implements the interface. You can query this Direct3D device object for the device's corresponding interface. To retrieve the interface of a Direct3D device, use the following code:

 * pDXGIDevice;	
-            hr = g_pd3dDevice->QueryInterface(__uuidof(), (void **)&pDXGIDevice);	
-            

Windows?Phone?8: This API is supported.

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

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. In fact, you can't offer shared resources unless you use because offering shared resources without using isn't supported.

Note??The user mode display driver might not immediately offer the resources that you specified in a call to OfferResources. The driver can postpone offering them until the next call to , , or .?

Platform Update for Windows?7:??The runtime validates that OfferResources is used correctly on non-shared resources but doesn't perform the intended functionality. For more info about the Platform Update for Windows?7, see Platform Update for Windows 7.

-
- - hh404549 - HRESULT IDXGIDevice2::OfferResources([In] unsigned int NumResources,[In, Buffer] const IDXGIResource** ppResources,[In] DXGI_OFFER_RESOURCE_PRIORITY Priority) - IDXGIDevice2::OfferResources -
- - -

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. In fact, you can't offer shared resources unless you use because offering shared resources without using isn't supported.

Note??The user mode display driver might not immediately offer the resources that you specified in a call to OfferResources. The driver can postpone offering them until the next call to , , or .?

Platform Update for Windows?7:??The runtime validates that OfferResources is used correctly on non-shared resources but doesn't perform the intended functionality. For more info about the Platform Update for Windows?7, see Platform Update for Windows 7.

-
- - hh404549 - HRESULT IDXGIDevice2::OfferResources([In] unsigned int NumResources,[In, Buffer] const IDXGIResource** ppResources,[In] DXGI_OFFER_RESOURCE_PRIORITY Priority) - IDXGIDevice2::OfferResources -
- - -

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. In fact, you can't offer shared resources unless you use because offering shared resources without using isn't supported.

Note??The user mode display driver might not immediately offer the resources that you specified in a call to OfferResources. The driver can postpone offering them until the next call to , , or .?

Platform Update for Windows?7:??The runtime validates that OfferResources is used correctly on non-shared resources but doesn't perform the intended functionality. For more info about the Platform Update for Windows?7, see Platform Update for Windows 7.

-
- - hh404549 - HRESULT IDXGIDevice2::OfferResources([In] unsigned int NumResources,[In, Buffer] const IDXGIResource** ppResources,[In] DXGI_OFFER_RESOURCE_PRIORITY Priority) - IDXGIDevice2::OfferResources -
- - -

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.

Platform Update for Windows?7:??The runtime validates that ReclaimResources is used correctly on non-shared resources but doesn't perform the intended functionality. For more info about the Platform Update for Windows?7, see Platform Update for Windows 7.

-
- - hh404551 - HRESULT IDXGIDevice2::ReclaimResources([In] unsigned int NumResources,[In, Buffer] const IDXGIResource** ppResources,[Out, Buffer, Optional] BOOL* pDiscarded) - IDXGIDevice2::ReclaimResources -
- - -

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.

Platform Update for Windows?7:??The runtime validates that ReclaimResources is used correctly on non-shared resources but doesn't perform the intended functionality. For more info about the Platform Update for Windows?7, see Platform Update for Windows 7.

-
- - hh404551 - HRESULT IDXGIDevice2::ReclaimResources([In] unsigned int NumResources,[In, Buffer] const IDXGIResource** ppResources,[Out, Buffer, Optional] BOOL* pDiscarded) - IDXGIDevice2::ReclaimResources -
- - -

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.

Platform Update for Windows?7:??The runtime validates that ReclaimResources is used correctly on non-shared resources but doesn't perform the intended functionality. For more info about the Platform Update for Windows?7, see Platform Update for Windows 7.

-
- - hh404551 - HRESULT IDXGIDevice2::ReclaimResources([In] unsigned int NumResources,[In, Buffer] const IDXGIResource** ppResources,[Out, Buffer, Optional] BOOL* pDiscarded) - IDXGIDevice2::ReclaimResources -
- - -

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.

Platform Update for Windows?7:??On Windows?7 or Windows Server?2008?R2 with the Platform Update for Windows?7 installed, EnqueueSetEvent fails with E_NOTIMPL. For more info about the Platform Update for Windows?7, see Platform Update for Windows 7.

- -

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

The interface implements a derived class for DXGI objects that produce image data. The interface exposes a method to trim graphics memory usage by the DXGI device.

-
- -

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 Direct3D create device functions return a Direct3D device object. This Direct3D device object implements the interface. You can query this Direct3D device object for the device's corresponding interface. To retrieve the interface of a Direct3D device, use the following code:

 * pDXGIDevice;	
-            hr = g_pd3dDevice->QueryInterface(__uuidof(), (void **)&pDXGIDevice);

Windows?Phone?8: This API is supported.

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

Trims the graphics memory allocated by the DXGI device on the app's behalf.

For apps that render with DirectX, graphics drivers periodically allocate internal memory buffers in order to speed up subsequent rendering requests. These memory allocations count against the app's memory usage for PLM and in general lead to increased memory usage by the overall system.

Starting in Windows?8.1, apps that render with Direct2D and/or Direct3D (including CoreWindow and XAML interop) must call Trim in response to the PLM suspend callback. The Direct3D runtime and the graphics driver will discard internal memory buffers allocated for the app, reducing its memory footprint.

Calling this method does not change the rendering state of the graphics device and it has no effect on rendering operations. There is a brief performance hit when internal buffers are reallocated during the first rendering operations after the Trim call, therefore apps should only call Trim when going idle for a period of time (in response to PLM suspend, for example).

Apps should ensure that they call Trim as one of the last D3D operations done before going idle. Direct3D will normally defer the destruction of D3D objects. Calling Trim, however, forces Direct3D to destroy objects immediately. For this reason, it is not guaranteed that releasing the final reference on Direct3D objects after calling Trim will cause the object to be destroyed and memory to be deallocated before the app suspends.

Similar to , apps should call before calling Trim. ClearState clears the Direct3D pipeline bindings, ensuring that Direct3D does not hold any references to the Direct3D objects you are trying to release.

It is also prudent to release references on middleware before calling Trim, as that middleware may also need to release references - to Direct3D objects.

-
- - dn280346 - void IDXGIDevice3::Trim() - IDXGIDevice3::Trim -
- - -

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 Direct3D create device functions return a Direct3D device object. This Direct3D device object implements the interface. You can query this Direct3D device object for the device's corresponding interface. To retrieve the interface of a Direct3D device, use the following code:

 * pDXGIDevice;	
-            hr = g_pd3dDevice->QueryInterface(__uuidof(), (void **)&pDXGIDevice);	
-            

Windows?Phone?8: This API is supported.

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

Allows the operating system to free the video memory of resources, including both discarding the content and de-committing the memory.

-
-

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.

-

Specifies the .

-

This method returns an success or error code, which can include E_INVALIDARG if a resource in the array, or the priority, is invalid.

- -

OfferResources1 (an extension of the original API) enables D3D based applications to allow de-committing of an allocation?s backing store to reduce system commit under low memory conditions. - A de-committed allocation cannot be reused, so opting in to the new flag means the new reclaim results must be properly handled. Refer to the flag descriptions in and the Example below.

OfferResources1 and ReclaimResources1 may not be used interchangeably with OfferResources and ReclaimResources. -

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 OfferResources1 to offer a resource while the resource is bound to the pipeline, the resource is unbound. You cannot call OfferResources1 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 ReclaimResources1 method to reclaim the resource. You cannot call OfferResources1 to offer immutable resources.

To offer shared resources, call OfferResources1 on only one of the sharing devices. To ensure exclusive access to the resources, you must use an object and then call OfferResources1 only while you hold the mutex. In fact, you can't offer shared resources unless you use because offering shared resources without using isn't supported.

The user mode display driver might not immediately offer the resources that you specified in a call to OfferResources1. The driver can postpone offering them until the next call to , , or .

-
- - mt732705 - HRESULT IDXGIDevice4::OfferResources1([In] unsigned int NumResources,[In, Buffer] const IDXGIResource** ppResources,[In] DXGI_OFFER_RESOURCE_PRIORITY Priority,[In] unsigned int Flags) - IDXGIDevice4::OfferResources1 -
- - -

Allows the operating system to free the video memory of resources, including both discarding the content and de-committing the memory.

-
-

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.

-

Specifies the .

-

This method returns an success or error code, which can include E_INVALIDARG if a resource in the array, or the priority, is invalid.

- -

OfferResources1 (an extension of the original API) enables D3D based applications to allow de-committing of an allocation?s backing store to reduce system commit under low memory conditions. - A de-committed allocation cannot be reused, so opting in to the new flag means the new reclaim results must be properly handled. Refer to the flag descriptions in and the Example below.

OfferResources1 and ReclaimResources1 may not be used interchangeably with OfferResources and ReclaimResources. -

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 OfferResources1 to offer a resource while the resource is bound to the pipeline, the resource is unbound. You cannot call OfferResources1 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 ReclaimResources1 method to reclaim the resource. You cannot call OfferResources1 to offer immutable resources.

To offer shared resources, call OfferResources1 on only one of the sharing devices. To ensure exclusive access to the resources, you must use an object and then call OfferResources1 only while you hold the mutex. In fact, you can't offer shared resources unless you use because offering shared resources without using isn't supported.

The user mode display driver might not immediately offer the resources that you specified in a call to OfferResources1. The driver can postpone offering them until the next call to , , or .

-
- - mt732705 - HRESULT IDXGIDevice4::OfferResources1([In] unsigned int NumResources,[In, Buffer] const IDXGIResource** ppResources,[In] DXGI_OFFER_RESOURCE_PRIORITY Priority,[In] unsigned int Flags) - IDXGIDevice4::OfferResources1 -
- - -

Allows the operating system to free the video memory of resources, including both discarding the content and de-committing the memory.

-
-

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.

-

Specifies the .

-

This method returns an success or error code, which can include E_INVALIDARG if a resource in the array, or the priority, is invalid.

- -

OfferResources1 (an extension of the original API) enables D3D based applications to allow de-committing of an allocation?s backing store to reduce system commit under low memory conditions. - A de-committed allocation cannot be reused, so opting in to the new flag means the new reclaim results must be properly handled. Refer to the flag descriptions in and the Example below.

OfferResources1 and ReclaimResources1 may not be used interchangeably with OfferResources and ReclaimResources. -

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 OfferResources1 to offer a resource while the resource is bound to the pipeline, the resource is unbound. You cannot call OfferResources1 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 ReclaimResources1 method to reclaim the resource. You cannot call OfferResources1 to offer immutable resources.

To offer shared resources, call OfferResources1 on only one of the sharing devices. To ensure exclusive access to the resources, you must use an object and then call OfferResources1 only while you hold the mutex. In fact, you can't offer shared resources unless you use because offering shared resources without using isn't supported.

The user mode display driver might not immediately offer the resources that you specified in a call to OfferResources1. The driver can postpone offering them until the next call to , , or .

-
- - mt732705 - HRESULT IDXGIDevice4::OfferResources1([In] unsigned int NumResources,[In, Buffer] const IDXGIResource** ppResources,[In] DXGI_OFFER_RESOURCE_PRIORITY Priority,[In] unsigned int Flags) - IDXGIDevice4::OfferResources1 -
- - -

Restores access to resources that were previously offered by calling .

-
- No documentation. - No documentation. - No documentation. -

This method returns an success or error code, including E_INVALIDARG if the resources are invalid.

- -

After you call OfferResources1 to offer one or more resources, you must call ReclaimResources1 before you can use those resources again.

To reclaim shared resources, call ReclaimResources1 only on one of the sharing devices. To ensure exclusive access to the resources, you must use an object and then call ReclaimResources1 only while you hold the mutex.

-
- - mt732706 - HRESULT IDXGIDevice4::ReclaimResources1([In] unsigned int NumResources,[In, Buffer] const IDXGIResource** ppResources,[Out, Buffer] DXGI_RECLAIM_RESOURCE_RESULTS* pResults) - IDXGIDevice4::ReclaimResources1 -
- - -

Restores access to resources that were previously offered by calling .

-
- No documentation. - No documentation. - No documentation. -

This method returns an success or error code, including E_INVALIDARG if the resources are invalid.

- -

After you call OfferResources1 to offer one or more resources, you must call ReclaimResources1 before you can use those resources again.

To reclaim shared resources, call ReclaimResources1 only on one of the sharing devices. To ensure exclusive access to the resources, you must use an object and then call ReclaimResources1 only while you hold the mutex.

-
- - mt732706 - HRESULT IDXGIDevice4::ReclaimResources1([In] unsigned int NumResources,[In, Buffer] const IDXGIResource** ppResources,[Out, Buffer] DXGI_RECLAIM_RESOURCE_RESULTS* pResults) - IDXGIDevice4::ReclaimResources1 -
- - -

Restores access to resources that were previously offered by calling .

-
- No documentation. - No documentation. - No documentation. -

This method returns an success or error code, including E_INVALIDARG if the resources are invalid.

- -

After you call OfferResources1 to offer one or more resources, you must call ReclaimResources1 before you can use those resources again.

To reclaim shared resources, call ReclaimResources1 only on one of the sharing devices. To ensure exclusive access to the resources, you must use an object and then call ReclaimResources1 only while you hold the mutex.

-
- - mt732706 - HRESULT IDXGIDevice4::ReclaimResources1([In] unsigned int NumResources,[In, Buffer] const IDXGIResource** ppResources,[Out, Buffer] DXGI_RECLAIM_RESOURCE_RESULTS* pResults) - IDXGIDevice4::ReclaimResources1 -
- - -

The interface exposes methods to indicate user preference for the operating system's stereoscopic 3D display behavior and to set stereoscopic 3D display status to enable or disable.

We recommend that you not use to query or set system-wide stereoscopic 3D settings in your stereoscopic 3D apps. Instead, for your windowed apps, call the method to determine whether to render in stereo; for your full-screen apps, call the method and then determine whether any of the returned display modes support rendering in stereo.

-
- - Note?? The interface is only used by the Display app of the operating system's Control Panel or by control applets from third party graphics vendors. This interface is not meant for developers of end-user apps.?Note?? The interface does not exist for Windows Store apps.?

Call QueryInterface from a factory object (, or ) to retrieve the interface. The following code shows how.

 * pDXGIDisplayControl;	
-            hr = g_pDXGIFactory->QueryInterface(__uuidof(), (void **)&pDXGIDisplayControl);

The operating system processes changes to stereo-enabled configuration asynchronously. Therefore, these changes might not be immediately visible in every process that calls to query for stereo configuration. Control applets can use the or method to register for notifications of all stereo configuration changes.

Platform Update for Windows?7:?? Stereoscopic 3D display behavior isn?t available with the Platform Update for Windows?7. For more info about the Platform Update for Windows?7, see Platform Update for Windows 7.

-
- - hh404552 - IDXGIDisplayControl - IDXGIDisplayControl -
- - - Initializes a new instance of the 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 Boolean value that indicates whether the operating system's stereoscopic 3D display behavior is enabled.

-
- -

You pass a Boolean value to the method to either enable or disable the operating system's stereoscopic 3D display behavior. TRUE enables the operating system's stereoscopic 3D display behavior and disables it.

-
- - hh404553 - IsStereoEnabled - IsStereoEnabled - BOOL IDXGIDisplayControl::IsStereoEnabled() -
- - -

Set a Boolean value to either enable or disable the operating system's stereoscopic 3D display behavior.

-
- -

Platform Update for Windows?7:??On Windows?7 or Windows Server?2008?R2 with the Platform Update for Windows?7 installed, SetStereoEnabled doesn't change stereoscopic 3D display behavior because stereoscopic 3D display behavior isn?t available with the Platform Update for Windows?7. For more info about the Platform Update for Windows?7, see Platform Update for Windows 7.

-
- - hh404554 - SetStereoEnabled - SetStereoEnabled - void IDXGIDisplayControl::SetStereoEnabled([In] BOOL enabled) -
- - -

Retrieves a Boolean value that indicates whether the operating system's stereoscopic 3D display behavior is enabled.

-
-

IsStereoEnabled returns TRUE when the operating system's stereoscopic 3D display behavior is enabled and when this behavior is disabled.

Platform Update for Windows?7:??On Windows?7 or Windows Server?2008?R2 with the Platform Update for Windows?7 installed, IsStereoEnabled always returns because stereoscopic 3D display behavior isn?t available with the Platform Update for Windows?7. For more info about the Platform Update for Windows?7, see Platform Update for Windows 7.

- -

You pass a Boolean value to the method to either enable or disable the operating system's stereoscopic 3D display behavior. TRUE enables the operating system's stereoscopic 3D display behavior and disables it.

-
- - hh404553 - BOOL IDXGIDisplayControl::IsStereoEnabled() - IDXGIDisplayControl::IsStereoEnabled -
- - -

Set a Boolean value to either enable or disable the operating system's stereoscopic 3D display behavior.

-
-

A Boolean value that either enables or disables the operating system's stereoscopic 3D display behavior. TRUE enables the operating system's stereoscopic 3D display behavior and disables it.

- -

Platform Update for Windows?7:??On Windows?7 or Windows Server?2008?R2 with the Platform Update for Windows?7 installed, SetStereoEnabled doesn't change stereoscopic 3D display behavior because stereoscopic 3D display behavior isn?t available with the Platform Update for Windows?7. For more info about the Platform Update for Windows?7, see Platform Update for Windows 7.

-
- - hh404554 - void IDXGIDisplayControl::SetStereoEnabled([In] BOOL enabled) - IDXGIDisplayControl::SetStereoEnabled -
- - -

Enables creating Microsoft DirectX Graphics Infrastructure (DXGI) objects.

-
- - dn457942 - IDXGIFactory3 - IDXGIFactory3 -
- - - Initializes a new instance of the 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 flags that were used when a Microsoft DirectX Graphics Infrastructure (DXGI) object was created.

-
- -

The GetCreationFlags method returns flags that were passed to the CreateDXGIFactory2 function, or were implicitly constructed by CreateDXGIFactory, CreateDXGIFactory1, , or D3D11CreateDeviceAndSwapChain.

-
- - dn457943 - GetCreationFlags - GetCreationFlags - unsigned int IDXGIFactory3::GetCreationFlags() -
- - -

Gets the flags that were used when a Microsoft DirectX Graphics Infrastructure (DXGI) object was created.

-
-

The creation flags.

- -

The GetCreationFlags method returns flags that were passed to the CreateDXGIFactory2 function, or were implicitly constructed by CreateDXGIFactory, CreateDXGIFactory1, , or D3D11CreateDeviceAndSwapChain.

-
- - dn457943 - unsigned int IDXGIFactory3::GetCreationFlags() - IDXGIFactory3::GetCreationFlags -
- - -

This interface enables a single method to support variable refresh rate displays.

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

Used to check for hardware feature support.

-
-

Specifies one member of to query support for.

-

Specifies a reference to a buffer that will be filled with data that describes the feature support.

-

The size, in bytes, of pFeatureSupportData.

-

This method returns an success or error code.

- -

Refer to the description of .

-
- - mt722567 - HRESULT IDXGIFactory5::CheckFeatureSupport([In] DXGI_FEATURE Feature,[Out, Buffer] void* pFeatureSupportData,[In] unsigned int FeatureSupportDataSize) - IDXGIFactory5::CheckFeatureSupport -
- - -

Creates swap chains for desktop media apps that use DirectComposition surfaces to decode and display video.

-
- -

To create a Microsoft DirectX Graphics Infrastructure (DXGI) media factory interface, pass into either the CreateDXGIFactory or CreateDXGIFactory1 function or call QueryInterface from a factory object returned by CreateDXGIFactory, CreateDXGIFactory1, or CreateDXGIFactory2.

Because you can create a Direct3D device 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. You can request the , , , or interface from the Direct3D device and then use the method to locate the factory. The following code shows how.

 * pDXGIDevice;	
-            hr = g_pd3dDevice->QueryInterface(__uuidof(), (void **)&pDXGIDevice);  * pDXGIAdapter;	
-            hr = pDXGIDevice->GetParent(__uuidof(), (void **)&pDXGIAdapter);  * pIDXGIFactory;	
-            pDXGIAdapter->GetParent(__uuidof(), (void **)&pIDXGIFactory);
-
- - dn384128 - IDXGIFactoryMedia - IDXGIFactoryMedia -
- - - Initializes a new instance of the 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 YUV swap chain for an existing DirectComposition surface handle.

-
- No documentation. - No documentation. - No documentation. - No documentation. - No documentation. -

CreateSwapChainForCompositionSurfaceHandle returns:

  • if it successfully created a swap chain.
  • E_OUTOFMEMORY if memory is unavailable to complete the operation.
  • if the calling application provided invalid data, for example, if pDesc, pYuvDecodeBuffers, or ppSwapChain is null.
  • Possibly other error codes that are described in the DXGI_ERROR topic that are defined by the type of device that you pass to pDevice.
- - dn384130 - HRESULT IDXGIFactoryMedia::CreateSwapChainForCompositionSurfaceHandle([In] IUnknown* pDevice,[In, Optional] void* hSurface,[In] const DXGI_SWAP_CHAIN_DESC1* pDesc,[In, Optional] IDXGIOutput* pRestrictToOutput,[Out] IDXGISwapChain1** ppSwapChain) - IDXGIFactoryMedia::CreateSwapChainForCompositionSurfaceHandle -
- - -

Creates a YUV swap chain for an existing DirectComposition surface handle. The swap chain is created with pre-existing buffers and very few descriptive elements are required. Instead, this method requires a DirectComposition surface handle and an buffer to hold decoded frame data. The swap chain format is determined by the format of the subresources of the .

-
- No documentation. - No documentation. - No documentation. - No documentation. - No documentation. - No documentation. -

CreateDecodeSwapChainForCompositionSurfaceHandle returns:

  • if it successfully created a swap chain.
  • E_OUTOFMEMORY if memory is unavailable to complete the operation.
  • if the calling application provided invalid data, for example, if pDesc, pYuvDecodeBuffers, or ppSwapChain is null.
  • Possibly other error codes that are described in the DXGI_ERROR topic that are defined by the type of device that you pass to pDevice.
- -

The provided via the pYuvDecodeBuffers parameter must point to at least one subresource, and all subresources must be created with the flag.

-
- - dn384129 - HRESULT IDXGIFactoryMedia::CreateDecodeSwapChainForCompositionSurfaceHandle([In] IUnknown* pDevice,[In, Optional] void* hSurface,[In] DXGI_DECODE_SWAP_CHAIN_DESC* pDesc,[In] IDXGIResource* pYuvDecodeBuffers,[In, Optional] IDXGIOutput* pRestrictToOutput,[Out] IDXGIDecodeSwapChain** ppSwapChain) - IDXGIFactoryMedia::CreateDecodeSwapChainForCompositionSurfaceHandle -
- - -

Enables performing bulk operations across all SurfaceImageSource objects created in the same process.

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

Flushes all current GPU work for all SurfaceImageSource or VirtualSurfaceImageSource objects associated with the given device.

-
- No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

The FlushAllSurfacesWithDevice method flushes current GPU work for all SurfaceImageSource objects that were created with device. This GPU work includes Direct2D rendering work and internal GPU work done by the framework associated with rendering. This is useful if an application has created multiple SurfaceImageSource objects and needs to flush the GPU work for all of these surfaces from the background rendering thread. By flushing this work from the background thread the work can be better parallelized, with work being done on the UI thread to improve performance.

You can call the FlushAllSurfacesWithDevice method from a non-UI thread.

-
- - dn448960 - HRESULT ISurfaceImageSourceManagerNative::FlushAllSurfacesWithDevice([In] IUnknown* device) - ISurfaceImageSourceManagerNative::FlushAllSurfacesWithDevice -
- - -

Provides the implementation of a shared fixed-size surface for Direct2D drawing.

Note??If the surface is larger than the screen size, use instead.? -
- -

This interface provides the native implementation of the SurfaceImageSource Windows runtime type. To obtain a reference to , you must cast a SurfaceImageSource instance to IInspectable or , and call QueryInterface.

 Microsoft::WRL::ComPtr<>	m_sisNative;	
-            // ...	
-            IInspectable* sisInspectable = (IInspectable*) reinterpret_cast<IInspectable*>(surfaceImageSource);	
-            sisInspectable->QueryInterface(__uuidof(), (void **)&m_sisNative) 
-
- - hh848322 - 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. - - - - -

Sets the DXGI device, created with , that will draw the surface. This method must be called from the UI thread.

-
- - hh848325 - SetDevice - SetDevice - HRESULT ISurfaceImageSourceNative::SetDevice([In] IDXGIDevice* device) -
- - -

Sets the DXGI device, created with , that will draw the surface. This method must be called from the UI thread.

-
-

Pointer to the DXGI device interface.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh848325 - HRESULT ISurfaceImageSourceNative::SetDevice([In] IDXGIDevice* device) - ISurfaceImageSourceNative::SetDevice -
- - -

Opens the supplied DXGI surface for drawing.

-
-

The region of the surface that will be drawn into.

-

Receives the point (x,y) offset of the surface that will be drawn into.

-

Receives a reference to the surface for drawing.

- -

If the app window that contains the SurfaceImageSource isn't active, like when it's suspended, calling the BeginDraw method returns an error.

-
- - hh848323 - HRESULT ISurfaceImageSourceNative::BeginDraw([In] RECT updateRect,[Out] IDXGISurface** surface,[Out] POINT* offset) - ISurfaceImageSourceNative::BeginDraw -
- - -

Closes the surface draw operation.

-
-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh848324 - HRESULT ISurfaceImageSourceNative::EndDraw() - ISurfaceImageSourceNative::EndDraw -
- - -

Provides the implementation of a shared Microsoft DirectX surface which is displayed in a SurfaceImageSource or VirtualSurfaceImageSource.

-
- -

The interface provides the native implementation of the SurfaceImageSource class. To get a reference to the interface, you must cast a SurfaceImageSource instance to IInspectable or , and call the QueryInterface method.

 Microsoft::WRL::ComPtr<>	m_sisD2DNative;	
-            // ...	
-            IInspectable* sisInspectable = (IInspectable*) reinterpret_cast<IInspectable*>(surfaceImageSource);	
-            sisInspectable->QueryInterface(__uuidof(), (void **)&m_sisD2DNative) 

The interface provides high-performance batched Direct2D drawing, which enables drawing to multiple different SurfaceImageSource or VirtualSurfaceImageSource objects in the same batch, as long as they share the same Direct2D device. Batching can improve performance when updating multiple surfaces at the same time.

The interface enables drawing to a SurfaceImageSource or VirtualSurfaceImageSource from one or more background threads, which allows high-performance DirectX rendering off the UI thread.

Only call the SetDevice, BeginDraw, and EndDraw methods on interface, not on the or interfaces.

In order to support batching updates to multiple surfaces to improve performance, you can pass an to the SetDevice method, instead of an . The BeginDraw method can then optionally return a shared , which the app uses to draw all content for that update.

To draw to the surface from a background thread, you must set any DirectX resources, including the Microsoft Direct3D device, Direct3D device context, Direct2D device, and Direct2D device context, to enable multithreading support.

You can call the BeginDraw, SuspendDraw, and ResumeDraw methods from any background thread to enable high-performance multithreaded drawing.

Always call the EndDraw method on the UI thread in order to synchronize updating the DirectX content with the current XAML UI thread frame. You can call BeginDraw on a background thread, call SuspendDraw when you're done drawing on the background thread, and call EndDraw on the UI thread.

Use SuspendDraw and ResumeDraw to suspend and resume drawing on any background or UI thread.

Handle the SurfaceContentsLost event to determine when you need to recreate content which may be lost if the system resets the GPU.

-
- - dn302137 - ISurfaceImageSourceNativeWithD2D - ISurfaceImageSourceNativeWithD2D -
- - - Initializes a new instance of the 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 Microsoft DirectX Graphics Infrastructure (DXGI) or Direct2D device, created with , that will draw the surface.

-
- - dn302141 - SetDevice - SetDevice - HRESULT ISurfaceImageSourceNativeWithD2D::SetDevice([In] IUnknown* device) -
- - -

Sets the Microsoft DirectX Graphics Infrastructure (DXGI) or Direct2D device, created with , that will draw the surface.

-
-

Pointer to the DXGI device interface. You can pass an to signal that this surface participates in Direct2D batching to improve performance when updating Direct2D content across multiple surfaces. The device must have multithreading supported enabled if the app draws to the surface from a background thread.

-

This method fails when the SurfaceImageSource is larger than the maximum texture size supported by the Direct3D device. Apps should use VirtualSurfaceImageSource for surfaces larger than the maximum texture size supported by the Direct3D device.

- - dn302141 - HRESULT ISurfaceImageSourceNativeWithD2D::SetDevice([In] IUnknown* device) - ISurfaceImageSourceNativeWithD2D::SetDevice -
- - -

Initiates an update to the associated SurfaceImageSource or VirtualSurfaceImageSource.

-
- No documentation. - No documentation. - No documentation. - No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn302138 - HRESULT ISurfaceImageSourceNativeWithD2D::BeginDraw([In] const RECT& updateRect,[In] const GUID& iid,[Out] void** updateObject,[Out] POINT* offset) - ISurfaceImageSourceNativeWithD2D::BeginDraw -
- - -

Closes the surface draw operation.

-
-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

Always call the EndDraw method on the UI thread in order to synchronize updating the Microsoft DirectX content with the current XAML UI thread frame.

-
- - dn302139 - HRESULT ISurfaceImageSourceNativeWithD2D::EndDraw() - ISurfaceImageSourceNativeWithD2D::EndDraw -
- - -

Suspends the drawing operation.

-
-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn302142 - HRESULT ISurfaceImageSourceNativeWithD2D::SuspendDraw() - ISurfaceImageSourceNativeWithD2D::SuspendDraw -
- - -

Resume the drawing operation.

-
-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn302140 - HRESULT ISurfaceImageSourceNativeWithD2D::ResumeDraw() - ISurfaceImageSourceNativeWithD2D::ResumeDraw -
- - - No documentation. - - - 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. - - - - -

Sets the DirectX swap chain for SwapChainBackgroundPanel.

-
- - hh848327 - SetSwapChain - SetSwapChain - HRESULT ISwapChainBackgroundPanelNative::SetSwapChain([In] IDXGISwapChain* swapChain) -
- - -

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* swapChain) - ISwapChainBackgroundPanelNative::SetSwapChain -
- - -

Provides interoperation between XAML and a DirectX swap chain. Unlike SwapChainBackgroundPanel, a SwapChainPanel can appear at any level in the XAML display tree, and more than 1 can be present in any given tree.

-
- -

This interface provides the native implementation of the Windows::UI::XAML::Control::SwapChainPanel Windows Runtime type. To obtain a reference to , you must cast a SwapChainPanel 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); 
-
- - dn302143 - ISwapChainPanelNative - ISwapChainPanelNative -
- - - Initializes a new instance of the 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 DirectX swap chain for SwapChainPanel.

-
- - dn302144 - SetSwapChain - SetSwapChain - HRESULT ISwapChainPanelNative::SetSwapChain([In] IDXGISwapChain* swapChain) -
- - -

Sets the DirectX swap chain for SwapChainPanel.

-
- No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn302144 - HRESULT ISwapChainPanelNative::SetSwapChain([In] IDXGISwapChain* swapChain) - ISwapChainPanelNative::SetSwapChain -
- - -

Provides interoperation between XAML and a DirectX swap chain. Unlike SwapChainBackgroundPanel, a SwapChainPanel can appear at any level in the XAML display tree, and more than 1 can be present in any given tree.

-
- -

This interface provides the native implementation of the Windows::UI::XAML::Control::SwapChainPanel Windows Runtime type. To obtain a reference to , you must cast a SwapChainPanel instance to IInspectable or , and call QueryInterface.

 Microsoft::WRL::ComPtr<>	m_swapChainNative2;	
-            // ...	
-            IInspectable* panelInspectable = (IInspectable*) reinterpret_cast<IInspectable*>(swapChainPanel);	
-            panelInspectable->QueryInterface(__uuidof(), (void **)&m_swapChainNative2); 
-
- - dn858172 - ISwapChainPanelNative2 - ISwapChainPanelNative2 -
- - - Initializes a new instance of the 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 DirectX swap chain for SwapChainPanel using a handle to the swap chain.

-
- -

SetSwapChain(HANDLE swapChainHandle) allows a swap chain to be rendered by referencing a shared handle to the swap chain. This enables scenarios where a swap chain is created in one process and needs to be passed to another process.

XAML supports setting a DXGI swap chain as the content of a SwapChainPanel element. Apps accomplish this by querying for the interface from a SwapChainPanel instance and calling SetSwapChain( *swapChain).

This process works for references to in process swap chains. However, this doesn?t work for VoIP apps, which use a two-process model to enable continuing calls on a background process when a foreground process is suspended or shut down. This two-process implementation requires the ability to pass a shared handle to a swap chain, rather than a reference, created on the background process to the foreground process to be rendered in a XAML SwapChainPanel in the foreground app.

 <!-- XAML markup --> 	
-            <Page>  <SwapChainPanel x:Name=?captureStreamDisplayPanel? /> 	
-            </Page>  // Definitions 	
-            ComPtr<> m_swapChain; 	
-            HANDLE m_swapChainHandle; 	
-            ComPtr<> m_d3dDevice; 	
-            ComPtr<> dxgiAdapter; 	
-            ComPtr<> dxgiFactory; 	
-            ComPtr<> dxgiFactoryMedia; 	
-            ComPtr<> dxgiDevice; 	
-             swapChainDesc = {0};  // Get DXGI factory (assume standard boilerplate has created D3D11Device) 	
-            m_d3dDevice.As(&dxgiDevice); 	
-            dxgiDevice->GetAdapter(&dxgiAdapter); 	
-            dxgiAdapter->GetParent(__uuidof(), &dxgiFactory);  // Create swap chain and get handle 	
-            (GENERIC_ALL, nullptr, &m_swapChainHandle); 	
-            dxgiFactory.As(&dxgiFactoryMedia); 	
-            dxgiFactoryMedia->CreateSwapChainForCompositionSurfaceHandle(  m_d3dDevice.Get(),  m_swapChainHandle,  &swapChainDesc,  nullptr,  &m_swapChain 	
-            );  // Set swap chain to display in a SwapChainPanel 	
-            ComPtr<> panelNative; 	
-            reinterpret_cast<*>(captureStreamDisplayPanel)->QueryInterface(IID_PPV_ARGS(&panelNative))); 	
-            panelNative->SetSwapChainHandle(m_swapChainHandle);  
-
- - dn858173 - SetSwapChainHandle - SetSwapChainHandle - HRESULT ISwapChainPanelNative2::SetSwapChainHandle([In] void* swapChainHandle) -
- - -

Sets the DirectX swap chain for SwapChainPanel using a handle to the swap chain.

-
- No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

SetSwapChain(HANDLE swapChainHandle) allows a swap chain to be rendered by referencing a shared handle to the swap chain. This enables scenarios where a swap chain is created in one process and needs to be passed to another process.

XAML supports setting a DXGI swap chain as the content of a SwapChainPanel element. Apps accomplish this by querying for the interface from a SwapChainPanel instance and calling SetSwapChain( *swapChain).

This process works for references to in process swap chains. However, this doesn?t work for VoIP apps, which use a two-process model to enable continuing calls on a background process when a foreground process is suspended or shut down. This two-process implementation requires the ability to pass a shared handle to a swap chain, rather than a reference, created on the background process to the foreground process to be rendered in a XAML SwapChainPanel in the foreground app.

 <!-- XAML markup --> 	
-            <Page>  <SwapChainPanel x:Name=?captureStreamDisplayPanel? /> 	
-            </Page>  // Definitions 	
-            ComPtr<> m_swapChain; 	
-            HANDLE m_swapChainHandle; 	
-            ComPtr<> m_d3dDevice; 	
-            ComPtr<> dxgiAdapter; 	
-            ComPtr<> dxgiFactory; 	
-            ComPtr<> dxgiFactoryMedia; 	
-            ComPtr<> dxgiDevice; 	
-             swapChainDesc = {0};  // Get DXGI factory (assume standard boilerplate has created D3D11Device) 	
-            m_d3dDevice.As(&dxgiDevice); 	
-            dxgiDevice->GetAdapter(&dxgiAdapter); 	
-            dxgiAdapter->GetParent(__uuidof(), &dxgiFactory);  // Create swap chain and get handle 	
-            (GENERIC_ALL, nullptr, &m_swapChainHandle); 	
-            dxgiFactory.As(&dxgiFactoryMedia); 	
-            dxgiFactoryMedia->CreateSwapChainForCompositionSurfaceHandle(  m_d3dDevice.Get(),  m_swapChainHandle,  &swapChainDesc,  nullptr,  &m_swapChain 	
-            );  // Set swap chain to display in a SwapChainPanel 	
-            ComPtr<> panelNative; 	
-            reinterpret_cast<*>(captureStreamDisplayPanel)->QueryInterface(IID_PPV_ARGS(&panelNative))); 	
-            panelNative->SetSwapChainHandle(m_swapChainHandle);  
-
- - dn858173 - HRESULT ISwapChainPanelNative2::SetSwapChainHandle([In] void* swapChainHandle) - ISwapChainPanelNative2::SetSwapChainHandle -
- - -

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 - IVirtualSurfaceImageSourceNative - IVirtualSurfaceImageSourceNative -
- - - Initializes a new instance of the 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 boundaries of the visible region of the shared surface.

-
- - hh848331 - GetVisibleBounds - GetVisibleBounds - HRESULT IVirtualSurfaceImageSourceNative::GetVisibleBounds([Out] RECT* bounds) -
- - -

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

Gets the total number of regions of the surface that must be updated.

-
-

Receives the number of regions to update.

- - hh848329 - HRESULT IVirtualSurfaceImageSourceNative::GetUpdateRectCount([Out] unsigned int* count) - IVirtualSurfaceImageSourceNative::GetUpdateRectCount -
- - -

Gets the set of regions that must be updated on the shared surface.

-
-

The number of regions that must be updated. You obtain this by calling GetUpdateRectCount.

-

Receives a list of regions that must be updated.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh848330 - HRESULT IVirtualSurfaceImageSourceNative::GetUpdateRects([Out, Buffer] RECT* updates,[In] unsigned int count) - IVirtualSurfaceImageSourceNative::GetUpdateRects -
- - -

Gets the boundaries of the visible region of the shared surface.

-
-

Receives a rectangle that specifies the visible region of the shared surface.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh848331 - HRESULT IVirtualSurfaceImageSourceNative::GetVisibleBounds([Out] RECT* bounds) - IVirtualSurfaceImageSourceNative::GetVisibleBounds -
- - -

Registers for the callback that will perform the drawing when an update to the shared surface is requested.

-
-

Pointer to an implementation of .

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh848334 - HRESULT IVirtualSurfaceImageSourceNative::RegisterForUpdatesNeeded([In, Optional] IVirtualSurfaceUpdatesCallbackNative* callback) - IVirtualSurfaceImageSourceNative::RegisterForUpdatesNeeded -
- - -

Resizes the surface.

-
-

The updated width of the surface.

-

The updated height of the surface.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

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

Performs the drawing behaviors when an update to VirtualSurfaceImageSource is requested.

-
- -

This method is implemented by the developer.

-
- - hh848337 - IVirtualSurfaceUpdatesCallbackNative - IVirtualSurfaceUpdatesCallbackNative -
- - - Callback method for IVirtualSurfaceUpdatesCallbackNative - - HRESULT IVirtualSurfaceUpdatesCallbackNative::UpdatesNeeded() - - - -

Performs the drawing behaviors when an update to VirtualSurfaceImageSource is requested.

-
- -

This method is implemented by the developer.

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

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

Represents a keyed mutex, which allows exclusive access to a shared resource that is used by multiple devices.

-
- -

The is required to create a resource capable of supporting the interface.

An should be retrieved for each device sharing a resource. In Direct3D 10.1, such a resource that is shared between two or more devices is created with the D3D10_RESOURCE_MISC_SHARED_KEYEDMUTEX flag. In Direct3D 11, such a resource that is shared between two or more devices is created with the flag.

For information about creating a keyed mutex, see the method.

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

-
- -

On a high DPI desktop, GetDesc returns the visualized screen size unless the app is marked high DPI aware. For info about writing DPI-aware Win32 apps, see High DPI.

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

For info about using gamma correction, see Using gamma correction.

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

For info about using gamma correction, see Using gamma correction.

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

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.

- -

On a high DPI desktop, GetDesc returns the visualized screen size unless the app is marked high DPI aware. For info about writing DPI-aware Win32 apps, see High DPI.

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

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

For info about using gamma correction, see Using gamma correction.

-
- - bb174553 - HRESULT IDXGIOutput::GetGammaControlCapabilities([Out] DXGI_GAMMA_CONTROL_CAPABILITIES* pGammaCaps) - IDXGIOutput::GetGammaControlCapabilities -
- - -

Sets the gamma controls.

-
-

A reference to a structure that describes the gamma curve to set.

-

Returns one of the DXGI_ERROR values.

- -

Note??Calling this method is only supported while in full-screen mode.?

For info about using gamma correction, see Using gamma correction.

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

For info about using gamma correction, see Using gamma correction.

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

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

An interface represents an adapter output (such as a monitor).

-
- -

To determine the outputs that are available from the adapter, use . To determine the specific output that the swap chain will update, use . You can then call QueryInterface from any object to obtain an object.

-
- - hh404597 - IDXGIOutput1 - IDXGIOutput1 -
- - - Initializes a new instance of the 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 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 IDXGIOutput1::GetDisplayModeList1([In] DXGI_FORMAT EnumFormat,[In] unsigned int Flags,[InOut] unsigned int* pNumModes,[Out, Buffer, Optional] DXGI_MODE_DESC1* pDesc) - IDXGIOutput1::GetDisplayModeList1 -
- - -

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:

  • DXGI Format Support for Direct3D Feature Level 12.1 Hardware
  • DXGI Format Support for Direct3D Feature Level 12.0 Hardware
  • DXGI Format Support for Direct3D Feature Level 11.1 Hardware
  • DXGI Format Support for Direct3D Feature Level 11.0 Hardware
  • Hardware Support for Direct3D 10Level9 Formats
  • Hardware Support for Direct3D 10.1 Formats
  • Hardware Support for Direct3D 10 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 -
- - -

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

Creates a desktop duplication interface from the interface that represents an adapter output.

-
- No documentation. - No documentation. - -

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

For improved performance, consider using DuplicateOutput1.

-
- - hh404600 - HRESULT IDXGIOutput1::DuplicateOutput([In] IUnknown* pDevice,[Out] IDXGIOutputDuplication** ppOutputDuplication) - IDXGIOutput1::DuplicateOutput -
- - -

[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 -
- - -

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 - IDXGIOutput2 - IDXGIOutput2 -
- - - Initializes a new instance of the class. - - The native pointer. - - - - Performs an explicit conversion from to . (This method is a shortcut to ) - - The native pointer. - - The result of the conversion. - - - - -

Queries an adapter output for multiplane overlay support. If this API returns ?TRUE?, multiple swap chain composition takes place in a performant manner using overlay hardware. If this API returns false, apps should avoid using foreground swap chains (that is, avoid using swap chains created with the flag).

-
-

TRUE if the output adapter is the primary adapter and it supports multiplane overlays, otherwise returns .

- -

See CreateSwapChainForCoreWindow for info on creating a foreground swap chain.

-
- - dn280411 - BOOL IDXGIOutput2::SupportsOverlays() - IDXGIOutput2::SupportsOverlays -
- - -

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

Queries an adapter output for multiplane overlay support.

-
-

TRUE if the output adapter is the primary adapter and it supports multiplane overlays, otherwise returns .

- - dn280411 - BOOL IDXGIOutput2::SupportsOverlays() - IDXGIOutput2::SupportsOverlays -
- - -

Represents an adapter output (such as a monitor). The interface exposes a method to check for overlay support.

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

Checks for overlay support.

-
-

A -typed value for the color format.

-

A reference to the Direct3D device interface. CheckOverlaySupport returns only support info about this scan-out device.

-

A reference to a variable that receives a combination of -typed values that are combined by using a bitwise OR operation. The resulting value specifies options for overlay support.

- - dn903670 - HRESULT IDXGIOutput3::CheckOverlaySupport([In] DXGI_FORMAT EnumFormat,[In] IUnknown* pConcernedDevice,[Out] DXGI_OVERLAY_SUPPORT_FLAG* pFlags) - IDXGIOutput3::CheckOverlaySupport -
- - -

Represents an adapter output (such as a monitor). The interface exposes a method to check for overlay color space support.

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

Checks for overlay color space support.

-
-

A -typed value for the color format.

-

A -typed value that specifies color space type to check overlay support for.

-

A reference to the Direct3D device interface. CheckOverlayColorSpaceSupport returns only support info about this scan-out device.

-

A reference to a variable that receives a combination of -typed values that are combined by using a bitwise OR operation. The resulting value specifies options for overlay color space support.

- - dn903672 - HRESULT IDXGIOutput4::CheckOverlayColorSpaceSupport([In] DXGI_FORMAT Format,[In] DXGI_COLOR_SPACE_TYPE ColorSpace,[In] IUnknown* pConcernedDevice,[Out] DXGI_OVERLAY_COLOR_SPACE_SUPPORT_FLAG* pFlags) - IDXGIOutput4::CheckOverlayColorSpaceSupport -
- - -

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 - IDXGIOutput5 - IDXGIOutput5 -
- - - Initializes a new instance of the class. - - The native pointer. - - - - Performs an explicit conversion from to . (This method is a shortcut to ) - - The native pointer. - - The result of the conversion. - - - - -

Allows specifying a list of supported formats for fullscreen surfaces that can be returned by the object.

-
- No documentation. - No documentation. - No documentation. - No documentation. - No documentation. - -

This method allows directly receiving the original back buffer format used by a running fullscreen application. For comparison, using the original DuplicateOutput function always converts the fullscreen surface to a 32-bit BGRA format. In cases where the current fullscreen application is using a different buffer format, a conversion to 32-bit BGRA incurs a performance penalty. Besides the performance benefit of being able to skip format conversion, using DuplicateOutput1 also allows receiving the full gamut of colors in cases where a high-color format (such as R10G10B10A2) is being presented.

The pSupportedFormats array should only contain display scan-out formats. See Format Support for Direct3D Feature Level 11.0 Hardware for required scan-out formats at each feature level. If the current fullscreen buffer format is not contained in the pSupportedFormats array, DXGI will pick one of the supplied formats and convert the fullscreen buffer to that format before returning from . The list of supported formats should always contain , as this is the most common format for the desktop. -

-
- - mt679496 - HRESULT IDXGIOutput5::DuplicateOutput1([In] IUnknown* pDevice,[In] unsigned int Flags,[In] unsigned int SupportedFormatsCount,[In, Buffer] const DXGI_FORMAT* pSupportedFormats,[Out] IDXGIOutputDuplication** ppOutputDuplication) - IDXGIOutput5::DuplicateOutput1 -
- - -

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 - IDXGIOutput6 - IDXGIOutput6 -
- - - Initializes a new instance of the 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. - - - GetDesc1 - GetDesc1 - HRESULT IDXGIOutput6::GetDesc1([Out] DXGI_OUTPUT_DESC1* pDesc) - - - - No documentation. - - No documentation. - No documentation. - - HRESULT IDXGIOutput6::GetDesc1([Out] DXGI_OUTPUT_DESC1* pDesc) - IDXGIOutput6::GetDesc1 - - - - No documentation. - - No documentation. - No documentation. - - HRESULT IDXGIOutput6::CheckHardwareCompositionSupport([Out] unsigned int* pFlags) - IDXGIOutput6::CheckHardwareCompositionSupport - - - -

The interface accesses and manipulates the duplicated desktop image.

-
- -

A collaboration application can use to access the desktop image. is supported in Desktop Window Manager (DWM) on non-8bpp DirectX full-screen modes and non-8bpp OpenGL full-screen modes. 16-bit or 32-bit GDI non-DWM desktop modes are not supported.

An application can use on a separate thread to receive the desktop images and to feed them into their specific image-processing pipeline. The application uses to perform the following operations:

  1. Acquire the next desktop image.
  2. Retrieve the information that describes the image.
  3. Perform an operation on the image. This operation can be as simple as copying the image to a staging buffer so that the application can read the pixel data on the image. The application reads the pixel data after the application calls . Alternatively, this operation can be more complex. For example, the application can run some pixel shaders on the updated regions of the image to encode those regions for transmission to a client.
  4. After the application finishes processing each desktop image, it releases the image, loops to step 1, and repeats the steps. The application repeats these steps until it is finished processing desktop images.

The following components of the operating system can generate the desktop image:

  • The DWM by composing the desktop image
  • A full-screen DirectX or OpenGL application
  • An application by switching to a separate desktop, for example, the secure desktop that is used to display the login screen

All current interfaces become invalid when the operating system switches to a different component that produces the desktop image or when a mode change occurs. In these situations, the application must destroy its current interface and create a new interface.

Examples of situations in which becomes invalid are:

  • Desktop switch
  • Mode change
  • Switch from DWM on, DWM off, or other full-screen application

In these situations, the application must release the interface and must create a new interface for the new content. If the application does not have the appropriate privilege to the new desktop image, its call to the method fails.

While the application processes each desktop image, the operating system accumulates all the desktop image updates into a single update. For more information about desktop updates, see Updating the desktop image data.

The desktop image is always in the format.

The interface does not exist for Windows Store apps.

-
- - hh404611 - IDXGIOutputDuplication - IDXGIOutputDuplication -
- - - Initializes a new instance of the 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 description of a duplicated output. This description specifies the dimensions of the surface that contains the desktop image.

-
- -

After an application creates an interface, it calls GetDesc to retrieve the dimensions of the surface that contains the desktop image. The format of the desktop image is always .

-
- - hh404618 - GetDesc - GetDesc - void IDXGIOutputDuplication::GetDesc([Out] DXGI_OUTDUPL_DESC* pDesc) -
- - -

Retrieves a description of a duplicated output. This description specifies the dimensions of the surface that contains the desktop image.

-
-

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

- -

After an application creates an interface, it calls GetDesc to retrieve the dimensions of the surface that contains the desktop image. The format of the desktop image is always .

-
- - hh404618 - void IDXGIOutputDuplication::GetDesc([Out] DXGI_OUTDUPL_DESC* pDesc) - IDXGIOutputDuplication::GetDesc -
- - -

Indicates that the application is ready to process the next desktop image.

-
-

The time-out interval, in milliseconds. This interval specifies the amount of time that this method waits for a new frame before it returns to the caller. This method returns if the interval elapses, and a new desktop image is not available.

For more information about the time-out interval, see Remarks.

-

A reference to a memory location that receives the structure that describes timing and presentation statistics for a frame.

-

A reference to a variable that receives the interface of the surface that contains the desktop bitmap.

-

AcquireNextFrame returns:

  • if it successfully received the next desktop image.
  • if the desktop duplication interface is invalid. The desktop duplication interface typically becomes invalid when a different type of image is displayed on the desktop. Examples of this situation are:
    • Desktop switch
    • Mode change
    • Switch from DWM on, DWM off, or other full-screen application
    In this situation, the application must release the interface and create a new for the new content.
  • if the time-out interval elapsed before the next desktop frame was available.
  • if the application called AcquireNextFrame without releasing the previous frame.
  • E_INVALIDARG if one of the parameters to AcquireNextFrame is incorrect; for example, if pFrameInfo is null.
  • Possibly other error codes that are described in the DXGI_ERROR topic.
- -

When AcquireNextFrame returns successfully, the calling application can access the desktop image that AcquireNextFrame returns in the variable at ppDesktopResource. - If the caller specifies a zero time-out interval in the TimeoutInMilliseconds parameter, AcquireNextFrame verifies whether there is a new desktop image available, returns immediately, and indicates its outcome with the return value. If the caller specifies an INFINITE time-out interval in the TimeoutInMilliseconds parameter, the time-out interval never elapses.

Note??You cannot cancel the wait that you specified in the TimeoutInMilliseconds parameter. Therefore, if you must periodically check for other conditions (for example, a terminate signal), you should specify a non-INFINITE time-out interval. After the time-out interval elapses, you can check for these other conditions and then call AcquireNextFrame again to wait for the next frame.?

AcquireNextFrame acquires a new desktop frame when the operating system either updates the desktop bitmap image or changes the shape or position of a hardware reference. The new frame that AcquireNextFrame acquires might have only the desktop image updated, only the reference shape or position updated, or both.

-
- - hh404615 - HRESULT IDXGIOutputDuplication::AcquireNextFrame([In] unsigned int TimeoutInMilliseconds,[Out] DXGI_OUTDUPL_FRAME_INFO* pFrameInfo,[Out] IDXGIResource** ppDesktopResource) - IDXGIOutputDuplication::AcquireNextFrame -
- - -

Gets information about dirty rectangles for the current desktop frame.

-
-

The size in bytes of the buffer that the caller passed to the pDirtyRectsBuffer parameter.

-

A reference to an array of structures that identifies the dirty rectangle regions for the desktop frame.

-

Pointer to a variable that receives the number of bytes that GetFrameDirtyRects needs to store information about dirty regions in the buffer at pDirtyRectsBuffer.

For more information about returning the required buffer size, see Remarks.

-

GetFrameDirtyRects returns:

  • if it successfully retrieved information about dirty rectangles.
  • if the desktop duplication interface is invalid. The desktop duplication interface typically becomes invalid when a different type of image is displayed on the desktop. Examples of this situation are:
    • Desktop switch
    • Mode change
    • Switch from DWM on, DWM off, or other full-screen application
    In this situation, the application must release the interface and create a new for the new content.
  • if the buffer that the calling application provided was not big enough.
  • if the application called GetFrameDirtyRects without owning the desktop image.
  • E_INVALIDARG if one of the parameters to GetFrameDirtyRects is incorrect; for example, if pDirtyRectsBuffer is null.
  • Possibly other error codes that are described in the DXGI_ERROR topic.
- -

GetFrameDirtyRects stores a size value in the variable at pDirtyRectsBufferSizeRequired. This value specifies the number of bytes that GetFrameDirtyRects needs to store information about dirty regions. You can use this value in the following situations to determine the amount of memory to allocate for future buffers that you pass to pDirtyRectsBuffer:

  • GetFrameDirtyRects fails with because the buffer is not big enough.
  • GetFrameDirtyRects supplies a buffer that is bigger than necessary. The size value returned at pDirtyRectsBufferSizeRequired informs the caller how much buffer space was actually used compared to how much buffer space the caller allocated and specified in the DirtyRectsBufferSize parameter.

The caller can also use the value returned at pDirtyRectsBufferSizeRequired to determine the number of s returned in the pDirtyRectsBuffer array.

The buffer contains the list of dirty s for the current frame.

Note??To produce a visually accurate copy of the desktop, an application must first process all move s before it processes dirty s.? -
- - hh404619 - HRESULT IDXGIOutputDuplication::GetFrameDirtyRects([In] unsigned int DirtyRectsBufferSize,[Out, Buffer] RECT* pDirtyRectsBuffer,[Out] unsigned int* pDirtyRectsBufferSizeRequired) - IDXGIOutputDuplication::GetFrameDirtyRects -
- - -

Gets information about the moved rectangles for the current desktop frame.

-
-

The size in bytes of the buffer that the caller passed to the pMoveRectBuffer parameter.

-

A reference to an array of structures that identifies the moved rectangle regions for the desktop frame.

-

Pointer to a variable that receives the number of bytes that GetFrameMoveRects needs to store information about moved regions in the buffer at pMoveRectBuffer.

For more information about returning the required buffer size, see Remarks.

-

GetFrameMoveRects returns:

  • if it successfully retrieved information about moved rectangles.
  • if the desktop duplication interface is invalid. The desktop duplication interface typically becomes invalid when a different type of image is displayed on the desktop. Examples of this situation are:
    • Desktop switch
    • Mode change
    • Switch from DWM on, DWM off, or other full-screen application
    In this situation, the application must release the interface and create a new for the new content.
  • if the buffer that the calling application provided is not big enough.
  • if the application called GetFrameMoveRects without owning the desktop image.
  • E_INVALIDARG if one of the parameters to GetFrameMoveRects is incorrect; for example, if pMoveRectBuffer is null.
  • Possibly other error codes that are described in the DXGI_ERROR topic.
- -

GetFrameMoveRects stores a size value in the variable at pMoveRectsBufferSizeRequired. This value specifies the number of bytes that GetFrameMoveRects needs to store information about moved regions. You can use this value in the following situations to determine the amount of memory to allocate for future buffers that you pass to pMoveRectBuffer:

  • GetFrameMoveRects fails with because the buffer is not big enough.
  • GetFrameMoveRects supplies a buffer that is bigger than necessary. The size value returned at pMoveRectsBufferSizeRequired informs the caller how much buffer space was actually used compared to how much buffer space the caller allocated and specified in the MoveRectsBufferSize parameter.

The caller can also use the value returned at pMoveRectsBufferSizeRequired to determine the number of structures returned.

The buffer contains the list of move RECTs for the current frame.

Note??To produce a visually accurate copy of the desktop, an application must first process all move RECTs before it processes dirty RECTs.? -
- - hh404620 - HRESULT IDXGIOutputDuplication::GetFrameMoveRects([In] unsigned int MoveRectsBufferSize,[Out, Buffer] DXGI_OUTDUPL_MOVE_RECT* pMoveRectBuffer,[Out] unsigned int* pMoveRectsBufferSizeRequired) - IDXGIOutputDuplication::GetFrameMoveRects -
- - -

Gets information about the new reference shape for the current desktop frame.

-
-

The size in bytes of the buffer that the caller passed to the pPointerShapeBuffer parameter.

-

A reference to a buffer to which GetFramePointerShape copies and returns pixel data for the new reference shape.

-

Pointer to a variable that receives the number of bytes that GetFramePointerShape needs to store the new reference shape pixel data in the buffer at pPointerShapeBuffer.

For more information about returning the required buffer size, see Remarks.

-

Pointer to a structure that receives the reference shape information.

-

GetFramePointerShape returns:

  • if it successfully retrieved information about the new reference shape.
  • if the desktop duplication interface is invalid. The desktop duplication interface typically becomes invalid when a different type of image is displayed on the desktop. Examples of this situation are:
    • Desktop switch
    • Mode change
    • Switch from DWM on, DWM off, or other full-screen application
    In this situation, the application must release the interface and create a new for the new content.
  • if the buffer that the calling application provided was not big enough.
  • if the application called GetFramePointerShape without owning the desktop image.
  • E_INVALIDARG if one of the parameters to GetFramePointerShape is incorrect; for example, if pPointerShapeInfo is null.
  • Possibly other error codes that are described in the DXGI_ERROR topic.
- -

GetFramePointerShape stores a size value in the variable at pPointerShapeBufferSizeRequired. This value specifies the number of bytes that pPointerShapeBufferSizeRequired needs to store the new reference shape pixel data. You can use the value in the following situations to determine the amount of memory to allocate for future buffers that you pass to pPointerShapeBuffer:

  • GetFramePointerShape fails with because the buffer is not big enough.
  • GetFramePointerShape supplies a bigger than necessary buffer. The size value returned at pPointerShapeBufferSizeRequired informs the caller how much buffer space was actually used compared to how much buffer space the caller allocated and specified in the PointerShapeBufferSize parameter.

The pPointerShapeInfo parameter describes the new reference shape.

-
- - hh404621 - HRESULT IDXGIOutputDuplication::GetFramePointerShape([In] unsigned int PointerShapeBufferSize,[Out, Buffer] void* pPointerShapeBuffer,[Out] unsigned int* pPointerShapeBufferSizeRequired,[Out] DXGI_OUTDUPL_POINTER_SHAPE_INFO* pPointerShapeInfo) - IDXGIOutputDuplication::GetFramePointerShape -
- - -

Provides the CPU with efficient access to a desktop image if that desktop image is already in system memory.

-
-

A reference to a structure that receives the surface data that the CPU needs to directly access the surface data.

-

MapDesktopSurface returns:

  • if it successfully retrieved the surface data.
  • if the desktop duplication interface is invalid. The desktop duplication interface typically becomes invalid when a different type of image is displayed on the desktop. Examples of this situation are:
    • Desktop switch
    • Mode change
    • Switch from DWM on, DWM off, or other full-screen application
    In this situation, the application must release the interface and create a new for the new content.
  • if the application already has an outstanding map on the desktop image. The application must call UnMapDesktopSurface before it calls MapDesktopSurface again. is also returned if the application did not own the desktop image when it called MapDesktopSurface.
  • if the desktop image is not in system memory. In this situation, the application must first transfer the image to a staging surface and then lock the image by calling the method.
  • E_INVALIDARG if the pLockedRect parameter is incorrect; for example, if pLockedRect is null.
  • Possibly other error codes that are described in the DXGI_ERROR topic.
- -

You can successfully call MapDesktopSurface if the DesktopImageInSystemMemory member of the structure is set to TRUE. If DesktopImageInSystemMemory is , MapDesktopSurface returns . Call to retrieve the structure.

-
- - hh404622 - HRESULT IDXGIOutputDuplication::MapDesktopSurface([Out] DXGI_MAPPED_RECT* pLockedRect) - IDXGIOutputDuplication::MapDesktopSurface -
- - -

Invalidates the reference to the desktop image that was retrieved by using .

-
-

UnMapDesktopSurface returns:

  • if it successfully completed.
  • if the application did not map the desktop surface by calling .
  • Possibly other error codes that are described in the DXGI_ERROR topic.
- - hh404624 - HRESULT IDXGIOutputDuplication::UnMapDesktopSurface() - IDXGIOutputDuplication::UnMapDesktopSurface -
- - -

Indicates that the application finished processing the frame.

-
-

ReleaseFrame returns:

  • if it successfully completed.
  • if the application already released the frame.
  • if the desktop duplication interface is invalid. The desktop duplication interface typically becomes invalid when a different type of image is displayed on the desktop. Examples of this situation are:
    • Desktop switch
    • Mode change
    • Switch from DWM on, DWM off, or other full-screen application
    In this situation, the application must release the interface and create a new for the new content.
  • Possibly other error codes that are described in the DXGI_ERROR topic.
- -

The application must release the frame before it acquires the next frame. After the frame is released, the surface that contains the desktop bitmap becomes invalid; you will not be able to use the surface in a DirectX graphics operation.

For performance reasons, we recommend that you release the frame just before you call the method to acquire the next frame. When the client does not own the frame, the operating system copies all desktop updates to the surface. This can result in wasted GPU cycles if the operating system updates the same region for each frame that occurs. When the client acquires the frame, the client is aware of only the final update to this region; therefore, any overlapping updates during previous frames are wasted. When the client acquires a frame, the client owns the surface; therefore, the operating system can track only the updated regions and cannot copy desktop updates to the surface. Because of this behavior, we recommend that you minimize the time between the call to release the current frame and the call to acquire the next frame.

-
- - hh404623 - HRESULT IDXGIOutputDuplication::ReleaseFrame() - IDXGIOutputDuplication::ReleaseFrame -
- - -

Set the priority for evicting the resource from memory.

-
- -

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

-
- -

GetSharedHandle returns a handle for the resource that you created as shared (that is, you set the with or without the flag). You can pass this handle to the method to give another device access to the shared resource. You can also marshal this handle to another process to share a resource with a device in another process. However, this handle 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 intended entities have opened 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.

GetSharedHandle can also return handles for resources that were passed into to open those resources.

GetSharedHandle fails if the resource to which it wants to get a handle is not shared.

-
- - bb174562 - GetSharedHandle - GetSharedHandle - HRESULT IDXGIResource::GetSharedHandle([Out] void** pSharedHandle) -
- - -

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

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

- -

GetSharedHandle returns a handle for the resource that you created as shared (that is, you set the with or without the flag). You can pass this handle to the method to give another device access to the shared resource. You can also marshal this handle to another process to share a resource with a device in another process. However, this handle 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 intended entities have opened 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.

GetSharedHandle can also return handles for resources that were passed into to open those resources.

GetSharedHandle fails if the resource to which it wants to get a handle is not shared.

-
- - 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([In] 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 -
- - -

An interface extends the interface by adding support for creating a subresource surface object and for creating a handle to a shared resource.

-
- -

To determine the 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 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);

Windows?Phone?8: This API is supported.

-
- - hh404625 - IDXGIResource1 - IDXGIResource1 -
- - - Initializes a new instance of the 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 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 -
- - -

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

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 -
- - - Initializes a new instance of the 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.

-
- - bb174566 - GetDesc - GetDesc - HRESULT IDXGISurface::GetDesc([Out] DXGI_SURFACE_DESC* pDesc) -
- - -

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

Get a reference to the data contained in the surface, and deny GPU access to the surface.

-
-

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::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. - Stream to contain the surface data. - 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. - - - -

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 -
- - - Initializes a new instance of the 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) - - - -

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 -
- - - Initializes a new instance of the 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 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 -
- - - Initializes a new sub resource surface instance of class. - - - - - - -

An interface implements one or more surfaces for storing rendered data before presenting it to an output.

-
- -

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.

-
- - 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 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 swap chain that you created with .

-
- - bb174571 - GetContainingOutput - GetContainingOutput - HRESULT IDXGISwapChain::GetContainingOutput([Out] IDXGIOutput** ppOutput) -
- - -

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

Presents a rendered image to the user.

-
-

An integer that specifies how to synchronize presentation of a frame with the vertical blank.

For the bit-block transfer (bitblt) model ( or ), values are:

  • 0 - The presentation occurs immediately, there is no synchronization.
  • 1 through 4 - Synchronize presentation after the nth vertical blank.

For the flip model (), values are:

  • 0 - Cancel the remaining time on the previously presented frame and discard this frame if a newer frame is queued.
  • 1 through 4 - 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 ), Present performs the synchronization to the output that contains the largest sub-rectangle 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.

-

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

Starting with Direct3D 11.1, consider using because you can then use dirty rectangles and the scroll rectangle in the swap chain presentation and as such use less memory bandwidth and as a result less system power. For more info about using dirty rectangles and the scroll rectangle in swap chain presentation, see Using dirty rectangles and the scroll rectangle in swap chain presentation.

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.

For info about how data values change when you present content to the screen, see Converting data for the color space.

-
- - 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 , only the swap chain's zero-index buffer can be read from and written to. The swap chain's buffers with indexes greater than zero can only be read from; so if you call the method for such buffers, they have the flag set.

-

The type of interface used to manipulate the buffer.

-

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.

-
- - 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 less than two buffers for the flip presentation model.

-

The 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 method to create the swap chain for a composition surface.

-

The 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 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 , then , 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 in Windows?8 versus Windows?7 is with flip presentation model swap chains that you create with the or value set. In Windows?8, you must call ResizeBuffers to realize a transition between full-screen mode and windowed mode; otherwise, your next call to the 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 full-screen/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, apps 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 Windows Store app calls ResizeTarget, it fails with .

You cannot call ResizeTarget on a swap chain that you created with .

Apps must still call after they call ResizeTarget because only ResizeBuffers can change the back buffers. But, if those apps have implemented window resize processing to call ResizeBuffers, they don't need to explicitly call ResizeBuffers after they call ResizeTarget because the window resize processing will achieve what the app requires.

-
- - 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 swap chain that you created with .

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

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

[Starting with Direct3D 11.1, we recommend not to use Present anymore to present a rendered image. Instead, use . For more info, see Remarks.]

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.

- -

Starting with Direct3D 11.1, we recommend to instead use because you can then use dirty rectangles and the scroll rectangle in the swap chain presentation and as such use less memory bandwidth and as a result less system power. For more info about using dirty rectangles and the scroll rectangle in swap chain presentation, see Using dirty rectangles and the scroll rectangle in swap chain presentation.

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.

For info about how data values change when you present content to the screen, see Converting data for the color space.

-
- - bb174576 - HRESULT IDXGISwapChain::Present([In] unsigned int SyncInterval,[In] DXGI_PRESENT_FLAGS Flags) - IDXGISwapChain::Present -
- - -

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

Gets a description of the swap chain.

-
- - hh404640 - GetDesc1 - GetDesc1 - HRESULT IDXGISwapChain1::GetDesc1([Out] DXGI_SWAP_CHAIN_DESC1* pDesc) -
- - -

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

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

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

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

Retrieves or sets 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) -
- - -

Gets or sets the rotation of the back buffers for the swap chain.

-
- - hh446791 - GetRotation / SetRotation - GetRotation - HRESULT IDXGISwapChain1::GetRotation([Out] DXGI_MODE_ROTATION* pRotation) -
- - -

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

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

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

Retrieves the underlying CoreWindow object for this swap-chain object.

-
- No documentation. - No documentation. -

GetCoreWindow returns:

  • if it successfully retrieved the underlying CoreWindow object.
  • if ppUnk is null; that is, the swap chain is not associated with a CoreWindow object.
  • Any that a call to QueryInterface to query for an CoreWindow object might typically return.
  • Possibly other error codes that are described in the DXGI_ERROR topic.

Platform Update for Windows?7:??On Windows?7 or Windows Server?2008?R2 with the Platform Update for Windows?7 installed, GetCoreWindow fails with E_NOTIMPL. For more info about the Platform Update for Windows?7, see Platform Update for Windows 7.

- -

Applications call the method to create a swap chain that is associated with an CoreWindow object.

-
- - hh404650 - HRESULT IDXGISwapChain1::GetCoreWindow([In] const GUID& refiid,[Out] void** ppUnk) - IDXGISwapChain1::GetCoreWindow -
- - -

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 ( or ), values are:

  • 0 - The presentation occurs immediately, there is no synchronization.
  • 1 through 4 - Synchronize presentation after the nth vertical blank.

For the flip model (), values are:

  • 0 - Cancel the remaining time on the previously presented frame and discard this frame if a newer frame is queued.
  • 1 through 4 - 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 sub-rectangle 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 app 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 app 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.

For info about how data values change when you present content to the screen, see Converting data for the color space.

For info about calling Present1 when your app uses multiple threads, see Multithread Considerations and Multithreading and DXGI.

-
- - hh446797 - HRESULT IDXGISwapChain1::Present1([In] unsigned int SyncInterval,[In] DXGI_PRESENT_FLAGS PresentFlags,[In] const void* pPresentParameters) - IDXGISwapChain1::Present1 -
- - -

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

Platform Update for Windows?7:??On Windows?7 or Windows Server?2008?R2 with the Platform Update for Windows?7 installed, IsTemporaryMonoSupported always returns because stereoscopic 3D display behavior isn?t available with the Platform Update for Windows?7. For more info about the Platform Update for Windows?7, see Platform Update for Windows 7.

- -

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

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

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.

Platform Update for Windows?7:??On Windows?7 or Windows Server?2008?R2 with the Platform Update for Windows?7 installed, SetBackgroundColor fails with E_NOTIMPL. For more info about the Platform Update for Windows?7, see Platform Update for Windows 7.

- -

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.

Note??Like all presentation data, we recommend that you perform floating point operations in a linear color space. When the desktop is in a fixed bit color depth mode, the operating system converts linear color data to standard RGB data (sRGB, gamma 2.2 corrected space) to compose to the screen. For more info, see Converting data for the color space.? -
- - hh446799 - HRESULT IDXGISwapChain1::SetBackgroundColor([In] const D3DCOLORVALUE* pColor) - IDXGISwapChain1::SetBackgroundColor -
- - -

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

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.

Platform Update for Windows?7:??On Windows?7 or Windows Server?2008?R2 with the Platform Update for Windows?7 installed, SetRotation fails with . For more info about the Platform Update for Windows?7, see Platform Update for Windows 7.

- -

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

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.

Platform Update for Windows?7:??On Windows?7 or Windows Server?2008?R2 with the Platform Update for Windows?7 installed, GetRotation fails with . For more info about the Platform Update for Windows?7, see Platform Update for Windows 7.

- - hh446791 - HRESULT IDXGISwapChain1::GetRotation([Out] DXGI_MODE_ROTATION* pRotation) - IDXGISwapChain1::GetRotation -
- - - Creates a swapchain associated to the specified HWND. This is applicable only for Desktop platform. - - The DXGI Factory used to create the swapchain. - The associated device instance. - The HWND of the window to which this swapchain is associated. - The swap chain description. - The fullscreen description of the swap chain. Default is null. - The output to which this swap chain should be restricted. Default is null, meaning that there is no restriction. - - - - Creates a swapchain associated to the specified CoreWindow. This is applicable only for WinRT platform. - - The DXGI Factory used to create the swapchain. - The associated device instance. - The HWND of the window to which this swapchain is associated. - The swap chain description. - The output to which this swap chain should be restricted. Default is null, meaning that there is no restriction. - - - - Creates a swapchain for DirectComposition API or WinRT XAML framework. This is applicable only for WinRT platform. - - The DXGI Factory used to create the swapchain. - The associated device instance. - The swap chain description. - The output to which this swap chain should be restricted. Default is null, meaning that there is no restriction. - - - - [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) - - - -

Extends with methods to support swap back buffer scaling and lower-latency swap chains.

-
- -

You can create a swap chain by - calling , , or .

-
- - dn280420 - IDXGISwapChain2 - IDXGISwapChain2 -
- - - Initializes a new instance of the 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 or sets the number of frames that the swap chain is allowed to queue for rendering.

-
- - dn268311 - GetMaximumFrameLatency / SetMaximumFrameLatency - GetMaximumFrameLatency - HRESULT IDXGISwapChain2::GetMaximumFrameLatency([Out] unsigned int* pMaxLatency) -
- - -

Returns a waitable handle that signals when the DXGI adapter has finished presenting a new frame.

Windows?8.1 introduces new APIs that allow lower-latency rendering by waiting until the previous frame is presented to the display before drawing the next frame. To use this method, first create the DXGI swap chain with the flag set, then call GetFrameLatencyWaitableObject to retrieve the waitable handle. Use the waitable handle with WaitForSingleObjectEx to synchronize rendering of each new frame with the end of the previous frame. For every frame it renders, the app should wait on this handle before starting any rendering operations. Note that this requirement includes the first frame the app renders with the swap chain. See the DirectXLatency sample.

-
- - dn268309 - GetFrameLatencyWaitableObject - GetFrameLatencyWaitableObject - void* IDXGISwapChain2::GetFrameLatencyWaitableObject() -
- - -

Gets or sets the transform matrix that will be applied to a composition swap chain upon the next present.

Starting with Windows?8.1, Windows Store apps are able to place DirectX swap chain visuals in XAML pages using the SwapChainPanel element, which can be placed and sized arbitrarily. This exposes the DirectX swap chain visuals to touch scaling and translation scenarios using touch UI. The GetMatrixTransform and SetMatrixTransform methods are used to synchronize scaling of the DirectX swap chain with its associated SwapChainPanel element. Only simple scale/translation elements in the matrix are allowed ? the call will fail if the matrix contains skew/rotation elements.

-
- - dn268310 - GetMatrixTransform / SetMatrixTransform - GetMatrixTransform - HRESULT IDXGISwapChain2::GetMatrixTransform([Out] DXGI_MATRIX_3X2_F* pMatrix) -
- - -

Sets the source region to be used for the swap chain.

Use SetSourceSize to specify the portion of the swap chain from which the operating system presents. This allows an effective resize without calling the more-expensive method. Prior to Windows?8.1, calling was the only way to resize the swap chain. The source rectangle is always defined by the region [0, 0, Width, Height].

-
- No documentation. - No documentation. -

This method can return:

  • E_INVALIDARG if one or more parameters exceed the size of the back buffer.
  • Possibly other error codes that are described in the DXGI_ERROR topic.
- - dn280409 - HRESULT IDXGISwapChain2::SetSourceSize([In] unsigned int Width,[In] unsigned int Height) - IDXGISwapChain2::SetSourceSize -
- - -

Gets the source region used for the swap chain.

Use GetSourceSize to get the portion of the swap chain from which the operating system presents. The source rectangle is always defined by the region [0, 0, Width, Height]. Use SetSourceSize to set this portion of the swap chain.

-
- No documentation. - No documentation. -

This method can return error codes that are described in the DXGI_ERROR topic.

- - dn280408 - HRESULT IDXGISwapChain2::GetSourceSize([Out] unsigned int* pWidth,[Out] unsigned int* pHeight) - IDXGISwapChain2::GetSourceSize -
- - -

Sets the number of frames that the swap chain is allowed to queue for rendering.

-
-

The maximum number of back buffer frames that will be queued for the swap chain. This value is 3 by default.

-

Returns if successful; otherwise, if the device was removed.

- -

This method is only valid for use on swap chains created with . Otherwise, the result will be .

-
- - dn268313 - HRESULT IDXGISwapChain2::SetMaximumFrameLatency([In] unsigned int MaxLatency) - IDXGISwapChain2::SetMaximumFrameLatency -
- - -

Gets the number of frames that the swap chain is allowed to queue for rendering.

-
-

The maximum number of back buffer frames that will be queued for the swap chain. This value is 1 by default, but should be set to 2 if the scene takes longer than it takes for one vertical refresh (typically about 16ms) to draw.

-

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
- - dn268311 - HRESULT IDXGISwapChain2::GetMaximumFrameLatency([Out] unsigned int* pMaxLatency) - IDXGISwapChain2::GetMaximumFrameLatency -
- - -

Returns a waitable handle that signals when the DXGI adapter has finished presenting a new frame.

Windows?8.1 introduces new APIs that allow lower-latency rendering by waiting until the previous frame is presented to the display before drawing the next frame. To use this method, first create the DXGI swap chain with the flag set, then call GetFrameLatencyWaitableObject to retrieve the waitable handle. Use the waitable handle with WaitForSingleObjectEx to synchronize rendering of each new frame with the end of the previous frame. For every frame it renders, the app should wait on this handle before starting any rendering operations. Note that this requirement includes the first frame the app renders with the swap chain. See the DirectXLatency sample.

-
-

A handle to the waitable object, or null if the swap chain was not created with .

- - dn268309 - void* IDXGISwapChain2::GetFrameLatencyWaitableObject() - IDXGISwapChain2::GetFrameLatencyWaitableObject -
- - -

Sets the transform matrix that will be applied to a composition swap chain upon the next present.

Starting with Windows?8.1, Windows Store apps are able to place DirectX swap chain visuals in XAML pages using the SwapChainPanel element, which can be placed and sized arbitrarily. This exposes the DirectX swap chain visuals to touch scaling and translation scenarios using touch UI. The GetMatrixTransform and SetMatrixTransform methods are used to synchronize scaling of the DirectX swap chain with its associated SwapChainPanel element. Only simple scale/translation elements in the matrix are allowed ? the call will fail if the matrix contains skew/rotation elements.

-
- No documentation. -

SetMatrixTransform returns:

  • if it successfully retrieves the transform matrix.
  • E_INVALIDARG if the pMatrix parameter is incorrect, for example, pMatrix is null or the matrix represented by includes components other than scale and translation.
  • if the method is called on a swap chain that was not created with CreateSwapChainForComposition.
  • Possibly other error codes that are described in the DXGI_ERROR topic.
- - dn268312 - HRESULT IDXGISwapChain2::SetMatrixTransform([In] const DXGI_MATRIX_3X2_F* pMatrix) - IDXGISwapChain2::SetMatrixTransform -
- - -

Gets the transform matrix that will be applied to a composition swap chain upon the next present.

Starting with Windows?8.1, Windows Store apps are able to place DirectX swap chain visuals in XAML pages using the SwapChainPanel element, which can be placed and sized arbitrarily. This exposes the DirectX swap chain visuals to touch scaling and translation scenarios using touch UI. The GetMatrixTransform and SetMatrixTransform methods are used to synchronize scaling of the DirectX swap chain with its associated SwapChainPanel element. Only simple scale/translation elements in the matrix are allowed ? the call will fail if the matrix contains skew/rotation elements.

-
- No documentation. -

GetMatrixTransform returns:

  • if it successfully retrieves the transform matrix.
  • if the method is called on a swap chain that was not created with CreateSwapChainForComposition.
  • Possibly other error codes that are described in the DXGI_ERROR topic.
- - dn268310 - HRESULT IDXGISwapChain2::GetMatrixTransform([Out] DXGI_MATRIX_3X2_F* pMatrix) - IDXGISwapChain2::GetMatrixTransform -
- - -

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

Gets the source region used for the swap chain.

Use GetSourceSize to get the portion of the swap chain from which the operating system presents. The source rectangle is always defined by the region [0, 0, Width, Height]. Use SetSourceSize to set this portion of the swap chain.

-
-

This method can return error codes that are described in the DXGI_ERROR topic.

- - dn280408 - HRESULT IDXGISwapChain2::GetSourceSize([Out] unsigned int* pWidth,[Out] unsigned int* pHeight) - IDXGISwapChain2::GetSourceSize -
- - -

Extends with methods to support getting the index of the swap chain's current back buffer and support for color space.

-
- - dn903673 - IDXGISwapChain3 - IDXGISwapChain3 -
- - - Initializes a new instance of the 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 index of the swap chain's current back buffer.

-
- - dn903675 - GetCurrentBackBufferIndex - GetCurrentBackBufferIndex - unsigned int IDXGISwapChain3::GetCurrentBackBufferIndex() -
- - -

Sets the color space used by the swap chain.

-
- - dn903676 - SetColorSpace1 - SetColorSpace1 - HRESULT IDXGISwapChain3::SetColorSpace1([In] DXGI_COLOR_SPACE_TYPE ColorSpace) -
- - -

Gets the index of the swap chain's current back buffer.

-
-

Returns the index of the current back buffer.

- - dn903675 - unsigned int IDXGISwapChain3::GetCurrentBackBufferIndex() - IDXGISwapChain3::GetCurrentBackBufferIndex -
- - -

Checks the swap chain's support for color space.

-
-

A -typed value that specifies color space type to check support for.

-

A reference to a variable that receives a combination of -typed values that are combined by using a bitwise OR operation. The resulting value specifies options for color space support.

- - dn903674 - HRESULT IDXGISwapChain3::CheckColorSpaceSupport([In] DXGI_COLOR_SPACE_TYPE ColorSpace,[Out] DXGI_SWAP_CHAIN_COLOR_SPACE_SUPPORT_FLAG* pColorSpaceSupport) - IDXGISwapChain3::CheckColorSpaceSupport -
- - -

Sets the color space used by the swap chain.

-
-

A -typed value that specifies the color space to set.

-

This method returns on success, or it returns one of the error codes that are described in the DXGI_ERROR topic.

- - dn903676 - HRESULT IDXGISwapChain3::SetColorSpace1([In] DXGI_COLOR_SPACE_TYPE ColorSpace) - IDXGISwapChain3::SetColorSpace1 -
- - -

Changes the swap chain's back buffer size, format, and number of buffers, where the swap chain was created using a D3D12 command queue as an input device. This should be called when the application window is resized.

-
-

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 less than two buffers for the flip presentation model.

-

The 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 method to create the swap chain for a composition surface.

-

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

-

An array of UINTs, of total size BufferCount, where the value indicates which node the back buffer should be created on. Buffers created using ResizeBuffers1 with a non-null pCreationNodeMask array are visible to all nodes.

-

An array of command queues ( instances), of total size BufferCount. Each queue provided must match the corresponding creation node mask specified in the pCreationNodeMask array. When Present() is called, in addition to rotating to the next buffer for the next frame, the swapchain will also rotate through these command queues. This allows the app to control which queue requires synchronization for a given present operation.

-

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

- -

This method is only valid to call when the swapchain was created using a D3D12 command queue () as an input device.

When a swapchain is created on a multi-GPU adapter, the backbuffers are all created on node 1 and only a single command queue is supported. ResizeBuffers1 enables applications to create backbuffers on different nodes, allowing a different command queue to be used with each node. These capabilities enable Alternate Frame Rendering (AFR) techniques to be used with the swapchain. See Direct3D 12 Multi-Adapters.

The only difference between in Windows?8 versus Windows?7 is with flip presentation model swap chains that you create with the or value set. In Windows?8, you must call ResizeBuffers to realize a transition between full-screen mode and windowed mode; otherwise, your next call to the method fails.

Also see the Remarks section in , all of which is relevant to ResizeBuffers1.

-
- - mt403341 - HRESULT IDXGISwapChain3::ResizeBuffers1([In] unsigned int BufferCount,[In] unsigned int Width,[In] unsigned int Height,[In] DXGI_FORMAT Format,[In] DXGI_SWAP_CHAIN_FLAG SwapChainFlags,[In, Buffer] const unsigned int* pCreationNodeMask,[In, Buffer] const IUnknown** ppPresentQueue) - IDXGISwapChain3::ResizeBuffers1 -
- - -

Changes the swap chain's back buffer size, format, and number of buffers, where the swap chain was created using a D3D12 command queue as an input device. This should be called when the application window is resized.

-
-

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 less than two buffers for the flip presentation model.

-

The 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 method to create the swap chain for a composition surface.

-

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

-

An array of UINTs, of total size BufferCount, where the value indicates which node the back buffer should be created on. Buffers created using ResizeBuffers1 with a non-null pCreationNodeMask array are visible to all nodes.

-

An array of command queues ( instances), of total size BufferCount. Each queue provided must match the corresponding creation node mask specified in the pCreationNodeMask array. When Present() is called, in addition to rotating to the next buffer for the next frame, the swapchain will also rotate through these command queues. This allows the app to control which queue requires synchronization for a given present operation.

-

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

- -

This method is only valid to call when the swapchain was created using a D3D12 command queue () as an input device.

When a swapchain is created on a multi-GPU adapter, the backbuffers are all created on node 1 and only a single command queue is supported. ResizeBuffers1 enables applications to create backbuffers on different nodes, allowing a different command queue to be used with each node. These capabilities enable Alternate Frame Rendering (AFR) techniques to be used with the swapchain. See Direct3D 12 Multi-Adapters.

The only difference between in Windows?8 versus Windows?7 is with flip presentation model swap chains that you create with the or value set. In Windows?8, you must call ResizeBuffers to realize a transition between full-screen mode and windowed mode; otherwise, your next call to the method fails.

Also see the Remarks section in , all of which is relevant to ResizeBuffers1.

-
- - mt403341 - HRESULT IDXGISwapChain3::ResizeBuffers1([In] unsigned int BufferCount,[In] unsigned int Width,[In] unsigned int Height,[In] DXGI_FORMAT Format,[In] DXGI_SWAP_CHAIN_FLAG SwapChainFlags,[In, Buffer] const unsigned int* pCreationNodeMask,[In, Buffer] const IUnknown** ppPresentQueue) - IDXGISwapChain3::ResizeBuffers1 -
- - -

Changes the swap chain's back buffer size, format, and number of buffers, where the swap chain was created using a D3D12 command queue as an input device. This should be called when the application window is resized.

-
-

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 less than two buffers for the flip presentation model.

-

The 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 method to create the swap chain for a composition surface.

-

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

-

An array of UINTs, of total size BufferCount, where the value indicates which node the back buffer should be created on. Buffers created using ResizeBuffers1 with a non-null pCreationNodeMask array are visible to all nodes.

-

An array of command queues ( instances), of total size BufferCount. Each queue provided must match the corresponding creation node mask specified in the pCreationNodeMask array. When Present() is called, in addition to rotating to the next buffer for the next frame, the swapchain will also rotate through these command queues. This allows the app to control which queue requires synchronization for a given present operation.

-

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

- -

This method is only valid to call when the swapchain was created using a D3D12 command queue () as an input device.

When a swapchain is created on a multi-GPU adapter, the backbuffers are all created on node 1 and only a single command queue is supported. ResizeBuffers1 enables applications to create backbuffers on different nodes, allowing a different command queue to be used with each node. These capabilities enable Alternate Frame Rendering (AFR) techniques to be used with the swapchain. See Direct3D 12 Multi-Adapters.

The only difference between in Windows?8 versus Windows?7 is with flip presentation model swap chains that you create with the or value set. In Windows?8, you must call ResizeBuffers to realize a transition between full-screen mode and windowed mode; otherwise, your next call to the method fails.

Also see the Remarks section in , all of which is relevant to ResizeBuffers1.

-
- - mt403341 - HRESULT IDXGISwapChain3::ResizeBuffers1([In] unsigned int BufferCount,[In] unsigned int Width,[In] unsigned int Height,[In] DXGI_FORMAT Format,[In] DXGI_SWAP_CHAIN_FLAG SwapChainFlags,[In, Buffer] const unsigned int* pCreationNodeMask,[In, Buffer] const IUnknown** ppPresentQueue) - IDXGISwapChain3::ResizeBuffers1 -
- - -

An interface implements one or more surfaces for storing rendered data before presenting it to an output.

-
- -

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.

-
- - bb174569 - IDXGISwapChain4 - IDXGISwapChain4 -
- - - Initializes a new instance of the 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 method sets High Dynamic Range (HDR) and Wide Color Gamut (WCG) header metadata.

-
-

Specifies one member of the enum.

-

Specifies the size of pMetaData, in bytes.

-

Specifies a void reference that references the metadata, if it exists. Refer to the structure.

-

This method returns an success or error code.

- -

This method sets metadata to enable a monitor's output to be adjusted depending on its capabilities.

-
- - mt732708 - HRESULT IDXGISwapChain4::SetHDRMetaData([In] DXGI_HDR_METADATA_TYPE Type,[In] unsigned int Size,[In, Buffer, Optional] void* pMetaData) - IDXGISwapChain4::SetHDRMetaData -
- - -

This swap chain interface allows desktop media applications to request a seamless change to a specific refresh rate.

For example, a media application presenting video at a typical framerate of 23.997 frames per second can request a custom refresh rate of 24 or 48 Hz to eliminate jitter. If the request is approved, the app starts presenting frames at the custom refresh rate immediately - without the typical 'mode switch' a user would experience when changing the refresh rate themselves by using the control panel.

-
- -

Seamless changes to custom framerates can only be done on integrated panels. Custom frame rates cannot be applied to external displays. If the DXGI output adapter is attached to an external display then CheckPresentDurationSupport will return (0, 0) for upper and lower bounds, indicating that the device does not support seamless refresh rate changes.

Custom refresh rates can be used when displaying video with a dynamic framerate. However, the refresh rate change should be kept imperceptible to the user. A best practice for keeping the refresh rate transition imperceptible is to only set the custom framerate if the app determines it can present at that rate for least 5 seconds.

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

Queries the system for a structure that indicates whether a custom refresh rate is currently approved by the system.

-
- - dn384133 - GetFrameStatisticsMedia - GetFrameStatisticsMedia - HRESULT IDXGISwapChainMedia::GetFrameStatisticsMedia([Out] DXGI_FRAME_STATISTICS_MEDIA* pStats) -
- - -

Requests a custom presentation duration (custom refresh rate).

-
- - dn384134 - SetPresentDuration - SetPresentDuration - HRESULT IDXGISwapChainMedia::SetPresentDuration([In] unsigned int Duration) -
- - -

Queries the system for a structure that indicates whether a custom refresh rate is currently approved by the system.

-
- No documentation. -

This method returns on success, or a DXGI error code on failure.

- - dn384133 - HRESULT IDXGISwapChainMedia::GetFrameStatisticsMedia([Out] DXGI_FRAME_STATISTICS_MEDIA* pStats) - IDXGISwapChainMedia::GetFrameStatisticsMedia -
- - -

Requests a custom presentation duration (custom refresh rate).

-
-

The custom presentation duration, specified in hundreds of nanoseconds.

-

This method returns on success, or a DXGI error code on failure.

- - dn384134 - HRESULT IDXGISwapChainMedia::SetPresentDuration([In] unsigned int Duration) - IDXGISwapChainMedia::SetPresentDuration -
- - -

Queries the graphics driver for a supported frame present duration corresponding to a custom refresh rate.

-
-

Indicates the frame duration to check. This value is the duration of one frame at the desired refresh rate, specified in hundreds of nanoseconds. For example, set this field to 167777 to check for 60 Hz refresh rate support.

-

A variable that will be set to the closest supported frame present duration that's smaller than the requested value, or zero if the device does not support any lower duration.

-

A variable that will be set to the closest supported frame present duration that's larger than the requested value, or zero if the device does not support any higher duration.

-

This method returns on success, or a DXGI error code on failure.

- -

If the DXGI output adapter does not support custom refresh rates (for example, an external display) then the display driver will set upper and lower bounds to (0, 0).

-
- - dn384132 - HRESULT IDXGISwapChainMedia::CheckPresentDurationSupport([In] unsigned int DesiredPresentDuration,[Out] unsigned int* pClosestSmallerPresentDuration,[Out] unsigned int* pClosestLargerPresentDuration) - IDXGISwapChainMedia::CheckPresentDurationSupport -
- - -

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. On feature level 9 graphics hardware, GetDesc returns ?Software Adapter? for the description string.

-
- - bb173058 - wchar_t Description[128] - wchar_t Description -
- - -

The PCI ID of the hardware vendor. On feature level 9 graphics hardware, GetDesc returns zeros for the PCI ID of the hardware vendor.

-
- - bb173058 - unsigned int VendorId - unsigned int VendorId -
- - -

The PCI ID of the hardware device. On feature level 9 graphics hardware, GetDesc returns zeros for the PCI ID of the hardware device.

-
- - bb173058 - unsigned int DeviceId - unsigned int DeviceId -
- - -

The PCI ID of the sub system. On feature level 9 graphics hardware, GetDesc returns zeros for the PCI ID of the sub system.

-
- - bb173058 - unsigned int SubSysId - unsigned int SubSysId -
- - -

The PCI ID of the revision number of the adapter. On feature level 9 graphics hardware, GetDesc returns zeros for 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. On feature level 9 graphics hardware, GetDesc1 returns ?Software Adapter? for the description string.

-
- - ff471326 - wchar_t Description[128] - wchar_t Description -
- - -

The PCI ID of the hardware vendor. On feature level 9 graphics hardware, GetDesc1 returns zeros for the PCI ID of the hardware vendor.

-
- - ff471326 - unsigned int VendorId - unsigned int VendorId -
- - -

The PCI ID of the hardware device. On feature level 9 graphics hardware, GetDesc1 returns zeros for the PCI ID of the hardware device.

-
- - ff471326 - unsigned int DeviceId - unsigned int DeviceId -
- - -

The PCI ID of the sub system. On feature level 9 graphics hardware, GetDesc1 returns zeros for the PCI ID of the sub system.

-
- - ff471326 - unsigned int SubSysId - unsigned int SubSysId -
- - -

The PCI ID of the revision number of the adapter. On feature level 9 graphics hardware, GetDesc1 returns zeros for 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 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 - DXGI_ADAPTER_FLAG Flags - DXGI_ADAPTER_FLAG 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 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_DESC3 - DXGI_ADAPTER_DESC3 -
- - -

A string that contains the adapter description. On feature level 9 graphics hardware, GetDesc returns ?Software Adapter? for the description string.

-
- - bb173058 - wchar_t Description[128] - wchar_t Description -
- - -

The PCI ID of the hardware vendor. On feature level 9 graphics hardware, GetDesc returns zeros for the PCI ID of the hardware vendor.

-
- - bb173058 - unsigned int VendorId - unsigned int VendorId -
- - -

The PCI ID of the hardware device. On feature level 9 graphics hardware, GetDesc returns zeros for the PCI ID of the hardware device.

-
- - bb173058 - unsigned int DeviceId - unsigned int DeviceId -
- - -

The PCI ID of the sub system. On feature level 9 graphics hardware, GetDesc returns zeros for the PCI ID of the sub system.

-
- - bb173058 - unsigned int SubSysId - unsigned int SubSysId -
- - -

The PCI ID of the revision number of the adapter. On feature level 9 graphics hardware, GetDesc returns zeros for 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 -
- - - No documentation. - - - bb173058 - DXGI_ADAPTER_FLAG3 Flags - DXGI_ADAPTER_FLAG3 Flags - - - - No documentation. - - - bb173058 - DXGI_GRAPHICS_PREEMPTION_GRANULARITY GraphicsPreemptionGranularity - DXGI_GRAPHICS_PREEMPTION_GRANULARITY GraphicsPreemptionGranularity - - - - No documentation. - - - bb173058 - DXGI_COMPUTE_PREEMPTION_GRANULARITY ComputePreemptionGranularity - DXGI_COMPUTE_PREEMPTION_GRANULARITY ComputePreemptionGranularity - - - -

Used with ::CreateDecodeSwapChainForCompositionSurfaceHandle to describe a decode swap chain.

-
- - dn384106 - DXGI_DECODE_SWAP_CHAIN_DESC - DXGI_DECODE_SWAP_CHAIN_DESC -
- - - No documentation. - - - dn384106 - unsigned int Flags - unsigned int 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 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 -
- - -

Used to verify system approval for the app's custom present duration (custom refresh rate). Approval should be continuously verified on a frame-by-frame basis.

-
- -

This structure is used with the GetFrameStatisticsMedia method.

-
- - dn384108 - DXGI_FRAME_STATISTICS_MEDIA - DXGI_FRAME_STATISTICS_MEDIA -
- - -

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

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

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

-
- - dn384108 - LARGE_INTEGER SyncQPCTime - LARGE_INTEGER SyncQPCTime -
- - -

Reserved. Always returns 0.

-
- - dn384108 - LARGE_INTEGER SyncGPUTime - LARGE_INTEGER SyncGPUTime -
- - -

A value indicating the composition presentation mode. This value is used to determine whether the app should continue to use the decode swap chain. See .

-
- - dn384108 - DXGI_FRAME_PRESENTATION_MODE CompositionMode - DXGI_FRAME_PRESENTATION_MODE CompositionMode -
- - -

If the system approves an app's custom present duration request, this field is set to the approved custom present duration.

If the app's custom present duration request is not approved, this field is set to zero.

-
- - dn384108 - unsigned int ApprovedPresentDuration - unsigned int ApprovedPresentDuration -
- - -

Controls the settings of a gamma curve.

-
- -

The structure is used by the method.

For info about using gamma correction, see Using gamma correction.

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

For info about using gamma correction, see Using gamma correction.

-
- - 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 the 10 bit display metadata, and is usually used for video. This is used to adjust the output to best match a display's capabilities.

-
- -

The X and Y coordinates of the parameters mean the xy chromacity coordinate in the CIE1931 color space. The values are normalized to 50000, so to get a value between 0.0 and 1.0, divide by 50000.

This structure is used in conjunction with the SetHDRMetaData method.

-
- - mt732700 - DXGI_HDR_METADATA_HDR10 - DXGI_HDR_METADATA_HDR10 -
- - -

The chromaticity coordinates of the 1.0 red value. Index 0 contains the X coordinate and index 1 contains the Y coordinate.

-
- - mt732700 - unsigned short RedPrimary[2] - unsigned short RedPrimary -
- - -

The chromaticity coordinates of the 1.0 green value. Index 0 contains the X coordinate and index 1 contains the Y coordinate.

-
- - mt732700 - unsigned short GreenPrimary[2] - unsigned short GreenPrimary -
- - -

The chromaticity coordinates of the 1.0 blue value. Index 0 contains the X coordinate and index 1 contains the Y coordinate.

-
- - mt732700 - unsigned short BluePrimary[2] - unsigned short BluePrimary -
- - -

The chromaticity coordinates of the white point. Index 0 contains the X coordinate and index 1 contains the Y coordinate.

-
- - mt732700 - unsigned short WhitePoint[2] - unsigned short WhitePoint -
- - -

The maximum number of nits of the display used to master the content. Units are 0.0001 nit, so if the value is 1 nit, the value should be 10,000.

-
- - mt732700 - unsigned int MaxMasteringLuminance - unsigned int MaxMasteringLuminance -
- - -

The minimum number of nits (in units of 0.00001 nit) of the display used to master the content.

-
- - mt732700 - unsigned int MinMasteringLuminance - unsigned int MinMasteringLuminance -
- - -

The maximum nit value (in units of 0.00001 nit) used anywhere in the content.

-
- - mt732700 - unsigned short MaxContentLightLevel - unsigned short MaxContentLightLevel -
- - -

The per-frame average of the maximum nit values (in units of 0.00001 nit).

-
- - mt732700 - unsigned short MaxFrameAverageLightLevel - unsigned short MaxFrameAverageLightLevel -
- - -

Describes a JPEG AC huffman table.

-
- - dn903662 - DXGI_JPEG_AC_HUFFMAN_TABLE - DXGI_JPEG_AC_HUFFMAN_TABLE -
- - -

The number of codes for each code length.

-
- - dn903662 - unsigned char CodeCounts[16] - unsigned char CodeCounts -
- - -

The Huffman code values, in order of increasing code length.

-
- - dn903662 - unsigned char CodeValues[162] - unsigned char CodeValues -
- - -

Describes a JPEG DC huffman table.

-
- - dn903663 - DXGI_JPEG_DC_HUFFMAN_TABLE - DXGI_JPEG_DC_HUFFMAN_TABLE -
- - -

The number of codes for each code length.

-
- - dn903663 - unsigned char CodeCounts[12] - unsigned char CodeCounts -
- - -

The Huffman code values, in order of increasing code length.

-
- - dn903663 - unsigned char CodeValues[12] - unsigned char CodeValues -
- - -

Describes a JPEG quantization table.

-
- - dn903664 - DXGI_JPEG_QUANTIZATION_TABLE - DXGI_JPEG_QUANTIZATION_TABLE -
- - -

An array of bytes containing the elements of the quantization table.

-
- - dn903664 - unsigned char Elements[64] - unsigned char Elements -
- - -

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.

-
- -

This structure is used by the GetDisplayModeList and FindClosestMatchingMode methods.

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?8 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. - - - - Initializes a new instance of the struct. - - The format. - - - -

Describes a display mode and whether the display mode supports stereo.

-
- -

is identical to except that includes the Stereo member.

This structure is used by the GetDisplayModeList1 and FindClosestMatchingMode1 methods.

-
- - 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. Desktop coordinates depend on the dots per inch (DPI) of the desktop. - For info about writing DPI-aware Win32 apps, see High DPI.

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

Describes an output or physical connection between the adapter (video card) and a device.

-
- -

The structure is initialized by the method.

-
- - bb173068 - DXGI_OUTPUT_DESC1 - DXGI_OUTPUT_DESC1 -
- - -

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. Desktop coordinates depend on the dots per inch (DPI) of the desktop. - For info about writing DPI-aware Win32 apps, see High DPI.

-
- - 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 -
- - - No documentation. - - - bb173068 - unsigned int BitsPerColor - unsigned int BitsPerColor - - - - No documentation. - - - bb173068 - DXGI_COLOR_SPACE_TYPE ColorSpace - DXGI_COLOR_SPACE_TYPE ColorSpace - - - - No documentation. - - - bb173068 - float RedPrimary[2] - float RedPrimary - - - - No documentation. - - - bb173068 - float GreenPrimary[2] - float GreenPrimary - - - - No documentation. - - - bb173068 - float BluePrimary[2] - float BluePrimary - - - - No documentation. - - - bb173068 - float WhitePoint[2] - float WhitePoint - - - - No documentation. - - - bb173068 - float MinLuminance - float MinLuminance - - - - No documentation. - - - bb173068 - float MaxLuminance - float MaxLuminance - - - - No documentation. - - - bb173068 - float MaxFullFrameLuminance - float MaxFullFrameLuminance - - - -

The structure describes the dimension of the output and the surface that contains the desktop image. The format of the desktop image is always .

-
- -

This structure is used by GetDesc.

-
- - hh404510 - DXGI_OUTDUPL_DESC - DXGI_OUTDUPL_DESC -
- - - No documentation. - - - hh404510 - DXGI_MODE_DESC ModeDesc - DXGI_MODE_DESC ModeDesc - - - - No documentation. - - - hh404510 - DXGI_MODE_ROTATION Rotation - DXGI_MODE_ROTATION Rotation - - - - No documentation. - - - hh404510 - BOOL DesktopImageInSystemMemory - BOOL DesktopImageInSystemMemory - - - -

The structure describes the current desktop image.

-
- -

A non-zero LastMouseUpdateTime indicates an update to either a mouse reference position or a mouse reference position and shape. That is, the mouse reference position is always valid for a non-zero LastMouseUpdateTime; however, the application must check the value of the PointerShapeBufferSize member to determine whether the shape was updated too.

If only the reference was updated (that is, the desktop image was not updated), the AccumulatedFrames, TotalMetadataBufferSize, and LastPresentTime members are set to zero.

An AccumulatedFrames value of one indicates that the application completed processing the last frame before a new desktop image was presented. If the AccumulatedFrames value is greater than one, more desktop image updates have occurred while the application processed the last desktop update. In this situation, the operating system accumulated the update regions. For more information about desktop updates, see Desktop Update Data.

A non-zero TotalMetadataBufferSize indicates the total size of the buffers that are required to store all the desktop update metadata. An application cannot determine the size of each type of metadata. The application must call the , , or method to obtain information about each type of metadata.

Note??To correct visual effects, an application must process the move region data before it processes the dirty rectangles.? -
- - hh404512 - DXGI_OUTDUPL_FRAME_INFO - DXGI_OUTDUPL_FRAME_INFO -
- - -

The time stamp of the last update of the desktop image. The operating system calls the QueryPerformanceCounter function to obtain the value. A zero value indicates that the desktop image was not updated since an application last called the method to acquire the next frame of the desktop image.

-
- - hh404512 - LARGE_INTEGER LastPresentTime - LARGE_INTEGER LastPresentTime -
- - -

The time stamp of the last update to the mouse. The operating system calls the QueryPerformanceCounter function to obtain the value. A zero value indicates that the position or shape of the mouse was not updated since an application last called the method to acquire the next frame of the desktop image. The mouse position is always supplied for a mouse update. A new reference shape is indicated by a non-zero value in the PointerShapeBufferSize member.

-
- - hh404512 - LARGE_INTEGER LastMouseUpdateTime - LARGE_INTEGER LastMouseUpdateTime -
- - -

The number of frames that the operating system accumulated in the desktop image surface since the calling application processed the last desktop image. For more information about this number, see Remarks.

-
- - hh404512 - unsigned int AccumulatedFrames - unsigned int AccumulatedFrames -
- - -

Specifies whether the operating system accumulated updates by coalescing dirty regions. Therefore, the dirty regions might contain unmodified pixels. TRUE if dirty regions were accumulated; otherwise, .

-
- - hh404512 - BOOL RectsCoalesced - BOOL RectsCoalesced -
- - -

Specifies whether the desktop image might contain protected content that was already blacked out in the desktop image. TRUE if protected content was already blacked; otherwise, . The application can use this information to notify the remote user that some of the desktop content might be protected and therefore not visible.

-
- - hh404512 - BOOL ProtectedContentMaskedOut - BOOL ProtectedContentMaskedOut -
- - -

A structure that describes the most recent mouse position if the LastMouseUpdateTime member is a non-zero value; otherwise, this value is ignored. This value provides the coordinates of the location where the top-left-hand corner of the reference shape is drawn; this value is not the desktop position of the hot spot.

-
- - hh404512 - DXGI_OUTDUPL_POINTER_POSITION PointerPosition - DXGI_OUTDUPL_POINTER_POSITION PointerPosition -
- - -

Size in bytes of the buffers to store all the desktop update metadata for this frame. For more information about this size, see Remarks.

-
- - hh404512 - unsigned int TotalMetadataBufferSize - unsigned int TotalMetadataBufferSize -
- - -

Size in bytes of the buffer to hold the new pixel data for the mouse shape. For more information about this size, see Remarks.

-
- - hh404512 - unsigned int PointerShapeBufferSize - unsigned int PointerShapeBufferSize -
- - -

The structure describes the movement of a rectangle.

-
- -

This structure is used by GetFrameMoveRects.

-
- - hh404514 - DXGI_OUTDUPL_MOVE_RECT - DXGI_OUTDUPL_MOVE_RECT -
- - -

The starting position of a rectangle.

-
- - hh404514 - POINT SourcePoint - POINT SourcePoint -
- - -

The target region to which to move a rectangle.

-
- - hh404514 - RECT DestinationRect - RECT DestinationRect -
- - -

The structure describes the position of the hardware cursor.

-
- -

The Position member is valid only if the Visible member?s value is set to TRUE.

-
- - hh404516 - DXGI_OUTDUPL_POINTER_POSITION - DXGI_OUTDUPL_POINTER_POSITION -
- - -

The position of the hardware cursor relative to the top-left of the adapter output.

-
- - hh404516 - POINT Position - POINT Position -
- - -

Specifies whether the hardware cursor is visible. TRUE if visible; otherwise, . If the hardware cursor is not visible, the calling application does not display the cursor in the client.

-
- - hh404516 - BOOL Visible - BOOL Visible -
- - -

The structure describes information about the cursor shape.

-
- -

An application draws the cursor shape with the top-left-hand corner drawn at the position that the Position member of the structure specifies; the application does not use the hot spot to draw the cursor shape.

An application calls the method to retrieve cursor shape information in a structure.

-
- - hh404518 - DXGI_OUTDUPL_POINTER_SHAPE_INFO - DXGI_OUTDUPL_POINTER_SHAPE_INFO -
- - -

A -typed value that specifies the type of cursor shape.

-
- - hh404518 - unsigned int Type - unsigned int Type -
- - -

The width in pixels of the mouse cursor.

-
- - hh404518 - unsigned int Width - unsigned int Width -
- - -

The height in scan lines of the mouse cursor.

-
- - hh404518 - unsigned int Height - unsigned int Height -
- - -

The width in bytes of the mouse cursor.

-
- - hh404518 - unsigned int Pitch - unsigned int Pitch -
- - -

The position of the cursor's hot spot relative to its upper-left pixel. An application does not use the hot spot when it determines where to draw the cursor shape.

-
- - hh404518 - POINT HotSpot - POINT HotSpot -
- - -

Describes information about present that helps the operating system optimize presentation.

-
- -

This structure is used by the Present1 method.

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. For more info about these models, see DXGI Flip Model.

For more info about the flip-model swap chain and optimizing presentation, see Enhancing presentation with the flip model, dirty rectangles, and scrolled areas.

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

Describes the current video memory budgeting parameters.

-
- -

Use this structure with QueryVideoMemoryInfo.

Refer to the remarks for .

-
- - dn933220 - DXGI_QUERY_VIDEO_MEMORY_INFO - DXGI_QUERY_VIDEO_MEMORY_INFO -
- - -

Specifies the OS-provided video memory budget, in bytes, that the application should target. If CurrentUsage is greater than Budget, the application may incur stuttering or performance penalties due to background activity by the OS to provide other applications with a fair usage of video memory.

-
- - dn933220 - unsigned longlong Budget - unsigned longlong Budget -
- - -

Specifies the application?s current video memory usage, in bytes.

-
- - dn933220 - unsigned longlong CurrentUsage - unsigned longlong CurrentUsage -
- - -

The amount of video memory, in bytes, that the application has available for reservation. To reserve this video memory, the application should call .

-
- - dn933220 - unsigned longlong AvailableForReservation - unsigned longlong AvailableForReservation -
- - -

The amount of video memory, in bytes, that is reserved by the application. The OS uses the reservation as a hint to determine the application?s minimum working set. Applications should attempt to ensure that their video memory usage can be trimmed to meet this requirement.

-
- - dn933220 - unsigned longlong CurrentReservation - unsigned longlong CurrentReservation -
- - -

Represents a rational number.

-
- -

This structure is a member of the structure.

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.

-
- -

This structure is a member of the structure.

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.

-
- -

This structure is used by the GetDesc and CreateSurface methods.

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

-
- -

This structure is used by the GetDesc and CreateSwapChain methods.

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

Describes a swap chain.

-
- -

This structure is used by the CreateSwapChainForHwnd, CreateSwapChainForCoreWindow, CreateSwapChainForComposition, CreateSwapChainForCompositionSurfaceHandle, and GetDesc1 methods.

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

Describes full-screen mode for a swap chain.

-
- -

This structure is used by the CreateSwapChainForHwnd and GetFullscreenDesc methods.

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

A Boolean value that specifies whether the swap chain is in windowed mode. TRUE if the swap chain is in windowed mode; otherwise, .

-
- - hh404531 - BOOL Windowed - BOOL Windowed -
- - - Internal class used to initialize this assembly. - - - - - Initializes this assembly. - - - This method is called when the assembly is loaded. - - - - - The namespace provides a managed DXGI API. - - hh404534 - DXGI - DXGI - - - - 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/Tractor_VS/Game1/bin/Windows/x86/Debug/SharpDX.Direct2D1.dll b/Tractor_VS/Game1/bin/Windows/x86/Debug/SharpDX.Direct2D1.dll deleted file mode 100644 index 52efbec..0000000 Binary files a/Tractor_VS/Game1/bin/Windows/x86/Debug/SharpDX.Direct2D1.dll and /dev/null differ diff --git a/Tractor_VS/Game1/bin/Windows/x86/Debug/SharpDX.Direct2D1.xml b/Tractor_VS/Game1/bin/Windows/x86/Debug/SharpDX.Direct2D1.xml deleted file mode 100644 index 3cf653e..0000000 --- a/Tractor_VS/Game1/bin/Windows/x86/Debug/SharpDX.Direct2D1.xml +++ /dev/null @@ -1,56520 +0,0 @@ - - - - SharpDX.Direct2D1 - - - - -

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

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 -
- - - The assembly provides managed API for , and . - - ee663274 - Direct2D1 / DirectWrite - Direct2D1 / DirectWrite - - - -

Represents a bitmap that has been bound to an .

-
- - 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 an that points to the bitmap data already stored in the . - - An instance of . - An that contains the data to share with the new . - 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 that points to the bitmap data already stored in the . - - An instance of . - An that contains the data to share with the new . - 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 - - - - Return the dots per inch (DPI) of the bitmap. - - The dots per inch (DPI) of the bitmap. - - - - Initializes a new instance of the 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.

-
- -

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

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.

Starting with Windows?8.1, this method supports block compressed bitmaps. If you are using a block compressed format, the end coordinates of the srcRect parameter must be multiples of 4 or the method returns E_INVALIDARG.

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

Starting with Windows?8.1, this method supports block compressed bitmaps. If you are using a block compressed format, the end coordinates of the srcRect parameter must be multiples of 4 or the method returns E_INVALIDARG.

-
- - dd371155 - HRESULT ID2D1Bitmap::CopyFromMemory([In, Optional] const D2D_RECT_U* dstRect,[In] const void* srcData,[In] unsigned int pitch) - ID2D1Bitmap::CopyFromMemory -
- - -

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

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

Gets the options used in creating the bitmap.

-
- - hh404351 - GetOptions - GetOptions - D2D1_BITMAP_OPTIONS ID2D1Bitmap1::GetOptions() -
- - -

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

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

Gets the options used in creating the bitmap.

-
-

This method returns the options used.

- - hh404351 - D2D1_BITMAP_OPTIONS ID2D1Bitmap1::GetOptions() - ID2D1Bitmap1::GetOptions -
- - -

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

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.

?

- - Note??You can't use bitmaps for some purposes while mapped. Particularly, the method doesn't work if either the source or destination bitmap is mapped.?

The bitmap must have been created with the flag specified.

-
- - hh404357 - HRESULT ID2D1Bitmap1::Map([In] D2D1_MAP_OPTIONS options,[Out] D2D1_MAPPED_RECT* mappedRect) - ID2D1Bitmap1::Map -
- - -

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

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.

-
- - dd371122 - ID2D1BitmapBrush - ID2D1BitmapBrush -
- - - 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. - - - - -

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, Optional] ID2D1Bitmap** bitmap) -
- - -

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, Optional] ID2D1Bitmap** bitmap) - ID2D1BitmapBrush::GetBitmap -
- - -

Paints an area with a bitmap.

-
- - hh871447 - ID2D1BitmapBrush1 - ID2D1BitmapBrush1 -
- - - 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. - - - - -

Returns or sets the current interpolation mode of the brush.

-
- - hh871448 - GetInterpolationMode1 / SetInterpolationMode1 - GetInterpolationMode1 - D2D1_INTERPOLATION_MODE ID2D1BitmapBrush1::GetInterpolationMode1() -
- - -

Sets the interpolation mode for the brush.

-
-

The mode to use.

- - hh871449 - void ID2D1BitmapBrush1::SetInterpolationMode1([In] D2D1_INTERPOLATION_MODE interpolationMode) - ID2D1BitmapBrush1::SetInterpolationMode1 -
- - -

Returns the current interpolation mode of the brush.

-
-

The current interpolation mode.

- - hh871448 - D2D1_INTERPOLATION_MODE ID2D1BitmapBrush1::GetInterpolationMode1() - ID2D1BitmapBrush1::GetInterpolationMode1 -
- - -

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

This structure allows a to be created with bitmap options and color context information available. -

-
- -

If both dpiX and dpiY are 0, the dpi of the bitmap will be set to the desktop dpi if the device context is a windowed context, or 96 dpi for any other device context.

-
- - hh404275 - 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. - - - - Gets or sets the color context. - - - The color context. - - - - - No documentation. - - - hh404275 - D2D1_PIXEL_FORMAT pixelFormat - D2D1_PIXEL_FORMAT pixelFormat - - - - No documentation. - - - hh404275 - float dpiX - float dpiX - - - - No documentation. - - - hh404275 - float dpiY - float dpiY - - - - No documentation. - - - hh404275 - D2D1_BITMAP_OPTIONS bitmapOptions - D2D1_BITMAP_OPTIONS bitmapOptions - - - - No documentation. - - - hh404275 - ID2D1ColorContext* colorContext - ID2D1ColorContext colorContext - - - -

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.

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

-
- -

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

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

Provides methods to allow a blend operation to be inserted into a transform graph.

The image output of the blend transform is the same as rendering an image effect graph with these steps:

  • Copy the first input to the destination image.
  • Render the next input on top using the blend description.
  • Continue for each additional input.
-
- - hh404361 - ID2D1BlendTransform - ID2D1BlendTransform -
- - - 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. - - - - -

Gets or sets the blend description of the corresponding blend transform object.

-
- - hh404363 - GetDescription / SetDescription - GetDescription - void ID2D1BlendTransform::GetDescription([Out] D2D1_BLEND_DESCRIPTION* description) -
- - -

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

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

Extends the input rectangle to infinity using the specified extend 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. - - - - -

Gets or sets the extend mode in the x direction.

-
- - hh404381 - GetExtendModeX / SetExtendModeX - GetExtendModeX - D2D1_EXTEND_MODE ID2D1BorderTransform::GetExtendModeX() -
- - -

Gets or sets the extend mode in the y direction.

-
- - hh404383 - GetExtendModeY / SetExtendModeY - GetExtendModeY - D2D1_EXTEND_MODE ID2D1BorderTransform::GetExtendModeY() -
- - -

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.

-
- - hh404385 - void ID2D1BorderTransform::SetExtendModeX([In] D2D1_EXTEND_MODE extendMode) - ID2D1BorderTransform::SetExtendModeX -
- - -

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.

-
- - hh404387 - void ID2D1BorderTransform::SetExtendModeY([In] D2D1_EXTEND_MODE extendMode) - ID2D1BorderTransform::SetExtendModeY -
- - -

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

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

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. The expanded area will be treated as transparent black.

    This can increase efficiency for rendering bitmaps.

  • To increase the size of the input image.

?

?

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

This sets the output bounds for the support transform.

-
-

The output bounds.

- - hh847965 - void ID2D1BoundsAdjustmentTransform::SetOutputBounds([In] const RECT* outputBounds) - ID2D1BoundsAdjustmentTransform::SetOutputBounds -
- - -

Returns the output rectangle of the support transform.

-
-

The output bounds.

- - hh847964 - void ID2D1BoundsAdjustmentTransform::GetOutputBounds([Out] RECT* outputBounds) - ID2D1BoundsAdjustmentTransform::GetOutputBounds -
- - -

Represents a color context that can be used with an object.

-
- - hh404388 - ID2D1ColorContext - ID2D1ColorContext -
- - - Initializes a new instance of class from a color profile. - - The effect context. - The space of color context to create. - 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. - - The effect context. - The path to the file containing the profile bytes to initialize the color context with.. - 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) - - - - Gets the profile data. - - - - - Initializes a new instance of the 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 color space of the color context.

-
- - dn890780 - GetColorSpace - GetColorSpace - D2D1_COLOR_SPACE ID2D1ColorContext::GetColorSpace() -
- - -

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

Gets the color space of the color context.

-
-

This method returns the color space of the contained ICC profile.

- - dn890780 - D2D1_COLOR_SPACE ID2D1ColorContext::GetColorSpace() - ID2D1ColorContext::GetColorSpace -
- - -

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

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

This interface performs all the same functions as the interface, plus it enables functionality such as ink rendering, gradient mesh rendering, and improved image loading.

-
- - dn890789 - ID2D1ColorContext1 - ID2D1ColorContext1 -
- - - Initializes a new instance of class from ColorSpaceType. - - No documentation. - No documentation. - HRESULT ID2D1DeviceContext5::CreateColorContextFromDxgiColorSpace([In] DXGI_COLOR_SPACE_TYPE colorSpace,[Out, Fast] ID2D1ColorContext1** colorContext) - - - - Initializes a new instance of class from SimpleColorProfile. - - No documentation. - No documentation. - HRESULT ID2D1DeviceContext5::CreateColorContextFromDxgiColorSpace([In] DXGI_COLOR_SPACE_TYPE colorSpace,[Out, Fast] ID2D1ColorContext1** colorContext) - - - - Initializes a new instance of class from ColorSpaceType. - - No documentation. - No documentation. - HRESULT ID2D1DeviceContext5::CreateColorContextFromDxgiColorSpace([In] DXGI_COLOR_SPACE_TYPE colorSpace,[Out, Fast] ID2D1ColorContext1** colorContext) - - - - Initializes a new instance of class from SimpleColorProfile. - - No documentation. - No documentation. - HRESULT ID2D1DeviceContext5::CreateColorContextFromDxgiColorSpace([In] DXGI_COLOR_SPACE_TYPE colorSpace,[Out, Fast] ID2D1ColorContext1** 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. - - - - -

Represents a color context to be used with the Color Management Effect.

-
- - mt797797 - GetColorContextType - GetColorContextType - D2D1_COLOR_CONTEXT_TYPE ID2D1ColorContext1::GetColorContextType() -
- - - No documentation. - - - GetDXGIColorSpace - GetDXGIColorSpace - DXGI_COLOR_SPACE_TYPE ID2D1ColorContext1::GetDXGIColorSpace() - - - - No documentation. - - - GetSimpleColorProfile - GetSimpleColorProfile - HRESULT ID2D1ColorContext1::GetSimpleColorProfile([Out] D2D1_SIMPLE_COLOR_PROFILE* simpleProfile) - - - -

Represents a color context to be used with the Color Management Effect.

-
- No documentation. - - mt797797 - D2D1_COLOR_CONTEXT_TYPE ID2D1ColorContext1::GetColorContextType() - ID2D1ColorContext1::GetColorContextType -
- - - No documentation. - - No documentation. - - DXGI_COLOR_SPACE_TYPE ID2D1ColorContext1::GetDXGIColorSpace() - ID2D1ColorContext1::GetDXGIColorSpace - - - - No documentation. - - No documentation. - No documentation. - - HRESULT ID2D1ColorContext1::GetSimpleColorProfile([Out] D2D1_SIMPLE_COLOR_PROFILE* simpleProfile) - ID2D1ColorContext1::GetSimpleColorProfile - - - -

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.

?

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

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.

The return value indicates any failures the command sink implementation returns through its EndDraw method.

- -

The command sink can be implemented by any caller of the API.

If the caller makes any design-time failure calls while a command list is selected as a target, the command list is placed in an error state. The stream call fails without making any calls to the passed in sink.

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

Instructs the command list to stop accepting commands so that you can use it as an input to an effect or in a call to . You should call the method after it has been attached to an and written to but before the command list is used.

-
-

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
Close has already been called on the command list.

?

Note??If the device context associated with the command list has an error, the command list returns the same error.?
- -

This method returns if it has already been called on the command list. If an error occurred on the device context during population, the method returns that error. Otherwise, the method returns .

If the Close method returns an error, any future use of the command list results in the same error.

-
- - hh871450 - HRESULT ID2D1CommandList::Close() - ID2D1CommandList::Close -
- - -

The command sink is implemented by you for an application when you want to receive a playback of the commands recorded in a command list. A typical usage will be for transforming the command list into another format such as XPS when some degree of conversion between the Direct2D primitives and the target format is required.

The command sink interface doesn't have any resource creation methods on it. The resources are still logically bound to the Direct2D device on which the command list was created and will be passed in to the command sink implementation.

-
- -

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 the antialias mode. - - HRESULT ID2D1CommandSink::SetAntialiasMode([In] D2D1_ANTIALIAS_MODE antialiasMode) - - - - Sets tags. - - HRESULT ID2D1CommandSink::SetTags([In] unsigned longlong tag1,[In] unsigned longlong tag2) - - - - 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) - - - - [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() - - - -

This interface performs all the same functions as the existing interface. It also enables access to the new primitive blend modes, MIN and ADD, through its SetPrimitiveBlend1 method.

-
- - dn280436 - ID2D1CommandSink1 - ID2D1CommandSink1 -
- - -

Enables access to the new primitive blend modes, MIN and ADD.

-
- No documentation. - No documentation. - - dn280436 - HRESULT ID2D1CommandSink1::SetPrimitiveBlend1([In] D2D1_PRIMITIVE_BLEND primitiveBlend) - ID2D1CommandSink1::SetPrimitiveBlend1 -
- - -

This interface performs all the same functions as the existing interface. It also enables access to the new primitive blend modes, MIN and ADD, through its SetPrimitiveBlend1 method.

-
- - dn280436 - ID2D1CommandSink1 - ID2D1CommandSink1 -
- - -

Enables access to the new primitive blend modes, MIN and ADD.

-
- No documentation. - No documentation. - - dn280436 - HRESULT ID2D1CommandSink1::SetPrimitiveBlend1([In] D2D1_PRIMITIVE_BLEND primitiveBlend) - ID2D1CommandSink1::SetPrimitiveBlend1 -
- - - Initializes a new instance of the 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 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.

- - dn280438 - HRESULT ID2D1CommandSink1::SetPrimitiveBlend1([In] D2D1_PRIMITIVE_BLEND primitiveBlend) - ID2D1CommandSink1::SetPrimitiveBlend1 -
- - - Return a pointer to the unmanaged version of this callback. - - The callback. - A pointer to a shadow c++ callback - - - - Sets the blending for primitives. - - HRESULT ID2D1CommandSink1::SetPrimitiveBlend1([In] D2D1_PRIMITIVE_BLEND primitiveBlend) - - - -

This interface performs all the same functions as the existing interface. It also enables access to ink rendering and gradient mesh rendering.

-
- - dn890781 - ID2D1CommandSink2 - ID2D1CommandSink2 -
- - - No documentation for Direct3D12 - - No documentation. - No documentation. - No documentation. - No documentation. - - HRESULT ID2D1CommandSink2::DrawInk([In] ID2D1Ink* ink,[In] ID2D1Brush* brush,[In, Optional] ID2D1InkStyle* inkStyle) - ID2D1CommandSink2::DrawInk - - - - No documentation for Direct3D12 - - No documentation. - No documentation. - - HRESULT ID2D1CommandSink2::DrawGradientMesh([In] ID2D1GradientMesh* gradientMesh) - ID2D1CommandSink2::DrawGradientMesh - - - - No documentation for Direct3D12 - - No documentation. - No documentation. - No documentation. - No documentation. - - HRESULT ID2D1CommandSink2::DrawGdiMetafile([In] ID2D1GdiMetafile* gdiMetafile,[In, Optional] const D2D_RECT_F* destinationRectangle,[In, Optional] const D2D_RECT_F* sourceRectangle) - ID2D1CommandSink2::DrawGdiMetafile - - - -

This interface performs all the same functions as the existing interface. It also enables access to ink rendering and gradient mesh rendering.

-
- - dn890781 - ID2D1CommandSink2 - ID2D1CommandSink2 -
- - - No documentation for Direct3D12 - - No documentation. - No documentation. - No documentation. - No documentation. - - HRESULT ID2D1CommandSink2::DrawInk([In] ID2D1Ink* ink,[In] ID2D1Brush* brush,[In, Optional] ID2D1InkStyle* inkStyle) - ID2D1CommandSink2::DrawInk - - - - No documentation for Direct3D12 - - No documentation. - No documentation. - - HRESULT ID2D1CommandSink2::DrawGradientMesh([In] ID2D1GradientMesh* gradientMesh) - ID2D1CommandSink2::DrawGradientMesh - - - - No documentation for Direct3D12 - - No documentation. - No documentation. - No documentation. - No documentation. - - HRESULT ID2D1CommandSink2::DrawGdiMetafile([In] ID2D1GdiMetafile* gdiMetafile,[In, Optional] const D2D_RECT_F* destinationRectangle,[In, Optional] const D2D_RECT_F* sourceRectangle) - ID2D1CommandSink2::DrawGdiMetafile - - - - Initializes a new instance of the class. - - The native pointer. - - - - Performs an explicit conversion from to . (This method is a shortcut to ) - - The native pointer. - - The result of the conversion. - - - - -

Renders the given ink object using the given brush and ink style.

-
-

The ink object to be rendered.

-

The brush with which to render the ink object.

-

The ink style to use when rendering the ink object.

-

This method does not return a value.

- - dn890784 - HRESULT ID2D1CommandSink2::DrawInk([In] ID2D1Ink* ink,[In] ID2D1Brush* brush,[In, Optional] ID2D1InkStyle* inkStyle) - ID2D1CommandSink2::DrawInk -
- - -

Renders a given gradient mesh to the target.

-
-

The gradient mesh to be rendered.

-

This method does not return a value.

- - dn890783 - HRESULT ID2D1CommandSink2::DrawGradientMesh([In] ID2D1GradientMesh* gradientMesh) - ID2D1CommandSink2::DrawGradientMesh -
- - -

Draws a metafile to the command sink using the given source and destination rectangles.

-
-

The metafile to draw.

-

The rectangle in the target where the metafile will be drawn, relative to the upper left corner (defined in DIPs). If null is specified, the destination rectangle is the size of the target.

-

The rectangle of the source metafile that will be drawn, relative to the upper left corner (defined in DIPs). If null is specified, the source rectangle is the value returned by .

-

This method does not return a value.

- - dn890782 - HRESULT ID2D1CommandSink2::DrawGdiMetafile([In] ID2D1GdiMetafile* gdiMetafile,[In, Optional] const D2D_RECT_F* destinationRectangle,[In, Optional] const D2D_RECT_F* sourceRectangle) - ID2D1CommandSink2::DrawGdiMetafile -
- - -

This interface performs all the same functions as the existing interface. It also enables access to sprite batch rendering.

-
- - mt619822 - ID2D1CommandSink3 - ID2D1CommandSink3 -
- - -

Renders part or all of the given sprite batch to the device context using the specified drawing options.

-
-

The sprite batch to draw.

-

The index of the first sprite in the sprite batch to draw.

-

The number of sprites to draw.

-

The bitmap from which the sprites are to be sourced. Each sprite?s source rectangle refers to a portion of this bitmap.

-

The interpolation mode to use when drawing this sprite batch. This determines how Direct2D interpolates pixels within the drawn sprites if scaling is performed.

-

The additional drawing options, if any, to be used for this sprite batch.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - mt619823 - HRESULT ID2D1CommandSink3::DrawSpriteBatch([In] ID2D1SpriteBatch* spriteBatch,[In] unsigned int startIndex,[In] unsigned int spriteCount,[In] ID2D1Bitmap* bitmap,[In] D2D1_BITMAP_INTERPOLATION_MODE interpolationMode,[In] D2D1_SPRITE_OPTIONS spriteOptions) - ID2D1CommandSink3::DrawSpriteBatch -
- - -

This interface performs all the same functions as the existing interface. It also enables access to sprite batch rendering.

-
- - mt619822 - ID2D1CommandSink3 - ID2D1CommandSink3 -
- - -

Renders part or all of the given sprite batch to the device context using the specified drawing options.

-
-

The sprite batch to draw.

-

The index of the first sprite in the sprite batch to draw.

-

The number of sprites to draw.

-

The bitmap from which the sprites are to be sourced. Each sprite?s source rectangle refers to a portion of this bitmap.

-

The interpolation mode to use when drawing this sprite batch. This determines how Direct2D interpolates pixels within the drawn sprites if scaling is performed.

-

The additional drawing options, if any, to be used for this sprite batch.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - mt619823 - HRESULT ID2D1CommandSink3::DrawSpriteBatch([In] ID2D1SpriteBatch* spriteBatch,[In] unsigned int startIndex,[In] unsigned int spriteCount,[In] ID2D1Bitmap* bitmap,[In] D2D1_BITMAP_INTERPOLATION_MODE interpolationMode,[In] D2D1_SPRITE_OPTIONS spriteOptions) - ID2D1CommandSink3::DrawSpriteBatch -
- - - Initializes a new instance of the class. - - The native pointer. - - - - Performs an explicit conversion from to . (This method is a shortcut to ) - - The native pointer. - - The result of the conversion. - - - - -

Renders part or all of the given sprite batch to the device context using the specified drawing options.

-
-

The sprite batch to draw.

-

The index of the first sprite in the sprite batch to draw.

-

The number of sprites to draw.

-

The bitmap from which the sprites are to be sourced. Each sprite?s source rectangle refers to a portion of this bitmap.

-

The interpolation mode to use when drawing this sprite batch. This determines how Direct2D interpolates pixels within the drawn sprites if scaling is performed.

-

The additional drawing options, if any, to be used for this sprite batch.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - mt619823 - HRESULT ID2D1CommandSink3::DrawSpriteBatch([In] ID2D1SpriteBatch* spriteBatch,[In] unsigned int startIndex,[In] unsigned int spriteCount,[In] ID2D1Bitmap* bitmap,[In] D2D1_BITMAP_INTERPOLATION_MODE interpolationMode,[In] D2D1_SPRITE_OPTIONS spriteOptions) - ID2D1CommandSink3::DrawSpriteBatch -
- - -

This interface performs all the same functions as the existing interface. It also enables access to the new primitive blend mode, MAX, through the SetPrimitiveBlend2 method.

-
- - mt797801 - ID2D1CommandSink4 - ID2D1CommandSink4 -
- - -

Sets a new primitive blend mode. Allows access to the MAX primitive blend mode.

-
- The primitive blend that will apply to subsequent primitives. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- - mt797802 - HRESULT ID2D1CommandSink4::SetPrimitiveBlend2([In] D2D1_PRIMITIVE_BLEND primitiveBlend) - ID2D1CommandSink4::SetPrimitiveBlend2 -
- - -

This interface performs all the same functions as the existing interface. It also enables access to the new primitive blend mode, MAX, through the SetPrimitiveBlend2 method.

-
- - mt797801 - ID2D1CommandSink4 - ID2D1CommandSink4 -
- - -

Sets a new primitive blend mode. Allows access to the MAX primitive blend mode.

-
- The primitive blend that will apply to subsequent primitives. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- - mt797802 - HRESULT ID2D1CommandSink4::SetPrimitiveBlend2([In] D2D1_PRIMITIVE_BLEND primitiveBlend) - ID2D1CommandSink4::SetPrimitiveBlend2 -
- - - Initializes a new instance of the 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 ID2D1CommandSink4::SetPrimitiveBlend2([In] D2D1_PRIMITIVE_BLEND primitiveBlend) - ID2D1CommandSink4::SetPrimitiveBlend2 - - - -

The command sink is implemented by you for an application when you want to receive a playback of the commands recorded in a command list. A typical usage will be for transforming the command list into another format such as XPS when some degree of conversion between the Direct2D primitives and the target format is required.

The command sink interface doesn't have any resource creation methods on it. The resources are still logically bound to the Direct2D device on which the command list was created and will be passed in to the command sink implementation.

-
- -

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::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) - - - HRESULT ID2D1CommandSink::SetPrimitiveBlend([In] D2D1_PRIMITIVE_BLEND primitiveBlend) - - - 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) - - - 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. - - - - -

Notifies the implementation of the command sink that drawing is about to commence.

-
-

This method always returns .

- - hh404395 - HRESULT ID2D1CommandSink::BeginDraw() - ID2D1CommandSink::BeginDraw -
- - -

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.

It allows the calling function or method to indicate a failure back to the stream implementation.

-
- - hh404409 - HRESULT ID2D1CommandSink::EndDraw() - ID2D1CommandSink::EndDraw -
- - -

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

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

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

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

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

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

The unit mode changes the meaning of subsequent units from device-independent pixels (DIPs) to pixels or the other way. The command sink does not record a DPI, this is implied by the playback context or other playback interface such as .

-
- No documentation. -

If the method succeeds, it returns . If it fails, it returns an error code.

- -

The unit mode changes the interpretation of units from DIPs to pixels or vice versa.

-
- - hh404426 - HRESULT ID2D1CommandSink::SetUnitMode([In] D2D1_UNIT_MODE unitMode) - ID2D1CommandSink::SetUnitMode -
- - -

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

Indicates the glyphs to be drawn.

-
-

The upper left corner of the baseline.

-

The glyphs to render.

-

Additional non-rendering information about the glyphs.

-

The brush used to fill the glyphs.

-

The measuring mode to apply to the glyphs.

-

If the method succeeds, it returns . If it fails, it returns an error code.

- -

DrawText and DrawTextLayout are broken down into glyph runs and rectangles by the time the command sink is processed. So, these methods aren't available on the command sink. Since the application may require additional callback processing when calling DrawTextLayout, this semantic can't be easily preserved in the command list.

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

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.

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

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 .

- -

Ellipses and rounded rectangles are converted to the corresponding ellipse and rounded rectangle geometries before calling into the DrawGeometry method. -

-
- - hh404399 - HRESULT ID2D1CommandSink::DrawGeometry([In] ID2D1Geometry* geometry,[In] ID2D1Brush* brush,[In] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) - ID2D1CommandSink::DrawGeometry -
- - -

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

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.

- -

The destinationRectangle parameter defines the rectangle in the target where the bitmap will appear (in device-independent pixels (DIPs)). This is affected by the currently set transform and the perspective transform, if set. If you specify null, then the destination rectangle is (left=0, top=0, right = width(sourceRectangle), bottom = height(sourceRectangle).

The sourceRectangle defines the sub-rectangle of the source bitmap (in DIPs). DrawBitmap clips this rectangle to the size of the source bitmap, so it's impossible to sample outside of the bitmap. If you specify null, then the source rectangle is taken to be the size of the source bitmap.

The perspectiveTransform is specified in addition to the transform on device context. -

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

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.

-

The interpolation mode to use to scale the image if necessary.

-

If specified, the composite mode that will be applied to the limits of the currently selected clip.

-

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

Draw a metafile to the device context.

-
-

The metafile to draw.

-

The offset from the upper left corner of the render target.

-

This method does not return a value.

- -

The targetOffset defines the offset in the destination space that the image will be rendered to. The entire logical extent of the image is rendered to the corresponding destination. If you don't specify the offset, 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. -

-
- - hh847973 - HRESULT ID2D1CommandSink::DrawGdiMetafile([In] ID2D1GdiMetafile* gdiMetafile,[In, Optional] const D2D_POINT_2F* targetOffset) - ID2D1CommandSink::DrawGdiMetafile -
- - -

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

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

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

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

Pushes a clipping rectangle onto the clip and layer stack.

-
-

The rectangle that defines the clip.

-

The antialias mode for the clip.

-

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

Pushes a layer onto the clip and layer stack.

-
-

The parameters that define the layer.

-

The layer resource that receives subsequent drawing operations.

-

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

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

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 -
- - - 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() - - - 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.] - - HRESULT ID2D1CommandSink::PopAxisAlignedClip() - - - - No documentation. - - HRESULT ID2D1CommandSink::PopLayer() - - - -

Enables specification of information for a compute-shader rendering pass.

-
- -

The transform changes the state on this render information to specify the compute shader and its dependent resources.

-
- - hh847966 - ID2D1ComputeInfo - ID2D1ComputeInfo -
- - - 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. - - - - - -

Establishes or changes the constant buffer data for this transform.

-
-

The data applied to the constant buffer.

-

The number of bytes of data in the constant buffer.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh847968 - HRESULT ID2D1ComputeInfo::SetComputeShaderConstantBuffer([In, Buffer] const void* buffer,[In] unsigned int bufferCount) - ID2D1ComputeInfo::SetComputeShaderConstantBuffer -
- - -

Sets the compute shader to the given shader resource. The resource must be loaded before this call is made.

-
-

The of the shader.

-

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.

?

- - hh847967 - HRESULT ID2D1ComputeInfo::SetComputeShader([In] const GUID& shaderId) - ID2D1ComputeInfo::SetComputeShader -
- - -

Sets the resource texture corresponding to the given shader texture index to the given texture resource. The texture resource must already have been loaded with method. This call will fail if the specified index overlaps with any input. The input indices always precede the texture LUT indices. -

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

?

- - hh847969 - HRESULT ID2D1ComputeInfo::SetResourceTexture([In] unsigned int textureIndex,[In] ID2D1ResourceTexture* resourceTexture) - ID2D1ComputeInfo::SetResourceTexture -
- - -

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.

-
- -

If this call fails, the corresponding instance is placed into an error state and fails to draw.

-
- - hh404437 - ID2D1ComputeTransform - ID2D1ComputeTransform -
- - - 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. - 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 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.

-
- -

If this call fails, the corresponding instance is placed into an error state and fails to draw.

-
- - hh404437 - ID2D1ComputeTransform - ID2D1ComputeTransform -
- - - - - - - - - Initializes a new instance of the 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 render information used to specify the compute shader pass.

-
-

The render information object to set.

-

If the method succeeds, it returns . If it fails, it returns an error code.

- -

If this method fails, fails.

-
- - hh404450 - HRESULT ID2D1ComputeTransform::SetComputeInfo([In] ID2D1ComputeInfo* computeInfo) - ID2D1ComputeTransform::SetComputeInfo -
- - -

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 - - - - - 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) - - - - Custom Effect interface. Equivalent of C++ ID2D1EffectImpl. - - ID2D1EffectImpl - -

Allows a custom effect's interface and behavior to be specified by the effect author.

-
- -

This interface is created by the effect author from a static factory registered through the ID2D1Factory::RegisterEffect method.

-
- - 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) - - - - 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. - - - - - - - - - - - - - - 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) - - - - Input attribute for description. - - - - - Initializes a new instance of attribute. - - - - - - Gets the Input name. - - - - -

Allows a custom effect's interface and behavior to be specified by the effect author.

-
- -

This interface is created by the effect author from a static factory registered through the ID2D1Factory::RegisterEffect method.

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

The effect can use this method to do one time initialization tasks. If this method is not needed, the method can just return .

-
-

An internal context interface that creates and returns effect author?centric types.

-

The effect can populate the transform graph with a topology and can update it later.

-

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

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

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:

  • When the effect is first initialized.
  • If the number of inputs to the effect changes.
-
-

The graph to which the effect describes its transform topology through the SetDescription call.

-

An error that prevents the effect from being initialized if called as part of the CreateEffect call. If the effect fails a subsequent SetGraph call:

  • The error will be returned from the property method that caused the number of inputs to the effect to change.
  • The effect object will be placed into an error state, if subsequently used to render, the context will be placed into a temporary error state, that particular effect will fail to render and the failure will be returned on the next EndDraw or Flush call.
- - hh871459 - 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) - - - -

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

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

An array of input assembler stage data types.

-
- - hh404301 - const D2D1_INPUT_ELEMENT_DESC* inputElements - D2D1_INPUT_ELEMENT_DESC inputElements -
- - -

The number of input elements in the vertex shader.

-
- - hh404301 - unsigned int elementCount - unsigned int elementCount -
- - -

The vertex stride.

-
- - hh404301 - unsigned int stride - unsigned int stride -
- - - Functions - - - - - - The default tolerance for geometric flattening operations. - http://msdn.microsoft.com/en-us/library/windows/desktop/dd370975%28v=vs.85%29.aspx - - - - - The default DPI value. - - - - - Computes the appropriate flattening tolerance to pass to APIs that take a flattening tolerance (for instance, ). - - The matrix that will be applied subsequently to the geometry being flattened. - The horizontal DPI of the render target that the geometry will be rendered onto (a choice of 96 implies no DPI correction). - The vertical DPI of the render target that the geometry will be rendered onto (a choice of 96 implies no DPI correction). - The maximum amount of additional scaling (on top of any scaling implied by the matrix or the DPI) that will be applied to the geometry. - The flattening tolerance. - - - -

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

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

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

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.

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

Converts the given color from one colorspace to another.

-
-

The source color space.

-

The destination color space.

-

The source color.

-

The converted color.

- - hh847939 - D2D_COLOR_F D2D1ConvertColorSpace([In] D2D1_COLOR_SPACE sourceColorSpace,[In] D2D1_COLOR_SPACE destinationColorSpace,[In] const D2D_COLOR_F* color) - D2D1ConvertColorSpace -
- - -

Returns the sine and cosine of an angle.

-
-

The angle to calculate.

-

The sine of the angle.

-

The cosine of the angle.

- - hh847940 - void D2D1SinCos([In] float angle,[Out] float* s,[Out] float* c) - D2D1SinCos -
- - -

Returns the tangent of an angle.

-
-

The angle to calculate the tangent for.

-

The tangent of the angle.

- - hh847941 - float D2D1Tan([In] float angle) - D2D1Tan -
- - -

Returns the length of a 3 dimensional vector.

-
-

The x value of the vector.

-

The y value of the vector.

-

The z value of the vector.

-

The length of the vector.

- - hh847942 - float D2D1Vec3Length([In] float x,[In] float y,[In] float z) - D2D1Vec3Length -
- - -

Computes the maximum factor by which a given transform can stretch any vector.

-
-

The input transform matrix.

-

The scale factor.

- -

Formally, if M is the input matrix, this method will return the maximum value of |V * M| / |V| for all vectors V, where |.| denotes length.

Note??Since this describes how M affects vectors (rather than points), the translation components (_31 and _32) of M are ignored.? -
- - dn280381 - float D2D1ComputeMaximumScaleFactor([In] const D2D_MATRIX_3X2_F* matrix) - D2D1ComputeMaximumScaleFactor -
- - -

Returns the interior points for a gradient mesh patch based on the points defining a Coons patch.

Note??

This function is called by the GradientMeshPatchFromCoonsPatch function and is not intended to be used directly.

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

This function is called by the GradientMeshPatchFromCoonsPatch function and is not intended to be used directly.

-
- - mt149083 - void D2D1GetGradientMeshInteriorPointsFromCoonsPatch([In] const D2D_POINT_2F* pPoint0,[In] const D2D_POINT_2F* pPoint1,[In] const D2D_POINT_2F* pPoint2,[In] const D2D_POINT_2F* pPoint3,[In] const D2D_POINT_2F* pPoint4,[In] const D2D_POINT_2F* pPoint5,[In] const D2D_POINT_2F* pPoint6,[In] const D2D_POINT_2F* pPoint7,[In] const D2D_POINT_2F* pPoint8,[In] const D2D_POINT_2F* pPoint9,[In] const D2D_POINT_2F* pPoint10,[In] const D2D_POINT_2F* pPoint11,[Out] D2D_POINT_2F* pTensorPoint11,[Out] D2D_POINT_2F* pTensorPoint12,[Out] D2D_POINT_2F* pTensorPoint21,[Out] D2D_POINT_2F* pTensorPoint22) - D2D1GetGradientMeshInteriorPointsFromCoonsPatch -
- - -

Represents a resource domain whose objects and device contexts can be used together.

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

Sets the maximum amount of texture memory Direct2D accumulates before it purges the image caches and cached texture allocations.

-
- - hh847984 - GetMaximumTextureMemory / SetMaximumTextureMemory - GetMaximumTextureMemory - unsigned longlong ID2D1Device::GetMaximumTextureMemory() -
- - -

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

Creates an object that converts Direct2D primitives stored in into a fixed page representation. The print sub-system then consumes the primitives.

-
- 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_FAILGeneric failure code.
The print format is not supported by the document target.

?

- - Note??This is a blocking or synchronous function and might not return immediately. How quickly this function returns depends on run-time factors such as network status, print server configuration, and printer driver implementation?factors that are difficult to predict when writing an application. Calling this function from a thread that manages interaction with the user interface could make the application appear to be unresponsive.? - - - hh404550 - HRESULT ID2D1Device::CreatePrintControl([In] IWICImagingFactory* wicFactory,[In] IPrintDocumentPackageTarget* documentTarget,[In, Optional] const D2D1_PRINT_CONTROL_PROPERTIES* printControlProperties,[Out, Fast] ID2D1PrintControl** printControl) - ID2D1Device::CreatePrintControl -
- - -

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

Sets the maximum amount of texture memory Direct2D accumulates before it purges the image caches and cached texture allocations.

-
-

The maximum amount of texture memory in bytes.

- - hh847984 - unsigned longlong ID2D1Device::GetMaximumTextureMemory() - ID2D1Device::GetMaximumTextureMemory -
- - -

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

Represents a resource domain whose objects and device contexts can be used together. This interface performs all the same functions as the existing interface. It also enables control of the device's rendering priority.

-
- - dn280458 - ID2D1Device1 - ID2D1Device1 -
- - - 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 ID2D1Factory2::CreateDevice([In] IDXGIDevice* dxgiDevice,[Out] ID2D1Device1** d2dDevice1) - - - - Initializes a new instance of the 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 or sets the current rendering priority of the device.

-
- - dn280459 - GetRenderingPriority / SetRenderingPriority - GetRenderingPriority - D2D1_RENDERING_PRIORITY ID2D1Device1::GetRenderingPriority() -
- - -

Retrieves the current rendering priority of the device.

-
-

The current rendering priority of the device.

- - dn280459 - D2D1_RENDERING_PRIORITY ID2D1Device1::GetRenderingPriority() - ID2D1Device1::GetRenderingPriority -
- - -

Sets the priority of Direct2D rendering operations performed on any device context associated with the device.

-
-

The desired rendering priority for the device and associated contexts.

- -

Calling this method affects the rendering priority of all device contexts associated with the device. This method can be called at any time, but is not guaranteed to take effect until the beginning of the next frame. The recommended usage is to call this method outside of BeginDraw and EndDraw blocks. Cycling this property frequently within drawing blocks will effectively reduce the benefits of any throttling that is applied.

-
- - dn280460 - void ID2D1Device1::SetRenderingPriority([In] D2D1_RENDERING_PRIORITY renderingPriority) - ID2D1Device1::SetRenderingPriority -
- - -

Represents a resource domain whose objects and device contexts can be used together. This interface performs all the same functions as the existing interface. It also enables control of the device's rendering priority.

-
- No documentation. - No documentation. - No documentation. - - dn280458 - HRESULT ID2D1Device1::CreateDeviceContext([In] D2D1_DEVICE_CONTEXT_OPTIONS options,[Out, Fast] ID2D1DeviceContext1** deviceContext1) - ID2D1Device1::CreateDeviceContext -
- - -

Represents a resource domain whose objects and device contexts can be used together. This interface performs all the same functions as the existing interface. It also enables the creation of objects.

-
- - dn890786 - ID2D1Device2 - ID2D1Device2 -
- - - 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 ID2D1Factory3::CreateDevice([In] IDXGIDevice* dxgiDevice,[Out] ID2D1Device2** d2dDevice2) - - - - Initializes a new instance of the 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 DXGI device associated with this Direct2D device.

-
- - dn917489 - GetDxgiDevice - GetDxgiDevice - HRESULT ID2D1Device2::GetDxgiDevice([Out] IDXGIDevice** dxgiDevice) -
- - -

Creates a new from a Direct2D device.

-
- No documentation. - No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn890787 - HRESULT ID2D1Device2::CreateDeviceContext([In] D2D1_DEVICE_CONTEXT_OPTIONS options,[Out, Fast] ID2D1DeviceContext2** deviceContext2) - ID2D1Device2::CreateDeviceContext -
- - -

Flush all device contexts that reference a given bitmap.

-
-

The bitmap, created on this device, for which all referencing device contexts will be flushed.

- - dn890788 - void ID2D1Device2::FlushDeviceContexts([In] ID2D1Bitmap* bitmap) - ID2D1Device2::FlushDeviceContexts -
- - -

Returns the DXGI device associated with this Direct2D device.

-
-

The DXGI device associated with this Direct2D device.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn917489 - HRESULT ID2D1Device2::GetDxgiDevice([Out] IDXGIDevice** dxgiDevice) - ID2D1Device2::GetDxgiDevice -
- - -

Represents a resource domain whose objects and device contexts can be used together. This interface performs all the same functions as the interface. It also enables the creation of objects.

-
- - mt619824 - ID2D1Device3 - ID2D1Device3 -
- - - 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 ID2D1Factory3::CreateDevice([In] IDXGIDevice* dxgiDevice,[Out] ID2D1Device2** d2dDevice2) - - - - Initializes a new instance of the 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 from this Direct2D device.

-
- No documentation. - No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- - mt619825 - HRESULT ID2D1Device3::CreateDeviceContext([In] D2D1_DEVICE_CONTEXT_OPTIONS options,[Out, Fast] ID2D1DeviceContext3** deviceContext3) - ID2D1Device3::CreateDeviceContext -
- - -

Represents a resource domain whose objects and device contexts can be used together. This interface performs all the same functions as the interface. It also enables the creation of objects.

-
- - mt736464 - ID2D1Device4 - ID2D1Device4 -
- - - 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 ID2D1Factory5::CreateDevice([In] IDXGIDevice* dxgiDevice,[Out] ID2D1Device5** d2dDevice4) - - - - Initializes a new instance of the 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 or sets the maximum capacity of the color glyph cache.

-
- - mt736466 - GetMaximumColorGlyphCacheMemory / SetMaximumColorGlyphCacheMemory - GetMaximumColorGlyphCacheMemory - unsigned longlong ID2D1Device4::GetMaximumColorGlyphCacheMemory() -
- - -

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 ID2D1Device4::CreateDeviceContext([In] D2D1_DEVICE_CONTEXT_OPTIONS options,[Out, Fast] ID2D1DeviceContext4** deviceContext4) - ID2D1Device4::CreateDeviceContext -
- - -

Sets the maximum capacity of the color glyph cache.

-
-

The maximum capacity of the color glyph cache.

- -

The color glyph cache is used to store color bitmap glyphs and SVG glyphs, enabling faster performance if the same glyphs are needed again. The capacity determines the amount of memory that D2D may use to store glyphs that the application does not already reference. If the application references a glyph using GetColorBitmapGlyphImage or GetSvgGlyphImage, after it has been evicted, this glyph does not count toward the cache capacity.

-
- - mt736467 - void ID2D1Device4::SetMaximumColorGlyphCacheMemory([In] unsigned longlong maximumInBytes) - ID2D1Device4::SetMaximumColorGlyphCacheMemory -
- - -

Gets the maximum capacity of the color glyph cache.

-
-

Returns the maximum capacity of the color glyph cache in bytes.

- - mt736466 - unsigned longlong ID2D1Device4::GetMaximumColorGlyphCacheMemory() - ID2D1Device4::GetMaximumColorGlyphCacheMemory -
- - -

Represents a resource domain whose objects and device contexts can be used together.

-
- - hh404478 - ID2D1Device5 - ID2D1Device5 -
- - - 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 ID2D1Factory3::CreateDevice([In] IDXGIDevice* dxgiDevice,[Out] ID2D1Device2** d2dDevice2) - - - - Initializes a new instance of the 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 ID2D1Device5::CreateDeviceContext([In] D2D1_DEVICE_CONTEXT_OPTIONS options,[Out, Fast] ID2D1DeviceContext5** deviceContext5) - ID2D1Device5::CreateDeviceContext - - - -

Represents a set of state and command buffers that are used to render to a target.

The device context can render to a target bitmap or a command list. -

-
- -

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

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

Gets or sets 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 will always succeed. 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) -
- - -

Gets or sets the rendering controls that have been applied to the context.

-
- - hh404519 - GetRenderingControls / SetRenderingControls - GetRenderingControls - void ID2D1DeviceContext::GetRenderingControls([Out] D2D1_RENDERING_CONTROLS* renderingControls) -
- - -

Returns or sets the currently set primitive blend used by the device context.

-
- - hh404517 - GetPrimitiveBlend / SetPrimitiveBlend - GetPrimitiveBlend - D2D1_PRIMITIVE_BLEND ID2D1DeviceContext::GetPrimitiveBlend() -
- - -

Gets or sets the mode that is being used to interpret values by the device context.

-
- - hh404525 - GetUnitMode / SetUnitMode - GetUnitMode - D2D1_UNIT_MODE ID2D1DeviceContext::GetUnitMode() -
- - -

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

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.

?

- -

Starting with Windows?8.1, the bitmapProperties parameter is optional. When it is not specified, the created bitmap inherits the pixel format and alpha mode from wicBitmapSource. For a list of supported pixel formats and alpha modes, see Supported Pixel Formats and Alpha Modes.

When the bitmapProperties parameter is specified, the value in bitmapProperties->pixelFormat must either be or must match the WIC pixel format in wicBitmapSource.

When bitmapProperties->pixelFormat.alphaMode is set to , the newly created bitmap inherits the alpha mode from wicBitmapSource. When bitmapProperties->pixelFormat.alphaMode is set to , , or , this forces the newly created bitmap to use the specified alpha mode.

-
- - hh847971 - HRESULT ID2D1DeviceContext::CreateBitmapFromWicBitmap([In] IWICBitmapSource* wicBitmapSource,[In, Optional] const D2D1_BITMAP_PROPERTIES1* bitmapProperties,[Out] ID2D1Bitmap1** bitmap) - ID2D1DeviceContext::CreateBitmapFromWicBitmap -
- - -

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

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.

-
- - hh404488 - HRESULT ID2D1DeviceContext::CreateColorContextFromFilename([In] const wchar_t* filename,[Out, Fast] ID2D1ColorContext** colorContext) - ID2D1DeviceContext::CreateColorContextFromFilename -
- - -

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

Creates a bitmap from a DXGI surface 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.

Note??The DXGI surface must have been created from the same Direct3D device that the Direct2D device context is associated with. ?
-

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.
  • The alpha mode of the bitmap will be premultiplied (common case) or straight (A8). -

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 compatible with the shader resource view 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 -
- - -

Creates an effect for the specified class ID.

-
-

The class ID of the effect to create. See Built-in Effects for a list of effect IDs.

-

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.

?

- -

If the created effect is a custom effect that is implemented in a DLL, this doesn't increment the reference count for that DLL. 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 -
- - -

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.

Note??This method will fail if the underlying Direct3D device does not support the requested buffer precision. Use to determine what is supported. ?
-

Defines how colors outside of the range defined by the stop collection are determined.

-

Defines how colors are interpolated. 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 post-interpolation. Whether and how this gamma conversion is applied is determined by the pre- and post-interpolation. This method will fail if the device context does not support the requested buffer precision.

In order to get the desired result, you need to ensure that the inputs are specified in the correct color space. -

You must always specify colors in straight alpha, regardless of interpolation mode being premultiplied or straight. The interpolation mode only affects the interpolated values. Likewise, the stops returned by will always have straight alpha.

If you specify , then all stops are premultiplied before interpolation, and then un-premultiplied before color conversion. -

Starting with Windows?8, the interpolation behavior of this method has changed.

The table here shows the behavior in Windows?7 and earlier.

GammaBefore Interpolation BehaviorAfter Interpolation BehaviorGetColorInteroplationGamma - (output color space) -
1.0Clamps the inputs and then converts from sRGB to scRGB.Converts from scRGB to sRGB post-interpolation.1.0
2.2Clamps the inputs.No Operation2.2

?

The table here shows the behavior in Windows?8 and later.

GammaBefore Interpolation BehaviorAfter Interpolation BehaviorGetColorInteroplationGamma - (output color space) -
sRGB to scRGBNo OperationClamps the outputs and then converts from sRGB to scRGB.1.0
scRGB to sRGBNo OperationClamps the outputs and then converts from sRGB to scRGB.2.2
sRGB to sRGBNo OperationNo Operation2.2
scRGB to scRGBNo OperationNo Operation1.0

?

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

Creates an image brush. The input image can be any type of image, including a bitmap, effect, or a command list. -

-
-

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

?

- -

The image brush can be used to fill an arbitrary geometry, an opacity mask or text.

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, D2D1::ImageBrushProperties( D2D1::RectF(198, 298, 370, 470), , ,  ), &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 -
- - -

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

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

Indicates whether the format is supported by the device context. The formats supported are usually determined by the underlying hardware.

-
-

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

Indicates whether the buffer precision is supported by the underlying Direct3D device.

-
- No documentation. -

Returns TRUE if the buffer precision is supported. Returns if the buffer precision is not supported.

- - dn441541 - BOOL ID2D1DeviceContext::IsBufferPrecisionSupported([In] D2D1_BUFFER_PRECISION bufferPrecision) - ID2D1DeviceContext::IsBufferPrecisionSupported -
- - -

Gets the bounds of an image without the world transform of the context applied.

-
-

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 transform, 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. They do not reflect the current clip rectangle set on the device context or the extent of the context's current target image.

-
- - hh404515 - HRESULT ID2D1DeviceContext::GetImageLocalBounds([In] ID2D1Image* image,[Out] D2D_RECT_F* localBounds) - ID2D1DeviceContext::GetImageLocalBounds -
- - -

Gets the bounds of an image with the world transform of the context applied.

-
-

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, 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 -
- - -

Gets the world-space bounds in DIPs of the glyph run using the device context DPI.

-
-

The origin of the baseline for the glyph run.

-

The glyph run to render.

-

The DirectWrite measuring mode that indicates how glyph metrics are used to measure text when it is formatted.

-

The bounds of the glyph run in DIPs and in world space.

- -

The image bounds reflect the current DPI, unit mode, and world transform of the context.

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

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

The bitmap or command list to which the Direct2D device context will now render.

-
- No documentation. - -

The target can be changed at any time, including while the context is drawing.

The target can be either a bitmap created with the flag, or it can be a command list. Other kinds of images cannot be set as a target. For example, you cannot set the output of an effect as target. If the target is not valid the context will enter the error state.

You cannot use SetTarget to render to a bitmap/command list from multiple device contexts simultaneously. An image is considered ?being rendered to? if it has ever been set on a device context within a BeginDraw/EndDraw timespan. If an attempt is made to render to an image through multiple device contexts, all subsequent device contexts after the first will enter an error state.

Callers wishing to attach an image to a second device context should first call EndDraw on the first device context. -

Here is an example of the correct calling order.

pDC1->BeginDraw();	
-            pDC1->SetTarget(pImage);	
-            // ?	
-            pDC1->EndDraw(); pDC2->BeginDraw();	
-            pDC2->SetTarget(pImage);	
-            // ?	
-            pDC2->EndDraw();	
-            

Here is an example of the incorrect calling order.

pDC1->BeginDraw();	
-            pDC2->BeginDraw(); pDC1->SetTarget(pImage); // ... pDC1->SetTarget(null); pDC2->SetTarget(pImage); // This call is invalid, even though pImage is no longer set on pDC1. // ... pDC1->EndDraw(); // This EndDraw SUCCEEDs.	
-            pDC2->EndDraw(); // This EndDraw FAILs 
Note??Changing the target does not change the bitmap that an render target presents from, nor does it change the bitmap that a DC render target blts to/from.?

This API makes it easy for an application to use a bitmap as a source (like in DrawBitmap) and as a destination at the same time. Attempting to use a bitmap as a source on the same device context to which it is bound as a target will put the device context into the error state.

It is acceptable to have a bitmap bound as a target bitmap on multiple render targets at once. Applications that do this must properly synchronize rendering with Flush or EndDraw.

You can change the target at any time, including while the context is drawing.

You can set the target to null, in which case drawing calls will put the device context into an error state with . Calling SetTarget with a null target does not restore the original target bitmap to the device context.

If the device context has an outstanding , the context will enter the error state. The target will not be changed.

If the bitmap and the device context are not in the same resource domain, the context will enter \ error state. The target will not be changed.

returns the size of the current target bitmap (or 0, 0) if there is no bitmap bound). - returns the pixel size of the current bitmap scaled by the DPI of the render target. - SetTarget does not affect the DPI of the render target. -

returns the pixel format of the current target bitmap (or , if there is none).

copies from the currently bound target bitmap.

-
- - hh404533 - void ID2D1DeviceContext::SetTarget([In, Optional] ID2D1Image* image) - ID2D1DeviceContext::SetTarget -
- - -

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 will always succeed. 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 -
- - -

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

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

Changes the primitive blend mode that is used for all rendering operations in the device context.

-
-

The primitive blend to use.

- -

The primitive blend will apply to all of the primitive drawn on the context, unless this is overridden with the compositeMode parameter on the DrawImage API.

The primitive blend applies to the interior of any primitives drawn on the context. In the case of DrawImage, this will be implied by the image rectangle, offset and world transform.

If the primitive blend is anything other than then ClearType rendering will be turned off. If the application explicitly forces ClearType rendering in these modes, the drawing context will be placed in an error state. will be returned from either EndDraw or Flush. -

-
- - hh404527 - void ID2D1DeviceContext::SetPrimitiveBlend([In] D2D1_PRIMITIVE_BLEND primitiveBlend) - ID2D1DeviceContext::SetPrimitiveBlend -
- - -

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

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 .
-
- - hh404539 - void ID2D1DeviceContext::SetUnitMode([In] D2D1_UNIT_MODE unitMode) - ID2D1DeviceContext::SetUnitMode -
- - -

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

Draws a series of glyphs to the device context.

-
-

Origin of first glyph in the series.

-

The glyphs to render.

-

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

A command list cannot reference effects which are part of effect graphs that consume the command list.

-
- No documentation. - No documentation. - No documentation. - No documentation. - No documentation. - - jj835880 - 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 -
- - -

Draw a metafile to the device context.

-
-

The metafile to draw.

-

The offset from the upper left corner of the render target.

- - jj841147 - void ID2D1DeviceContext::DrawGdiMetafile([In] ID2D1GdiMetafile* gdiMetafile,[In, Optional] const D2D_POINT_2F* targetOffset) - ID2D1DeviceContext::DrawGdiMetafile -
- - -

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.

- -

The destinationRectangle parameter defines the rectangle in the target where the bitmap will appear (in device-independent pixels (DIPs)). This is affected by the currently set transform and the perspective transform, if set. If null is specified, then the destination rectangle is (left=0, top=0, right = width(sourceRectangle), bottom = height(sourceRectangle)).

The sourceRectangle parameter defines the sub-rectangle of the source bitmap (in DIPs). DrawBitmap will clip this rectangle to the size of the source bitmap, thus making it impossible to sample outside of the bitmap. If null is specified, then the source rectangle is taken to be the size of the source bitmap.

If you specify perspectiveTransform it is applied to the rect in addition to the transform set on the render target.

-
- - jj841144 - 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 -
- - -

Push a layer onto the clip and layer stack of the device context.

-
-

The parameters that defines the layer.

-

The layer resource to push on the device context that receives subsequent drawing operations.

Note??If a layer is not specified, Direct2D manages the layer resource automatically. ?
- - hh847983 - void ID2D1DeviceContext::PushLayer([In] const D2D1_LAYER_PARAMETERS1* layerParameters,[In, Optional] ID2D1Layer* layer) - ID2D1DeviceContext::PushLayer -
- - -

This indicates that a portion of an effect's input is invalid. This method can be called many times.

You can use this method to propagate invalid rectangles through an effect graph. You can query Direct2D using the GetEffectInvalidRectangles method.

Note??Direct2D does not automatically use these invalid rectangles to reduce the region of an effect that is rendered.?

You can also use this method to invalidate caches that have accumulated while rendering effects that have the property set to true.

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

?

- - hh847980 - HRESULT ID2D1DeviceContext::InvalidateEffectInputRectangle([In] ID2D1Effect* effect,[In] unsigned int input,[In] const D2D_RECT_F* inputRectangle) - ID2D1DeviceContext::InvalidateEffectInputRectangle -
- - -

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

Gets the invalid rectangles that have accumulated since the last time the effect was drawn and EndDraw was then called on the device context.

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

?

- -

Note??Direct2D does not automatically use these invalid rectangles to reduce the region of an effect that is rendered.?

You can use the InvalidateEffectInputRectangle method to specify invalidated rectangles for Direct2D to propagate through an effect graph.

If multiple invalid rectangles are requested, the rectangles that this method returns may overlap. When this is the case, the rectangle count might be lower than the count that GetEffectInvalidRectangleCount.

-
- - hh847976 - HRESULT ID2D1DeviceContext::GetEffectInvalidRectangles([In] ID2D1Effect* effect,[Out, Buffer] D2D_RECT_F* rectangles,[In] unsigned int rectanglesCount) - ID2D1DeviceContext::GetEffectInvalidRectangles -
- - -

Returns the input rectangles that are required to be supplied by the caller to produce the given output rectangle.

-
-

The image whose output is being rendered.

-

The portion of the output image whose inputs are being inspected.

-

A list of the inputs whos rectangles are being queried.

-

The input rectangles returned to the caller.

-

The number of inputs.

-

A failure code, this will typically only be because an effect in the chain returned some error.

- -

The caller should be very careful not to place a reliance on the required input rectangles returned. Small changes for correctness to an effect's behavior can result in different rectangles being returned. In addition, different kinds of optimization applied inside the render can also influence the result.

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

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

Enables creation and drawing of geometry realization objects.

-
- - dn280461 - ID2D1DeviceContext1 - ID2D1DeviceContext1 -
- - - 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 ID2D1Device1::CreateDeviceContext([In] D2D1_DEVICE_CONTEXT_OPTIONS options,[Out] ID2D1DeviceContext1** deviceContext1) - - - - Initializes a new instance of the 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 device-dependent representation of the fill of the geometry that can be subsequently rendered.

-
-

The geometry to realize.

-

The flattening tolerance to use when converting Beziers to line segments. This parameter shares the same units as the coordinates of the geometry.

-

When this method returns, contains the address of a reference to a new geometry realization 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.

?

- -

This method is used in conjunction with . The D2D1::ComputeFlatteningTolerance helper API may be used to determine the proper flattening tolerance.

If the provided stroke style specifies a stroke transform type other than , then the stroke will be realized assuming the identity transform and a DPI of 96.

-
- - dn280462 - HRESULT ID2D1DeviceContext1::CreateFilledGeometryRealization([In] ID2D1Geometry* geometry,[In] float flatteningTolerance,[Out, Fast] ID2D1GeometryRealization** geometryRealization) - ID2D1DeviceContext1::CreateFilledGeometryRealization -
- - -

Creates a device-dependent representation of the stroke of a geometry that can be subsequently rendered.

-
-

The geometry to realize.

-

The flattening tolerance to use when converting Beziers to line segments. This parameter shares the same units as the coordinates of the geometry.

-

The width of the stroke. This parameter shares the same units as the coordinates of the geometry.

-

The stroke style (optional).

-

When this method returns, contains the address of a reference to a new geometry realization 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.

?

- -

This method is used in conjunction with . The D2D1::ComputeFlatteningTolerance helper API may be used to determine the proper flattening tolerance.

If the provided stroke style specifies a stroke transform type other than , then the stroke will be realized assuming the identity transform and a DPI of 96.

-
- - dn280463 - HRESULT ID2D1DeviceContext1::CreateStrokedGeometryRealization([In] ID2D1Geometry* geometry,[In] float flatteningTolerance,[In] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle,[Out, Fast] ID2D1GeometryRealization** geometryRealization) - ID2D1DeviceContext1::CreateStrokedGeometryRealization -
- - -

Renders a given geometry realization to the target with the specified brush.

-
-

The geometry realization to be rendered.

-

The brush to render the realization with.

- -

This method respects all currently set state (transform, DPI, unit mode, target image, clips, layers); however, artifacts such as faceting may appear when rendering the realizations with a large effective scale (either via the transform or the DPI). Callers should create their realizations with an appropriate flattening tolerance using either D2D1_DEFAULT_FLATTENING_TOLERANCE or ComputeFlatteningTolerance to compensate for this.

Additionally, callers should be aware of the safe render bounds when creating geometry realizations. If a geometry extends outside of [-524,287, 524,287] DIPs in either the X- or the Y- direction in its original (pre-transform) coordinate space, then it may be clipped to those bounds when it is realized. This clipping will be visible even if the realization is subsequently transformed to fit within the safe render bounds.

-
- - dn280464 - void ID2D1DeviceContext1::DrawGeometryRealization([In] ID2D1GeometryRealization* geometryRealization,[In] ID2D1Brush* brush) - ID2D1DeviceContext1::DrawGeometryRealization -
- - -

This interface performs all the same functions as the interface, plus it enables functionality such as ink rendering, gradient mesh rendering, and improved image loading.

-
- - dn890789 - ID2D1DeviceContext2 - ID2D1DeviceContext2 -
- - - 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 ID2D1Device2::CreateDeviceContext([In] D2D1_DEVICE_CONTEXT_OPTIONS options,[Out] ID2D1DeviceContext2** deviceContext2) - - - - Initializes a new instance of the 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 object that starts at the given point.

-
- No documentation. - No documentation. -

if successful, otherwise a failure .

- - dn900368 - HRESULT ID2D1DeviceContext2::CreateInk([In] const D2D1_INK_POINT* startPoint,[Out, Fast] ID2D1Ink** ink) - ID2D1DeviceContext2::CreateInk -
- - -

Creates a new object, for use with ink rendering methods such as DrawInk.

-
- No documentation. - No documentation. -

if successful, otherwise a failure .

- - dn900369 - HRESULT ID2D1DeviceContext2::CreateInkStyle([In, Optional] const D2D1_INK_STYLE_PROPERTIES* inkStyleProperties,[Out, Fast] ID2D1InkStyle** inkStyle) - ID2D1DeviceContext2::CreateInkStyle -
- - -

Creates a new instance using the given array of patches.

-
- No documentation. - No documentation. - No documentation. -

if successful, otherwise a failure .

- - dn890790 - HRESULT ID2D1DeviceContext2::CreateGradientMesh([In, Buffer] const D2D1_GRADIENT_MESH_PATCH* patches,[In] unsigned int patchesCount,[Out, Fast] ID2D1GradientMesh** gradientMesh) - ID2D1DeviceContext2::CreateGradientMesh -
- - -

Creates an image source object from a WIC bitmap source, while populating all pixel memory within the image source. The image is loaded and stored while using a minimal amount of memory.

-
-

The WIC bitmap source to create the image source from.

-

Options for creating the image source. Default options are used if null.

-

Receives the new image source instance.

-

Receives the new image source instance.

-

if successful, otherwise a failure .

- -

This method creates an image source which can be used to draw the image.

This method supports images that exceed the maximum texture size. Large images are internally stored within a sparse tile cache.

This API supports the same set of pixel formats and alpha modes supported by CreateBitmapFromWicBitmap. If the GPU does not support a given pixel format, this method will return . This method does not apply adjustments such as gamma or alpha premultiplication which affect the appearance of the image.

This method automatically selects an appropriate storage format to minimize GPU memory usage., such as using separate luminance and chrominance textures for JPEG images.

If the loadingOptions argument is null, D2D uses .

-
- - dn890793 - HRESULT ID2D1DeviceContext2::CreateImageSourceFromWic([In] IWICBitmapSource* wicBitmapSource,[In] D2D1_IMAGE_SOURCE_LOADING_OPTIONS loadingOptions,[In] D2D1_ALPHA_MODE alphaMode,[Out, Fast] ID2D1ImageSourceFromWic** imageSource) - ID2D1DeviceContext2::CreateImageSourceFromWic -
- - -

Creates a 3D lookup table for mapping a 3-channel input to a 3-channel output. The table data must be provided in 4-channel format.

-
-

Precision of the input lookup table data.

-

Number of lookup table elements per dimension (X, Y, Z).

-

Buffer holding the lookup table data.

-

Size of the lookup table data buffer.

-

An array containing two values. The first value is the size in bytes from one row (X dimension) of LUT data to the next. The second value is the size in bytes from one LUT data plane (X and Y dimensions) to the next.

-

Receives the new lookup table instance.

-

if successful, otherwise a failure .

- - dn900373 - HRESULT ID2D1DeviceContext2::CreateLookupTable3D([In] D2D1_BUFFER_PRECISION precision,[In, Buffer] const unsigned int* extents,[In, Buffer] const unsigned char* data,[In] unsigned int dataCount,[In, Buffer] const unsigned int* strides,[Out, Fast] ID2D1LookupTable3D** lookupTable) - ID2D1DeviceContext2::CreateLookupTable3D -
- - -

Creates an image source from a set of DXGI surface(s). The YCbCr surface(s) are converted to RGBA automatically during subsequent drawing.

-
-

The DXGI surfaces to create the image source from.

-

The number of surfaces provided; must be between one and three.

-

The color space of the input.

-

Options controlling color space conversions.

-

Receives the new image source instance.

-

if successful, otherwise a failure .

- -

This method creates an image source which can be used to draw the image. This method supports surfaces that use a limited set of DXGI formats and DXGI color space types. Only the below set of combinations of color space types, surface formats, and surface counts are supported:

Color Space TypeSurface Count(s)Surface Format(s)
1 Standard D2D-supported pixel formats:
1, 2, 3 When Surface count is 1:

When Surface Count is 2:

  • {DXGI_FORMAT_R8_UNORM, }

When Surface Count is 3:

  • {DXGI_FORMAT_R8_UNORM, , }

1,2,3

When Surface count is 1:

When Surface Count is 2:

  • {DXGI_FORMAT_R8_UNORM, }

When Surface Count is 3:

  • {DXGI_FORMAT_R8_UNORM, , }

?

The GPU must also have sufficient support for a pixel format to be supported by D2D. To determine whether D2D supports a format, call IsDxgiFormatSupported.

This API converts YCbCr formats to sRGB using the provided color space type and options. RGBA data is assumed to be in the desired space, and D2D does not apply any conversion.

If multiple surfaces are provided, this method infers whether chroma planes are subsampled (by 2x) from the relative sizes of each corresponding source rectangle (or if the source rectangles parameter is null, the bounds of each surface). The second and third rectangle must each be equal in size to the first rectangle, or to the first rectangle with one or both dimensions scaled by 0.5 (while rounding up).

If provided, the source rectangles must be within the bounds of the corresponding surface. The source rectangles may have different origins. In this case, this method shifts the data from each plane to align with one another.

-
- - dn890791 - HRESULT ID2D1DeviceContext2::CreateImageSourceFromDxgi([In, Buffer] IDXGISurface** surfaces,[In] unsigned int surfaceCount,[In] DXGI_COLOR_SPACE_TYPE colorSpace,[In] D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS options,[Out, Fast] ID2D1ImageSource** imageSource) - ID2D1DeviceContext2::CreateImageSourceFromDxgi -
- - -

Creates an image source from a set of DXGI surface(s). The YCbCr surface(s) are converted to RGBA automatically during subsequent drawing.

-
-

The DXGI surfaces to create the image source from.

-

The number of surfaces provided; must be between one and three.

-

The color space of the input.

-

Options controlling color space conversions.

-

Receives the new image source instance.

-

if successful, otherwise a failure .

- -

This method creates an image source which can be used to draw the image. This method supports surfaces that use a limited set of DXGI formats and DXGI color space types. Only the below set of combinations of color space types, surface formats, and surface counts are supported:

Color Space TypeSurface Count(s)Surface Format(s)
1 Standard D2D-supported pixel formats:
1, 2, 3 When Surface count is 1:

When Surface Count is 2:

  • {DXGI_FORMAT_R8_UNORM, }

When Surface Count is 3:

  • {DXGI_FORMAT_R8_UNORM, , }

1,2,3

When Surface count is 1:

When Surface Count is 2:

  • {DXGI_FORMAT_R8_UNORM, }

When Surface Count is 3:

  • {DXGI_FORMAT_R8_UNORM, , }

?

The GPU must also have sufficient support for a pixel format to be supported by D2D. To determine whether D2D supports a format, call IsDxgiFormatSupported.

This API converts YCbCr formats to sRGB using the provided color space type and options. RGBA data is assumed to be in the desired space, and D2D does not apply any conversion.

If multiple surfaces are provided, this method infers whether chroma planes are subsampled (by 2x) from the relative sizes of each corresponding source rectangle (or if the source rectangles parameter is null, the bounds of each surface). The second and third rectangle must each be equal in size to the first rectangle, or to the first rectangle with one or both dimensions scaled by 0.5 (while rounding up).

If provided, the source rectangles must be within the bounds of the corresponding surface. The source rectangles may have different origins. In this case, this method shifts the data from each plane to align with one another.

-
- - dn890791 - HRESULT ID2D1DeviceContext2::CreateImageSourceFromDxgi([In, Buffer] IDXGISurface** surfaces,[In] unsigned int surfaceCount,[In] DXGI_COLOR_SPACE_TYPE colorSpace,[In] D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS options,[Out, Fast] ID2D1ImageSource** imageSource) - ID2D1DeviceContext2::CreateImageSourceFromDxgi -
- - -

Creates an image source from a set of DXGI surface(s). The YCbCr surface(s) are converted to RGBA automatically during subsequent drawing.

-
-

The DXGI surfaces to create the image source from.

-

The number of surfaces provided; must be between one and three.

-

The color space of the input.

-

Options controlling color space conversions.

-

Receives the new image source instance.

-

if successful, otherwise a failure .

- -

This method creates an image source which can be used to draw the image. This method supports surfaces that use a limited set of DXGI formats and DXGI color space types. Only the below set of combinations of color space types, surface formats, and surface counts are supported:

Color Space TypeSurface Count(s)Surface Format(s)
1 Standard D2D-supported pixel formats:
1, 2, 3 When Surface count is 1:

When Surface Count is 2:

  • {DXGI_FORMAT_R8_UNORM, }

When Surface Count is 3:

  • {DXGI_FORMAT_R8_UNORM, , }

1,2,3

When Surface count is 1:

When Surface Count is 2:

  • {DXGI_FORMAT_R8_UNORM, }

When Surface Count is 3:

  • {DXGI_FORMAT_R8_UNORM, , }

?

The GPU must also have sufficient support for a pixel format to be supported by D2D. To determine whether D2D supports a format, call IsDxgiFormatSupported.

This API converts YCbCr formats to sRGB using the provided color space type and options. RGBA data is assumed to be in the desired space, and D2D does not apply any conversion.

If multiple surfaces are provided, this method infers whether chroma planes are subsampled (by 2x) from the relative sizes of each corresponding source rectangle (or if the source rectangles parameter is null, the bounds of each surface). The second and third rectangle must each be equal in size to the first rectangle, or to the first rectangle with one or both dimensions scaled by 0.5 (while rounding up).

If provided, the source rectangles must be within the bounds of the corresponding surface. The source rectangles may have different origins. In this case, this method shifts the data from each plane to align with one another.

-
- - dn890791 - HRESULT ID2D1DeviceContext2::CreateImageSourceFromDxgi([In, Buffer] IDXGISurface** surfaces,[In] unsigned int surfaceCount,[In] DXGI_COLOR_SPACE_TYPE colorSpace,[In] D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS options,[Out, Fast] ID2D1ImageSource** imageSource) - ID2D1DeviceContext2::CreateImageSourceFromDxgi -
- - -

Returns the world bounds of a given gradient mesh.

-
-

The gradient mesh whose world bounds will be calculated.

-

When this method returns, contains a reference to the bounds of the gradient mesh, in device independent pixels (DIPs).

-

if successful, otherwise a failure .

- -

The world bounds reflect the current DPI, unit mode, and world transform of the context. They indicate which pixels would be impacted by calling DrawGradientMesh with the given gradient mesh. - They do not reflect the current clip rectangle set on the device context or the extent of the context?s current target.

-
- - dn900380 - HRESULT ID2D1DeviceContext2::GetGradientMeshWorldBounds([In] ID2D1GradientMesh* gradientMesh,[Out] D2D_RECT_F* pBounds) - ID2D1DeviceContext2::GetGradientMeshWorldBounds -
- - -

Renders the given ink object using the given brush and ink style.

-
-

The ink object to be rendered.

-

The brush with which to render the ink object.

-

The ink style to use when rendering the ink object.

- - dn900379 - void ID2D1DeviceContext2::DrawInk([In] ID2D1Ink* ink,[In] ID2D1Brush* brush,[In, Optional] ID2D1InkStyle* inkStyle) - ID2D1DeviceContext2::DrawInk -
- - -

Renders a given gradient mesh to the target.

-
-

The gradient mesh to be rendered.

- - dn900378 - void ID2D1DeviceContext2::DrawGradientMesh([In] ID2D1GradientMesh* gradientMesh) - ID2D1DeviceContext2::DrawGradientMesh -
- - -

Draws a metafile to the device context using the given source and destination rectangles.

-
-

The metafile to draw.

-

The rectangle in the target where the metafile will be drawn, relative to the upper left corner (defined in DIPs) of the render target. If null is specified, the destination rectangle is {0, 0, w, h}, where w and h are the width and height of the metafile as reported by .

-

The rectangle of the source metafile that will be drawn, relative to the upper left corner (defined in DIPs) of the metafile. If null is specified, the source rectangle is the value returned by .

- - dn900375 - void ID2D1DeviceContext2::DrawGdiMetafile([In] ID2D1GdiMetafile* gdiMetafile,[In, Optional] const D2D_RECT_F* destinationRectangle,[In, Optional] const D2D_RECT_F* sourceRectangle) - ID2D1DeviceContext2::DrawGdiMetafile -
- - -

Creates an image source which shares resources with an original.

-
-

The original image.

-

Properties for the source image.

-

Receives the new image source.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn934381 - HRESULT ID2D1DeviceContext2::CreateTransformedImageSource([In] ID2D1ImageSource* imageSource,[In] const D2D1_TRANSFORMED_IMAGE_SOURCE_PROPERTIES* properties,[Out, Fast] ID2D1TransformedImageSource** transformedImageSource) - ID2D1DeviceContext2::CreateTransformedImageSource -
- - -

This interface performs all the same functions as the interface, plus it enables functionality for creating and drawing sprite batches.

-
- - mt619826 - ID2D1DeviceContext3 - ID2D1DeviceContext3 -
- - - 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 ID2D1Device3::CreateDeviceContext([In] D2D1_DEVICE_CONTEXT_OPTIONS options,[Out] ID2D1DeviceContext3** deviceContext3) - - - - Initializes a new instance of the 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, empty sprite batch. After creating a sprite batch, use to add sprites to it, then use to draw it.

-
- No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- - mt619827 - HRESULT ID2D1DeviceContext3::CreateSpriteBatch([Out, Fast] ID2D1SpriteBatch** spriteBatch) - ID2D1DeviceContext3::CreateSpriteBatch -
- - -

Renders all sprites in the given sprite batch to the device context using the specified drawing options.

-
-

The sprite batch to draw.

-

The bitmap from which the sprites are to be sourced. Each sprite?s source rectangle refers to a portion of this bitmap.

-

The interpolation mode to use when drawing this sprite batch. This determines how Direct2D interpolates pixels within the drawn sprites if scaling is performed.

-

The bitmap from which the sprites are to be sourced. Each sprite?s source rectangle refers to a portion of this bitmap.

-

The interpolation mode to use when drawing this sprite batch. This determines how Direct2D interpolates pixels within the drawn sprites if scaling is performed.

-

The additional drawing options, if any, to be used for this sprite batch.

- - mt619829 - void ID2D1DeviceContext3::DrawSpriteBatch([In] ID2D1SpriteBatch* spriteBatch,[In] unsigned int startIndex,[In] unsigned int spriteCount,[In] ID2D1Bitmap* bitmap,[In] D2D1_BITMAP_INTERPOLATION_MODE interpolationMode,[In] D2D1_SPRITE_OPTIONS spriteOptions) - ID2D1DeviceContext3::DrawSpriteBatch -
- - -

This interface performs all the same functions as the interface, plus it enables functionality for handling new types of color font glyphs.

-
- - mt736468 - ID2D1DeviceContext4 - ID2D1DeviceContext4 -
- - - 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 ID2D1Device4::CreateDeviceContext([In] D2D1_DEVICE_CONTEXT_OPTIONS options,[Out] ID2D1DeviceContext4** DeviceContext4) - - - - Initializes a new instance of the 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 an SVG glyph style object.

-
-

On completion points to the created object.

-

This method returns an success or error code.

- - mt750183 - HRESULT ID2D1DeviceContext4::CreateSvgGlyphStyle([Out] ID2D1SvgGlyphStyle** svgGlyphStyle) - ID2D1DeviceContext4::CreateSvgGlyphStyle -
- - -

Represents a set of state and command buffers that are used to render to a target.

The device context can render to a target bitmap or a command list. -

-
- No documentation. - No documentation. - No documentation. - No documentation. - No documentation. - No documentation. - No documentation. - No documentation. - No documentation. - -

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 - void ID2D1DeviceContext4::DrawTextW([In, Buffer] const wchar_t* string,[In] unsigned int stringLength,[In] IDWriteTextFormat* textFormat,[In] const D2D_RECT_F* layoutRect,[In, Optional] ID2D1Brush* defaultFillBrush,[In, Optional] ID2D1SvgGlyphStyle* svgGlyphStyle,[In] unsigned int colorPaletteIndex,[In] D2D1_DRAW_TEXT_OPTIONS options,[In] DWRITE_MEASURING_MODE measuringMode) - ID2D1DeviceContext4::DrawTextW -
- - -

Draws a text layout object. If the layout is not subsequently changed, this can be more efficient than DrawText when drawing the same layout repeatedly.

-
-

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 that are not brushes, this method fails and the render target is put in an error state.

-

The brush used to paint the text.

-

The values for context-fill, context-stroke, and context-value that are used when rendering SVG glyphs.

-

The index used to select a color palette within a color font.

-

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.

- - mt750187 - void ID2D1DeviceContext4::DrawTextLayout([In] D2D_POINT_2F origin,[In] IDWriteTextLayout* textLayout,[In, Optional] ID2D1Brush* defaultFillBrush,[In, Optional] ID2D1SvgGlyphStyle* svgGlyphStyle,[In] unsigned int colorPaletteIndex,[In] D2D1_DRAW_TEXT_OPTIONS options) - ID2D1DeviceContext4::DrawTextLayout -
- - -

Draws a color bitmap glyph run using one of the bitmap formats.

-
-

Specifies the format of the glyph image. Supported formats are , , , or . This method will result in an error if the color glyph run does not contain the requested format.

Only one format can be specified at a time, combinations of flags are not valid input.

-

The origin of the baseline for the glyph run.

-

The glyphs to render.

-

Indicates the measuring method.

-

Specifies the pixel snapping policy when rendering color bitmap glyphs.

- - mt750184 - void ID2D1DeviceContext4::DrawColorBitmapGlyphRun([In] DWRITE_GLYPH_IMAGE_FORMATS glyphImageFormat,[In] D2D_POINT_2F baselineOrigin,[In] const DWRITE_GLYPH_RUN* glyphRun,[In] DWRITE_MEASURING_MODE measuringMode,[In] D2D1_COLOR_BITMAP_GLYPH_SNAP_OPTION bitmapSnapOption) - ID2D1DeviceContext4::DrawColorBitmapGlyphRun -
- - -

Draws a color glyph run that has the format of .

-
-

The origin of the baseline for the glyph run.

-

The glyphs to render.

-

The brush used to paint the specified glyphs.

-

Values for context-fill, context-stroke, and context-value that are used when rendering SVG glyphs.

-

The index used to select a color palette within a color font. Note that this not the same as the paletteIndex in the struct, which is not relevant for SVG glyphs.

-

Indicates the measuring method used for text layout.

- - mt750185 - void ID2D1DeviceContext4::DrawSvgGlyphRun([In] D2D_POINT_2F baselineOrigin,[In] const DWRITE_GLYPH_RUN* glyphRun,[In, Optional] ID2D1Brush* defaultFillBrush,[In, Optional] ID2D1SvgGlyphStyle* svgGlyphStyle,[In] unsigned int colorPaletteIndex,[In] DWRITE_MEASURING_MODE measuringMode) - ID2D1DeviceContext4::DrawSvgGlyphRun -
- - -

Retrieves an image of the color bitmap glyph from the color glyph cache. If the cache does not already contain the requested resource, it will be created. This method may be used to extend the lifetime of a glyph image even after it is evicted from the color glyph cache.

-
-

The format for the glyph image. If there is no image data in the requested format for the requested glyph, this method will return an error.

-

The origin for the glyph.

-

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.

-

The specified font size affects the choice of which bitmap to use from the font. It also affects the output glyphTransform, causing it to properly scale the glyph.

-

Index of the glyph.

-

If true, specifies that glyphs are rotated 90 degrees to the left and vertical metrics are used. Vertical writing is achieved by specifying isSideways as true and rotating the entire run 90 degrees to the right via a rotate transform.

-

The transform to apply to the image. This input transform affects the choice of which bitmap to use from the font. It is also factored into the output glyphTransform.

-

Dots per inch along the x-axis.

-

Dots per inch along the y-axis.

-

Output transform, which transforms from the glyph's space to the same output space as the worldTransform. This includes the input glyphOrigin, the glyph's offset from the glyphOrigin, and any other required transformations.

-

On completion contains the retrieved glyph image.

-

This method returns an success or error code.

- - mt750189 - HRESULT ID2D1DeviceContext4::GetColorBitmapGlyphImage([In] DWRITE_GLYPH_IMAGE_FORMATS glyphImageFormat,[In] D2D_POINT_2F glyphOrigin,[In] IDWriteFontFace* fontFace,[In] float fontEmSize,[In] unsigned short glyphIndex,[In] BOOL isSideways,[In, Optional] const D2D_MATRIX_3X2_F* worldTransform,[In] float dpiX,[In] float dpiY,[Out] D2D_MATRIX_3X2_F* glyphTransform,[Out] ID2D1Image** glyphImage) - ID2D1DeviceContext4::GetColorBitmapGlyphImage -
- - -

Retrieves an image of the SVG glyph from the color glyph cache. If the cache does not already contain the requested resource, it will be created. This method may be used to extend the lifetime of a glyph image even after it is evicted from the color glyph cache.

-
-

Origin of the glyph.

-

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.

-

The specified font size affects the output glyphTransform, causing it to properly scale the glyph.

-

Index of the glyph to retrieve.

-

If true, specifies that glyphs are rotated 90 degrees to the left and vertical metrics are used. Vertical writing is achieved by specifying isSideways as true and rotating the entire run 90 degrees to the right via a rotate transform.

-

The transform to apply to the image.

-

Describes how the area is painted.

-

The values for context-fill, context-stroke, and context-value that are used when rendering SVG glyphs.

-

The index used to select a color palette within a color font. Note that this not the same as the paletteIndex in the struct, which is not relevant for SVG glyphs.

-

Output transform, which transforms from the glyph's space to the same output space as the worldTransform. This includes the input glyphOrigin, the glyph's offset from the glyphOrigin, and any other required transformations.

-

On completion, contains the retrieved glyph image.

-

This method returns an success or error code.

- - mt750190 - HRESULT ID2D1DeviceContext4::GetSvgGlyphImage([In] D2D_POINT_2F glyphOrigin,[In] IDWriteFontFace* fontFace,[In] float fontEmSize,[In] unsigned short glyphIndex,[In] BOOL isSideways,[In, Optional] const D2D_MATRIX_3X2_F* worldTransform,[In, Optional] ID2D1Brush* defaultFillBrush,[In, Optional] ID2D1SvgGlyphStyle* svgGlyphStyle,[In] unsigned int colorPaletteIndex,[Out] D2D_MATRIX_3X2_F* glyphTransform,[Out] ID2D1CommandList** glyphImage) - ID2D1DeviceContext4::GetSvgGlyphImage -
- - -

Represents a set of state and command buffers that are used to render to a target.

The device context can render to a target bitmap or a command list. -

-
- -

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 - ID2D1DeviceContext5 - ID2D1DeviceContext5 -
- - - 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 ID2D1Device5::CreateDeviceContext([In] D2D1_DEVICE_CONTEXT_OPTIONS options,[Out] ID2D1DeviceContext5** DeviceContext5) - - - - Initializes a new instance of the 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 ID2D1DeviceContext5::CreateSvgDocument([In, Optional] IStream* inputXmlStream,[In] D2D_SIZE_F viewportSize,[Out] ID2D1SvgDocument** svgDocument) - ID2D1DeviceContext5::CreateSvgDocument - - - - No documentation. - - No documentation. - - void ID2D1DeviceContext5::DrawSvgDocument([In] ID2D1SvgDocument* svgDocument) - ID2D1DeviceContext5::DrawSvgDocument - - - -

Creates a color context from a DXGI color space type. It is only valid to use this with the Color Management Effect in 'Best' mode.

-
-

The color space to create the color context from.

-

The created color context.

-

This method returns an success or error code.

- - mt797807 - HRESULT ID2D1DeviceContext5::CreateColorContextFromDxgiColorSpace([In] DXGI_COLOR_SPACE_TYPE colorSpace,[Out, Fast] ID2D1ColorContext1** colorContext) - ID2D1DeviceContext5::CreateColorContextFromDxgiColorSpace -
- - - No documentation. - - No documentation. - No documentation. - No documentation. - - HRESULT ID2D1DeviceContext5::CreateColorContextFromSimpleColorProfile([In] const D2D1_SIMPLE_COLOR_PROFILE* simpleProfile,[Out, Fast] ID2D1ColorContext1** colorContext) - ID2D1DeviceContext5::CreateColorContextFromSimpleColorProfile - - - -

Issues drawing commands to a GDI device context.

-
- - dd371213 - ID2D1DCRenderTarget - ID2D1DCRenderTarget -
- - - 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}}. - - - - Initializes a new instance of the 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 -
- - -

This interface is used to describe a GPU rendering pass on a vertex or pixel shader. It is passed to .

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

Sets the constant buffer for this transform's pixel shader.

-
-

The data applied to the constant buffer.

-

The number of bytes of data in the constant buffer

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh847988 - HRESULT ID2D1DrawInfo::SetPixelShaderConstantBuffer([In, Buffer] const void* buffer,[In] unsigned int bufferCount) - ID2D1DrawInfo::SetPixelShaderConstantBuffer -
- - -

Sets the resource texture corresponding to the given shader texture index.

-
-

The index of the texture to be bound to the pixel shader.

-

The created resource texture.

-

If the method succeeds, it returns . If it fails, it returns an error code.

- - hh847989 - HRESULT ID2D1DrawInfo::SetResourceTexture([In] unsigned int textureIndex,[In] ID2D1ResourceTexture* resourceTexture) - ID2D1DrawInfo::SetResourceTexture -
- - -

Sets the constant buffer for this transform's vertex shader.

-
-

The data applied to the constant buffer

-

The number of bytes of data in the constant buffer.

-

If the method succeeds, it returns . If it fails, it returns an error code.

- - hh847991 - HRESULT ID2D1DrawInfo::SetVertexShaderConstantBuffer([In, Buffer] const void* buffer,[In] unsigned int bufferCount) - ID2D1DrawInfo::SetVertexShaderConstantBuffer -
- - -

Set the shader instructions for this transform.

-
-

The resource id for the shader.

-

Additional information provided to the renderer to indicate the operations the pixel shader does.

-

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 will fail to Draw, it will place the context into an error state which can be retrieved through the ID2D1DeviceContext::EndDraw call.

Specifying pixelOptions other than can enable the renderer to perform certain optimizations such as combining various parts of the effect graph together. If this information does not accurately describe the shader, indeterminate rendering artifacts can result. -

-
- - hh847987 - HRESULT ID2D1DrawInfo::SetPixelShader([In] const GUID& shaderId,[In] D2D1_PIXEL_OPTIONS pixelOptions) - ID2D1DrawInfo::SetPixelShader -
- - -

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 will be used.

-

Options that influence how the renderer will interact with the vertex shader.

-

How the vertices will be blended with the output texture.

-

The set of vertices to use from the buffer.

-

The of the vertex shader.

-

If the method succeeds, it returns . If it fails, it returns an error code.

- -

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 you pass the vertex option , then the method fails unless the blend description is exactly this:

 blendDesc =  { , , , , , , { 1.0f, 1.0f, 1.0f, 1.0f } };

If this call fails, the corresponding instance is placed into an error state and fails to draw.

If blendDescription is null, a foreground-over blend mode is used.

-
- - hh847990 - 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 -
- - -

Represents the drawing state of a render target: the antialiasing mode, transform, tags, and text-rendering options.

-
- - dd371218 - ID2D1DrawingStateBlock - ID2D1DrawingStateBlock -
- - - 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. - - - - -

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

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

Implementation of a drawing state block that adds the functionality of primitive blend in addition to already existing antialias mode, transform, tags and text rendering mode.

Note??You can get an using the method or you can use the QueryInterface method on an object.? -
- - hh871452 - ID2D1DrawingStateBlock1 - ID2D1DrawingStateBlock1 -
- - - 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. - - - - -

Gets or sets the antialiasing mode, transform, tags, primitive blend, and unit mode portion of the drawing state.

-
- - hh871453 - GetDescription / SetDescription - GetDescription - void ID2D1DrawingStateBlock1::GetDescription([Out] D2D1_DRAWING_STATE_DESCRIPTION1* stateDescription) -
- - -

Gets the antialiasing mode, transform, tags, primitive blend, and unit mode portion of the drawing state.

-
-

When this method returns, contains the antialiasing mode, transform, tags, primitive blend, and unit mode portion of the drawing state. You must allocate storage for this parameter.

- - hh871453 - void ID2D1DrawingStateBlock1::GetDescription([Out] D2D1_DRAWING_STATE_DESCRIPTION1* stateDescription) - ID2D1DrawingStateBlock1::GetDescription -
- - -

Sets the associated with this drawing state block.

-
- No documentation. - - hh871454 - void ID2D1DrawingStateBlock1::SetDescription([In] const D2D1_DRAWING_STATE_DESCRIPTION1* stateDescription) - ID2D1DrawingStateBlock1::SetDescription -
- - -

A specialized implementation of the Shantzis calculations to a transform implemented on the GPU. These calculations are described in the paper A model for efficient and flexible image computing.

The information required to specify a ?Pass? in the rendering algorithm on a Pixel Shader is passed to the implementation through the SetDrawInfo method.

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

A specialized implementation of the Shantzis calculations to a transform implemented on the GPU. These calculations are described in the paper A model for efficient and flexible image computing.

The information required to specify a ?Pass? in the rendering algorithm on a Pixel Shader is passed to the implementation through the SetDrawInfo method.

-
- - hh847992 - ID2D1DrawTransform - ID2D1DrawTransform -
- - - Initializes a new instance of the 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 the GPU render info interface to the transform implementation.

-
-

The interface supplied back to the calling method to allow it to specify the GPU based transform pass.

-

Any value can be returned when implementing this method. A failure will be returned from the corresponding ID2D1DeviceContext::EndDraw call.

- -

The transform can maintain a reference to this interface for its lifetime. If any properties change on the transform, it can apply these changes to the corresponding drawInfo interface.

This is also used to determine that the corresponding nodes in the graph are dirty.

-
- - hh847993 - HRESULT ID2D1DrawTransform::SetDrawInfo([In] ID2D1DrawInfo* drawInfo) - ID2D1DrawTransform::SetDrawInfo -
- - - 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) - - - -

Represents 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 -
- - - 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 ArithmeticComposite. - CLSID_D2D1ArithmeticComposite - - - Constant Atlas. - CLSID_D2D1Atlas - - - Constant BitmapSource. - CLSID_D2D1BitmapSource - - - Constant Blend. - CLSID_D2D1Blend - - - Constant Border. - CLSID_D2D1Border - - - Constant Brightness. - CLSID_D2D1Brightness - - - Constant ColorManagement. - CLSID_D2D1ColorManagement - - - Constant ColorMatrix. - CLSID_D2D1ColorMatrix - - - Constant Composite. - CLSID_D2D1Composite - - - Constant ConvolveMatrix. - CLSID_D2D1ConvolveMatrix - - - Constant Crop. - CLSID_D2D1Crop - - - Constant DirectionalBlur. - CLSID_D2D1DirectionalBlur - - - Constant DiscreteTransfer. - CLSID_D2D1DiscreteTransfer - - - Constant DisplacementMap. - CLSID_D2D1DisplacementMap - - - Constant DistantDiffuse. - CLSID_D2D1DistantDiffuse - - - Constant DistantSpecular. - CLSID_D2D1DistantSpecular - - - Constant DpiCompensation. - CLSID_D2D1DpiCompensation - - - Constant Flood. - CLSID_D2D1Flood - - - Constant GammaTransfer. - CLSID_D2D1GammaTransfer - - - Constant GaussianBlur. - CLSID_D2D1GaussianBlur - - - Constant Scale. - CLSID_D2D1Scale - - - Constant Histogram. - CLSID_D2D1Histogram - - - Constant HueRotation. - CLSID_D2D1HueRotation - - - Constant LinearTransfer. - CLSID_D2D1LinearTransfer - - - Constant LuminanceToAlpha. - CLSID_D2D1LuminanceToAlpha - - - Constant Morphology. - CLSID_D2D1Morphology - - - Constant OpacityMetadata. - CLSID_D2D1OpacityMetadata - - - Constant PointDiffuse. - CLSID_D2D1PointDiffuse - - - Constant PointSpecular. - CLSID_D2D1PointSpecular - - - Constant Premultiply. - CLSID_D2D1Premultiply - - - Constant Saturation. - CLSID_D2D1Saturation - - - Constant Shadow. - CLSID_D2D1Shadow - - - Constant SpotDiffuse. - CLSID_D2D1SpotDiffuse - - - Constant SpotSpecular. - CLSID_D2D1SpotSpecular - - - Constant TableTransfer. - CLSID_D2D1TableTransfer - - - Constant Tile. - CLSID_D2D1Tile - - - Constant Turbulence. - CLSID_D2D1Turbulence - - - Constant UnPremultiply. - CLSID_D2D1UnPremultiply - - - Constant YCbCr. - CLSID_D2D1YCbCr - - - Constant Contrast. - CLSID_D2D1Contrast - - - Constant RgbToHue. - CLSID_D2D1RgbToHue - - - Constant HueToRgb. - CLSID_D2D1HueToRgb - - - Constant ChromaKey. - CLSID_D2D1ChromaKey - - - Constant Emboss. - CLSID_D2D1Emboss - - - Constant Exposure. - CLSID_D2D1Exposure - - - Constant Grayscale. - CLSID_D2D1Grayscale - - - Constant Invert. - CLSID_D2D1Invert - - - Constant Posterize. - CLSID_D2D1Posterize - - - Constant Sepia. - CLSID_D2D1Sepia - - - Constant Sharpen. - CLSID_D2D1Sharpen - - - Constant Straighten. - CLSID_D2D1Straighten - - - Constant TemperatureTint. - CLSID_D2D1TemperatureTint - - - Constant Vignette. - CLSID_D2D1Vignette - - - Constant EdgeDetection. - CLSID_D2D1EdgeDetection - - - Constant HighlightsShadows. - CLSID_D2D1HighlightsShadows - - - Constant LookupTable3D. - CLSID_D2D1LookupTable3D - - - Constant Opacity. - CLSID_D2D1Opacity - - - Constant AlphaMask. - CLSID_D2D1AlphaMask - - - Constant CrossFade. - CLSID_D2D1CrossFade - - - Constant Tint. - CLSID_D2D1Tint - - - Constant AffineTransform2D. - CLSID_D2D12DAffineTransform - - - Constant PerspectiveTransform3D. - CLSID_D2D13DPerspectiveTransform - - - Constant Transform3D. - CLSID_D2D13DTransform - - - -

Gets or sets the number of inputs to the effect.

-
- - hh404582 - GetInputCount / SetInputCount - GetInputCount - unsigned int ID2D1Effect::GetInputCount() -
- - -

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 retrieve the same output image.

-
- - hh404585 - GetOutput - GetOutput - void ID2D1Effect::GetOutput([Out] ID2D1Image** outputImage) -
- - -

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

Allows the application to change the number of inputs to an effect.

-
-

The number of inputs to the effect.

-

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 invalid.
E_OUTOFMEMORYFailed to allocate necessary memory.

?

- -

Most effects do not support a variable number of inputs. Use with the and values to determine the number of inputs supported by an effect.

If the input count is less than the minimum or more than the maximum supported inputs, the call will fail.

If the input count is unchanged, the call will succeed with .

Any inputs currently selected on the effect will be unaltered by this call unless the number of inputs is made smaller. If the number of inputs is made smaller, inputs beyond the selected range will be released.

If the method fails, the existing input and input count will remain unchanged.

-
- - hh404594 - HRESULT ID2D1Effect::SetInputCount([In] unsigned int inputCount) - ID2D1Effect::SetInputCount -
- - -

Represents a basic image-processing construct in Direct2D.

-
- No documentation. - -

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 - void ID2D1Effect::GetInput([In] unsigned int index,[Out, Optional] ID2D1Image** input) - ID2D1Effect::GetInput -
- - -

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

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 retrieve the same output image.

-
- - hh404585 - void ID2D1Effect::GetOutput([Out] ID2D1Image** outputImage) - ID2D1Effect::GetOutput -
- - - 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 a custom class. - - The device context. - Effect ID. - 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) - - - -

Provides factory methods and other state management for effect and transform authors.

-
- -

This interface is passed to an effect implementation through the method. In order to prevent applications casually gaining access to this interface, and to separate reference counts between the public and private interfaces, it is not possible to call QueryInterface between the and the .

Each call to ID2D1Effect::Initialize will be provided a different interface. This interface tracks resource allocations for the effect. When the effect is released, the corresponding allocations will also be released.

-
- - hh404459 - ID2D1EffectContext - ID2D1EffectContext -
- - - Gets the DPI. - - - - - 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. - - - - -

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

Creates a Direct2D effect for the specified class ID. This is the same as so custom effects can create other effects and wrap them in a transform.

-
- 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 specified effect is not registered by the system.

?

- -

The created effect does not reference count the DLL from which the effect was created. If the caller unregisters an effect while this effect is loaded, the resulting behavior is unpredictable.

-
- - hh404467 - HRESULT ID2D1EffectContext::CreateEffect([In] const GUID& effectId,[Out, Fast] ID2D1Effect** effect) - ID2D1EffectContext::CreateEffect -
- - -

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

Wraps an effect graph into a single transform node and then inserted into a transform graph. This allows an effect to aggregate other effects. This will typically be done in order to allow the effect properties to be re-expressed with a different contract, or to allow different components to integrate each-other?s effects.

-
-

The effect to be wrapped in a transform node.

-

The returned transform node that encapsulates the effect graph.

- - hh404470 - HRESULT ID2D1EffectContext::CreateTransformNodeFromEffect([In] ID2D1Effect* effect,[Out] ID2D1TransformNode** transformNode) - ID2D1EffectContext::CreateTransformNodeFromEffect -
- - -

This creates a blend transform that can be inserted into a transform graph.

-
-

The number of inputs to the blend transform.

-

Describes the blend transform that is to be created.

-

The returned blend 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.

?

- - hh404461 - HRESULT ID2D1EffectContext::CreateBlendTransform([In] unsigned int numInputs,[In] const D2D1_BLEND_DESCRIPTION* blendDescription,[Out, Fast] ID2D1BlendTransform** transform) - ID2D1EffectContext::CreateBlendTransform -
- - -

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

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

Creates and returns a bounds adjustment transform.

-
-

The initial output rectangle for the bounds adjustment transform.

-

The returned bounds adjustment 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.

?

- -

A 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. Note??If the indicated region does NOT contain only transparent black pixels, then rendering results are undefined. ?
  • To increase the size of the input image. The expanded area will be treated as transparent black -
-
- - hh871456 - HRESULT ID2D1EffectContext::CreateBoundsAdjustmentTransform([In] const RECT* outputRectangle,[Out, Fast] ID2D1BoundsAdjustmentTransform** transform) - ID2D1EffectContext::CreateBoundsAdjustmentTransform -
- - -

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.

-
-

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.

?

- -

The shader you specify must be compiled, not in raw HLSL code.

-
- - hh404476 - HRESULT ID2D1EffectContext::LoadPixelShader([In] const GUID& shaderId,[In, Buffer] const unsigned char* shaderBuffer,[In] unsigned int shaderBufferCount) - ID2D1EffectContext::LoadPixelShader -
- - -

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.

-
-

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.

?

- -

The shader you specify must be compiled, not in raw HLSL code.

-
- - hh404477 - HRESULT ID2D1EffectContext::LoadVertexShader([In] const GUID& resourceId,[In, Buffer] const unsigned char* shaderBuffer,[In] unsigned int shaderBufferCount) - ID2D1EffectContext::LoadVertexShader -
- - -

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.

-
-

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.

?

- -

The shader you specify must be compiled, not in raw HLSL code.

-
- - hh404475 - HRESULT ID2D1EffectContext::LoadComputeShader([In] const GUID& resourceId,[In, Buffer] const unsigned char* shaderBuffer,[In] unsigned int shaderBufferCount) - ID2D1EffectContext::LoadComputeShader -
- - -

This tests to see if the given shader is loaded.

-
-

The unique id that identifies the shader.

-

Whether the shader is loaded.

- - hh404474 - BOOL ID2D1EffectContext::IsShaderLoaded([In] const GUID& shaderId) - ID2D1EffectContext::IsShaderLoaded -
- - -

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.

-
-

An optional reference to the unique id that identifies the lookup table.

-

The properties used to create the resource texture.

-

The optional data to be loaded into the resource texture.

-

An optional reference to the stride to advance through the resource texture, according to dimension.

-

The size, in bytes, of the data.

-

The returned texture that can be used as a resource in a Direct2D 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.

?

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

Finds the given resource texture if it has already been created with with the same .

-
- No documentation. - No documentation. - - hh871457 - HRESULT ID2D1EffectContext::FindResourceTexture([In] const GUID* resourceId,[Out] ID2D1ResourceTexture** resourceTexture) - ID2D1EffectContext::FindResourceTexture -
- - -

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

This finds the given vertex buffer if it has already been created with with the same .

-
- No documentation. - No documentation. - - hh871458 - HRESULT ID2D1EffectContext::FindVertexBuffer([In] const GUID* resourceId,[Out] ID2D1VertexBuffer** buffer) - ID2D1EffectContext::FindVertexBuffer -
- - -

Creates a color context from a color space.

If the color space is Custom, the context is initialized from the profile and profileSize parameters.

If the color space is not Custom, the context is initialized with the profile bytes associated with the color space. The profile and profileSize parameters are ignored.

-
-

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.

?

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

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.

?

- - hh404465 - HRESULT ID2D1EffectContext::CreateColorContextFromFilename([In] const wchar_t* filename,[Out, Fast] ID2D1ColorContext** colorContext) - ID2D1EffectContext::CreateColorContextFromFilename -
- - -

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.

-
- - hh404466 - HRESULT ID2D1EffectContext::CreateColorContextFromWicColorContext([In] IWICColorContext* wicColorContext,[Out, Fast] ID2D1ColorContext** colorContext) - ID2D1EffectContext::CreateColorContextFromWicColorContext -
- - -

This indicates whether an optional capability is supported by the D3D device.

-
-

The feature to query support for.

-

A structure indicating information about how or if the feature is supported.

-

The size of the featureSupportData parameter.

-

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.

?

- - hh871455 - HRESULT ID2D1EffectContext::CheckFeatureSupport([In] D2D1_FEATURE feature,[Out, Buffer] void* featureSupportData,[In] unsigned int featureSupportDataSize) - ID2D1EffectContext::CheckFeatureSupport -
- - -

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

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 -
- - - Gets or sets the effect. - - - - -

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 -
- - - 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 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 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 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 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 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 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 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 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 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 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 HueRotate effect. - - - - - Initializes a new instance of effect. - - - - - - The angle to rotate the hue, in degrees. - - - - - 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 LuminanceToAlpha effect. - - - - - Initializes a new instance of effect. - - - - - - 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. - - - - - The namespace provides a managed Direct2D1 built in Effects API. - - hh706327 - Direct2D1 Effects - Direct2D1 Effects - - - - Marks an area of an input image as opaque, so internal rendering optimizations to the graph are possible. - - - This effect doesn't modify the image itself to be opaque. It modifies data associated with the image so the renderer assumes the specified region is opaque. - - - - - Creates a new instance of the class. - - The device context where this effect is attached to. - - - - The portion of the source image that is opaque. The default is the entire input image. - - - - - Rotates the image in 3 dimensions as if viewed from a distance. - - - The is more convenient than the effect, but only exposes a subset of the functionality. You can compute a full 3D transformation matrix and apply a more arbitrary transform matrix to an image using the effect. - - - - - Creates a new instance of the class. - - The device context where this effect is attached to. - - - - Image interpolation mode. - - - - - The border mode. - - - - - The perspective depth. - - - - - The perspective origin. - - - - - The transformation local offset. - - - - - The transformation global offset. - - - - - The transformation rotation origin. - - - - - The transformation rotation. - - - - - 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 Premultiply effect. - - - - - Initializes a new instance of effect. - - - - - - 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 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 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. - - - - - 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 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. - - - - - 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 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 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. - - - - - 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 Premultiply effect. - - - - - Initializes a new instance of effect. - - - - - - The built-in YCbCr effect. - - - - - Initializes a new instance of the effect. - - The device context where this effect instance is attached to. - - - - Gets or sets the chroma subsampling of the input chroma image. - - - - - Gets or sets the axis-aligned affine transform of the image. Axis aligned transforms include Scale, Flips, and 90 degree rotations. - - - - - Gets or sets the interpolation mode. - - - - -

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

Represents an ellipse.

-
- - dd371239 - ID2D1EllipseGeometry - ID2D1EllipseGeometry -
- - - Creates an . - - an instance of - A value that describes the center point, x-radius, and y-radius of the ellipse geometry. - - - - Initializes a new instance of the 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.

-
- - dd371243 - GetEllipse - GetEllipse - void ID2D1EllipseGeometry::GetEllipse([Out] D2D1_ELLIPSE* ellipse) -
- - -

Gets the structure that describes this ellipse geometry.

-
- No documentation. - - dd371243 - void ID2D1EllipseGeometry::GetEllipse([Out] D2D1_ELLIPSE* ellipse) - ID2D1EllipseGeometry::GetEllipse -
- - -

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.

-
- - dd371246 - ID2D1Factory - ID2D1Factory -
- - - 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. - - - - - Initializes a new instance of the 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.

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

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

- - dd371270 - 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 -
- - -

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

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

-
- No documentation. - No documentation. - No documentation. - No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

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

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

- -

You must use for the minLevel member of the renderTargetProperties parameter with this method.

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

Note?? This method isn't supported on Windows Phone and will fail when called on a device with error code 0x8899000b (?There is no hardware rendering device available for this operation?). Because the Windows Phone Emulator supports WARP rendering, this method will fail when called on the emulator with a different error code, 0x88982f80 (wincodec_err_unsupportedpixelformat).

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

-
- - dd371279 - 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 -
- - -

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 -
- - - Default Constructor for a . - - - - - Default Constructor for a . - - - - - Default Constructor for a . - - - - - 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) - - - - Register a factory. - - - - - - - Register a factory. - - - - - - - - Register a . - - Type of - - - - Register a . - - Type of - - - - - 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. - - - - -

Creates a object.

-
- 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.
D3DERR_OUTOFVIDEOMEMORYDirect3D does not have enough display memory to perform the operation.

?

- -

The Direct2D device defines a resource domain in which a set of Direct2D objects and Direct2D device contexts can be used together. Each call to CreateDevice returns a unique object, even if you pass the same multiple times.

-
- - hh404599 - HRESULT ID2D1Factory1::CreateDevice([In] IDXGIDevice* dxgiDevice,[Out, Fast] ID2D1Device** d2dDevice) - ID2D1Factory1::CreateDevice -
- - -

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

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

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 address of the newly created drawing state block.

-

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.

?

- - jj841162 - HRESULT ID2D1Factory1::CreateDrawingStateBlock([In, Optional] const D2D1_DRAWING_STATE_DESCRIPTION1* drawingStateDescription,[In, Optional] IDWriteRenderingParams* textRenderingParams,[Out, Fast] ID2D1DrawingStateBlock1** drawingStateBlock) - ID2D1Factory1::CreateDrawingStateBlock -
- - -

Creates a new object that you can use to replay metafile content.

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

?

- - hh847995 - HRESULT ID2D1Factory1::CreateGdiMetafile([In] IStream* metafileStream,[Out] ID2D1GdiMetafile** metafile) - ID2D1Factory1::CreateGdiMetafile -
- - -

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 effects 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 -
- - -

Registers an effect within the factory instance with the property XML specified as a string.

-
-

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 effects 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 and derived device and device context interfaces.

-
- - hh404614 - 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 -
- - -

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

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

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

Creates Direct2D resources.

This interface also enables the creation of objects.

-
- - dn280481 - ID2D1Factory2 - ID2D1Factory2 -
- - - Creates a new instance of the class. - - - - - Creates a new instance of the class with the specified . - - The factory threading type. - - - - Creates a new instance of the class with the specified and . - - The factory threading type. - The factory debug level. - - - - Initializes a new instance of the 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 an object.

-
- 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.
D3DERR_OUTOFVIDEOMEMORYDirect3D does not have enough display memory to perform the operation.

?

- -

The Direct2D device defines a resource domain in which a set of Direct2D objects and Direct2D device contexts can be used together. Each call to CreateDevice returns a unique object, even if you pass the same multiple times.

-
- - dn280482 - HRESULT ID2D1Factory2::CreateDevice([In] IDXGIDevice* dxgiDevice,[Out, Fast] ID2D1Device1** d2dDevice1) - ID2D1Factory2::CreateDevice -
- - -

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 -
- - - Initializes a new instance of the 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.

Note??In Windows?7 and earlier, you should not call GetDC between PushAxisAlignedClip/PopAxisAlignedClip commands or between PushLayer/PopLayer. However, this restriction does not apply to Windows?8 and later.?

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

The interpolation mode to be used with the 2D affine transform effect to scale the image. There are 6 scale modes that range in quality and speed.

-
- - dn934205 - D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE - D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE -
- - -

Samples the nearest single point and uses that. This mode uses less processing time, but outputs the lowest quality image.

-
- - dn934205 - D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_NEAREST_NEIGHBOR - D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_NEAREST_NEIGHBOR -
- - -

Uses a four point sample and linear interpolation. This mode uses more processing time than the nearest neighbor mode, but outputs a higher quality image.

-
- - dn934205 - D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_LINEAR - D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_LINEAR -
- - -

Uses a 16 sample cubic kernel for interpolation. This mode uses the most processing time, but outputs a higher quality image.

-
- - dn934205 - D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_CUBIC - D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_CUBIC -
- - -

Uses 4 linear samples within a single pixel for good edge anti-aliasing. This mode is good for scaling down by small amounts on images with few pixels.

-
- - dn934205 - D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR - D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR -
- - -

Uses anisotropic filtering to sample a pattern according to the transformed shape of the bitmap.

-
- - dn934205 - D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_ANISOTROPIC - D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_ANISOTROPIC -
- - -

Uses a variable size high quality cubic kernel to perform a pre-downscale the image if downscaling is involved in the transform matrix. Then uses the cubic interpolation mode for the final output.

-
- - dn934205 - D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_HIGH_QUALITY_CUBIC - D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_HIGH_QUALITY_CUBIC -
- - -

Identifiers for properties of the 2D affine transform effect.

-
- - dn934206 - D2D1_2DAFFINETRANSFORM_PROP - D2D1_2DAFFINETRANSFORM_PROP -
- - - No documentation. - - - dn934206 - D2D1_2DAFFINETRANSFORM_PROP_INTERPOLATION_MODE - D2D1_2DAFFINETRANSFORM_PROP_INTERPOLATION_MODE - - - - No documentation. - - - dn934206 - D2D1_2DAFFINETRANSFORM_PROP_BORDER_MODE - D2D1_2DAFFINETRANSFORM_PROP_BORDER_MODE - - - - No documentation. - - - dn934206 - D2D1_2DAFFINETRANSFORM_PROP_TRANSFORM_MATRIX - D2D1_2DAFFINETRANSFORM_PROP_TRANSFORM_MATRIX - - - - No documentation. - - - dn934206 - 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.

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

Identifiers for the properties of the Arithmetic composite effect.

-
- - dn934211 - D2D1_ARITHMETICCOMPOSITE_PROP - D2D1_ARITHMETICCOMPOSITE_PROP -
- - - No documentation. - - - dn934211 - D2D1_ARITHMETICCOMPOSITE_PROP_COEFFICIENTS - D2D1_ARITHMETICCOMPOSITE_PROP_COEFFICIENTS - - - - No documentation. - - - dn934211 - D2D1_ARITHMETICCOMPOSITE_PROP_CLAMP_OUTPUT - D2D1_ARITHMETICCOMPOSITE_PROP_CLAMP_OUTPUT - - - -

Identifiers for properties of the Atlas effect.

-
- - dn934212 - D2D1_ATLAS_PROP - D2D1_ATLAS_PROP -
- - - No documentation. - - - dn934212 - D2D1_ATLAS_PROP_INPUT_RECT - D2D1_ATLAS_PROP_INPUT_RECT - - - - No documentation. - - - dn934212 - D2D1_ATLAS_PROP_INPUT_PADDING_RECT - D2D1_ATLAS_PROP_INPUT_PADDING_RECT - - - -

Specifies the algorithm that is used when images are scaled or rotated.

Note??Starting in Windows?8, more interpolations modes are available. See for more info.? -
- -

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 -
- - - No documentation. - - - dd368073 - D2D1_BITMAP_INTERPOLATION_MODE_NEAREST_NEIGHBOR - D2D1_BITMAP_INTERPOLATION_MODE_NEAREST_NEIGHBOR - - - - No documentation. - - - dd368073 - D2D1_BITMAP_INTERPOLATION_MODE_LINEAR - D2D1_BITMAP_INTERPOLATION_MODE_LINEAR - - - -

Specifies how a bitmap can be used.

-
- -

implies that none of the flags are set. This means that the bitmap can be used for drawing from, cannot be set as a target and cannot be read from by the CPU.

means that the bitmap can be specified as a target in . If you also specify the flag the bitmap can be used a target but, it cannot be drawn from. Attempting to draw with a bitmap that has both flags set will result in the device context being put into an error state with .

means that the bitmap can be mapped by using . This flag requires and cannot be combined with any other flags. The bitmap must be updated with the CopyFromBitmap or CopyFromRenderTarget methods.

Note??You should only use is when the purpose of the bitmap is to be a target only or when the bitmap will be mapped .?

means that it is possible to get a DC associated with this bitmap. 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 the CPU.

-
- - hh446984 - D2D1_BITMAP_OPTIONS_CPU_READ - D2D1_BITMAP_OPTIONS_CPU_READ -
- - -

The bitmap works with .

Note??This flag is not available in Windows Store apps. ?
-
- - hh446984 - D2D1_BITMAP_OPTIONS_GDI_COMPATIBLE - D2D1_BITMAP_OPTIONS_GDI_COMPATIBLE -
- - -

Specifies the alpha mode of the output of the Bitmap source effect.

-
- - dn934213 - D2D1_BITMAPSOURCE_ALPHA_MODE - D2D1_BITMAPSOURCE_ALPHA_MODE -
- - - No documentation. - - - dn934213 - D2D1_BITMAPSOURCE_ALPHA_MODE_PREMULTIPLIED - D2D1_BITMAPSOURCE_ALPHA_MODE_PREMULTIPLIED - - - - No documentation. - - - dn934213 - D2D1_BITMAPSOURCE_ALPHA_MODE_STRAIGHT - D2D1_BITMAPSOURCE_ALPHA_MODE_STRAIGHT - - - -

The interpolation mode used to scale the image in the Bitmap source effect. If the mode disables the mipmap, then BitmapSouce will cache the image at the resolution determined by the Scale and EnableDPICorrection properties.

-
- - dn934214 - D2D1_BITMAPSOURCE_INTERPOLATION_MODE - D2D1_BITMAPSOURCE_INTERPOLATION_MODE -
- - - No documentation. - - - dn934214 - D2D1_BITMAPSOURCE_INTERPOLATION_MODE_NEAREST_NEIGHBOR - D2D1_BITMAPSOURCE_INTERPOLATION_MODE_NEAREST_NEIGHBOR - - - - No documentation. - - - dn934214 - D2D1_BITMAPSOURCE_INTERPOLATION_MODE_LINEAR - D2D1_BITMAPSOURCE_INTERPOLATION_MODE_LINEAR - - - - No documentation. - - - dn934214 - D2D1_BITMAPSOURCE_INTERPOLATION_MODE_CUBIC - D2D1_BITMAPSOURCE_INTERPOLATION_MODE_CUBIC - - - - No documentation. - - - dn934214 - D2D1_BITMAPSOURCE_INTERPOLATION_MODE_FANT - D2D1_BITMAPSOURCE_INTERPOLATION_MODE_FANT - - - - No documentation. - - - dn934214 - D2D1_BITMAPSOURCE_INTERPOLATION_MODE_MIPMAP_LINEAR - D2D1_BITMAPSOURCE_INTERPOLATION_MODE_MIPMAP_LINEAR - - - -

Speficies whether a flip and/or rotation operation should be performed by the Bitmap source effect

-
- - dn934215 - D2D1_BITMAPSOURCE_ORIENTATION - D2D1_BITMAPSOURCE_ORIENTATION -
- - - No documentation. - - - dn934215 - D2D1_BITMAPSOURCE_ORIENTATION_DEFAULT - D2D1_BITMAPSOURCE_ORIENTATION_DEFAULT - - - - No documentation. - - - dn934215 - D2D1_BITMAPSOURCE_ORIENTATION_FLIP_HORIZONTAL - D2D1_BITMAPSOURCE_ORIENTATION_FLIP_HORIZONTAL - - - - No documentation. - - - dn934215 - D2D1_BITMAPSOURCE_ORIENTATION_ROTATE_CLOCKWISE180 - D2D1_BITMAPSOURCE_ORIENTATION_ROTATE_CLOCKWISE180 - - - - No documentation. - - - dn934215 - D2D1_BITMAPSOURCE_ORIENTATION_ROTATE_CLOCKWISE180_FLIP_HORIZONTAL - D2D1_BITMAPSOURCE_ORIENTATION_ROTATE_CLOCKWISE180_FLIP_HORIZONTAL - - - - No documentation. - - - dn934215 - D2D1_BITMAPSOURCE_ORIENTATION_ROTATE_CLOCKWISE270_FLIP_HORIZONTAL - D2D1_BITMAPSOURCE_ORIENTATION_ROTATE_CLOCKWISE270_FLIP_HORIZONTAL - - - - No documentation. - - - dn934215 - D2D1_BITMAPSOURCE_ORIENTATION_ROTATE_CLOCKWISE90 - D2D1_BITMAPSOURCE_ORIENTATION_ROTATE_CLOCKWISE90 - - - - No documentation. - - - dn934215 - D2D1_BITMAPSOURCE_ORIENTATION_ROTATE_CLOCKWISE90_FLIP_HORIZONTAL - D2D1_BITMAPSOURCE_ORIENTATION_ROTATE_CLOCKWISE90_FLIP_HORIZONTAL - - - - No documentation. - - - dn934215 - D2D1_BITMAPSOURCE_ORIENTATION_ROTATE_CLOCKWISE270 - D2D1_BITMAPSOURCE_ORIENTATION_ROTATE_CLOCKWISE270 - - - -

Identifiers for properties of the Bitmap source effect.

-
- - dn934216 - D2D1_BITMAPSOURCE_PROP - D2D1_BITMAPSOURCE_PROP -
- - - No documentation. - - - dn934216 - D2D1_BITMAPSOURCE_PROP_WIC_BITMAP_SOURCE - D2D1_BITMAPSOURCE_PROP_WIC_BITMAP_SOURCE - - - - No documentation. - - - dn934216 - D2D1_BITMAPSOURCE_PROP_SCALE - D2D1_BITMAPSOURCE_PROP_SCALE - - - - No documentation. - - - dn934216 - D2D1_BITMAPSOURCE_PROP_INTERPOLATION_MODE - D2D1_BITMAPSOURCE_PROP_INTERPOLATION_MODE - - - - No documentation. - - - dn934216 - D2D1_BITMAPSOURCE_PROP_ENABLE_DPI_CORRECTION - D2D1_BITMAPSOURCE_PROP_ENABLE_DPI_CORRECTION - - - - No documentation. - - - dn934216 - D2D1_BITMAPSOURCE_PROP_ALPHA_MODE - D2D1_BITMAPSOURCE_PROP_ALPHA_MODE - - - - No documentation. - - - dn934216 - D2D1_BITMAPSOURCE_PROP_ORIENTATION - D2D1_BITMAPSOURCE_PROP_ORIENTATION - - - -

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 not 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 -
- - -

The blend mode used for the Blend effect.

-
- - dn934217 - D2D1_BLEND_MODE - D2D1_BLEND_MODE -
- - - No documentation. - - - dn934217 - D2D1_BLEND_MODE_MULTIPLY - D2D1_BLEND_MODE_MULTIPLY - - - - No documentation. - - - dn934217 - D2D1_BLEND_MODE_SCREEN - D2D1_BLEND_MODE_SCREEN - - - - No documentation. - - - dn934217 - D2D1_BLEND_MODE_DARKEN - D2D1_BLEND_MODE_DARKEN - - - - No documentation. - - - dn934217 - D2D1_BLEND_MODE_LIGHTEN - D2D1_BLEND_MODE_LIGHTEN - - - - No documentation. - - - dn934217 - D2D1_BLEND_MODE_DISSOLVE - D2D1_BLEND_MODE_DISSOLVE - - - - No documentation. - - - dn934217 - D2D1_BLEND_MODE_COLOR_BURN - D2D1_BLEND_MODE_COLOR_BURN - - - - No documentation. - - - dn934217 - D2D1_BLEND_MODE_LINEAR_BURN - D2D1_BLEND_MODE_LINEAR_BURN - - - - No documentation. - - - dn934217 - D2D1_BLEND_MODE_DARKER_COLOR - D2D1_BLEND_MODE_DARKER_COLOR - - - - No documentation. - - - dn934217 - D2D1_BLEND_MODE_LIGHTER_COLOR - D2D1_BLEND_MODE_LIGHTER_COLOR - - - - No documentation. - - - dn934217 - D2D1_BLEND_MODE_COLOR_DODGE - D2D1_BLEND_MODE_COLOR_DODGE - - - - No documentation. - - - dn934217 - D2D1_BLEND_MODE_LINEAR_DODGE - D2D1_BLEND_MODE_LINEAR_DODGE - - - - No documentation. - - - dn934217 - D2D1_BLEND_MODE_OVERLAY - D2D1_BLEND_MODE_OVERLAY - - - - No documentation. - - - dn934217 - D2D1_BLEND_MODE_SOFT_LIGHT - D2D1_BLEND_MODE_SOFT_LIGHT - - - - No documentation. - - - dn934217 - D2D1_BLEND_MODE_HARD_LIGHT - D2D1_BLEND_MODE_HARD_LIGHT - - - - No documentation. - - - dn934217 - D2D1_BLEND_MODE_VIVID_LIGHT - D2D1_BLEND_MODE_VIVID_LIGHT - - - - No documentation. - - - dn934217 - D2D1_BLEND_MODE_LINEAR_LIGHT - D2D1_BLEND_MODE_LINEAR_LIGHT - - - - No documentation. - - - dn934217 - D2D1_BLEND_MODE_PIN_LIGHT - D2D1_BLEND_MODE_PIN_LIGHT - - - - No documentation. - - - dn934217 - D2D1_BLEND_MODE_HARD_MIX - D2D1_BLEND_MODE_HARD_MIX - - - - No documentation. - - - dn934217 - D2D1_BLEND_MODE_DIFFERENCE - D2D1_BLEND_MODE_DIFFERENCE - - - - No documentation. - - - dn934217 - D2D1_BLEND_MODE_EXCLUSION - D2D1_BLEND_MODE_EXCLUSION - - - - No documentation. - - - dn934217 - D2D1_BLEND_MODE_HUE - D2D1_BLEND_MODE_HUE - - - - No documentation. - - - dn934217 - D2D1_BLEND_MODE_SATURATION - D2D1_BLEND_MODE_SATURATION - - - - No documentation. - - - dn934217 - D2D1_BLEND_MODE_COLOR - D2D1_BLEND_MODE_COLOR - - - - No documentation. - - - dn934217 - D2D1_BLEND_MODE_LUMINOSITY - D2D1_BLEND_MODE_LUMINOSITY - - - - No documentation. - - - dn934217 - D2D1_BLEND_MODE_SUBTRACT - D2D1_BLEND_MODE_SUBTRACT - - - - No documentation. - - - dn934217 - D2D1_BLEND_MODE_DIVISION - D2D1_BLEND_MODE_DIVISION - - - -

Specifies the blend operation on two color sources.

-
- -

This enumeration has the same numeric values as D3D10_BLEND_OP.

-
- - hh404278 - D2D1_BLEND_OPERATION - D2D1_BLEND_OPERATION -
- - -

Add source 1 and source 2.

-
- - hh404278 - D2D1_BLEND_OPERATION_ADD - D2D1_BLEND_OPERATION_ADD -
- - -

Subtract source 1 from source 2.

-
- - hh404278 - D2D1_BLEND_OPERATION_SUBTRACT - D2D1_BLEND_OPERATION_SUBTRACT -
- - -

Subtract source 2 from source 1.

-
- - hh404278 - D2D1_BLEND_OPERATION_REV_SUBTRACT - D2D1_BLEND_OPERATION_REV_SUBTRACT -
- - -

Find the minimum of source 1 and source 2.

-
- - hh404278 - D2D1_BLEND_OPERATION_MIN - D2D1_BLEND_OPERATION_MIN -
- - -

Find the maximum of source 1 and source 2.

-
- - hh404278 - D2D1_BLEND_OPERATION_MAX - D2D1_BLEND_OPERATION_MAX -
- - -

Identifiers for properties of the Blend effect.

-
- - dn934218 - D2D1_BLEND_PROP - D2D1_BLEND_PROP -
- - - No documentation. - - - dn934218 - D2D1_BLEND_PROP_MODE - D2D1_BLEND_PROP_MODE - - - -

The edge mode for the Border effect.

-
- - dn934219 - D2D1_BORDER_EDGE_MODE - D2D1_BORDER_EDGE_MODE -
- - - No documentation. - - - dn934219 - D2D1_BORDER_EDGE_MODE_CLAMP - D2D1_BORDER_EDGE_MODE_CLAMP - - - - No documentation. - - - dn934219 - D2D1_BORDER_EDGE_MODE_WRAP - D2D1_BORDER_EDGE_MODE_WRAP - - - - No documentation. - - - dn934219 - D2D1_BORDER_EDGE_MODE_MIRROR - D2D1_BORDER_EDGE_MODE_MIRROR - - - -

Specifies how the Crop effect handles the crop rectangle falling on fractional pixel coordinates.

-
- - dn934220 - D2D1_BORDER_MODE - D2D1_BORDER_MODE -
- - - No documentation. - - - dn934220 - D2D1_BORDER_MODE_SOFT - D2D1_BORDER_MODE_SOFT - - - - No documentation. - - - dn934220 - D2D1_BORDER_MODE_HARD - D2D1_BORDER_MODE_HARD - - - -

Identifiers for properties of the Border effect.

-
- - dn934221 - D2D1_BORDER_PROP - D2D1_BORDER_PROP -
- - - No documentation. - - - dn934221 - D2D1_BORDER_PROP_EDGE_MODE_X - D2D1_BORDER_PROP_EDGE_MODE_X - - - - No documentation. - - - dn934221 - D2D1_BORDER_PROP_EDGE_MODE_Y - D2D1_BORDER_PROP_EDGE_MODE_Y - - - -

Identifiers for the properties of the Brightness effect.

-
- - dn934223 - D2D1_BRIGHTNESS_PROP - D2D1_BRIGHTNESS_PROP -
- - - No documentation. - - - dn934223 - D2D1_BRIGHTNESS_PROP_WHITE_POINT - D2D1_BRIGHTNESS_PROP_WHITE_POINT - - - - No documentation. - - - dn934223 - D2D1_BRIGHTNESS_PROP_BLACK_POINT - D2D1_BRIGHTNESS_PROP_BLACK_POINT - - - -

Represents the bit depth of the imaging pipeline in Direct2D.

-
- - Note?? Feature level 9 may or may not support precision types other than 8BPC.? - - - 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 8-bit normalized integer standard RGB data 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 16-bit floats per channel.

-
- - hh446986 - D2D1_BUFFER_PRECISION_16BPC_FLOAT - D2D1_BUFFER_PRECISION_16BPC_FLOAT -
- - -

Use 32-bit floats per channel.

-
- - hh446986 - 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 -
- - -

Describes flags that influence how the renderer interacts with a custom vertex shader.

-
- - hh404280 - D2D1_CHANGE_TYPE - D2D1_CHANGE_TYPE -
- - -

There were no changes.

-
- - hh404280 - D2D1_CHANGE_TYPE_NONE - D2D1_CHANGE_TYPE_NONE -
- - -

The properties of the effect changed.

-
- - hh404280 - D2D1_CHANGE_TYPE_PROPERTIES - D2D1_CHANGE_TYPE_PROPERTIES -
- - -

The context state changed.

-
- - hh404280 - D2D1_CHANGE_TYPE_CONTEXT - D2D1_CHANGE_TYPE_CONTEXT -
- - -

The effect?s transform graph has changed. This happens only when an effect supports a variable input count.

-
- - hh404280 - D2D1_CHANGE_TYPE_GRAPH - D2D1_CHANGE_TYPE_GRAPH -
- - -

Allows a caller to control the channel depth of a stage in the rendering pipeline.

-
- - hh404281 - D2D1_CHANNEL_DEPTH - D2D1_CHANNEL_DEPTH -
- - -

The channel depth is the default. It is inherited from the inputs.

-
- - hh404281 - D2D1_CHANNEL_DEPTH_DEFAULT - D2D1_CHANNEL_DEPTH_DEFAULT -
- - -

The channel depth is 1.

-
- - hh404281 - D2D1_CHANNEL_DEPTH_1 - D2D1_CHANNEL_DEPTH_1 -
- - -

The channel depth is 4.

-
- - hh404281 - D2D1_CHANNEL_DEPTH_4 - D2D1_CHANNEL_DEPTH_4 -
- - -

Specifies the color channel the Displacement map effect extracts the intensity from and uses it to spatially displace the image in the X or Y direction.

-
- - dn934224 - D2D1_CHANNEL_SELECTOR - D2D1_CHANNEL_SELECTOR -
- - - No documentation. - - - dn934224 - D2D1_CHANNEL_SELECTOR_R - D2D1_CHANNEL_SELECTOR_R - - - - No documentation. - - - dn934224 - D2D1_CHANNEL_SELECTOR_G - D2D1_CHANNEL_SELECTOR_G - - - - No documentation. - - - dn934224 - D2D1_CHANNEL_SELECTOR_B - D2D1_CHANNEL_SELECTOR_B - - - - No documentation. - - - dn934224 - D2D1_CHANNEL_SELECTOR_A - D2D1_CHANNEL_SELECTOR_A - - - -

Identifiers for properties of the Chroma-key effect.

-
- - dn890719 - D2D1_CHROMAKEY_PROP - D2D1_CHROMAKEY_PROP -
- - - No documentation. - - - dn890719 - D2D1_CHROMAKEY_PROP_COLOR - D2D1_CHROMAKEY_PROP_COLOR - - - - No documentation. - - - dn890719 - D2D1_CHROMAKEY_PROP_TOLERANCE - D2D1_CHROMAKEY_PROP_TOLERANCE - - - - No documentation. - - - dn890719 - D2D1_CHROMAKEY_PROP_INVERT_ALPHA - D2D1_CHROMAKEY_PROP_INVERT_ALPHA - - - - No documentation. - - - dn890719 - D2D1_CHROMAKEY_PROP_FEATHER - D2D1_CHROMAKEY_PROP_FEATHER - - - -

Specifies the pixel snapping policy when rendering color bitmap glyphs.

-
- - mt736463 - D2D1_COLOR_BITMAP_GLYPH_SNAP_OPTION - D2D1_COLOR_BITMAP_GLYPH_SNAP_OPTION -
- - -

Color bitmap glyph positions are snapped to the nearest pixel if the bitmap resolution matches that of the device context.

-
- - mt736463 - D2D1_COLOR_BITMAP_GLYPH_SNAP_OPTION_DEFAULT - D2D1_COLOR_BITMAP_GLYPH_SNAP_OPTION_DEFAULT -
- - -

Color bitmap glyph positions are not snapped.

-
- - mt736463 - D2D1_COLOR_BITMAP_GLYPH_SNAP_OPTION_DISABLE - D2D1_COLOR_BITMAP_GLYPH_SNAP_OPTION_DISABLE -
- - -

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_COLOR_CONTEXT_TYPE - D2D1_COLOR_CONTEXT_TYPE -
- - -

The render target uses hardware rendering, if available; otherwise, it uses software rendering.

-
- - dd756630 - D2D1_COLOR_CONTEXT_TYPE_ICC - D2D1_COLOR_CONTEXT_TYPE_ICC -
- - -

The render target uses software rendering only.

-
- - dd756630 - D2D1_COLOR_CONTEXT_TYPE_SIMPLE - D2D1_COLOR_CONTEXT_TYPE_SIMPLE -
- - -

The render target uses hardware rendering only.

-
- - dd756630 - D2D1_COLOR_CONTEXT_TYPE_DXGI - D2D1_COLOR_CONTEXT_TYPE_DXGI -
- - -

Defines how to interpolate between colors.

-
- - hh871441 - D2D1_COLOR_INTERPOLATION_MODE - D2D1_COLOR_INTERPOLATION_MODE -
- - -

Colors are interpolated with straight alpha.

-
- - hh871441 - D2D1_COLOR_INTERPOLATION_MODE_STRAIGHT - D2D1_COLOR_INTERPOLATION_MODE_STRAIGHT -
- - -

Colors are interpolated with premultiplied alpha.

-
- - hh871441 - D2D1_COLOR_INTERPOLATION_MODE_PREMULTIPLIED - D2D1_COLOR_INTERPOLATION_MODE_PREMULTIPLIED -
- - -

Indicates how the Color management effect should interpret alpha data that is contained in the input image.

-
- - dn934225 - D2D1_COLORMANAGEMENT_ALPHA_MODE - D2D1_COLORMANAGEMENT_ALPHA_MODE -
- - - No documentation. - - - dn934225 - D2D1_COLORMANAGEMENT_ALPHA_MODE_PREMULTIPLIED - D2D1_COLORMANAGEMENT_ALPHA_MODE_PREMULTIPLIED - - - - No documentation. - - - dn934225 - D2D1_COLORMANAGEMENT_ALPHA_MODE_STRAIGHT - D2D1_COLORMANAGEMENT_ALPHA_MODE_STRAIGHT - - - -

Identifiers for the properties of the Color management effect.

-
- - dn934226 - D2D1_COLORMANAGEMENT_PROP - D2D1_COLORMANAGEMENT_PROP -
- - - No documentation. - - - dn934226 - D2D1_COLORMANAGEMENT_PROP_SOURCE_COLOR_CONTEXT - D2D1_COLORMANAGEMENT_PROP_SOURCE_COLOR_CONTEXT - - - - No documentation. - - - dn934226 - D2D1_COLORMANAGEMENT_PROP_SOURCE_RENDERING_INTENT - D2D1_COLORMANAGEMENT_PROP_SOURCE_RENDERING_INTENT - - - - No documentation. - - - dn934226 - D2D1_COLORMANAGEMENT_PROP_DESTINATION_COLOR_CONTEXT - D2D1_COLORMANAGEMENT_PROP_DESTINATION_COLOR_CONTEXT - - - - No documentation. - - - dn934226 - D2D1_COLORMANAGEMENT_PROP_DESTINATION_RENDERING_INTENT - D2D1_COLORMANAGEMENT_PROP_DESTINATION_RENDERING_INTENT - - - - No documentation. - - - dn934226 - D2D1_COLORMANAGEMENT_PROP_ALPHA_MODE - D2D1_COLORMANAGEMENT_PROP_ALPHA_MODE - - - - No documentation. - - - dn934226 - D2D1_COLORMANAGEMENT_PROP_QUALITY - D2D1_COLORMANAGEMENT_PROP_QUALITY - - - -

The quality level of the transform for the Color management effect.

-
- - dn934227 - D2D1_COLORMANAGEMENT_QUALITY - D2D1_COLORMANAGEMENT_QUALITY -
- - - No documentation. - - - dn934227 - D2D1_COLORMANAGEMENT_QUALITY_PROOF - D2D1_COLORMANAGEMENT_QUALITY_PROOF - - - - No documentation. - - - dn934227 - D2D1_COLORMANAGEMENT_QUALITY_NORMAL - D2D1_COLORMANAGEMENT_QUALITY_NORMAL - - - - No documentation. - - - dn934227 - D2D1_COLORMANAGEMENT_QUALITY_BEST - D2D1_COLORMANAGEMENT_QUALITY_BEST - - - -

Specifies which ICC rendering intent the Color management effect should use.

-
- - dn934228 - D2D1_COLORMANAGEMENT_RENDERING_INTENT - D2D1_COLORMANAGEMENT_RENDERING_INTENT -
- - - No documentation. - - - dn934228 - D2D1_COLORMANAGEMENT_RENDERING_INTENT_PERCEPTUAL - D2D1_COLORMANAGEMENT_RENDERING_INTENT_PERCEPTUAL - - - - No documentation. - - - dn934228 - D2D1_COLORMANAGEMENT_RENDERING_INTENT_RELATIVE_COLORIMETRIC - D2D1_COLORMANAGEMENT_RENDERING_INTENT_RELATIVE_COLORIMETRIC - - - - No documentation. - - - dn934228 - D2D1_COLORMANAGEMENT_RENDERING_INTENT_SATURATION - D2D1_COLORMANAGEMENT_RENDERING_INTENT_SATURATION - - - - No documentation. - - - dn934228 - D2D1_COLORMANAGEMENT_RENDERING_INTENT_ABSOLUTE_COLORIMETRIC - D2D1_COLORMANAGEMENT_RENDERING_INTENT_ABSOLUTE_COLORIMETRIC - - - -

The alpha mode of the output of the Color matrix effect.

-
- - dn934229 - D2D1_COLORMATRIX_ALPHA_MODE - D2D1_COLORMATRIX_ALPHA_MODE -
- - - No documentation. - - - dn934229 - D2D1_COLORMATRIX_ALPHA_MODE_PREMULTIPLIED - D2D1_COLORMATRIX_ALPHA_MODE_PREMULTIPLIED - - - - No documentation. - - - dn934229 - D2D1_COLORMATRIX_ALPHA_MODE_STRAIGHT - D2D1_COLORMATRIX_ALPHA_MODE_STRAIGHT - - - -

Identifiers for the properties of the Color matrix effect.

-
- - dn934230 - D2D1_COLORMATRIX_PROP - D2D1_COLORMATRIX_PROP -
- - - No documentation. - - - dn934230 - D2D1_COLORMATRIX_PROP_COLOR_MATRIX - D2D1_COLORMATRIX_PROP_COLOR_MATRIX - - - - No documentation. - - - dn934230 - D2D1_COLORMATRIX_PROP_ALPHA_MODE - D2D1_COLORMATRIX_PROP_ALPHA_MODE - - - - No documentation. - - - dn934230 - D2D1_COLORMATRIX_PROP_CLAMP_OUTPUT - D2D1_COLORMATRIX_PROP_CLAMP_OUTPUT - - - -

Defines options that should be applied to the color space.

-
- - hh446992 - D2D1_COLOR_SPACE - D2D1_COLOR_SPACE -
- - -

The color space is otherwise described, such as with a color profile.

-
- - hh446992 - D2D1_COLOR_SPACE_CUSTOM - D2D1_COLOR_SPACE_CUSTOM -
- - -

The color space is sRGB.

-
- - hh446992 - D2D1_COLOR_SPACE_SRGB - D2D1_COLOR_SPACE_SRGB -
- - -

The color space is scRGB.

-
- - hh446992 - 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 -
- - -

Used to specify the blend mode for all of the Direct2D blending operations.

-
- -

The figure here shows an example of each of the modes with images that have an opacity of 1.0 or 0.5.

There can be slightly different interpretations of these enumeration values depending on where the value is used.

  • With a composite effect: -

    D2D1_COMPOSITE_MODE_DESTINATION_COPY is equivalent to with the inputs inverted.
  • As a parameter to :

    D2D1_COMPOSITE_MODE_DESTINATION_COPY is a no-op since the destination is already in the selected target.
-
- - hh446995 - D2D1_COMPOSITE_MODE - D2D1_COMPOSITE_MODE -
- - -

The standard source-over-destination blend mode.

-
- - hh446995 - D2D1_COMPOSITE_MODE_SOURCE_OVER - D2D1_COMPOSITE_MODE_SOURCE_OVER -
- - -

The destination is rendered over the source.

-
- - hh446995 - D2D1_COMPOSITE_MODE_DESTINATION_OVER - D2D1_COMPOSITE_MODE_DESTINATION_OVER -
- - -

Performs a logical clip of the source pixels against the destination pixels.

-
- - hh446995 - D2D1_COMPOSITE_MODE_SOURCE_IN - D2D1_COMPOSITE_MODE_SOURCE_IN -
- - -

The inverse of the operation.

-
- - hh446995 - D2D1_COMPOSITE_MODE_DESTINATION_IN - D2D1_COMPOSITE_MODE_DESTINATION_IN -
- - -

This is the logical inverse to .

-
- - hh446995 - D2D1_COMPOSITE_MODE_SOURCE_OUT - D2D1_COMPOSITE_MODE_SOURCE_OUT -
- - -

The is the logical inverse to .

-
- - hh446995 - D2D1_COMPOSITE_MODE_DESTINATION_OUT - D2D1_COMPOSITE_MODE_DESTINATION_OUT -
- - -

Writes the source pixels over the destination where there are destination pixels.

-
- - hh446995 - D2D1_COMPOSITE_MODE_SOURCE_ATOP - D2D1_COMPOSITE_MODE_SOURCE_ATOP -
- - -

The logical inverse of .

-
- - hh446995 - D2D1_COMPOSITE_MODE_DESTINATION_ATOP - D2D1_COMPOSITE_MODE_DESTINATION_ATOP -
- - -

The source is inverted with the destination.

-
- - hh446995 - D2D1_COMPOSITE_MODE_XOR - D2D1_COMPOSITE_MODE_XOR -
- - -

The channel components are summed.

-
- - hh446995 - D2D1_COMPOSITE_MODE_PLUS - D2D1_COMPOSITE_MODE_PLUS -
- - -

The source is copied to the destination; the destination pixels are ignored.

-
- - hh446995 - D2D1_COMPOSITE_MODE_SOURCE_COPY - D2D1_COMPOSITE_MODE_SOURCE_COPY -
- - -

Equivalent to , but pixels outside of the source bounds are unchanged. -

-
- - hh446995 - D2D1_COMPOSITE_MODE_BOUNDED_SOURCE_COPY - D2D1_COMPOSITE_MODE_BOUNDED_SOURCE_COPY -
- - -

Destination colors are inverted according to a source mask. -

-
- - hh446995 - D2D1_COMPOSITE_MODE_MASK_INVERT - D2D1_COMPOSITE_MODE_MASK_INVERT -
- - -

Identifiers for properties of the Composite effect.

-
- - dn934231 - D2D1_COMPOSITE_PROP - D2D1_COMPOSITE_PROP -
- - - No documentation. - - - dn934231 - D2D1_COMPOSITE_PROP_MODE - D2D1_COMPOSITE_PROP_MODE - - - -

Identifiers for properties of the Contrast effect.

-
- - dn890720 - D2D1_CONTRAST_PROP - D2D1_CONTRAST_PROP -
- - - No documentation. - - - dn890720 - D2D1_CONTRAST_PROP_CONTRAST - D2D1_CONTRAST_PROP_CONTRAST - - - - No documentation. - - - dn890720 - D2D1_CONTRAST_PROP_CLAMP_INPUT - D2D1_CONTRAST_PROP_CLAMP_INPUT - - - -

Identifiers for properties of the Convolve matrix effect.

-
- - dn934232 - D2D1_CONVOLVEMATRIX_PROP - D2D1_CONVOLVEMATRIX_PROP -
- - - No documentation. - - - dn934232 - D2D1_CONVOLVEMATRIX_PROP_KERNEL_UNIT_LENGTH - D2D1_CONVOLVEMATRIX_PROP_KERNEL_UNIT_LENGTH - - - - No documentation. - - - dn934232 - D2D1_CONVOLVEMATRIX_PROP_SCALE_MODE - D2D1_CONVOLVEMATRIX_PROP_SCALE_MODE - - - - No documentation. - - - dn934232 - D2D1_CONVOLVEMATRIX_PROP_KERNEL_SIZE_X - D2D1_CONVOLVEMATRIX_PROP_KERNEL_SIZE_X - - - - No documentation. - - - dn934232 - D2D1_CONVOLVEMATRIX_PROP_KERNEL_SIZE_Y - D2D1_CONVOLVEMATRIX_PROP_KERNEL_SIZE_Y - - - - No documentation. - - - dn934232 - D2D1_CONVOLVEMATRIX_PROP_KERNEL_MATRIX - D2D1_CONVOLVEMATRIX_PROP_KERNEL_MATRIX - - - - No documentation. - - - dn934232 - D2D1_CONVOLVEMATRIX_PROP_DIVISOR - D2D1_CONVOLVEMATRIX_PROP_DIVISOR - - - - No documentation. - - - dn934232 - D2D1_CONVOLVEMATRIX_PROP_BIAS - D2D1_CONVOLVEMATRIX_PROP_BIAS - - - - No documentation. - - - dn934232 - D2D1_CONVOLVEMATRIX_PROP_KERNEL_OFFSET - D2D1_CONVOLVEMATRIX_PROP_KERNEL_OFFSET - - - - No documentation. - - - dn934232 - D2D1_CONVOLVEMATRIX_PROP_PRESERVE_ALPHA - D2D1_CONVOLVEMATRIX_PROP_PRESERVE_ALPHA - - - - No documentation. - - - dn934232 - D2D1_CONVOLVEMATRIX_PROP_BORDER_MODE - D2D1_CONVOLVEMATRIX_PROP_BORDER_MODE - - - - No documentation. - - - dn934232 - D2D1_CONVOLVEMATRIX_PROP_CLAMP_OUTPUT - D2D1_CONVOLVEMATRIX_PROP_CLAMP_OUTPUT - - - -

The interpolation mode the Convolve matrix effect uses to scale the image to the corresponding kernel unit length. There are six scale modes that range in quality and speed.

-
- - dn934233 - D2D1_CONVOLVEMATRIX_SCALE_MODE - D2D1_CONVOLVEMATRIX_SCALE_MODE -
- - - No documentation. - - - dn934233 - D2D1_CONVOLVEMATRIX_SCALE_MODE_NEAREST_NEIGHBOR - D2D1_CONVOLVEMATRIX_SCALE_MODE_NEAREST_NEIGHBOR - - - - No documentation. - - - dn934233 - D2D1_CONVOLVEMATRIX_SCALE_MODE_LINEAR - D2D1_CONVOLVEMATRIX_SCALE_MODE_LINEAR - - - - No documentation. - - - dn934233 - D2D1_CONVOLVEMATRIX_SCALE_MODE_CUBIC - D2D1_CONVOLVEMATRIX_SCALE_MODE_CUBIC - - - - No documentation. - - - dn934233 - D2D1_CONVOLVEMATRIX_SCALE_MODE_MULTI_SAMPLE_LINEAR - D2D1_CONVOLVEMATRIX_SCALE_MODE_MULTI_SAMPLE_LINEAR - - - - No documentation. - - - dn934233 - D2D1_CONVOLVEMATRIX_SCALE_MODE_ANISOTROPIC - D2D1_CONVOLVEMATRIX_SCALE_MODE_ANISOTROPIC - - - - No documentation. - - - dn934233 - D2D1_CONVOLVEMATRIX_SCALE_MODE_HIGH_QUALITY_CUBIC - D2D1_CONVOLVEMATRIX_SCALE_MODE_HIGH_QUALITY_CUBIC - - - -

Identifiers for properties of the Crop effect.

-
- - dn934234 - D2D1_CROP_PROP - D2D1_CROP_PROP -
- - - No documentation. - - - dn934234 - D2D1_CROP_PROP_RECT - D2D1_CROP_PROP_RECT - - - - No documentation. - - - dn934234 - D2D1_CROP_PROP_BORDER_MODE - D2D1_CROP_PROP_BORDER_MODE - - - -

This effect combines two images by adding weighted pixels from input images. It has two inputs, named Destination and Source.

The cross fade formula is output = weight * Destination + (1 - weight) * Source.

The CLSID for this effect is .

-
- - mt745030 - D2D1_CROSSFADE_PROP - D2D1_CROSSFADE_PROP -
- - - No documentation. - - - mt745030 - D2D1_CROSSFADE_PROP_WEIGHT - D2D1_CROSSFADE_PROP_WEIGHT - - - -

Describes the sequence of dashes and gaps in a stroke.

-
- -

The following illustration shows several available dash styles.

-
- - 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. - - - dd368090 - D2D1_DEBUG_LEVEL_NONE - D2D1_DEBUG_LEVEL_NONE - - - - No documentation. - - - dd368090 - D2D1_DEBUG_LEVEL_ERROR - D2D1_DEBUG_LEVEL_ERROR - - - - No documentation. - - - dd368090 - D2D1_DEBUG_LEVEL_WARNING - D2D1_DEBUG_LEVEL_WARNING - - - - No documentation. - - - dd368090 - 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 -
- - -

This specifies options that apply to the device context for its lifetime.

-
- - 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. Refer to Improving the performance of Direct2D apps for additional notes on the use of this flag.

-
- - hh446998 - D2D1_DEVICE_CONTEXT_OPTIONS_ENABLE_MULTITHREADED_OPTIMIZATIONS - D2D1_DEVICE_CONTEXT_OPTIONS_ENABLE_MULTITHREADED_OPTIMIZATIONS -
- - -

Specifies the optimization mode for the Directional blur effect.

-
- - dn934235 - D2D1_DIRECTIONALBLUR_OPTIMIZATION - D2D1_DIRECTIONALBLUR_OPTIMIZATION -
- - - No documentation. - - - dn934235 - D2D1_DIRECTIONALBLUR_OPTIMIZATION_SPEED - D2D1_DIRECTIONALBLUR_OPTIMIZATION_SPEED - - - - No documentation. - - - dn934235 - D2D1_DIRECTIONALBLUR_OPTIMIZATION_BALANCED - D2D1_DIRECTIONALBLUR_OPTIMIZATION_BALANCED - - - - No documentation. - - - dn934235 - D2D1_DIRECTIONALBLUR_OPTIMIZATION_QUALITY - D2D1_DIRECTIONALBLUR_OPTIMIZATION_QUALITY - - - -

Identifiers for properties of the Directional blur effect.

-
- - dn934236 - D2D1_DIRECTIONALBLUR_PROP - D2D1_DIRECTIONALBLUR_PROP -
- - - No documentation. - - - dn934236 - D2D1_DIRECTIONALBLUR_PROP_STANDARD_DEVIATION - D2D1_DIRECTIONALBLUR_PROP_STANDARD_DEVIATION - - - - No documentation. - - - dn934236 - D2D1_DIRECTIONALBLUR_PROP_ANGLE - D2D1_DIRECTIONALBLUR_PROP_ANGLE - - - - No documentation. - - - dn934236 - D2D1_DIRECTIONALBLUR_PROP_OPTIMIZATION - D2D1_DIRECTIONALBLUR_PROP_OPTIMIZATION - - - - No documentation. - - - dn934236 - D2D1_DIRECTIONALBLUR_PROP_BORDER_MODE - D2D1_DIRECTIONALBLUR_PROP_BORDER_MODE - - - -

Identifiers for properties of the Discrete transfer effect.

-
- - dn934237 - D2D1_DISCRETETRANSFER_PROP - D2D1_DISCRETETRANSFER_PROP -
- - - No documentation. - - - dn934237 - D2D1_DISCRETETRANSFER_PROP_RED_TABLE - D2D1_DISCRETETRANSFER_PROP_RED_TABLE - - - - No documentation. - - - dn934237 - D2D1_DISCRETETRANSFER_PROP_RED_DISABLE - D2D1_DISCRETETRANSFER_PROP_RED_DISABLE - - - - No documentation. - - - dn934237 - D2D1_DISCRETETRANSFER_PROP_GREEN_TABLE - D2D1_DISCRETETRANSFER_PROP_GREEN_TABLE - - - - No documentation. - - - dn934237 - D2D1_DISCRETETRANSFER_PROP_GREEN_DISABLE - D2D1_DISCRETETRANSFER_PROP_GREEN_DISABLE - - - - No documentation. - - - dn934237 - D2D1_DISCRETETRANSFER_PROP_BLUE_TABLE - D2D1_DISCRETETRANSFER_PROP_BLUE_TABLE - - - - No documentation. - - - dn934237 - D2D1_DISCRETETRANSFER_PROP_BLUE_DISABLE - D2D1_DISCRETETRANSFER_PROP_BLUE_DISABLE - - - - No documentation. - - - dn934237 - D2D1_DISCRETETRANSFER_PROP_ALPHA_TABLE - D2D1_DISCRETETRANSFER_PROP_ALPHA_TABLE - - - - No documentation. - - - dn934237 - D2D1_DISCRETETRANSFER_PROP_ALPHA_DISABLE - D2D1_DISCRETETRANSFER_PROP_ALPHA_DISABLE - - - - No documentation. - - - dn934237 - D2D1_DISCRETETRANSFER_PROP_CLAMP_OUTPUT - D2D1_DISCRETETRANSFER_PROP_CLAMP_OUTPUT - - - -

Identifiers for properties of the Displacement map effect.

-
- - dn934238 - D2D1_DISPLACEMENTMAP_PROP - D2D1_DISPLACEMENTMAP_PROP -
- - - No documentation. - - - dn934238 - D2D1_DISPLACEMENTMAP_PROP_SCALE - D2D1_DISPLACEMENTMAP_PROP_SCALE - - - - No documentation. - - - dn934238 - D2D1_DISPLACEMENTMAP_PROP_X_CHANNEL_SELECT - D2D1_DISPLACEMENTMAP_PROP_X_CHANNEL_SELECT - - - - No documentation. - - - dn934238 - D2D1_DISPLACEMENTMAP_PROP_Y_CHANNEL_SELECT - D2D1_DISPLACEMENTMAP_PROP_Y_CHANNEL_SELECT - - - -

Identifiers for properties of the Distant-diffuse lighting effect.

-
- - dn934239 - D2D1_DISTANTDIFFUSE_PROP - D2D1_DISTANTDIFFUSE_PROP -
- - - No documentation. - - - dn934239 - D2D1_DISTANTDIFFUSE_PROP_AZIMUTH - D2D1_DISTANTDIFFUSE_PROP_AZIMUTH - - - - No documentation. - - - dn934239 - D2D1_DISTANTDIFFUSE_PROP_ELEVATION - D2D1_DISTANTDIFFUSE_PROP_ELEVATION - - - - No documentation. - - - dn934239 - D2D1_DISTANTDIFFUSE_PROP_DIFFUSE_CONSTANT - D2D1_DISTANTDIFFUSE_PROP_DIFFUSE_CONSTANT - - - - No documentation. - - - dn934239 - D2D1_DISTANTDIFFUSE_PROP_SURFACE_SCALE - D2D1_DISTANTDIFFUSE_PROP_SURFACE_SCALE - - - - No documentation. - - - dn934239 - D2D1_DISTANTDIFFUSE_PROP_COLOR - D2D1_DISTANTDIFFUSE_PROP_COLOR - - - - No documentation. - - - dn934239 - D2D1_DISTANTDIFFUSE_PROP_KERNEL_UNIT_LENGTH - D2D1_DISTANTDIFFUSE_PROP_KERNEL_UNIT_LENGTH - - - - No documentation. - - - dn934239 - D2D1_DISTANTDIFFUSE_PROP_SCALE_MODE - D2D1_DISTANTDIFFUSE_PROP_SCALE_MODE - - - -

The interpolation mode the effect uses to scale the image to the corresponding kernel unit length. There are six scale modes that range in quality and speed.

-
- - dn934240 - D2D1_DISTANTDIFFUSE_SCALE_MODE - D2D1_DISTANTDIFFUSE_SCALE_MODE -
- - -

Samples the nearest single point and uses that. This mode uses less processing time, but outputs the lowest quality image.

-
- - dn934240 - D2D1_DISTANTDIFFUSE_SCALE_MODE_NEAREST_NEIGHBOR - D2D1_DISTANTDIFFUSE_SCALE_MODE_NEAREST_NEIGHBOR -
- - -

Uses a four point sample and linear interpolation. This mode outputs a higher quality image than nearest neighbor.

-
- - dn934240 - D2D1_DISTANTDIFFUSE_SCALE_MODE_LINEAR - D2D1_DISTANTDIFFUSE_SCALE_MODE_LINEAR -
- - -

Uses a 16 sample cubic kernel for interpolation. This mode uses the most processing time, but outputs a higher quality image.

-
- - dn934240 - D2D1_DISTANTDIFFUSE_SCALE_MODE_CUBIC - D2D1_DISTANTDIFFUSE_SCALE_MODE_CUBIC -
- - -

Uses 4 linear samples within a single pixel for good edge anti-aliasing. This mode is good for scaling down by small amounts on images with few pixels.

-
- - dn934240 - D2D1_DISTANTDIFFUSE_SCALE_MODE_MULTI_SAMPLE_LINEAR - D2D1_DISTANTDIFFUSE_SCALE_MODE_MULTI_SAMPLE_LINEAR -
- - -

Uses anisotropic filtering to sample a pattern according to the transformed shape of the bitmap.

-
- - dn934240 - D2D1_DISTANTDIFFUSE_SCALE_MODE_ANISOTROPIC - D2D1_DISTANTDIFFUSE_SCALE_MODE_ANISOTROPIC -
- - -

Uses a variable size high quality cubic kernel to perform a pre-downscale the image if downscaling is involved in the transform matrix. Then uses the cubic interpolation mode for the final output.

-
- - dn934240 - D2D1_DISTANTDIFFUSE_SCALE_MODE_HIGH_QUALITY_CUBIC - D2D1_DISTANTDIFFUSE_SCALE_MODE_HIGH_QUALITY_CUBIC -
- - -

Identifiers for properties of the Distant-specular lighting effect.

-
- - dn934241 - D2D1_DISTANTSPECULAR_PROP - D2D1_DISTANTSPECULAR_PROP -
- - - No documentation. - - - dn934241 - D2D1_DISTANTSPECULAR_PROP_AZIMUTH - D2D1_DISTANTSPECULAR_PROP_AZIMUTH - - - - No documentation. - - - dn934241 - D2D1_DISTANTSPECULAR_PROP_ELEVATION - D2D1_DISTANTSPECULAR_PROP_ELEVATION - - - - No documentation. - - - dn934241 - D2D1_DISTANTSPECULAR_PROP_SPECULAR_EXPONENT - D2D1_DISTANTSPECULAR_PROP_SPECULAR_EXPONENT - - - - No documentation. - - - dn934241 - D2D1_DISTANTSPECULAR_PROP_SPECULAR_CONSTANT - D2D1_DISTANTSPECULAR_PROP_SPECULAR_CONSTANT - - - - No documentation. - - - dn934241 - D2D1_DISTANTSPECULAR_PROP_SURFACE_SCALE - D2D1_DISTANTSPECULAR_PROP_SURFACE_SCALE - - - - No documentation. - - - dn934241 - D2D1_DISTANTSPECULAR_PROP_COLOR - D2D1_DISTANTSPECULAR_PROP_COLOR - - - - No documentation. - - - dn934241 - D2D1_DISTANTSPECULAR_PROP_KERNEL_UNIT_LENGTH - D2D1_DISTANTSPECULAR_PROP_KERNEL_UNIT_LENGTH - - - - No documentation. - - - dn934241 - D2D1_DISTANTSPECULAR_PROP_SCALE_MODE - D2D1_DISTANTSPECULAR_PROP_SCALE_MODE - - - -

The interpolation mode the Distant-specular lighting effect uses to scale the image to the corresponding kernel unit length. There are six scale modes that range in quality and speed.

-
- - dn934242 - D2D1_DISTANTSPECULAR_SCALE_MODE - D2D1_DISTANTSPECULAR_SCALE_MODE -
- - - No documentation. - - - dn934242 - D2D1_DISTANTSPECULAR_SCALE_MODE_NEAREST_NEIGHBOR - D2D1_DISTANTSPECULAR_SCALE_MODE_NEAREST_NEIGHBOR - - - - No documentation. - - - dn934242 - D2D1_DISTANTSPECULAR_SCALE_MODE_LINEAR - D2D1_DISTANTSPECULAR_SCALE_MODE_LINEAR - - - - No documentation. - - - dn934242 - D2D1_DISTANTSPECULAR_SCALE_MODE_CUBIC - D2D1_DISTANTSPECULAR_SCALE_MODE_CUBIC - - - - No documentation. - - - dn934242 - D2D1_DISTANTSPECULAR_SCALE_MODE_MULTI_SAMPLE_LINEAR - D2D1_DISTANTSPECULAR_SCALE_MODE_MULTI_SAMPLE_LINEAR - - - - No documentation. - - - dn934242 - D2D1_DISTANTSPECULAR_SCALE_MODE_ANISOTROPIC - D2D1_DISTANTSPECULAR_SCALE_MODE_ANISOTROPIC - - - - No documentation. - - - dn934242 - D2D1_DISTANTSPECULAR_SCALE_MODE_HIGH_QUALITY_CUBIC - D2D1_DISTANTSPECULAR_SCALE_MODE_HIGH_QUALITY_CUBIC - - - -

The interpolation mode the DPI compensation effect uses to scale the image.

-
- - dn934243 - D2D1_DPICOMPENSATION_INTERPOLATION_MODE - D2D1_DPICOMPENSATION_INTERPOLATION_MODE -
- - - No documentation. - - - dn934243 - D2D1_DPICOMPENSATION_INTERPOLATION_MODE_NEAREST_NEIGHBOR - D2D1_DPICOMPENSATION_INTERPOLATION_MODE_NEAREST_NEIGHBOR - - - - No documentation. - - - dn934243 - D2D1_DPICOMPENSATION_INTERPOLATION_MODE_LINEAR - D2D1_DPICOMPENSATION_INTERPOLATION_MODE_LINEAR - - - - No documentation. - - - dn934243 - D2D1_DPICOMPENSATION_INTERPOLATION_MODE_CUBIC - D2D1_DPICOMPENSATION_INTERPOLATION_MODE_CUBIC - - - - No documentation. - - - dn934243 - D2D1_DPICOMPENSATION_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR - D2D1_DPICOMPENSATION_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR - - - - No documentation. - - - dn934243 - D2D1_DPICOMPENSATION_INTERPOLATION_MODE_ANISOTROPIC - D2D1_DPICOMPENSATION_INTERPOLATION_MODE_ANISOTROPIC - - - - No documentation. - - - dn934243 - D2D1_DPICOMPENSATION_INTERPOLATION_MODE_HIGH_QUALITY_CUBIC - D2D1_DPICOMPENSATION_INTERPOLATION_MODE_HIGH_QUALITY_CUBIC - - - -

Identifiers for properties of the DPI compensation effect.

-
- - dn934244 - D2D1_DPICOMPENSATION_PROP - D2D1_DPICOMPENSATION_PROP -
- - - No documentation. - - - dn934244 - D2D1_DPICOMPENSATION_PROP_INTERPOLATION_MODE - D2D1_DPICOMPENSATION_PROP_INTERPOLATION_MODE - - - - No documentation. - - - dn934244 - D2D1_DPICOMPENSATION_PROP_BORDER_MODE - D2D1_DPICOMPENSATION_PROP_BORDER_MODE - - - - No documentation. - - - dn934244 - 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 -
- - -

In Windows?8.1 and later, text is rendered using color versions of glyphs, if defined by the font.

-
- - dd368095 - D2D1_DRAW_TEXT_OPTIONS_ENABLE_COLOR_FONT - D2D1_DRAW_TEXT_OPTIONS_ENABLE_COLOR_FONT -
- - -

Bitmap origins of color glyph bitmaps are not snapped.

-
- - dd368095 - D2D1_DRAW_TEXT_OPTIONS_DISABLE_COLOR_BITMAP_SNAPPING - D2D1_DRAW_TEXT_OPTIONS_DISABLE_COLOR_BITMAP_SNAPPING -
- - -

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

Values for the property of the Edge Detection effect.

-
- - dn890722 - D2D1_EDGEDETECTION_MODE - D2D1_EDGEDETECTION_MODE -
- - - No documentation. - - - dn890722 - D2D1_EDGEDETECTION_MODE_SOBEL - D2D1_EDGEDETECTION_MODE_SOBEL - - - - No documentation. - - - dn890722 - D2D1_EDGEDETECTION_MODE_PREWITT - D2D1_EDGEDETECTION_MODE_PREWITT - - - -

Identifiers for properties of the Edge Detection effect.

-
- - dn890723 - D2D1_EDGEDETECTION_PROP - D2D1_EDGEDETECTION_PROP -
- - -

The property is a float value modulating the response of the edge detection filter. A low strength value means that weaker edges will get filtered out, while a high value means stronger edges will get filtered out. The allowed range is 0.0 to 1.0. The default value is 0.5.

-
- - dn890723 - D2D1_EDGEDETECTION_PROP_STRENGTH - D2D1_EDGEDETECTION_PROP_STRENGTH -
- - -

The property is a float value specifying the amount of blur to apply. Applying blur is used to remove high frequencies and reduce phantom edges. The allowed range is 0.0 to 10.0. The default value is 0.0 (no blur applied).

-
- - dn890723 - D2D1_EDGEDETECTION_PROP_BLUR_RADIUS - D2D1_EDGEDETECTION_PROP_BLUR_RADIUS -
- - -

The property is a enumeration value which mode to use for edge detection. The default value is .

-
- - dn890723 - D2D1_EDGEDETECTION_PROP_MODE - D2D1_EDGEDETECTION_PROP_MODE -
- - -

The property is a boolean value. Edge detection only applies to the RGB channels, the alpha channel is ignored for purposes of detecting edges. If is false, the output edges is fully opaque. If is true, the input opacity is preserved. The default value is false.

-
- - dn890723 - D2D1_EDGEDETECTION_PROP_OVERLAY_EDGES - D2D1_EDGEDETECTION_PROP_OVERLAY_EDGES -
- - -

The property is a enumeration value indicating the alpha mode of the input file. If the input is not opaque, this value is used to determine whether to unpremultiply the inputs. See the About Alpha Modes section of the Supported Pixel Formats and Alpha Modes topic for additional information. The default value is .

-
- - dn890723 - D2D1_EDGEDETECTION_PROP_ALPHA_MODE - D2D1_EDGEDETECTION_PROP_ALPHA_MODE -
- - -

Identifiers for properties of the Emboss effect.

-
- - dn890724 - D2D1_EMBOSS_PROP - D2D1_EMBOSS_PROP -
- - - No documentation. - - - dn890724 - D2D1_EMBOSS_PROP_HEIGHT - D2D1_EMBOSS_PROP_HEIGHT - - - - No documentation. - - - dn890724 - D2D1_EMBOSS_PROP_DIRECTION - D2D1_EMBOSS_PROP_DIRECTION - - - -

Identifiers for properties of the Exposure effect.

-
- - dn890725 - D2D1_EXPOSURE_PROP - D2D1_EXPOSURE_PROP -
- - - No documentation. - - - dn890725 - D2D1_EXPOSURE_PROP_EXPOSURE_VALUE - D2D1_EXPOSURE_PROP_EXPOSURE_VALUE - - - -

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.

-
- - 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. - - - dd368104 - D2D1_FACTORY_TYPE_SINGLE_THREADED - D2D1_FACTORY_TYPE_SINGLE_THREADED - - - - No documentation. - - - dd368104 - D2D1_FACTORY_TYPE_MULTI_THREADED - D2D1_FACTORY_TYPE_MULTI_THREADED - - - -

Defines capabilities of the underlying Direct3D device which may be queried using .

-
- - hh871443 - D2D1_FEATURE - D2D1_FEATURE -
- - - No documentation. - - - hh871443 - D2D1_FEATURE_DOUBLES - D2D1_FEATURE_DOUBLES - - - - No documentation. - - - hh871443 - 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. - - - dd368106 - D2D1_FIGURE_BEGIN_FILLED - D2D1_FIGURE_BEGIN_FILLED - - - - No documentation. - - - dd368106 - 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. - - - dd368108 - D2D1_FIGURE_END_OPEN - D2D1_FIGURE_END_OPEN - - - - No documentation. - - - dd368108 - 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 -
- - -

Represents filtering modes that a transform may select to use on input textures.

-
- -

This enumeration has the same numeric values as .

-
- - hh404306 - D2D1_FILTER - D2D1_FILTER -
- - -

Use point sampling for minification, magnification, and mip-level sampling.

-
- - hh404306 - D2D1_FILTER_MIN_MAG_MIP_POINT - D2D1_FILTER_MIN_MAG_MIP_POINT -
- - -

Use point sampling for minification and magnification; use linear interpolation for mip-level sampling.

-
- - hh404306 - D2D1_FILTER_MIN_MAG_POINT_MIP_LINEAR - D2D1_FILTER_MIN_MAG_POINT_MIP_LINEAR -
- - -

Use point sampling for minification; use linear interpolation for magnification; use point sampling for mip-level sampling.

-
- - hh404306 - D2D1_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT - D2D1_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT -
- - -

Use point sampling for minification; use linear interpolation for magnification and mip-level sampling.

-
- - hh404306 - D2D1_FILTER_MIN_POINT_MAG_MIP_LINEAR - D2D1_FILTER_MIN_POINT_MAG_MIP_LINEAR -
- - -

Use linear interpolation for minification; use point sampling for magnification and mip-level sampling.

-
- - hh404306 - D2D1_FILTER_MIN_LINEAR_MAG_MIP_POINT - D2D1_FILTER_MIN_LINEAR_MAG_MIP_POINT -
- - -

Use linear interpolation for minification; use point sampling for magnification; use linear interpolation for mip-level sampling.

-
- - hh404306 - D2D1_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR - D2D1_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR -
- - -

Use linear interpolation for minification and magnification; use point sampling for mip-level sampling.

-
- - hh404306 - D2D1_FILTER_MIN_MAG_LINEAR_MIP_POINT - D2D1_FILTER_MIN_MAG_LINEAR_MIP_POINT -
- - -

Use linear interpolation for minification, magnification, and mip-level sampling.

-
- - hh404306 - D2D1_FILTER_MIN_MAG_MIP_LINEAR - D2D1_FILTER_MIN_MAG_MIP_LINEAR -
- - -

Use anisotropic interpolation for minification, magnification, and mip-level sampling.

-
- - hh404306 - D2D1_FILTER_ANISOTROPIC - D2D1_FILTER_ANISOTROPIC -
- - -

Identifiers for properties of the Flood effect.

-
- - dn934245 - D2D1_FLOOD_PROP - D2D1_FLOOD_PROP -
- - - No documentation. - - - dn934245 - 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 -
- - -

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_GAMMA1 - D2D1_GAMMA1 -
- - -

Interpolation is performed in the standard RGB (sRGB) gamma.

-
- - dd368113 - D2D1_GAMMA1_G22 - D2D1_GAMMA1_G22 -
- - -

Interpolation is performed in the linear-gamma color space.

-
- - dd368113 - D2D1_GAMMA1_G10 - D2D1_GAMMA1_G10 -
- - - No documentation. - - - dd368113 - D2D1_GAMMA1_G2084 - D2D1_GAMMA1_G2084 - - - -

Identifiers for properties of the Gamma transfer effect.

-
- - dn934246 - D2D1_GAMMATRANSFER_PROP - D2D1_GAMMATRANSFER_PROP -
- - - No documentation. - - - dn934246 - D2D1_GAMMATRANSFER_PROP_RED_AMPLITUDE - D2D1_GAMMATRANSFER_PROP_RED_AMPLITUDE - - - - No documentation. - - - dn934246 - D2D1_GAMMATRANSFER_PROP_RED_EXPONENT - D2D1_GAMMATRANSFER_PROP_RED_EXPONENT - - - - No documentation. - - - dn934246 - D2D1_GAMMATRANSFER_PROP_RED_OFFSET - D2D1_GAMMATRANSFER_PROP_RED_OFFSET - - - - No documentation. - - - dn934246 - D2D1_GAMMATRANSFER_PROP_RED_DISABLE - D2D1_GAMMATRANSFER_PROP_RED_DISABLE - - - - No documentation. - - - dn934246 - D2D1_GAMMATRANSFER_PROP_GREEN_AMPLITUDE - D2D1_GAMMATRANSFER_PROP_GREEN_AMPLITUDE - - - - No documentation. - - - dn934246 - D2D1_GAMMATRANSFER_PROP_GREEN_EXPONENT - D2D1_GAMMATRANSFER_PROP_GREEN_EXPONENT - - - - No documentation. - - - dn934246 - D2D1_GAMMATRANSFER_PROP_GREEN_OFFSET - D2D1_GAMMATRANSFER_PROP_GREEN_OFFSET - - - - No documentation. - - - dn934246 - D2D1_GAMMATRANSFER_PROP_GREEN_DISABLE - D2D1_GAMMATRANSFER_PROP_GREEN_DISABLE - - - - No documentation. - - - dn934246 - D2D1_GAMMATRANSFER_PROP_BLUE_AMPLITUDE - D2D1_GAMMATRANSFER_PROP_BLUE_AMPLITUDE - - - - No documentation. - - - dn934246 - D2D1_GAMMATRANSFER_PROP_BLUE_EXPONENT - D2D1_GAMMATRANSFER_PROP_BLUE_EXPONENT - - - - No documentation. - - - dn934246 - D2D1_GAMMATRANSFER_PROP_BLUE_OFFSET - D2D1_GAMMATRANSFER_PROP_BLUE_OFFSET - - - - No documentation. - - - dn934246 - D2D1_GAMMATRANSFER_PROP_BLUE_DISABLE - D2D1_GAMMATRANSFER_PROP_BLUE_DISABLE - - - - No documentation. - - - dn934246 - D2D1_GAMMATRANSFER_PROP_ALPHA_AMPLITUDE - D2D1_GAMMATRANSFER_PROP_ALPHA_AMPLITUDE - - - - No documentation. - - - dn934246 - D2D1_GAMMATRANSFER_PROP_ALPHA_EXPONENT - D2D1_GAMMATRANSFER_PROP_ALPHA_EXPONENT - - - - No documentation. - - - dn934246 - D2D1_GAMMATRANSFER_PROP_ALPHA_OFFSET - D2D1_GAMMATRANSFER_PROP_ALPHA_OFFSET - - - - No documentation. - - - dn934246 - D2D1_GAMMATRANSFER_PROP_ALPHA_DISABLE - D2D1_GAMMATRANSFER_PROP_ALPHA_DISABLE - - - - No documentation. - - - dn934246 - D2D1_GAMMATRANSFER_PROP_CLAMP_OUTPUT - D2D1_GAMMATRANSFER_PROP_CLAMP_OUTPUT - - - -

The optimization mode for the Gaussian blur effect.

-
- - dn934247 - D2D1_GAUSSIANBLUR_OPTIMIZATION - D2D1_GAUSSIANBLUR_OPTIMIZATION -
- - - No documentation. - - - dn934247 - D2D1_GAUSSIANBLUR_OPTIMIZATION_SPEED - D2D1_GAUSSIANBLUR_OPTIMIZATION_SPEED - - - - No documentation. - - - dn934247 - D2D1_GAUSSIANBLUR_OPTIMIZATION_BALANCED - D2D1_GAUSSIANBLUR_OPTIMIZATION_BALANCED - - - - No documentation. - - - dn934247 - D2D1_GAUSSIANBLUR_OPTIMIZATION_QUALITY - D2D1_GAUSSIANBLUR_OPTIMIZATION_QUALITY - - - -

Identifiers for properties of the Gaussian blur effect.

-
- - dn934248 - D2D1_GAUSSIANBLUR_PROP - D2D1_GAUSSIANBLUR_PROP -
- - - No documentation. - - - dn934248 - D2D1_GAUSSIANBLUR_PROP_STANDARD_DEVIATION - D2D1_GAUSSIANBLUR_PROP_STANDARD_DEVIATION - - - - No documentation. - - - dn934248 - D2D1_GAUSSIANBLUR_PROP_OPTIMIZATION - D2D1_GAUSSIANBLUR_PROP_OPTIMIZATION - - - - No documentation. - - - dn934248 - 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. - - - dd368117 - D2D1_GEOMETRY_SIMPLIFICATION_OPTION_CUBICS_AND_LINES - D2D1_GEOMETRY_SIMPLIFICATION_OPTION_CUBICS_AND_LINES - - - - No documentation. - - - dd368117 - D2D1_GEOMETRY_SIMPLIFICATION_OPTION_LINES - D2D1_GEOMETRY_SIMPLIFICATION_OPTION_LINES - - - -

Specifies which formats are supported in the font, either at a font-wide level or per glyph.

-
- - mt725308 - DWRITE_GLYPH_IMAGE_FORMATS - DWRITE_GLYPH_IMAGE_FORMATS -
- - -

Indicates no data is available for this glyph.

-
- - mt725308 - DWRITE_GLYPH_IMAGE_FORMATS_NONE - DWRITE_GLYPH_IMAGE_FORMATS_NONE -
- - -

The glyph has TrueType outlines.

-
- - mt725308 - DWRITE_GLYPH_IMAGE_FORMATS_TRUETYPE - DWRITE_GLYPH_IMAGE_FORMATS_TRUETYPE -
- - -

The glyph has CFF outlines.

-
- - mt725308 - DWRITE_GLYPH_IMAGE_FORMATS_CFF - DWRITE_GLYPH_IMAGE_FORMATS_CFF -
- - -

The glyph has multilayered COLR data.

-
- - mt725308 - DWRITE_GLYPH_IMAGE_FORMATS_COLR - DWRITE_GLYPH_IMAGE_FORMATS_COLR -
- - -

The glyph has SVG outlines as standard XML. Fonts may store the content gzip'd rather than plain text, indicated by the first two bytes as gzip header {0x1F 0x8B}.

-
- - mt725308 - DWRITE_GLYPH_IMAGE_FORMATS_SVG - DWRITE_GLYPH_IMAGE_FORMATS_SVG -
- - -

The glyph has PNG image data, with standard PNG IHDR.

-
- - mt725308 - DWRITE_GLYPH_IMAGE_FORMATS_PNG - DWRITE_GLYPH_IMAGE_FORMATS_PNG -
- - -

The glyph has JPEG image data, with standard JIFF SOI header.

-
- - mt725308 - DWRITE_GLYPH_IMAGE_FORMATS_JPEG - DWRITE_GLYPH_IMAGE_FORMATS_JPEG -
- - -

The glyph has TIFF image data.

-
- - mt725308 - DWRITE_GLYPH_IMAGE_FORMATS_TIFF - DWRITE_GLYPH_IMAGE_FORMATS_TIFF -
- - -

The glyph has raw 32-bit premultiplied BGRA data.

-
- - mt725308 - DWRITE_GLYPH_IMAGE_FORMATS_PREMULTIPLIED_B8G8R8A8 - DWRITE_GLYPH_IMAGE_FORMATS_PREMULTIPLIED_B8G8R8A8 -
- - -

Values for the property of the Highlights and Shadows effect.

-
- - dn890727 - D2D1_HIGHLIGHTSANDSHADOWS_INPUT_GAMMA - D2D1_HIGHLIGHTSANDSHADOWS_INPUT_GAMMA -
- - - No documentation. - - - dn890727 - D2D1_HIGHLIGHTSANDSHADOWS_INPUT_GAMMA_LINEAR - D2D1_HIGHLIGHTSANDSHADOWS_INPUT_GAMMA_LINEAR - - - - No documentation. - - - dn890727 - D2D1_HIGHLIGHTSANDSHADOWS_INPUT_GAMMA_SRGB - D2D1_HIGHLIGHTSANDSHADOWS_INPUT_GAMMA_SRGB - - - -

Identifiers for properties of the Highlights and Shadows effect.

-
- - dn890728 - D2D1_HIGHLIGHTSANDSHADOWS_PROP - D2D1_HIGHLIGHTSANDSHADOWS_PROP -
- - - No documentation. - - - dn890728 - D2D1_HIGHLIGHTSANDSHADOWS_PROP_HIGHLIGHTS - D2D1_HIGHLIGHTSANDSHADOWS_PROP_HIGHLIGHTS - - - - No documentation. - - - dn890728 - D2D1_HIGHLIGHTSANDSHADOWS_PROP_SHADOWS - D2D1_HIGHLIGHTSANDSHADOWS_PROP_SHADOWS - - - - No documentation. - - - dn890728 - D2D1_HIGHLIGHTSANDSHADOWS_PROP_CLARITY - D2D1_HIGHLIGHTSANDSHADOWS_PROP_CLARITY - - - - No documentation. - - - dn890728 - D2D1_HIGHLIGHTSANDSHADOWS_PROP_INPUT_GAMMA - D2D1_HIGHLIGHTSANDSHADOWS_PROP_INPUT_GAMMA - - - - No documentation. - - - dn890728 - D2D1_HIGHLIGHTSANDSHADOWS_PROP_MASK_BLUR_RADIUS - D2D1_HIGHLIGHTSANDSHADOWS_PROP_MASK_BLUR_RADIUS - - - -

Identifiers for properties of the Histogram effect.

-
- - dn934249 - D2D1_HISTOGRAM_PROP - D2D1_HISTOGRAM_PROP -
- - - No documentation. - - - dn934249 - D2D1_HISTOGRAM_PROP_NUM_BINS - D2D1_HISTOGRAM_PROP_NUM_BINS - - - - No documentation. - - - dn934249 - D2D1_HISTOGRAM_PROP_CHANNEL_SELECT - D2D1_HISTOGRAM_PROP_CHANNEL_SELECT - - - - No documentation. - - - dn934249 - D2D1_HISTOGRAM_PROP_HISTOGRAM_OUTPUT - D2D1_HISTOGRAM_PROP_HISTOGRAM_OUTPUT - - - -

Identifiers for properties of the Hue rotate effect.

-
- - dn934250 - D2D1_HUEROTATION_PROP - D2D1_HUEROTATION_PROP -
- - - No documentation. - - - dn934250 - D2D1_HUEROTATION_PROP_ANGLE - D2D1_HUEROTATION_PROP_ANGLE - - - -

Values for the property of the Hue to RGB effect.

-
- - dn890729 - D2D1_HUETORGB_INPUT_COLOR_SPACE - D2D1_HUETORGB_INPUT_COLOR_SPACE -
- - - No documentation. - - - dn890729 - D2D1_HUETORGB_INPUT_COLOR_SPACE_HUE_SATURATION_VALUE - D2D1_HUETORGB_INPUT_COLOR_SPACE_HUE_SATURATION_VALUE - - - - No documentation. - - - dn890729 - D2D1_HUETORGB_INPUT_COLOR_SPACE_HUE_SATURATION_LIGHTNESS - D2D1_HUETORGB_INPUT_COLOR_SPACE_HUE_SATURATION_LIGHTNESS - - - -

Identifiers for properties of the Hue to RGB effect.

-
- - dn890730 - D2D1_HUETORGB_PROP - D2D1_HUETORGB_PROP -
- - - No documentation. - - - dn890730 - D2D1_HUETORGB_PROP_INPUT_COLOR_SPACE - D2D1_HUETORGB_PROP_INPUT_COLOR_SPACE - - - -

Option flags controlling primary conversion performed by CreateImageSourceFromDxgi, if any.

-
- - dn890733 - D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS - D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS -
- - - No documentation. - - - dn890733 - D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS_NONE - D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS_NONE - - - - No documentation. - - - dn890733 - D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS_LOW_QUALITY_PRIMARY_CONVERSION - D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS_LOW_QUALITY_PRIMARY_CONVERSION - - - -

Controls option flags for a new when it is created.

-
- -

?

D2D1_IMAGE_SOURCE_CREATION_OPTIONS_RELEASE_SOURCE causes the image source to not retain a reference to the source object used to create it. It can decrease the quality and efficiency of printing.

-
- - dn890734 - D2D1_IMAGE_SOURCE_LOADING_OPTIONS - D2D1_IMAGE_SOURCE_LOADING_OPTIONS -
- - -

No options are used.

-
- - dn890734 - D2D1_IMAGE_SOURCE_LOADING_OPTIONS_NONE - D2D1_IMAGE_SOURCE_LOADING_OPTIONS_NONE -
- - -

Indicates the image source should release its reference to the WIC bitmap source after it has initialized. By default, the image source retains a reference to the WIC bitmap source for the lifetime of the object to enable quality and speed optimizations for printing. This option disables that optimization. -

-
- - dn890734 - D2D1_IMAGE_SOURCE_LOADING_OPTIONS_RELEASE_SOURCE - D2D1_IMAGE_SOURCE_LOADING_OPTIONS_RELEASE_SOURCE -
- - -

Indicates the image source should only populate subregions of the image cache on-demand. You can control this behavior using the EnsureCached and TrimCache methods. This options provides the ability to improve memory usage by only keeping needed portions of the image in memory. This option requires that the image source has a reference to the WIC bitmap source, and is incompatible with .

-
- - dn890734 - D2D1_IMAGE_SOURCE_LOADING_OPTIONS_CACHE_ON_DEMAND - D2D1_IMAGE_SOURCE_LOADING_OPTIONS_CACHE_ON_DEMAND -
- - -

Specifies the appearance of the ink nib (pen tip) as part of an structure.

-
- - dn890735 - D2D1_INK_NIB_SHAPE - D2D1_INK_NIB_SHAPE -
- - - No documentation. - - - dn890735 - D2D1_INK_NIB_SHAPE_ROUND - D2D1_INK_NIB_SHAPE_ROUND - - - - No documentation. - - - dn890735 - D2D1_INK_NIB_SHAPE_SQUARE - D2D1_INK_NIB_SHAPE_SQUARE - - - -

This is used to specify the quality of image scaling with and with the 2D affine transform effect.

-
- - hh447004 - D2D1_INTERPOLATION_MODE - D2D1_INTERPOLATION_MODE -
- - - No documentation. - - - hh447004 - D2D1_INTERPOLATION_MODE_NEAREST_NEIGHBOR - D2D1_INTERPOLATION_MODE_NEAREST_NEIGHBOR - - - - No documentation. - - - hh447004 - D2D1_INTERPOLATION_MODE_LINEAR - D2D1_INTERPOLATION_MODE_LINEAR - - - - No documentation. - - - hh447004 - D2D1_INTERPOLATION_MODE_CUBIC - D2D1_INTERPOLATION_MODE_CUBIC - - - - No documentation. - - - hh447004 - D2D1_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR - D2D1_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR - - - - No documentation. - - - hh447004 - D2D1_INTERPOLATION_MODE_ANISOTROPIC - D2D1_INTERPOLATION_MODE_ANISOTROPIC - - - - No documentation. - - - hh447004 - 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.

Note??Starting in Windows?8, the option is no longer supported. See for Windows?8 layer options.? -
- -

ClearType antialiasing must use the current contents of the render target to blend properly. When a pushed layer requests initializing for ClearType, Direct2D 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 -
- - - No documentation. - - - dd368124 - D2D1_LAYER_OPTIONS_NONE - D2D1_LAYER_OPTIONS_NONE - - - - No documentation. - - - dd368124 - D2D1_LAYER_OPTIONS_INITIALIZE_FOR_CLEARTYPE - D2D1_LAYER_OPTIONS_INITIALIZE_FOR_CLEARTYPE - - - -

Specifies how the layer contents should be prepared. -

-
- - hh997712 - D2D1_LAYER_OPTIONS1 - D2D1_LAYER_OPTIONS1 -
- - -

Default layer behavior. A premultiplied layer target is pushed and its contents are cleared to transparent black. -

-
- - hh997712 - D2D1_LAYER_OPTIONS1_NONE - D2D1_LAYER_OPTIONS1_NONE -
- - -

The layer is not cleared to transparent black.

-
- - hh997712 - D2D1_LAYER_OPTIONS1_INITIALIZE_FROM_BACKGROUND - D2D1_LAYER_OPTIONS1_INITIALIZE_FROM_BACKGROUND -
- - -

The layer is always created as ignore alpha. All content rendered into the layer will be treated as opaque.

-
- - hh997712 - D2D1_LAYER_OPTIONS1_IGNORE_ALPHA - D2D1_LAYER_OPTIONS1_IGNORE_ALPHA -
- - -

Identifiers for properties of the Linear transfer effect.

-
- - dn934251 - D2D1_LINEARTRANSFER_PROP - D2D1_LINEARTRANSFER_PROP -
- - - No documentation. - - - dn934251 - D2D1_LINEARTRANSFER_PROP_RED_Y_INTERCEPT - D2D1_LINEARTRANSFER_PROP_RED_Y_INTERCEPT - - - - No documentation. - - - dn934251 - D2D1_LINEARTRANSFER_PROP_RED_SLOPE - D2D1_LINEARTRANSFER_PROP_RED_SLOPE - - - - No documentation. - - - dn934251 - D2D1_LINEARTRANSFER_PROP_RED_DISABLE - D2D1_LINEARTRANSFER_PROP_RED_DISABLE - - - - No documentation. - - - dn934251 - D2D1_LINEARTRANSFER_PROP_GREEN_Y_INTERCEPT - D2D1_LINEARTRANSFER_PROP_GREEN_Y_INTERCEPT - - - - No documentation. - - - dn934251 - D2D1_LINEARTRANSFER_PROP_GREEN_SLOPE - D2D1_LINEARTRANSFER_PROP_GREEN_SLOPE - - - - No documentation. - - - dn934251 - D2D1_LINEARTRANSFER_PROP_GREEN_DISABLE - D2D1_LINEARTRANSFER_PROP_GREEN_DISABLE - - - - No documentation. - - - dn934251 - D2D1_LINEARTRANSFER_PROP_BLUE_Y_INTERCEPT - D2D1_LINEARTRANSFER_PROP_BLUE_Y_INTERCEPT - - - - No documentation. - - - dn934251 - D2D1_LINEARTRANSFER_PROP_BLUE_SLOPE - D2D1_LINEARTRANSFER_PROP_BLUE_SLOPE - - - - No documentation. - - - dn934251 - D2D1_LINEARTRANSFER_PROP_BLUE_DISABLE - D2D1_LINEARTRANSFER_PROP_BLUE_DISABLE - - - - No documentation. - - - dn934251 - D2D1_LINEARTRANSFER_PROP_ALPHA_Y_INTERCEPT - D2D1_LINEARTRANSFER_PROP_ALPHA_Y_INTERCEPT - - - - No documentation. - - - dn934251 - D2D1_LINEARTRANSFER_PROP_ALPHA_SLOPE - D2D1_LINEARTRANSFER_PROP_ALPHA_SLOPE - - - - No documentation. - - - dn934251 - D2D1_LINEARTRANSFER_PROP_ALPHA_DISABLE - D2D1_LINEARTRANSFER_PROP_ALPHA_DISABLE - - - - No documentation. - - - dn934251 - 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.

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

Identifiers for the properties of the 3D Lookup Table effect.

-
- - dn890738 - D2D1_LOOKUPTABLE3D_PROP - D2D1_LOOKUPTABLE3D_PROP -
- - -

The property is a reference to an object. The default value is null.

-
- - dn890738 - D2D1_LOOKUPTABLE3D_PROP_LUT - D2D1_LOOKUPTABLE3D_PROP_LUT -
- - -

The property is a value indicating the alpha mode of the input file. See the About Alpha Modes section of the Supported Pixel Formats and Alpha Modes topic for additional information.

-
- - dn890738 - D2D1_LOOKUPTABLE3D_PROP_ALPHA_MODE - D2D1_LOOKUPTABLE3D_PROP_ALPHA_MODE -
- - -

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 will receive bitmaps for which these flags are valid.

can only be used with . Both of these options are only available through the effect author API, not through the Direct2D rendering API. -

-
- - hh447006 - D2D1_MAP_OPTIONS - D2D1_MAP_OPTIONS -
- - - No documentation. - - - hh447006 - D2D1_MAP_OPTIONS_NONE - D2D1_MAP_OPTIONS_NONE - - - - No documentation. - - - hh447006 - D2D1_MAP_OPTIONS_READ - D2D1_MAP_OPTIONS_READ - - - - No documentation. - - - hh447006 - D2D1_MAP_OPTIONS_WRITE - D2D1_MAP_OPTIONS_WRITE - - - - No documentation. - - - hh447006 - 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 -
- - -

The mode for the Morphology effect.

-
- - dn934252 - D2D1_MORPHOLOGY_MODE - D2D1_MORPHOLOGY_MODE -
- - - No documentation. - - - dn934252 - D2D1_MORPHOLOGY_MODE_ERODE - D2D1_MORPHOLOGY_MODE_ERODE - - - - No documentation. - - - dn934252 - D2D1_MORPHOLOGY_MODE_DILATE - D2D1_MORPHOLOGY_MODE_DILATE - - - -

Identifiers for properties of the Morphology effect.

-
- - dn934253 - D2D1_MORPHOLOGY_PROP - D2D1_MORPHOLOGY_PROP -
- - - No documentation. - - - dn934253 - D2D1_MORPHOLOGY_PROP_MODE - D2D1_MORPHOLOGY_PROP_MODE - - - - No documentation. - - - dn934253 - D2D1_MORPHOLOGY_PROP_WIDTH - D2D1_MORPHOLOGY_PROP_WIDTH - - - - No documentation. - - - dn934253 - 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 -
- - -

Identifiers for properties of the Opacity metadata effect.

-
- - dn934254 - D2D1_OPACITYMETADATA_PROP - D2D1_OPACITYMETADATA_PROP -
- - - No documentation. - - - dn934254 - D2D1_OPACITYMETADATA_PROP_INPUT_OPAQUE_RECT - D2D1_OPACITYMETADATA_PROP_INPUT_OPAQUE_RECT - - - -

This effect adjusts the opacity of an image by multiplying the alpha channel of the input by the specified opacity value. It has a single input.

The CLSID for this effect is .

-
- - mt745076 - D2D1_OPACITY_PROP - D2D1_OPACITY_PROP -
- - - No documentation. - - - mt745076 - D2D1_OPACITY_PROP_OPACITY - D2D1_OPACITY_PROP_OPACITY - - - -

Specifies the flip and rotation at which an image appears.

-
- - dn890739 - D2D1_ORIENTATION - D2D1_ORIENTATION -
- - -

The orientation is unchanged.

-
- - dn890739 - D2D1_ORIENTATION_DEFAULT - D2D1_ORIENTATION_DEFAULT -
- - -

The image is flipped horizontally.

-
- - dn890739 - D2D1_ORIENTATION_FLIP_HORIZONTAL - D2D1_ORIENTATION_FLIP_HORIZONTAL -
- - -

The image is rotated clockwise 180 degrees.

-
- - dn890739 - D2D1_ORIENTATION_ROTATE_CLOCKWISE180 - D2D1_ORIENTATION_ROTATE_CLOCKWISE180 -
- - -

The image is rotated clockwise 180 degrees, then flipped horizontally.

-
- - dn890739 - D2D1_ORIENTATION_ROTATE_CLOCKWISE180_FLIP_HORIZONTAL - D2D1_ORIENTATION_ROTATE_CLOCKWISE180_FLIP_HORIZONTAL -
- - -

The image is rotated clockwise 90 degrees, then flipped horizontally.

-
- - dn890739 - D2D1_ORIENTATION_ROTATE_CLOCKWISE90_FLIP_HORIZONTAL - D2D1_ORIENTATION_ROTATE_CLOCKWISE90_FLIP_HORIZONTAL -
- - -

The image is rotated clockwise 270 degrees.

-
- - dn890739 - D2D1_ORIENTATION_ROTATE_CLOCKWISE270 - D2D1_ORIENTATION_ROTATE_CLOCKWISE270 -
- - -

The image is rotated clockwise 270 degrees, then flipped horizontally.

-
- - dn890739 - D2D1_ORIENTATION_ROTATE_CLOCKWISE270_FLIP_HORIZONTAL - D2D1_ORIENTATION_ROTATE_CLOCKWISE270_FLIP_HORIZONTAL -
- - -

The image is rotated clockwise 90 degrees.

-
- - dn890739 - D2D1_ORIENTATION_ROTATE_CLOCKWISE90 - D2D1_ORIENTATION_ROTATE_CLOCKWISE90 -
- - -

Specifies how to render gradient mesh edges.

-
- - dn986881 - D2D1_PATCH_EDGE_MODE - D2D1_PATCH_EDGE_MODE -
- - -

Render this patch edge aliased. Use this value for the internal edges of your gradient mesh.

-
- - dn986881 - D2D1_PATCH_EDGE_MODE_ALIASED - D2D1_PATCH_EDGE_MODE_ALIASED -
- - -

Render this patch edge antialiased. Use this value for the external (boundary) edges of your mesh.

-
- - dn986881 - D2D1_PATCH_EDGE_MODE_ANTIALIASED - D2D1_PATCH_EDGE_MODE_ANTIALIASED -
- - -

Render this patch edge aliased and also slightly inflated. Use this for the internal edges of your gradient mesh when there could be t-junctions among patches. Inflating the internal edges mitigates seams that can appear along those junctions.

-
- - dn986881 - D2D1_PATCH_EDGE_MODE_ALIASED_INFLATED - D2D1_PATCH_EDGE_MODE_ALIASED_INFLATED -
- - -

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

The interpolation mode the 3D perspective transform effect uses on the image. There are 5 scale modes that range in quality and speed.

-
- - dn934207 - D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE - D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE -
- - - No documentation. - - - dn934207 - D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE_NEAREST_NEIGHBOR - D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE_NEAREST_NEIGHBOR - - - - No documentation. - - - dn934207 - D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE_LINEAR - D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE_LINEAR - - - - No documentation. - - - dn934207 - D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE_CUBIC - D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE_CUBIC - - - - No documentation. - - - dn934207 - D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR - D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR - - - - No documentation. - - - dn934207 - D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE_ANISOTROPIC - D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE_ANISOTROPIC - - - -

Identifiers for the properties of the 3D perspective transform effect.

-
- - dn934208 - D2D1_3DPERSPECTIVETRANSFORM_PROP - D2D1_3DPERSPECTIVETRANSFORM_PROP -
- - - No documentation. - - - dn934208 - D2D1_3DPERSPECTIVETRANSFORM_PROP_INTERPOLATION_MODE - D2D1_3DPERSPECTIVETRANSFORM_PROP_INTERPOLATION_MODE - - - - No documentation. - - - dn934208 - D2D1_3DPERSPECTIVETRANSFORM_PROP_BORDER_MODE - D2D1_3DPERSPECTIVETRANSFORM_PROP_BORDER_MODE - - - - No documentation. - - - dn934208 - D2D1_3DPERSPECTIVETRANSFORM_PROP_DEPTH - D2D1_3DPERSPECTIVETRANSFORM_PROP_DEPTH - - - - No documentation. - - - dn934208 - D2D1_3DPERSPECTIVETRANSFORM_PROP_PERSPECTIVE_ORIGIN - D2D1_3DPERSPECTIVETRANSFORM_PROP_PERSPECTIVE_ORIGIN - - - - No documentation. - - - dn934208 - D2D1_3DPERSPECTIVETRANSFORM_PROP_LOCAL_OFFSET - D2D1_3DPERSPECTIVETRANSFORM_PROP_LOCAL_OFFSET - - - - No documentation. - - - dn934208 - D2D1_3DPERSPECTIVETRANSFORM_PROP_GLOBAL_OFFSET - D2D1_3DPERSPECTIVETRANSFORM_PROP_GLOBAL_OFFSET - - - - No documentation. - - - dn934208 - D2D1_3DPERSPECTIVETRANSFORM_PROP_ROTATION_ORIGIN - D2D1_3DPERSPECTIVETRANSFORM_PROP_ROTATION_ORIGIN - - - - No documentation. - - - dn934208 - D2D1_3DPERSPECTIVETRANSFORM_PROP_ROTATION - D2D1_3DPERSPECTIVETRANSFORM_PROP_ROTATION - - - -

Indicates how pixel shader sampling will be restricted. This indicates whether the vertex buffer is large and tends to change infrequently or smaller and changes frequently (typically frame over frame).

-
- -

If the shader specifies , it must still correctly implement the region of interest calculations in and .

-
- - hh404316 - D2D1_PIXEL_OPTIONS - D2D1_PIXEL_OPTIONS -
- - -

The pixel shader is not restricted in its sampling.

-
- - hh404316 - D2D1_PIXEL_OPTIONS_NONE - D2D1_PIXEL_OPTIONS_NONE -
- - -

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.

-
- - hh404316 - D2D1_PIXEL_OPTIONS_TRIVIAL_SAMPLING - D2D1_PIXEL_OPTIONS_TRIVIAL_SAMPLING -
- - -

Identifiers for properties of the Point-diffuse lighting effect.

-
- - dn934255 - D2D1_POINTDIFFUSE_PROP - D2D1_POINTDIFFUSE_PROP -
- - - No documentation. - - - dn934255 - D2D1_POINTDIFFUSE_PROP_LIGHT_POSITION - D2D1_POINTDIFFUSE_PROP_LIGHT_POSITION - - - - No documentation. - - - dn934255 - D2D1_POINTDIFFUSE_PROP_DIFFUSE_CONSTANT - D2D1_POINTDIFFUSE_PROP_DIFFUSE_CONSTANT - - - - No documentation. - - - dn934255 - D2D1_POINTDIFFUSE_PROP_SURFACE_SCALE - D2D1_POINTDIFFUSE_PROP_SURFACE_SCALE - - - - No documentation. - - - dn934255 - D2D1_POINTDIFFUSE_PROP_COLOR - D2D1_POINTDIFFUSE_PROP_COLOR - - - - No documentation. - - - dn934255 - D2D1_POINTDIFFUSE_PROP_KERNEL_UNIT_LENGTH - D2D1_POINTDIFFUSE_PROP_KERNEL_UNIT_LENGTH - - - - No documentation. - - - dn934255 - D2D1_POINTDIFFUSE_PROP_SCALE_MODE - D2D1_POINTDIFFUSE_PROP_SCALE_MODE - - - -

The interpolation mode the Point-diffuse lighting effect uses to scale the image to the corresponding kernel unit length. There are six scale modes that range in quality and speed

-
- - dn934256 - D2D1_POINTDIFFUSE_SCALE_MODE - D2D1_POINTDIFFUSE_SCALE_MODE -
- - - No documentation. - - - dn934256 - D2D1_POINTDIFFUSE_SCALE_MODE_NEAREST_NEIGHBOR - D2D1_POINTDIFFUSE_SCALE_MODE_NEAREST_NEIGHBOR - - - - No documentation. - - - dn934256 - D2D1_POINTDIFFUSE_SCALE_MODE_LINEAR - D2D1_POINTDIFFUSE_SCALE_MODE_LINEAR - - - - No documentation. - - - dn934256 - D2D1_POINTDIFFUSE_SCALE_MODE_CUBIC - D2D1_POINTDIFFUSE_SCALE_MODE_CUBIC - - - - No documentation. - - - dn934256 - D2D1_POINTDIFFUSE_SCALE_MODE_MULTI_SAMPLE_LINEAR - D2D1_POINTDIFFUSE_SCALE_MODE_MULTI_SAMPLE_LINEAR - - - - No documentation. - - - dn934256 - D2D1_POINTDIFFUSE_SCALE_MODE_ANISOTROPIC - D2D1_POINTDIFFUSE_SCALE_MODE_ANISOTROPIC - - - - No documentation. - - - dn934256 - D2D1_POINTDIFFUSE_SCALE_MODE_HIGH_QUALITY_CUBIC - D2D1_POINTDIFFUSE_SCALE_MODE_HIGH_QUALITY_CUBIC - - - -

Identifiers for properties of the Point-specular lighting effect.

-
- - dn934257 - D2D1_POINTSPECULAR_PROP - D2D1_POINTSPECULAR_PROP -
- - - No documentation. - - - dn934257 - D2D1_POINTSPECULAR_PROP_LIGHT_POSITION - D2D1_POINTSPECULAR_PROP_LIGHT_POSITION - - - - No documentation. - - - dn934257 - D2D1_POINTSPECULAR_PROP_SPECULAR_EXPONENT - D2D1_POINTSPECULAR_PROP_SPECULAR_EXPONENT - - - - No documentation. - - - dn934257 - D2D1_POINTSPECULAR_PROP_SPECULAR_CONSTANT - D2D1_POINTSPECULAR_PROP_SPECULAR_CONSTANT - - - - No documentation. - - - dn934257 - D2D1_POINTSPECULAR_PROP_SURFACE_SCALE - D2D1_POINTSPECULAR_PROP_SURFACE_SCALE - - - - No documentation. - - - dn934257 - D2D1_POINTSPECULAR_PROP_COLOR - D2D1_POINTSPECULAR_PROP_COLOR - - - - No documentation. - - - dn934257 - D2D1_POINTSPECULAR_PROP_KERNEL_UNIT_LENGTH - D2D1_POINTSPECULAR_PROP_KERNEL_UNIT_LENGTH - - - - No documentation. - - - dn934257 - D2D1_POINTSPECULAR_PROP_SCALE_MODE - D2D1_POINTSPECULAR_PROP_SCALE_MODE - - - -

The interpolation mode the Point-specular lighting effect uses to scale the image to the corresponding kernel unit length. There are six scale modes that range in quality and speed.

-
- - dn934258 - D2D1_POINTSPECULAR_SCALE_MODE - D2D1_POINTSPECULAR_SCALE_MODE -
- - - No documentation. - - - dn934258 - D2D1_POINTSPECULAR_SCALE_MODE_NEAREST_NEIGHBOR - D2D1_POINTSPECULAR_SCALE_MODE_NEAREST_NEIGHBOR - - - - No documentation. - - - dn934258 - D2D1_POINTSPECULAR_SCALE_MODE_LINEAR - D2D1_POINTSPECULAR_SCALE_MODE_LINEAR - - - - No documentation. - - - dn934258 - D2D1_POINTSPECULAR_SCALE_MODE_CUBIC - D2D1_POINTSPECULAR_SCALE_MODE_CUBIC - - - - No documentation. - - - dn934258 - D2D1_POINTSPECULAR_SCALE_MODE_MULTI_SAMPLE_LINEAR - D2D1_POINTSPECULAR_SCALE_MODE_MULTI_SAMPLE_LINEAR - - - - No documentation. - - - dn934258 - D2D1_POINTSPECULAR_SCALE_MODE_ANISOTROPIC - D2D1_POINTSPECULAR_SCALE_MODE_ANISOTROPIC - - - - No documentation. - - - dn934258 - D2D1_POINTSPECULAR_SCALE_MODE_HIGH_QUALITY_CUBIC - D2D1_POINTSPECULAR_SCALE_MODE_HIGH_QUALITY_CUBIC - - - -

Identifiers for properties of the Posterize effect.

-
- - dn890742 - D2D1_POSTERIZE_PROP - D2D1_POSTERIZE_PROP -
- - - No documentation. - - - dn890742 - D2D1_POSTERIZE_PROP_RED_VALUE_COUNT - D2D1_POSTERIZE_PROP_RED_VALUE_COUNT - - - - No documentation. - - - dn890742 - D2D1_POSTERIZE_PROP_GREEN_VALUE_COUNT - D2D1_POSTERIZE_PROP_GREEN_VALUE_COUNT - - - - No documentation. - - - dn890742 - D2D1_POSTERIZE_PROP_BLUE_VALUE_COUNT - D2D1_POSTERIZE_PROP_BLUE_VALUE_COUNT - - - -

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

Used to specify the geometric blend mode for all Direct2D primitives.

-
- - hh447008 - D2D1_PRIMITIVE_BLEND - D2D1_PRIMITIVE_BLEND -
- - -

The standard source-over-destination blend mode.

-
- - hh447008 - D2D1_PRIMITIVE_BLEND_SOURCE_OVER - D2D1_PRIMITIVE_BLEND_SOURCE_OVER -
- - -

The source is copied to the destination; the destination pixels are ignored.

-
- - hh447008 - D2D1_PRIMITIVE_BLEND_COPY - D2D1_PRIMITIVE_BLEND_COPY -
- - -

The resulting pixel values use the minimum of the source and destination pixel values. Available in Windows?8 and later.

-
- - hh447008 - D2D1_PRIMITIVE_BLEND_MIN - D2D1_PRIMITIVE_BLEND_MIN -
- - -

The resulting pixel values are the sum of the source and destination pixel values. Available in Windows?8 and later.

-
- - hh447008 - D2D1_PRIMITIVE_BLEND_ADD - D2D1_PRIMITIVE_BLEND_ADD -
- - - No documentation. - - - hh447008 - D2D1_PRIMITIVE_BLEND_MAX - D2D1_PRIMITIVE_BLEND_MAX - - - -

Defines when font resources should be subset during printing.

-
- - hh871442 - D2D1_PRINT_FONT_SUBSET_MODE - D2D1_PRINT_FONT_SUBSET_MODE -
- - -

Uses a heuristic strategy to decide when to subset fonts.

Note??If the print driver has requested archive-optimized content, then Direct2D will subset fonts once, for the entire document. ?
-
- - hh871442 - D2D1_PRINT_FONT_SUBSET_MODE_DEFAULT - D2D1_PRINT_FONT_SUBSET_MODE_DEFAULT -
- - -

Subsets and embeds font resources in each page, then discards that font subset after the page is printed out.

-
- - hh871442 - D2D1_PRINT_FONT_SUBSET_MODE_EACHPAGE - D2D1_PRINT_FONT_SUBSET_MODE_EACHPAGE -
- - -

Sends out the original font resources without subsetting along with the page that first uses the font, and re-uses the font resources for later pages without resending them.

-
- - hh871442 - D2D1_PRINT_FONT_SUBSET_MODE_NONE - D2D1_PRINT_FONT_SUBSET_MODE_NONE -
- - -

Specifies the indices of the system properties present on the interface for an .

-
- -

Under normal circumstances the minimum and maximum number of inputs to the effect are the same. If the effect supports a variable number of inputs, the ID2D1Effect::SetNumberOfInputs method can be used to choose the number that the application will enable.

-
- - hh447010 - D2D1_PROPERTY - D2D1_PROPERTY -
- - - No documentation. - - - hh447010 - D2D1_PROPERTY_CLSID - D2D1_PROPERTY_CLSID - - - - No documentation. - - - hh447010 - D2D1_PROPERTY_DISPLAYNAME - D2D1_PROPERTY_DISPLAYNAME - - - - No documentation. - - - hh447010 - D2D1_PROPERTY_AUTHOR - D2D1_PROPERTY_AUTHOR - - - - No documentation. - - - hh447010 - D2D1_PROPERTY_CATEGORY - D2D1_PROPERTY_CATEGORY - - - - No documentation. - - - hh447010 - D2D1_PROPERTY_DESCRIPTION - D2D1_PROPERTY_DESCRIPTION - - - - No documentation. - - - hh447010 - D2D1_PROPERTY_INPUTS - D2D1_PROPERTY_INPUTS - - - - No documentation. - - - hh447010 - D2D1_PROPERTY_CACHED - D2D1_PROPERTY_CACHED - - - - No documentation. - - - hh447010 - D2D1_PROPERTY_PRECISION - D2D1_PROPERTY_PRECISION - - - - No documentation. - - - hh447010 - D2D1_PROPERTY_MIN_INPUTS - D2D1_PROPERTY_MIN_INPUTS - - - - No documentation. - - - hh447010 - D2D1_PROPERTY_MAX_INPUTS - D2D1_PROPERTY_MAX_INPUTS - - - -

Specifies the types of properties supported by the Direct2D property interface.

-
- - hh447012 - D2D1_PROPERTY_TYPE - D2D1_PROPERTY_TYPE -
- - -

An unknown property.

-
- - hh447012 - D2D1_PROPERTY_TYPE_UNKNOWN - D2D1_PROPERTY_TYPE_UNKNOWN -
- - -

An arbitrary-length string.

-
- - hh447012 - D2D1_PROPERTY_TYPE_STRING - D2D1_PROPERTY_TYPE_STRING -
- - -

A 32-bit integer value constrained to be either 0 or 1.

-
- - hh447012 - D2D1_PROPERTY_TYPE_BOOL - D2D1_PROPERTY_TYPE_BOOL -
- - -

An unsigned 32-bit integer.

-
- - hh447012 - D2D1_PROPERTY_TYPE_UINT32 - D2D1_PROPERTY_TYPE_UINT32 -
- - -

A signed 32-bit integer.

-
- - hh447012 - D2D1_PROPERTY_TYPE_INT32 - D2D1_PROPERTY_TYPE_INT32 -
- - -

A 32-bit float.

-
- - hh447012 - D2D1_PROPERTY_TYPE_FLOAT - D2D1_PROPERTY_TYPE_FLOAT -
- - -

Two 32-bit float values.

-
- - hh447012 - D2D1_PROPERTY_TYPE_VECTOR2 - D2D1_PROPERTY_TYPE_VECTOR2 -
- - -

Three 32-bit float values.

-
- - hh447012 - D2D1_PROPERTY_TYPE_VECTOR3 - D2D1_PROPERTY_TYPE_VECTOR3 -
- - -

Four 32-bit float values.

-
- - hh447012 - D2D1_PROPERTY_TYPE_VECTOR4 - D2D1_PROPERTY_TYPE_VECTOR4 -
- - -

An arbitrary number of bytes.

-
- - hh447012 - D2D1_PROPERTY_TYPE_BLOB - D2D1_PROPERTY_TYPE_BLOB -
- - -

A returned COM or nano-COM interface.

-
- - hh447012 - D2D1_PROPERTY_TYPE_IUNKNOWN - D2D1_PROPERTY_TYPE_IUNKNOWN -
- - -

An enumeration. The value should be treated as a UINT32 with a defined array of fields to specify the bindings to human-readable strings.

-
- - hh447012 - D2D1_PROPERTY_TYPE_ENUM - D2D1_PROPERTY_TYPE_ENUM -
- - -

An enumeration. The value is the count of sub-properties in the array. The set of array elements will be contained in the sub-property.

-
- - hh447012 - D2D1_PROPERTY_TYPE_ARRAY - D2D1_PROPERTY_TYPE_ARRAY -
- - -

A CLSID.

-
- - hh447012 - D2D1_PROPERTY_TYPE_CLSID - D2D1_PROPERTY_TYPE_CLSID -
- - -

A 3x2 matrix of float values.

-
- - hh447012 - D2D1_PROPERTY_TYPE_MATRIX_3X2 - D2D1_PROPERTY_TYPE_MATRIX_3X2 -
- - -

A 4x2 matrix of float values.

-
- - hh447012 - D2D1_PROPERTY_TYPE_MATRIX_4X3 - D2D1_PROPERTY_TYPE_MATRIX_4X3 -
- - -

A 4x4 matrix of float values.

-
- - hh447012 - D2D1_PROPERTY_TYPE_MATRIX_4X4 - D2D1_PROPERTY_TYPE_MATRIX_4X4 -
- - -

A 5x4 matrix of float values.

-
- - hh447012 - D2D1_PROPERTY_TYPE_MATRIX_5X4 - D2D1_PROPERTY_TYPE_MATRIX_5X4 -
- - -

A nano-COM color context interface reference.

-
- - hh447012 - D2D1_PROPERTY_TYPE_COLOR_CONTEXT - D2D1_PROPERTY_TYPE_COLOR_CONTEXT -
- - -

The rendering priority affects the extent to which Direct2D will throttle its rendering workload.

-
- - dn280382 - D2D1_RENDERING_PRIORITY - D2D1_RENDERING_PRIORITY -
- - - No documentation. - - - dn280382 - D2D1_RENDERING_PRIORITY_NORMAL - D2D1_RENDERING_PRIORITY_NORMAL - - - - No documentation. - - - dn280382 - D2D1_RENDERING_PRIORITY_LOW - D2D1_RENDERING_PRIORITY_LOW - - - -

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

Values for the property of the RGB to Hue effect.

-
- - dn890743 - D2D1_RGBTOHUE_OUTPUT_COLOR_SPACE - D2D1_RGBTOHUE_OUTPUT_COLOR_SPACE -
- - - No documentation. - - - dn890743 - D2D1_RGBTOHUE_OUTPUT_COLOR_SPACE_HUE_SATURATION_VALUE - D2D1_RGBTOHUE_OUTPUT_COLOR_SPACE_HUE_SATURATION_VALUE - - - - No documentation. - - - dn890743 - D2D1_RGBTOHUE_OUTPUT_COLOR_SPACE_HUE_SATURATION_LIGHTNESS - D2D1_RGBTOHUE_OUTPUT_COLOR_SPACE_HUE_SATURATION_LIGHTNESS - - - -

Indentifiers for properties of the RGB to Hue effect.

-
- - dn890744 - D2D1_RGBTOHUE_PROP - D2D1_RGBTOHUE_PROP -
- - - No documentation. - - - dn890744 - D2D1_RGBTOHUE_PROP_OUTPUT_COLOR_SPACE - D2D1_RGBTOHUE_PROP_OUTPUT_COLOR_SPACE - - - -

Identifiers for properties of the Saturation effect.

-
- - dn934259 - D2D1_SATURATION_PROP - D2D1_SATURATION_PROP -
- - - No documentation. - - - dn934259 - D2D1_SATURATION_PROP_SATURATION - D2D1_SATURATION_PROP_SATURATION - - - -

The interpolation mode the Scale effect uses to scale the image. There are 6 scale modes that range in quality and speed.

-
- - dn934260 - D2D1_SCALE_INTERPOLATION_MODE - D2D1_SCALE_INTERPOLATION_MODE -
- - - No documentation. - - - dn934260 - D2D1_SCALE_INTERPOLATION_MODE_NEAREST_NEIGHBOR - D2D1_SCALE_INTERPOLATION_MODE_NEAREST_NEIGHBOR - - - - No documentation. - - - dn934260 - D2D1_SCALE_INTERPOLATION_MODE_LINEAR - D2D1_SCALE_INTERPOLATION_MODE_LINEAR - - - - No documentation. - - - dn934260 - D2D1_SCALE_INTERPOLATION_MODE_CUBIC - D2D1_SCALE_INTERPOLATION_MODE_CUBIC - - - - No documentation. - - - dn934260 - D2D1_SCALE_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR - D2D1_SCALE_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR - - - - No documentation. - - - dn934260 - D2D1_SCALE_INTERPOLATION_MODE_ANISOTROPIC - D2D1_SCALE_INTERPOLATION_MODE_ANISOTROPIC - - - - No documentation. - - - dn934260 - D2D1_SCALE_INTERPOLATION_MODE_HIGH_QUALITY_CUBIC - D2D1_SCALE_INTERPOLATION_MODE_HIGH_QUALITY_CUBIC - - - -

Identifiers for properties of the Scale effect.

-
- - dn934261 - D2D1_SCALE_PROP - D2D1_SCALE_PROP -
- - - No documentation. - - - dn934261 - D2D1_SCALE_PROP_SCALE - D2D1_SCALE_PROP_SCALE - - - - No documentation. - - - dn934261 - D2D1_SCALE_PROP_CENTER_POINT - D2D1_SCALE_PROP_CENTER_POINT - - - - No documentation. - - - dn934261 - D2D1_SCALE_PROP_INTERPOLATION_MODE - D2D1_SCALE_PROP_INTERPOLATION_MODE - - - - No documentation. - - - dn934261 - D2D1_SCALE_PROP_BORDER_MODE - D2D1_SCALE_PROP_BORDER_MODE - - - - No documentation. - - - dn934261 - D2D1_SCALE_PROP_SHARPNESS - D2D1_SCALE_PROP_SHARPNESS - - - -

Identifiers for properties of the Sepia effect.

-
- - dn890745 - D2D1_SEPIA_PROP - D2D1_SEPIA_PROP -
- - - No documentation. - - - dn890745 - D2D1_SEPIA_PROP_INTENSITY - D2D1_SEPIA_PROP_INTENSITY - - - - No documentation. - - - dn890745 - D2D1_SEPIA_PROP_ALPHA_MODE - D2D1_SEPIA_PROP_ALPHA_MODE - - - -

The level of performance optimization for the Shadow effect.

-
- - dn934262 - D2D1_SHADOW_OPTIMIZATION - D2D1_SHADOW_OPTIMIZATION -
- - - No documentation. - - - dn934262 - D2D1_SHADOW_OPTIMIZATION_SPEED - D2D1_SHADOW_OPTIMIZATION_SPEED - - - - No documentation. - - - dn934262 - D2D1_SHADOW_OPTIMIZATION_BALANCED - D2D1_SHADOW_OPTIMIZATION_BALANCED - - - - No documentation. - - - dn934262 - D2D1_SHADOW_OPTIMIZATION_QUALITY - D2D1_SHADOW_OPTIMIZATION_QUALITY - - - -

Identifiers for properties of the Shadow effect.

-
- - dn934263 - D2D1_SHADOW_PROP - D2D1_SHADOW_PROP -
- - - No documentation. - - - dn934263 - D2D1_SHADOW_PROP_BLUR_STANDARD_DEVIATION - D2D1_SHADOW_PROP_BLUR_STANDARD_DEVIATION - - - - No documentation. - - - dn934263 - D2D1_SHADOW_PROP_COLOR - D2D1_SHADOW_PROP_COLOR - - - - No documentation. - - - dn934263 - D2D1_SHADOW_PROP_OPTIMIZATION - D2D1_SHADOW_PROP_OPTIMIZATION - - - -

Identifiers for properties of the Sharpen effect.

-
- - dn890746 - D2D1_SHARPEN_PROP - D2D1_SHARPEN_PROP -
- - - No documentation. - - - dn890746 - D2D1_SHARPEN_PROP_SHARPNESS - D2D1_SHARPEN_PROP_SHARPNESS - - - - No documentation. - - - dn890746 - D2D1_SHARPEN_PROP_THRESHOLD - D2D1_SHARPEN_PROP_THRESHOLD - - - -

Identifiers for properties of the Spot-diffuse lighting effect.

-
- - dn934264 - D2D1_SPOTDIFFUSE_PROP - D2D1_SPOTDIFFUSE_PROP -
- - - No documentation. - - - dn934264 - D2D1_SPOTDIFFUSE_PROP_LIGHT_POSITION - D2D1_SPOTDIFFUSE_PROP_LIGHT_POSITION - - - - No documentation. - - - dn934264 - D2D1_SPOTDIFFUSE_PROP_POINTS_AT - D2D1_SPOTDIFFUSE_PROP_POINTS_AT - - - - No documentation. - - - dn934264 - D2D1_SPOTDIFFUSE_PROP_FOCUS - D2D1_SPOTDIFFUSE_PROP_FOCUS - - - - No documentation. - - - dn934264 - D2D1_SPOTDIFFUSE_PROP_LIMITING_CONE_ANGLE - D2D1_SPOTDIFFUSE_PROP_LIMITING_CONE_ANGLE - - - - No documentation. - - - dn934264 - D2D1_SPOTDIFFUSE_PROP_DIFFUSE_CONSTANT - D2D1_SPOTDIFFUSE_PROP_DIFFUSE_CONSTANT - - - - No documentation. - - - dn934264 - D2D1_SPOTDIFFUSE_PROP_SURFACE_SCALE - D2D1_SPOTDIFFUSE_PROP_SURFACE_SCALE - - - - No documentation. - - - dn934264 - D2D1_SPOTDIFFUSE_PROP_COLOR - D2D1_SPOTDIFFUSE_PROP_COLOR - - - - No documentation. - - - dn934264 - D2D1_SPOTDIFFUSE_PROP_KERNEL_UNIT_LENGTH - D2D1_SPOTDIFFUSE_PROP_KERNEL_UNIT_LENGTH - - - - No documentation. - - - dn934264 - D2D1_SPOTDIFFUSE_PROP_SCALE_MODE - D2D1_SPOTDIFFUSE_PROP_SCALE_MODE - - - -

The interpolation mode the Spot-diffuse lighting effect uses to scale the image to the corresponding kernel unit length. There are six scale modes that range in quality and speed.

-
- - dn934265 - D2D1_SPOTDIFFUSE_SCALE_MODE - D2D1_SPOTDIFFUSE_SCALE_MODE -
- - - No documentation. - - - dn934265 - D2D1_SPOTDIFFUSE_SCALE_MODE_NEAREST_NEIGHBOR - D2D1_SPOTDIFFUSE_SCALE_MODE_NEAREST_NEIGHBOR - - - - No documentation. - - - dn934265 - D2D1_SPOTDIFFUSE_SCALE_MODE_LINEAR - D2D1_SPOTDIFFUSE_SCALE_MODE_LINEAR - - - - No documentation. - - - dn934265 - D2D1_SPOTDIFFUSE_SCALE_MODE_CUBIC - D2D1_SPOTDIFFUSE_SCALE_MODE_CUBIC - - - - No documentation. - - - dn934265 - D2D1_SPOTDIFFUSE_SCALE_MODE_MULTI_SAMPLE_LINEAR - D2D1_SPOTDIFFUSE_SCALE_MODE_MULTI_SAMPLE_LINEAR - - - - No documentation. - - - dn934265 - D2D1_SPOTDIFFUSE_SCALE_MODE_ANISOTROPIC - D2D1_SPOTDIFFUSE_SCALE_MODE_ANISOTROPIC - - - - No documentation. - - - dn934265 - D2D1_SPOTDIFFUSE_SCALE_MODE_HIGH_QUALITY_CUBIC - D2D1_SPOTDIFFUSE_SCALE_MODE_HIGH_QUALITY_CUBIC - - - -

Identifiers for properties of the Spot-specular lighting effect.

-
- - dn934266 - D2D1_SPOTSPECULAR_PROP - D2D1_SPOTSPECULAR_PROP -
- - - No documentation. - - - dn934266 - D2D1_SPOTSPECULAR_PROP_LIGHT_POSITION - D2D1_SPOTSPECULAR_PROP_LIGHT_POSITION - - - - No documentation. - - - dn934266 - D2D1_SPOTSPECULAR_PROP_POINTS_AT - D2D1_SPOTSPECULAR_PROP_POINTS_AT - - - - No documentation. - - - dn934266 - D2D1_SPOTSPECULAR_PROP_FOCUS - D2D1_SPOTSPECULAR_PROP_FOCUS - - - - No documentation. - - - dn934266 - D2D1_SPOTSPECULAR_PROP_LIMITING_CONE_ANGLE - D2D1_SPOTSPECULAR_PROP_LIMITING_CONE_ANGLE - - - - No documentation. - - - dn934266 - D2D1_SPOTSPECULAR_PROP_SPECULAR_EXPONENT - D2D1_SPOTSPECULAR_PROP_SPECULAR_EXPONENT - - - - No documentation. - - - dn934266 - D2D1_SPOTSPECULAR_PROP_SPECULAR_CONSTANT - D2D1_SPOTSPECULAR_PROP_SPECULAR_CONSTANT - - - - No documentation. - - - dn934266 - D2D1_SPOTSPECULAR_PROP_SURFACE_SCALE - D2D1_SPOTSPECULAR_PROP_SURFACE_SCALE - - - - No documentation. - - - dn934266 - D2D1_SPOTSPECULAR_PROP_COLOR - D2D1_SPOTSPECULAR_PROP_COLOR - - - - No documentation. - - - dn934266 - D2D1_SPOTSPECULAR_PROP_KERNEL_UNIT_LENGTH - D2D1_SPOTSPECULAR_PROP_KERNEL_UNIT_LENGTH - - - - No documentation. - - - dn934266 - D2D1_SPOTSPECULAR_PROP_SCALE_MODE - D2D1_SPOTSPECULAR_PROP_SCALE_MODE - - - -

The interpolation mode the Spot-specular lighting effect uses to scale the image to the corresponding kernel unit length. There are six scale modes that range in quality and speed.

-
- - dn934267 - D2D1_SPOTSPECULAR_SCALE_MODE - D2D1_SPOTSPECULAR_SCALE_MODE -
- - - No documentation. - - - dn934267 - D2D1_SPOTSPECULAR_SCALE_MODE_NEAREST_NEIGHBOR - D2D1_SPOTSPECULAR_SCALE_MODE_NEAREST_NEIGHBOR - - - - No documentation. - - - dn934267 - D2D1_SPOTSPECULAR_SCALE_MODE_LINEAR - D2D1_SPOTSPECULAR_SCALE_MODE_LINEAR - - - - No documentation. - - - dn934267 - D2D1_SPOTSPECULAR_SCALE_MODE_CUBIC - D2D1_SPOTSPECULAR_SCALE_MODE_CUBIC - - - - No documentation. - - - dn934267 - D2D1_SPOTSPECULAR_SCALE_MODE_MULTI_SAMPLE_LINEAR - D2D1_SPOTSPECULAR_SCALE_MODE_MULTI_SAMPLE_LINEAR - - - - No documentation. - - - dn934267 - D2D1_SPOTSPECULAR_SCALE_MODE_ANISOTROPIC - D2D1_SPOTSPECULAR_SCALE_MODE_ANISOTROPIC - - - - No documentation. - - - dn934267 - D2D1_SPOTSPECULAR_SCALE_MODE_HIGH_QUALITY_CUBIC - D2D1_SPOTSPECULAR_SCALE_MODE_HIGH_QUALITY_CUBIC - - - -

Specifies additional aspects of how a sprite batch is to be drawn, as part of a call to .

-
- - mt619821 - D2D1_SPRITE_OPTIONS - D2D1_SPRITE_OPTIONS -
- - - No documentation. - - - mt619821 - D2D1_SPRITE_OPTIONS_NONE - D2D1_SPRITE_OPTIONS_NONE - - - - No documentation. - - - mt619821 - D2D1_SPRITE_OPTIONS_CLAMP_TO_SOURCE_RECTANGLE - D2D1_SPRITE_OPTIONS_CLAMP_TO_SOURCE_RECTANGLE - - - -

Identifiers for properties of the Straighten effect.

-
- - dn890747 - D2D1_STRAIGHTEN_PROP - D2D1_STRAIGHTEN_PROP -
- - - No documentation. - - - dn890747 - D2D1_STRAIGHTEN_PROP_ANGLE - D2D1_STRAIGHTEN_PROP_ANGLE - - - - No documentation. - - - dn890747 - D2D1_STRAIGHTEN_PROP_MAINTAIN_SIZE - D2D1_STRAIGHTEN_PROP_MAINTAIN_SIZE - - - - No documentation. - - - dn890747 - D2D1_STRAIGHTEN_PROP_SCALE_MODE - D2D1_STRAIGHTEN_PROP_SCALE_MODE - - - -

Values for the property of the Straighten effect.

-
- - dn890748 - D2D1_STRAIGHTEN_SCALE_MODE - D2D1_STRAIGHTEN_SCALE_MODE -
- - - No documentation. - - - dn890748 - D2D1_STRAIGHTEN_SCALE_MODE_NEAREST_NEIGHBOR - D2D1_STRAIGHTEN_SCALE_MODE_NEAREST_NEIGHBOR - - - - No documentation. - - - dn890748 - D2D1_STRAIGHTEN_SCALE_MODE_LINEAR - D2D1_STRAIGHTEN_SCALE_MODE_LINEAR - - - - No documentation. - - - dn890748 - D2D1_STRAIGHTEN_SCALE_MODE_CUBIC - D2D1_STRAIGHTEN_SCALE_MODE_CUBIC - - - - No documentation. - - - dn890748 - D2D1_STRAIGHTEN_SCALE_MODE_MULTI_SAMPLE_LINEAR - D2D1_STRAIGHTEN_SCALE_MODE_MULTI_SAMPLE_LINEAR - - - - No documentation. - - - dn890748 - D2D1_STRAIGHTEN_SCALE_MODE_ANISOTROPIC - D2D1_STRAIGHTEN_SCALE_MODE_ANISOTROPIC - - - -

Defines how the world transform, dots per inch (dpi), and stroke width affect the shape of the pen used to stroke a primitive.

-
- -

If you specify the stroke isn't affected by the world transform.

If you specify the application has the same behavior in Windows 7 and later.

If you specify the stroke is always 1 pixel wide.

Apart from the stroke, any value derived from the stroke width is not affected when the transformType is either fixed or hairline. This includes miters, line caps and so on.

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.

Here is an illustration of a stroke with dashing and a skew and stretch transform.

And here is an illustration of a fixed width stroke which does not get transformed.

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

Specifies the indices of the system sub-properties that may be present in any property.

-
- - hh447018 - D2D1_SUBPROPERTY - D2D1_SUBPROPERTY -
- - -

The name for the parent property.

-
- - hh447018 - D2D1_SUBPROPERTY_DISPLAYNAME - D2D1_SUBPROPERTY_DISPLAYNAME -
- - -

A Boolean indicating whether the parent property is writeable.

-
- - hh447018 - D2D1_SUBPROPERTY_ISREADONLY - D2D1_SUBPROPERTY_ISREADONLY -
- - -

The minimum value that can be set to the parent property.

-
- - hh447018 - D2D1_SUBPROPERTY_MIN - D2D1_SUBPROPERTY_MIN -
- - -

The maximum value that can be set to the parent property.

-
- - hh447018 - D2D1_SUBPROPERTY_MAX - D2D1_SUBPROPERTY_MAX -
- - -

The default value of the parent property.

-
- - hh447018 - D2D1_SUBPROPERTY_DEFAULT - D2D1_SUBPROPERTY_DEFAULT -
- - -

An array of name/index pairs that indicate the possible values that can be set to the parent property.

-
- - hh447018 - D2D1_SUBPROPERTY_FIELDS - D2D1_SUBPROPERTY_FIELDS -
- - -

An index sub-property used by the elements of the array.

-
- - hh447018 - D2D1_SUBPROPERTY_INDEX - D2D1_SUBPROPERTY_INDEX -
- - -

Describes how a render target behaves when it presents its content. This enumeration allows a bitwise combination of its member values.

-
- - dd368144 - D2D1_SVG_ASPECT_ALIGN - D2D1_SVG_ASPECT_ALIGN -
- - -

The render target waits until the display refreshes to present and discards the frame upon presenting.

-
- - dd368144 - D2D1_SVG_ASPECT_ALIGN_NONE - D2D1_SVG_ASPECT_ALIGN_NONE -
- - -

The render target does not discard the frame upon presenting.

-
- - dd368144 - D2D1_SVG_ASPECT_ALIGN_X_MIN_Y_MIN - D2D1_SVG_ASPECT_ALIGN_X_MIN_Y_MIN -
- - -

The render target does not wait until the display refreshes to present.

-
- - dd368144 - D2D1_SVG_ASPECT_ALIGN_X_MID_Y_MIN - D2D1_SVG_ASPECT_ALIGN_X_MID_Y_MIN -
- - - No documentation. - - - dd368144 - D2D1_SVG_ASPECT_ALIGN_X_MAX_Y_MIN - D2D1_SVG_ASPECT_ALIGN_X_MAX_Y_MIN - - - - No documentation. - - - dd368144 - D2D1_SVG_ASPECT_ALIGN_X_MIN_Y_MID - D2D1_SVG_ASPECT_ALIGN_X_MIN_Y_MID - - - - No documentation. - - - dd368144 - D2D1_SVG_ASPECT_ALIGN_X_MID_Y_MID - D2D1_SVG_ASPECT_ALIGN_X_MID_Y_MID - - - - No documentation. - - - dd368144 - D2D1_SVG_ASPECT_ALIGN_X_MAX_Y_MID - D2D1_SVG_ASPECT_ALIGN_X_MAX_Y_MID - - - - No documentation. - - - dd368144 - D2D1_SVG_ASPECT_ALIGN_X_MIN_Y_MAX - D2D1_SVG_ASPECT_ALIGN_X_MIN_Y_MAX - - - - No documentation. - - - dd368144 - D2D1_SVG_ASPECT_ALIGN_X_MID_Y_MAX - D2D1_SVG_ASPECT_ALIGN_X_MID_Y_MAX - - - - No documentation. - - - dd368144 - D2D1_SVG_ASPECT_ALIGN_X_MAX_Y_MAX - D2D1_SVG_ASPECT_ALIGN_X_MAX_Y_MAX - - - -

Indicates how pixel shader sampling will be restricted. This indicates whether the vertex buffer is large and tends to change infrequently or smaller and changes frequently (typically frame over frame).

-
- -

If the shader specifies , it must still correctly implement the region of interest calculations in and .

-
- - hh404316 - D2D1_SVG_ASPECT_SCALING - D2D1_SVG_ASPECT_SCALING -
- - -

The pixel shader is not restricted in its sampling.

-
- - hh404316 - D2D1_SVG_ASPECT_SCALING_MEET - D2D1_SVG_ASPECT_SCALING_MEET -
- - -

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.

-
- - hh404316 - D2D1_SVG_ASPECT_SCALING_SLICE - D2D1_SVG_ASPECT_SCALING_SLICE -
- - -

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_SVG_ATTRIBUTE_POD_TYPE - D2D1_SVG_ATTRIBUTE_POD_TYPE -
- - -

The render target uses hardware rendering, if available; otherwise, it uses software rendering.

-
- - dd756630 - D2D1_SVG_ATTRIBUTE_POD_TYPE_FLOAT - D2D1_SVG_ATTRIBUTE_POD_TYPE_FLOAT -
- - -

The render target uses software rendering only.

-
- - dd756630 - D2D1_SVG_ATTRIBUTE_POD_TYPE_COLOR - D2D1_SVG_ATTRIBUTE_POD_TYPE_COLOR -
- - -

The render target uses hardware rendering only.

-
- - dd756630 - D2D1_SVG_ATTRIBUTE_POD_TYPE_FILL_MODE - D2D1_SVG_ATTRIBUTE_POD_TYPE_FILL_MODE -
- - - No documentation. - - - dd756630 - D2D1_SVG_ATTRIBUTE_POD_TYPE_DISPLAY - D2D1_SVG_ATTRIBUTE_POD_TYPE_DISPLAY - - - - No documentation. - - - dd756630 - D2D1_SVG_ATTRIBUTE_POD_TYPE_OVERFLOW - D2D1_SVG_ATTRIBUTE_POD_TYPE_OVERFLOW - - - - No documentation. - - - dd756630 - D2D1_SVG_ATTRIBUTE_POD_TYPE_LINE_CAP - D2D1_SVG_ATTRIBUTE_POD_TYPE_LINE_CAP - - - - No documentation. - - - dd756630 - D2D1_SVG_ATTRIBUTE_POD_TYPE_LINE_JOIN - D2D1_SVG_ATTRIBUTE_POD_TYPE_LINE_JOIN - - - - No documentation. - - - dd756630 - D2D1_SVG_ATTRIBUTE_POD_TYPE_VISIBILITY - D2D1_SVG_ATTRIBUTE_POD_TYPE_VISIBILITY - - - - No documentation. - - - dd756630 - D2D1_SVG_ATTRIBUTE_POD_TYPE_MATRIX - D2D1_SVG_ATTRIBUTE_POD_TYPE_MATRIX - - - - No documentation. - - - dd756630 - D2D1_SVG_ATTRIBUTE_POD_TYPE_UNIT_TYPE - D2D1_SVG_ATTRIBUTE_POD_TYPE_UNIT_TYPE - - - - No documentation. - - - dd756630 - D2D1_SVG_ATTRIBUTE_POD_TYPE_EXTEND_MODE - D2D1_SVG_ATTRIBUTE_POD_TYPE_EXTEND_MODE - - - - No documentation. - - - dd756630 - D2D1_SVG_ATTRIBUTE_POD_TYPE_PRESERVE_ASPECT_RATIO - D2D1_SVG_ATTRIBUTE_POD_TYPE_PRESERVE_ASPECT_RATIO - - - - No documentation. - - - dd756630 - D2D1_SVG_ATTRIBUTE_POD_TYPE_VIEWBOX - D2D1_SVG_ATTRIBUTE_POD_TYPE_VIEWBOX - - - - No documentation. - - - dd756630 - D2D1_SVG_ATTRIBUTE_POD_TYPE_LENGTH - D2D1_SVG_ATTRIBUTE_POD_TYPE_LENGTH - - - -

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_SVG_ATTRIBUTE_STRING_TYPE - D2D1_SVG_ATTRIBUTE_STRING_TYPE -
- - -

The render target uses hardware rendering, if available; otherwise, it uses software rendering.

-
- - dd756630 - D2D1_SVG_ATTRIBUTE_STRING_TYPE_SVG - D2D1_SVG_ATTRIBUTE_STRING_TYPE_SVG -
- - -

The render target uses software rendering only.

-
- - dd756630 - D2D1_SVG_ATTRIBUTE_STRING_TYPE_ID - D2D1_SVG_ATTRIBUTE_STRING_TYPE_ID -
- - -

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_SVG_DISPLAY - D2D1_SVG_DISPLAY -
- - -

The render target uses hardware rendering, if available; otherwise, it uses software rendering.

-
- - dd756630 - D2D1_SVG_DISPLAY_INLINE - D2D1_SVG_DISPLAY_INLINE -
- - -

The render target uses software rendering only.

-
- - dd756630 - D2D1_SVG_DISPLAY_NONE - D2D1_SVG_DISPLAY_NONE -
- - -

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_SVG_LENGTH_UNITS - D2D1_SVG_LENGTH_UNITS -
- - -

The render target uses hardware rendering, if available; otherwise, it uses software rendering.

-
- - dd756630 - D2D1_SVG_LENGTH_UNITS_NUMBER - D2D1_SVG_LENGTH_UNITS_NUMBER -
- - -

The render target uses software rendering only.

-
- - dd756630 - D2D1_SVG_LENGTH_UNITS_PERCENTAGE - D2D1_SVG_LENGTH_UNITS_PERCENTAGE -
- - -

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_SVG_LINE_CAP - D2D1_SVG_LINE_CAP -
- - -

The render target uses hardware rendering, if available; otherwise, it uses software rendering.

-
- - dd756630 - D2D1_SVG_LINE_CAP_BUTT - D2D1_SVG_LINE_CAP_BUTT -
- - -

The render target uses software rendering only.

-
- - dd756630 - D2D1_SVG_LINE_CAP_SQUARE - D2D1_SVG_LINE_CAP_SQUARE -
- - -

The render target uses hardware rendering only.

-
- - dd756630 - D2D1_SVG_LINE_CAP_ROUND - D2D1_SVG_LINE_CAP_ROUND -
- - -

Indicates how pixel shader sampling will be restricted. This indicates whether the vertex buffer is large and tends to change infrequently or smaller and changes frequently (typically frame over frame).

-
- -

If the shader specifies , it must still correctly implement the region of interest calculations in and .

-
- - hh404316 - D2D1_SVG_LINE_JOIN - D2D1_SVG_LINE_JOIN -
- - -

The pixel shader is not restricted in its sampling.

-
- - hh404316 - D2D1_SVG_LINE_JOIN_BEVEL - D2D1_SVG_LINE_JOIN_BEVEL -
- - -

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.

-
- - hh404316 - D2D1_SVG_LINE_JOIN_MITER - D2D1_SVG_LINE_JOIN_MITER -
- - - No documentation. - - - hh404316 - D2D1_SVG_LINE_JOIN_ROUND - D2D1_SVG_LINE_JOIN_ROUND - - - -

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_SVG_OVERFLOW - D2D1_SVG_OVERFLOW -
- - -

A cap that does not extend past the last point of the line. Comparable to cap used for objects other than lines.

-
- - dd368079 - D2D1_SVG_OVERFLOW_VISIBLE - D2D1_SVG_OVERFLOW_VISIBLE -
- - -

Half of a square that has a length equal to the line thickness.

-
- - dd368079 - D2D1_SVG_OVERFLOW_HIDDEN - D2D1_SVG_OVERFLOW_HIDDEN -
- - -

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_SVG_PAINT_TYPE - D2D1_SVG_PAINT_TYPE -
- - -

The render target uses hardware rendering, if available; otherwise, it uses software rendering.

-
- - dd756630 - D2D1_SVG_PAINT_TYPE_NONE - D2D1_SVG_PAINT_TYPE_NONE -
- - -

The render target uses software rendering only.

-
- - dd756630 - D2D1_SVG_PAINT_TYPE_COLOR - D2D1_SVG_PAINT_TYPE_COLOR -
- - -

The render target uses hardware rendering only.

-
- - dd756630 - D2D1_SVG_PAINT_TYPE_CURRENT_COLOR - D2D1_SVG_PAINT_TYPE_CURRENT_COLOR -
- - - No documentation. - - - dd756630 - D2D1_SVG_PAINT_TYPE_URI - D2D1_SVG_PAINT_TYPE_URI - - - - No documentation. - - - dd756630 - D2D1_SVG_PAINT_TYPE_URI_NONE - D2D1_SVG_PAINT_TYPE_URI_NONE - - - - No documentation. - - - dd756630 - D2D1_SVG_PAINT_TYPE_URI_COLOR - D2D1_SVG_PAINT_TYPE_URI_COLOR - - - - No documentation. - - - dd756630 - D2D1_SVG_PAINT_TYPE_URI_CURRENT_COLOR - D2D1_SVG_PAINT_TYPE_URI_CURRENT_COLOR - - - -

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_SVG_PATH_COMMAND - D2D1_SVG_PATH_COMMAND -
- - -

The render target uses hardware rendering, if available; otherwise, it uses software rendering.

-
- - dd756630 - D2D1_SVG_PATH_COMMAND_CLOSE_PATH - D2D1_SVG_PATH_COMMAND_CLOSE_PATH -
- - -

The render target uses software rendering only.

-
- - dd756630 - D2D1_SVG_PATH_COMMAND_MOVE_ABSOLUTE - D2D1_SVG_PATH_COMMAND_MOVE_ABSOLUTE -
- - -

The render target uses hardware rendering only.

-
- - dd756630 - D2D1_SVG_PATH_COMMAND_MOVE_RELATIVE - D2D1_SVG_PATH_COMMAND_MOVE_RELATIVE -
- - - No documentation. - - - dd756630 - D2D1_SVG_PATH_COMMAND_LINE_ABSOLUTE - D2D1_SVG_PATH_COMMAND_LINE_ABSOLUTE - - - - No documentation. - - - dd756630 - D2D1_SVG_PATH_COMMAND_LINE_RELATIVE - D2D1_SVG_PATH_COMMAND_LINE_RELATIVE - - - - No documentation. - - - dd756630 - D2D1_SVG_PATH_COMMAND_CUBIC_ABSOLUTE - D2D1_SVG_PATH_COMMAND_CUBIC_ABSOLUTE - - - - No documentation. - - - dd756630 - D2D1_SVG_PATH_COMMAND_CUBIC_RELATIVE - D2D1_SVG_PATH_COMMAND_CUBIC_RELATIVE - - - - No documentation. - - - dd756630 - D2D1_SVG_PATH_COMMAND_QUADRADIC_ABSOLUTE - D2D1_SVG_PATH_COMMAND_QUADRADIC_ABSOLUTE - - - - No documentation. - - - dd756630 - D2D1_SVG_PATH_COMMAND_QUADRADIC_RELATIVE - D2D1_SVG_PATH_COMMAND_QUADRADIC_RELATIVE - - - - No documentation. - - - dd756630 - D2D1_SVG_PATH_COMMAND_ARC_ABSOLUTE - D2D1_SVG_PATH_COMMAND_ARC_ABSOLUTE - - - - No documentation. - - - dd756630 - D2D1_SVG_PATH_COMMAND_ARC_RELATIVE - D2D1_SVG_PATH_COMMAND_ARC_RELATIVE - - - - No documentation. - - - dd756630 - D2D1_SVG_PATH_COMMAND_HORIZONTAL_ABSOLUTE - D2D1_SVG_PATH_COMMAND_HORIZONTAL_ABSOLUTE - - - - No documentation. - - - dd756630 - D2D1_SVG_PATH_COMMAND_HORIZONTAL_RELATIVE - D2D1_SVG_PATH_COMMAND_HORIZONTAL_RELATIVE - - - - No documentation. - - - dd756630 - D2D1_SVG_PATH_COMMAND_VERTICAL_ABSOLUTE - D2D1_SVG_PATH_COMMAND_VERTICAL_ABSOLUTE - - - - No documentation. - - - dd756630 - D2D1_SVG_PATH_COMMAND_VERTICAL_RELATIVE - D2D1_SVG_PATH_COMMAND_VERTICAL_RELATIVE - - - - No documentation. - - - dd756630 - D2D1_SVG_PATH_COMMAND_CUBIC_SMOOTH_ABSOLUTE - D2D1_SVG_PATH_COMMAND_CUBIC_SMOOTH_ABSOLUTE - - - - No documentation. - - - dd756630 - D2D1_SVG_PATH_COMMAND_CUBIC_SMOOTH_RELATIVE - D2D1_SVG_PATH_COMMAND_CUBIC_SMOOTH_RELATIVE - - - - No documentation. - - - dd756630 - D2D1_SVG_PATH_COMMAND_QUADRADIC_SMOOTH_ABSOLUTE - D2D1_SVG_PATH_COMMAND_QUADRADIC_SMOOTH_ABSOLUTE - - - - No documentation. - - - dd756630 - D2D1_SVG_PATH_COMMAND_QUADRADIC_SMOOTH_RELATIVE - D2D1_SVG_PATH_COMMAND_QUADRADIC_SMOOTH_RELATIVE - - - -

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_SVG_UNIT_TYPE - D2D1_SVG_UNIT_TYPE -
- - -

The render target uses hardware rendering, if available; otherwise, it uses software rendering.

-
- - dd756630 - D2D1_SVG_UNIT_TYPE_USER_SPACE_ON_USE - D2D1_SVG_UNIT_TYPE_USER_SPACE_ON_USE -
- - -

The render target uses software rendering only.

-
- - dd756630 - D2D1_SVG_UNIT_TYPE_OBJECT_BOUNDING_BOX - D2D1_SVG_UNIT_TYPE_OBJECT_BOUNDING_BOX -
- - -

Defines options that should be applied to the color space.

-
- - hh446992 - D2D1_SVG_VISIBILITY - D2D1_SVG_VISIBILITY -
- - -

The color space is otherwise described, such as with a color profile.

-
- - hh446992 - D2D1_SVG_VISIBILITY_VISIBLE - D2D1_SVG_VISIBILITY_VISIBLE -
- - -

The color space is sRGB.

-
- - hh446992 - D2D1_SVG_VISIBILITY_HIDDEN - D2D1_SVG_VISIBILITY_HIDDEN -
- - -

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

Identifiers for properties of the Table transfer effect.

-
- - dn934268 - D2D1_TABLETRANSFER_PROP - D2D1_TABLETRANSFER_PROP -
- - - No documentation. - - - dn934268 - D2D1_TABLETRANSFER_PROP_RED_TABLE - D2D1_TABLETRANSFER_PROP_RED_TABLE - - - - No documentation. - - - dn934268 - D2D1_TABLETRANSFER_PROP_RED_DISABLE - D2D1_TABLETRANSFER_PROP_RED_DISABLE - - - - No documentation. - - - dn934268 - D2D1_TABLETRANSFER_PROP_GREEN_TABLE - D2D1_TABLETRANSFER_PROP_GREEN_TABLE - - - - No documentation. - - - dn934268 - D2D1_TABLETRANSFER_PROP_GREEN_DISABLE - D2D1_TABLETRANSFER_PROP_GREEN_DISABLE - - - - No documentation. - - - dn934268 - D2D1_TABLETRANSFER_PROP_BLUE_TABLE - D2D1_TABLETRANSFER_PROP_BLUE_TABLE - - - - No documentation. - - - dn934268 - D2D1_TABLETRANSFER_PROP_BLUE_DISABLE - D2D1_TABLETRANSFER_PROP_BLUE_DISABLE - - - - No documentation. - - - dn934268 - D2D1_TABLETRANSFER_PROP_ALPHA_TABLE - D2D1_TABLETRANSFER_PROP_ALPHA_TABLE - - - - No documentation. - - - dn934268 - D2D1_TABLETRANSFER_PROP_ALPHA_DISABLE - D2D1_TABLETRANSFER_PROP_ALPHA_DISABLE - - - - No documentation. - - - dn934268 - D2D1_TABLETRANSFER_PROP_CLAMP_OUTPUT - D2D1_TABLETRANSFER_PROP_CLAMP_OUTPUT - - - -

Identifiers for properties of the Temperature and Tint effect.

-
- - dn890749 - D2D1_TEMPERATUREANDTINT_PROP - D2D1_TEMPERATUREANDTINT_PROP -
- - - No documentation. - - - dn890749 - D2D1_TEMPERATUREANDTINT_PROP_TEMPERATURE - D2D1_TEMPERATUREANDTINT_PROP_TEMPERATURE - - - - No documentation. - - - dn890749 - D2D1_TEMPERATUREANDTINT_PROP_TINT - D2D1_TEMPERATUREANDTINT_PROP_TINT - - - -

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

Specifies the threading mode used while simultaneously creating the device, factory, and device context. -

-
- - hh447020 - D2D1_THREADING_MODE - D2D1_THREADING_MODE -
- - -

Resources may only be invoked serially. Device context state is not protected from multi-threaded access.

-
- - hh447020 - D2D1_THREADING_MODE_SINGLE_THREADED - D2D1_THREADING_MODE_SINGLE_THREADED -
- - -

Resources may be invoked from multiple threads. Resources use interlocked reference counting and their state is protected. -

-
- - hh447020 - D2D1_THREADING_MODE_MULTI_THREADED - D2D1_THREADING_MODE_MULTI_THREADED -
- - -

Identifiers for properties of the Tile effect.

-
- - dn934269 - D2D1_TILE_PROP - D2D1_TILE_PROP -
- - - No documentation. - - - dn934269 - D2D1_TILE_PROP_RECT - D2D1_TILE_PROP_RECT - - - -

This effect tints the source image by multiplying the source image by the specified color. It has a single input.

The CLSID for this effect is .

-
- - mt745077 - D2D1_TINT_PROP - D2D1_TINT_PROP -
- - - No documentation. - - - mt745077 - D2D1_TINT_PROP_COLOR - D2D1_TINT_PROP_COLOR - - - - No documentation. - - - mt745077 - D2D1_TINT_PROP_CLAMP_OUTPUT - D2D1_TINT_PROP_CLAMP_OUTPUT - - - -

The interpolation mode the 3D transform effect uses on the image. There are 5 scale modes that range in quality and speed.

-
- - dn934209 - D2D1_3DTRANSFORM_INTERPOLATION_MODE - D2D1_3DTRANSFORM_INTERPOLATION_MODE -
- - - No documentation. - - - dn934209 - D2D1_3DTRANSFORM_INTERPOLATION_MODE_NEAREST_NEIGHBOR - D2D1_3DTRANSFORM_INTERPOLATION_MODE_NEAREST_NEIGHBOR - - - - No documentation. - - - dn934209 - D2D1_3DTRANSFORM_INTERPOLATION_MODE_LINEAR - D2D1_3DTRANSFORM_INTERPOLATION_MODE_LINEAR - - - - No documentation. - - - dn934209 - D2D1_3DTRANSFORM_INTERPOLATION_MODE_CUBIC - D2D1_3DTRANSFORM_INTERPOLATION_MODE_CUBIC - - - - No documentation. - - - dn934209 - D2D1_3DTRANSFORM_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR - D2D1_3DTRANSFORM_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR - - - - No documentation. - - - dn934209 - D2D1_3DTRANSFORM_INTERPOLATION_MODE_ANISOTROPIC - D2D1_3DTRANSFORM_INTERPOLATION_MODE_ANISOTROPIC - - - -

Identifiers for properties of the 3D transform effect.

-
- - dn934210 - D2D1_3DTRANSFORM_PROP - D2D1_3DTRANSFORM_PROP -
- - - No documentation. - - - dn934210 - D2D1_3DTRANSFORM_PROP_INTERPOLATION_MODE - D2D1_3DTRANSFORM_PROP_INTERPOLATION_MODE - - - - No documentation. - - - dn934210 - D2D1_3DTRANSFORM_PROP_BORDER_MODE - D2D1_3DTRANSFORM_PROP_BORDER_MODE - - - - No documentation. - - - dn934210 - D2D1_3DTRANSFORM_PROP_TRANSFORM_MATRIX - D2D1_3DTRANSFORM_PROP_TRANSFORM_MATRIX - - - -

Option flags for transformed image sources.

-
- - dn934270 - D2D1_TRANSFORMED_IMAGE_SOURCE_OPTIONS - D2D1_TRANSFORMED_IMAGE_SOURCE_OPTIONS -
- - -

No option flags.

-
- - dn934270 - D2D1_TRANSFORMED_IMAGE_SOURCE_OPTIONS_NONE - D2D1_TRANSFORMED_IMAGE_SOURCE_OPTIONS_NONE -
- - -

Prevents the image source from being automatically scaled (by a ratio of the context DPI divided by 96) while drawn.

-
- - dn934270 - D2D1_TRANSFORMED_IMAGE_SOURCE_OPTIONS_DISABLE_DPI_SCALE - D2D1_TRANSFORMED_IMAGE_SOURCE_OPTIONS_DISABLE_DPI_SCALE -
- - -

The turbulence noise mode for the Turbulence effect. Indicates whether to generate a bitmap based on Fractal Noise or the Turbulence function.

-
- - dn934353 - D2D1_TURBULENCE_NOISE - D2D1_TURBULENCE_NOISE -
- - - No documentation. - - - dn934353 - D2D1_TURBULENCE_NOISE_FRACTAL_SUM - D2D1_TURBULENCE_NOISE_FRACTAL_SUM - - - - No documentation. - - - dn934353 - D2D1_TURBULENCE_NOISE_TURBULENCE - D2D1_TURBULENCE_NOISE_TURBULENCE - - - -

Identifiers for properties of the Turbulence effect.

-
- - dn934355 - D2D1_TURBULENCE_PROP - D2D1_TURBULENCE_PROP -
- - - No documentation. - - - dn934355 - D2D1_TURBULENCE_PROP_OFFSET - D2D1_TURBULENCE_PROP_OFFSET - - - - No documentation. - - - dn934355 - D2D1_TURBULENCE_PROP_SIZE - D2D1_TURBULENCE_PROP_SIZE - - - - No documentation. - - - dn934355 - D2D1_TURBULENCE_PROP_BASE_FREQUENCY - D2D1_TURBULENCE_PROP_BASE_FREQUENCY - - - - No documentation. - - - dn934355 - D2D1_TURBULENCE_PROP_NUM_OCTAVES - D2D1_TURBULENCE_PROP_NUM_OCTAVES - - - - No documentation. - - - dn934355 - D2D1_TURBULENCE_PROP_SEED - D2D1_TURBULENCE_PROP_SEED - - - - No documentation. - - - dn934355 - D2D1_TURBULENCE_PROP_NOISE - D2D1_TURBULENCE_PROP_NOISE - - - - No documentation. - - - dn934355 - D2D1_TURBULENCE_PROP_STITCHABLE - D2D1_TURBULENCE_PROP_STITCHABLE - - - -

Specifies how units in Direct2D will be interpreted.

-
- -

Setting the unit mode to is similar to setting the dots per inch (dpi) to 96. However, Direct2D still checks the dpi to determine the threshold for enabling vertical antialiasing for text, and when the unit mode is restored, the dpi will be remembered.

-
- - hh447022 - D2D1_UNIT_MODE - D2D1_UNIT_MODE -
- - -

Units will be interpreted as device-independent pixels (1/96").

-
- - hh447022 - D2D1_UNIT_MODE_DIPS - D2D1_UNIT_MODE_DIPS -
- - -

Units will be interpreted as pixels.

-
- - hh447022 - D2D1_UNIT_MODE_PIXELS - D2D1_UNIT_MODE_PIXELS -
- - -

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

Indicates whether the vertex buffer changes infrequently or frequently.

-
- -

If a dynamic vertex buffer is created, Direct2D will not necessarily map the buffer directly to a Direct3D vertex buffer. Instead, a system memory copy can be copied to the rendering engine vertex buffer as the effects are rendered.

-
- - hh404337 - D2D1_VERTEX_USAGE - D2D1_VERTEX_USAGE -
- - -

The created vertex buffer is updated infrequently.

-
- - hh404337 - D2D1_VERTEX_USAGE_STATIC - D2D1_VERTEX_USAGE_STATIC -
- - -

The created vertex buffer is changed frequently.

-
- - hh404337 - D2D1_VERTEX_USAGE_DYNAMIC - D2D1_VERTEX_USAGE_DYNAMIC -
- - -

Identifiers for properties of the Vignette effect.

-
- - dn890750 - D2D1_VIGNETTE_PROP - D2D1_VIGNETTE_PROP -
- - - No documentation. - - - dn890750 - D2D1_VIGNETTE_PROP_COLOR - D2D1_VIGNETTE_PROP_COLOR - - - - No documentation. - - - dn890750 - D2D1_VIGNETTE_PROP_TRANSITION_SIZE - D2D1_VIGNETTE_PROP_TRANSITION_SIZE - - - - No documentation. - - - dn890750 - D2D1_VIGNETTE_PROP_STRENGTH - D2D1_VIGNETTE_PROP_STRENGTH - - - -

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

Specifies the chroma subsampling of the input chroma image used by the YCbCr effect.

-
- - dn934357 - D2D1_YCBCR_CHROMA_SUBSAMPLING - D2D1_YCBCR_CHROMA_SUBSAMPLING -
- - - No documentation. - - - dn934357 - D2D1_YCBCR_CHROMA_SUBSAMPLING_AUTO - D2D1_YCBCR_CHROMA_SUBSAMPLING_AUTO - - - - No documentation. - - - dn934357 - D2D1_YCBCR_CHROMA_SUBSAMPLING_420 - D2D1_YCBCR_CHROMA_SUBSAMPLING_420 - - - - No documentation. - - - dn934357 - D2D1_YCBCR_CHROMA_SUBSAMPLING_422 - D2D1_YCBCR_CHROMA_SUBSAMPLING_422 - - - - No documentation. - - - dn934357 - D2D1_YCBCR_CHROMA_SUBSAMPLING_444 - D2D1_YCBCR_CHROMA_SUBSAMPLING_444 - - - - No documentation. - - - dn934357 - D2D1_YCBCR_CHROMA_SUBSAMPLING_440 - D2D1_YCBCR_CHROMA_SUBSAMPLING_440 - - - -

Specifies the interpolation mode for the YCbCr effect.

-
- - dn934359 - D2D1_YCBCR_INTERPOLATION_MODE - D2D1_YCBCR_INTERPOLATION_MODE -
- - - No documentation. - - - dn934359 - D2D1_YCBCR_INTERPOLATION_MODE_NEAREST_NEIGHBOR - D2D1_YCBCR_INTERPOLATION_MODE_NEAREST_NEIGHBOR - - - - No documentation. - - - dn934359 - D2D1_YCBCR_INTERPOLATION_MODE_LINEAR - D2D1_YCBCR_INTERPOLATION_MODE_LINEAR - - - - No documentation. - - - dn934359 - D2D1_YCBCR_INTERPOLATION_MODE_CUBIC - D2D1_YCBCR_INTERPOLATION_MODE_CUBIC - - - - No documentation. - - - dn934359 - D2D1_YCBCR_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR - D2D1_YCBCR_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR - - - - No documentation. - - - dn934359 - D2D1_YCBCR_INTERPOLATION_MODE_ANISOTROPIC - D2D1_YCBCR_INTERPOLATION_MODE_ANISOTROPIC - - - - No documentation. - - - dn934359 - D2D1_YCBCR_INTERPOLATION_MODE_HIGH_QUALITY_CUBIC - D2D1_YCBCR_INTERPOLATION_MODE_HIGH_QUALITY_CUBIC - - - -

Identifiers for properties of the YCbCr effect.

-
- - dn934361 - D2D1_YCBCR_PROP - D2D1_YCBCR_PROP -
- - - No documentation. - - - dn934361 - D2D1_YCBCR_PROP_CHROMA_SUBSAMPLING - D2D1_YCBCR_PROP_CHROMA_SUBSAMPLING - - - - No documentation. - - - dn934361 - D2D1_YCBCR_PROP_TRANSFORM_MATRIX - D2D1_YCBCR_PROP_TRANSFORM_MATRIX - - - - No documentation. - - - dn934361 - D2D1_YCBCR_PROP_INTERPOLATION_MODE - D2D1_YCBCR_PROP_INTERPOLATION_MODE - - - - Functions - - - - - Constant WrongState. - D2DERR_WRONG_STATE - - - Constant NotInitializeD. - D2DERR_NOT_INITIALIZED - - - Constant UnsupportedOperation. - D2DERR_UNSUPPORTED_OPERATION - - - Constant ScannerFailed. - D2DERR_SCANNER_FAILED - - - Constant ScreenAccessDenied. - D2DERR_SCREEN_ACCESS_DENIED - - - Constant DisplayStateInvalid. - D2DERR_DISPLAY_STATE_INVALID - - - Constant ZeroVector. - D2DERR_ZERO_VECTOR - - - Constant InternalError. - D2DERR_INTERNAL_ERROR - - - Constant DisplayFormatNotSupported. - D2DERR_DISPLAY_FORMAT_NOT_SUPPORTED - - - Constant InvalidCall. - D2DERR_INVALID_CALL - - - Constant NoHardwareDevice. - D2DERR_NO_HARDWARE_DEVICE - - - Constant RecreateTarget. - D2DERR_RECREATE_TARGET - - - Constant TooManyShaderElements. - D2DERR_TOO_MANY_SHADER_ELEMENTS - - - Constant ShaderCompileFailed. - D2DERR_SHADER_COMPILE_FAILED - - - Constant MaximumTextureSizeExceeded. - D2DERR_MAX_TEXTURE_SIZE_EXCEEDED - - - Constant UnsupportedVersion. - D2DERR_UNSUPPORTED_VERSION - - - Constant BadNumber. - D2DERR_BAD_NUMBER - - - Constant WrongFactory. - D2DERR_WRONG_FACTORY - - - Constant LayerAlreadyInUse. - D2DERR_LAYER_ALREADY_IN_USE - - - Constant PopCallDidNotMatchPush. - D2DERR_POP_CALL_DID_NOT_MATCH_PUSH - - - Constant WrongResourceDomain. - D2DERR_WRONG_RESOURCE_DOMAIN - - - Constant PushPopUnbalanced. - D2DERR_PUSH_POP_UNBALANCED - - - Constant RenderTargetHasLayerOrCliprect. - D2DERR_RENDER_TARGET_HAS_LAYER_OR_CLIPRECT - - - Constant IncompatibleBrushTypes. - D2DERR_INCOMPATIBLE_BRUSH_TYPES - - - Constant Win32Error. - D2DERR_WIN32_ERROR - - - Constant TargetNotGdiCompatible. - D2DERR_TARGET_NOT_GDI_COMPATIBLE - - - Constant TextEffectIsWrongType. - D2DERR_TEXT_EFFECT_IS_WRONG_TYPE - - - Constant TextRendererNotReleased. - D2DERR_TEXT_RENDERER_NOT_RELEASED - - - Constant ExceedsMaximumBitmapSize. - D2DERR_EXCEEDS_MAX_BITMAP_SIZE - - - Constant InvalidGraphConfiguration. - D2DERR_INVALID_GRAPH_CONFIGURATION - - - Constant InvalidInternalGraphConfiguration. - D2DERR_INVALID_INTERNAL_GRAPH_CONFIGURATION - - - Constant CyclicGraph. - D2DERR_CYCLIC_GRAPH - - - Constant BitmapCannotDraw. - D2DERR_BITMAP_CANNOT_DRAW - - - Constant OutstandingBitmapReferences. - D2DERR_OUTSTANDING_BITMAP_REFERENCES - - - Constant OriginalTargetNotBound. - D2DERR_ORIGINAL_TARGET_NOT_BOUND - - - Constant InvalidTarget. - D2DERR_INVALID_TARGET - - - Constant BitmapBoundAsTarget. - D2DERR_BITMAP_BOUND_AS_TARGET - - - Constant InsufficientDeviceCapabilities. - D2DERR_INSUFFICIENT_DEVICE_CAPABILITIES - - - Constant IntermediateTooLarge. - D2DERR_INTERMEDIATE_TOO_LARGE - - - Constant EffectIsNotRegistered. - D2DERR_EFFECT_IS_NOT_REGISTERED - - - Constant InvalidProperty. - D2DERR_INVALID_PROPERTY - - - Constant NoSubProperties. - D2DERR_NO_SUBPROPERTIES - - - Constant PrintJobClosed. - D2DERR_PRINT_JOB_CLOSED - - - Constant PrintFormatNotSupported. - D2DERR_PRINT_FORMAT_NOT_SUPPORTED - - - Constant TooManyTransformInputs. - D2DERR_TOO_MANY_TRANSFORM_INPUTS - - - Constant InvalidGlyphImage. - D2DERR_INVALID_GLYPH_IMAGE - - - Constant UnsupportedPixelFormat. - D2DERR_UNSUPPORTED_PIXEL_FORMAT - - - Constant InsufficientBuffer. - D2DERR_INSUFFICIENT_BUFFER - - - Constant FileNotFound. - D2DERR_FILE_NOT_FOUND - - - -

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

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

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

Represents the set of transforms implemented by the effect-rendering system, which provides fixed-functionality.

-
- - hh404452 - ID2D1ConcreteTransform - ID2D1ConcreteTransform -
- - - Initializes a new instance of the 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 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

?

- -

You can use the method to see if buffer precision is supported.

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

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

Provides factory methods and other state management for effect and transform authors.

-
- - dn949338 - ID2D1EffectContext1 - ID2D1EffectContext1 -
- - - Initializes a new instance of the 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 3D lookup table for mapping a 3-channel input to a 3-channel output. The table data must be provided in 4-channel format.

-
-

Precision of the input lookup table data.

-

Number of lookup table elements per dimension (X, Y, Z).

-

Buffer holding the lookup table data.

-

Size of the lookup table data buffer.

-

An array containing two values. The first value is the size in bytes from one row (X dimension) of LUT data to the next. The second value is the size in bytes from one LUT data plane (X and Y dimensions) to the next.

-

Receives the new lookup table instance.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn949339 - HRESULT ID2D1EffectContext1::CreateLookupTable3D([In] D2D1_BUFFER_PRECISION precision,[In, Buffer] const unsigned int* extents,[In, Buffer] const unsigned char* data,[In] unsigned int dataCount,[In, Buffer] const unsigned int* strides,[Out] ID2D1LookupTable3D** lookupTable) - ID2D1EffectContext1::CreateLookupTable3D -
- - - No documentation. - - - ID2D1EffectContext2 - ID2D1EffectContext2 - - - - Initializes a new instance of the 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 ID2D1EffectContext2::CreateColorContextFromDxgiColorSpace([In] DXGI_COLOR_SPACE_TYPE colorSpace,[Out, Fast] ID2D1ColorContext1** colorContext) - ID2D1EffectContext2::CreateColorContextFromDxgiColorSpace - - - - No documentation. - - No documentation. - No documentation. - No documentation. - - HRESULT ID2D1EffectContext2::CreateColorContextFromSimpleColorProfile([In] const D2D1_SIMPLE_COLOR_PROFILE* simpleProfile,[Out, Fast] ID2D1ColorContext1** colorContext) - ID2D1EffectContext2::CreateColorContextFromSimpleColorProfile - - - -

Creates Direct2D resources. This interface also enables the creation of objects.

-
- - dn900394 - ID2D1Factory3 - ID2D1Factory3 -
- - - Initializes a new instance of the 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 an object.

-
- No documentation. - No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn900395 - HRESULT ID2D1Factory3::CreateDevice([In] IDXGIDevice* dxgiDevice,[Out, Fast] ID2D1Device2** d2dDevice2) - ID2D1Factory3::CreateDevice -
- - -

Creates Direct2D resources. This interface also enables the creation of objects.

-
- - mt619831 - ID2D1Factory4 - ID2D1Factory4 -
- - - Initializes a new instance of the 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 an object.

-
- No documentation. - No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- - mt619832 - HRESULT ID2D1Factory4::CreateDevice([In] IDXGIDevice* dxgiDevice,[Out, Fast] ID2D1Device3** d2dDevice3) - ID2D1Factory4::CreateDevice -
- - -

Creates Direct2D resources. This interface also enables the creation of objects.

-
- - mt750191 - ID2D1Factory5 - ID2D1Factory5 -
- - - Initializes a new instance of the 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 an object.

-
- No documentation. - No documentation. -

This method returns an success or error code.

- - mt750192 - HRESULT ID2D1Factory5::CreateDevice([In] IDXGIDevice* dxgiDevice,[Out, Fast] ID2D1Device4** d2dDevice4) - ID2D1Factory5::CreateDevice -
- - -

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.

-
- - dd371246 - ID2D1Factory6 - ID2D1Factory6 -
- - - Initializes a new instance of the 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 Direct2D resources.

-
- No documentation. - No documentation. - No documentation. - -

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.

-
- - dd371246 - HRESULT ID2D1Factory6::CreateDevice([In] IDXGIDevice* dxgiDevice,[Out, Fast] ID2D1Device5** d2dDevice5) - ID2D1Factory6::CreateDevice -
- - -

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

Gets the bounds of the metafile, in device-independent pixels (DIPs), as reported in the metafile?s header.

-
- - hh871463 - GetBounds - GetBounds - HRESULT ID2D1GdiMetafile::GetBounds([Out] D2D_RECT_F* bounds) -
- - -

This method streams the contents of the command to the given metafile sink.

-
-

The sink into which Direct2D will call back.

-

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.

?

- - hh871464 - HRESULT ID2D1GdiMetafile::Stream([In] ID2D1GdiMetafileSink* sink) - ID2D1GdiMetafile::Stream -
- - -

Gets the bounds of the metafile, in device-independent pixels (DIPs), as reported in the metafile?s header.

-
-

The bounds, in DIPs, of the metafile.

-

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.

?

- - hh871463 - HRESULT ID2D1GdiMetafile::GetBounds([Out] D2D_RECT_F* bounds) - ID2D1GdiMetafile::GetBounds -
- - -

This interface performs all the same functions as the existing interface. It also enables accessing the metafile DPI and bounds.

-
- - dn900400 - ID2D1GdiMetafile1 - ID2D1GdiMetafile1 -
- - - Initializes a new instance of the 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 bounds of the metafile in source space in DIPs. This corresponds to the frame rect in an EMF/EMF+.

-
- - dn900402 - GetSourceBounds - GetSourceBounds - HRESULT ID2D1GdiMetafile1::GetSourceBounds([Out] D2D_RECT_F* bounds) -
- - -

Gets the DPI reported by the metafile.

-
-

Receives the horizontal DPI reported by the metafile.

-

Receives the vertical DPI reported by the metafile.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn900401 - HRESULT ID2D1GdiMetafile1::GetDpi([Out] float* dpiX,[Out] float* dpiY) - ID2D1GdiMetafile1::GetDpi -
- - -

Gets the bounds of the metafile in source space in DIPs. This corresponds to the frame rect in an EMF/EMF+.

-
-

The bounds, in DIPs, of the metafile.

-

if successful, otherwise a failure .

- - dn900402 - HRESULT ID2D1GdiMetafile1::GetSourceBounds([Out] D2D_RECT_F* bounds) - ID2D1GdiMetafile1::GetSourceBounds -
- - -

A developer implemented interface that allows a metafile to be replayed.

-
- - hh871461 - ID2D1GdiMetafileSink - ID2D1GdiMetafileSink -
- - -

This interface performs all the same functions as the existing interface. It also enables access to metafile records.

-
- - dn900403 - ID2D1GdiMetafileSink1 - ID2D1GdiMetafileSink1 -
- - -

This interface performs all the same functions as the existing interface. It also enables access to metafile records.

-
- - dn900403 - ID2D1GdiMetafileSink1 - ID2D1GdiMetafileSink1 -
- - - Initializes a new instance of the 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 metafile records, including their type, data, and flags.

-
-

The type of metafile record being processed. Please see MS-EMF and MS-EMFPLUS for a list of record types.

-

The data contained in this record. Please see MS-EMF and MS-EMFPLUS for information on record data layouts.

-

TThe size of the data pointed to by recordData.

-

The set of flags set for this record. Please see MS-EMF and MS-EMFPLUS for information on record flags.

-

if successful, otherwise a failure .

- -

For details on the EMF and EMF+ formats, please see Microsoft technical documents MS-EMF and MS-EMFPLUS.

-
- - dn900404 - HRESULT ID2D1GdiMetafileSink1::ProcessRecord([In] unsigned int recordType,[In, Optional] const void* recordData,[In] unsigned int recordDataSize,[In] unsigned int flags) - ID2D1GdiMetafileSink1::ProcessRecord -
- - -

A developer implemented interface that allows a metafile to be replayed.

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

This method is called once for each record stored in a metafile.

-
-

The type of the record.

-

The data for the record.

-

The byte size of the record data.

-

Return true if the record is successfully.

- - hh871462 - HRESULT ID2D1GdiMetafileSink::ProcessRecord([In] unsigned int recordType,[In, Optional] const void* recordData,[In] unsigned int recordDataSize) - ID2D1GdiMetafileSink::ProcessRecord -
- - -

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 -
- - - Initializes a new instance of the 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. - - 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.

-

When this method returns, contains the bounds of the widened geometry. You must allocate storage for this parameter.

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

-

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.

- - dd316744 - 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 error allowed when constructing a polygonal approximation of the geometry. No point in the polygonal representation will diverge from the original geometry by more than the flattening tolerance. 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 .

-
- No documentation. - No documentation. - No documentation. - No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dd316730 - 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 default tolerance.

-
-

The transform to apply to this geometry.

-

The to which the tessellated is appended.

-

The to which the tessellated is appended.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

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

-
- No documentation. - No documentation. - No documentation. - No documentation. - No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

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

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

-

The maximum error allowed when constructing a polygonal approximation of the geometry. No point in the polygonal representation will diverge from the original geometry by more than the flattening tolerance. Smaller values produce more accurate results but cause slower execution.

-

When this method returns, contains a reference to the area of the transformed, flattened version of this geometry. You must allocate storage for this parameter.

- - dd316648 - 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. - - 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 default 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.

-

The location at the specified distance along the geometry. If the geometry is empty, this point contains NaN as its x and y values.

-

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.

- - dd316686 - 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 specified tolerance.

-
- No documentation. - No documentation. - No documentation. - No documentation. - No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dd316766 - 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 -
- - - Default flattening tolerance used for all methods that are not explicitly using it. Default is set to 0.25f. - - - - - Get or set the default flattening tolerance used for all methods that are not explicitly using it. Default is set to 0.25f. - - - - - 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) - - - -

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.

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

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

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

Encapsulates a device- and transform-dependent representation of a filled or stroked geometry. Callers should consider creating a geometry realization when they wish to accelerate repeated rendering of a given geometry. This interface exposes no methods.

-
- - dn280515 - ID2D1GeometryRealization - ID2D1GeometryRealization - -

Encapsulates a device- and transform-dependent representation of a filled or stroked geometry. Callers should consider creating a geometry realization when they wish to accelerate repeated rendering of a given geometry. This interface exposes no methods.

-
- - dn280515 - ID2D1GeometryRealization - ID2D1GeometryRealization -
- - - Initializes a new instance of the 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 device-dependent representation of the fill of the geometry that can be subsequently rendered.

-
- The device context where the created instance should be attached to. -

The geometry to realize.

-

The flattening tolerance to use when converting Beziers to line segments. This parameter shares the same units as the coordinates of the geometry.

-

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 is used in conjunction with . The D2D1::ComputeFlatteningTolerance helper API may be used to determine the proper flattening tolerance.

If the provided stroke style specifies a stroke transform type other than , then the stroke will be realized assuming the identity transform and a DPI of 96.

-
- - dn280462 - HRESULT ID2D1DeviceContext1::CreateFilledGeometryRealization([In] ID2D1Geometry* geometry,[In] float flatteningTolerance,[Out, Fast] ID2D1GeometryRealization** geometryRealization) - ID2D1DeviceContext1::CreateFilledGeometryRealization -
- - -

Creates a device-dependent representation of the stroke of a geometry that can be subsequently rendered.

-
- The device context where the created instance should be attached to. -

The geometry to realize.

-

The flattening tolerance to use when converting Beziers to line segments. This parameter shares the same units as the coordinates of the geometry.

-

The width of the stroke. This parameter shares the same units as the coordinates of the geometry.

-

The stroke style (optional).

-

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 is used in conjunction with . The D2D1::ComputeFlatteningTolerance helper API may be used to determine the proper flattening tolerance.

If the provided stroke style specifies a stroke transform type other than , then the stroke will be realized assuming the identity transform and a DPI of 96.

-
- - dn280463 - HRESULT ID2D1DeviceContext1::CreateStrokedGeometryRealization([In] ID2D1Geometry* geometry,[In] float flatteningTolerance,[In] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle,[Out, Fast] ID2D1GeometryRealization** geometryRealization) - ID2D1DeviceContext1::CreateStrokedGeometryRealization -
- - -

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 -
- - - 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 -
- - - Initializes a new instance of the 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 and adds it to the geometry sink. - - No documentation. - - dd742735 - void ID2D1GeometrySink::AddBezier([In] const D2D1_BEZIER_SEGMENT* bezier) - ID2D1GeometrySink::AddBezier - - - -

Creates a quadratic Bezier curve between the current point and the specified end point.

-
-

A structure that describes the control point and the end point of the quadratic Bezier curve to add.

- - dd316614 - 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 -
- - -

Describes a geometric path that can contain lines, arcs, cubic Bezier curves, and quadratic Bezier curves.

-
- No documentation. - -

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 - void ID2D1GeometrySink::AddArc([In] const D2D1_ARC_SEGMENT* arc) - ID2D1GeometrySink::AddArc -
- - -

Represents a device-dependent representation of a gradient mesh composed of patches. Use the method to create an instance of .

-
- - dn900410 - ID2D1GradientMesh - ID2D1GradientMesh -
- - - Initializes a new instance of the 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 number of patches that make up this gradient mesh.

-
- - dn900411 - GetPatchCount - GetPatchCount - unsigned int ID2D1GradientMesh::GetPatchCount() -
- - -

Returns the number of patches that make up this gradient mesh.

-
-

Returns the number of patches that make up this gradient mesh.

- - dn900411 - unsigned int ID2D1GradientMesh::GetPatchCount() - ID2D1GradientMesh::GetPatchCount -
- - -

Returns a subset of the patches that make up this gradient mesh.

-
-

Index of the first patch to return.

-

A reference to the array to be filled with the patch data.

-

The number of patches to be returned.

-

if successful, otherwise a failure .

- - dn900412 - HRESULT ID2D1GradientMesh::GetPatches([In] unsigned int startIndex,[Out, Buffer] D2D1_GRADIENT_MESH_PATCH* patches,[In] unsigned int patchesCount) - ID2D1GradientMesh::GetPatches -
- - - Initializes a new instance of the . - - - - -

Represents an collection of objects for linear and radial gradient brushes.

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

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

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

Represents a collection of objects for linear and radial gradient brushes. It provides get methods for all the new parameters added to the gradient stop collection.

-
- - hh446792 - ID2D1GradientStopCollection1 - ID2D1GradientStopCollection1 -
- - - Initializes a new instance of the 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 color space of the input colors as well as the space in which gradient stops are interpolated.

-
- -

If this object was created using , this method returns the color space related to the color interpolation gamma.

-
- - hh446802 - GetPreInterpolationSpace - GetPreInterpolationSpace - D2D1_COLOR_SPACE ID2D1GradientStopCollection1::GetPreInterpolationSpace() -
- - -

Gets the color space after interpolation has occurred.

-
- -

If you create using , this method returns .

-
- - hh446800 - GetPostInterpolationSpace - GetPostInterpolationSpace - D2D1_COLOR_SPACE ID2D1GradientStopCollection1::GetPostInterpolationSpace() -
- - -

Gets the precision of the gradient buffer.

-
- -

If this object was created using , this method returns .

-
- - hh446796 - GetBufferPrecision - GetBufferPrecision - D2D1_BUFFER_PRECISION ID2D1GradientStopCollection1::GetBufferPrecision() -
- - -

Retrieves the color interpolation mode that the gradient stop collection uses.

-
- - hh871465 - GetColorInterpolationMode - GetColorInterpolationMode - D2D1_COLOR_INTERPOLATION_MODE ID2D1GradientStopCollection1::GetColorInterpolationMode() -
- - -

Copies the gradient stops from the collection 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. See the method for more info about color space and gamma space.

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

Gets the color space of the input colors as well as the space in which gradient stops are interpolated.

-
-

This method returns the color space.

- -

If this object was created using , this method returns the color space related to the color interpolation gamma.

-
- - hh446802 - D2D1_COLOR_SPACE ID2D1GradientStopCollection1::GetPreInterpolationSpace() - ID2D1GradientStopCollection1::GetPreInterpolationSpace -
- - -

Gets the color space after interpolation has occurred.

-
-

This method returns the color space.

- -

If you create using , this method returns .

-
- - hh446800 - D2D1_COLOR_SPACE ID2D1GradientStopCollection1::GetPostInterpolationSpace() - ID2D1GradientStopCollection1::GetPostInterpolationSpace -
- - -

Gets the precision of the gradient buffer.

-
-

The buffer precision of the gradient buffer.

- -

If this object was created using , this method returns .

-
- - hh446796 - D2D1_BUFFER_PRECISION ID2D1GradientStopCollection1::GetBufferPrecision() - ID2D1GradientStopCollection1::GetBufferPrecision -
- - -

Retrieves the color interpolation mode that the gradient stop collection uses.

-
-

The color interpolation mode.

- - hh871465 - D2D1_COLOR_INTERPOLATION_MODE ID2D1GradientStopCollection1::GetColorInterpolationMode() - ID2D1GradientStopCollection1::GetColorInterpolationMode -
- - - 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? - - - - -

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 -
- - - Initializes a new instance of the class. - - The native pointer. - - - - Performs an explicit conversion from to . (This method is a shortcut to ) - - The native pointer. - - The result of the conversion. - - - - -

Represents a brush based on an .

-
- - hh446804 - ID2D1ImageBrush - ID2D1ImageBrush -
- - - Initializes a new instance of the 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 or sets the image associated with the image brush.

-
- - hh446807 - GetImage / SetImage - GetImage - void ID2D1ImageBrush::GetImage([Out, Optional] ID2D1Image** image) -
- - -

Gets or sets the extend mode of the image brush on the x-axis.

-
- - hh446805 - GetExtendModeX / SetExtendModeX - GetExtendModeX - D2D1_EXTEND_MODE ID2D1ImageBrush::GetExtendModeX() -
- - -

Gets or sets the extend mode of the image brush on the y-axis of the image.

-
- - hh446806 - GetExtendModeY / SetExtendModeY - GetExtendModeY - D2D1_EXTEND_MODE ID2D1ImageBrush::GetExtendModeY() -
- - -

Gets or sets the interpolation mode of the image brush.

-
- - hh446808 - GetInterpolationMode / SetInterpolationMode - GetInterpolationMode - D2D1_INTERPOLATION_MODE ID2D1ImageBrush::GetInterpolationMode() -
- - -

Gets or sets 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) -
- - -

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

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

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

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

Sets the source rectangle in the image brush.

-
-

The source rectangle that defines the portion of the image to tile.

- -

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

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, Optional] ID2D1Image** image) - ID2D1ImageBrush::GetImage -
- - -

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

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

Gets the interpolation mode of the image brush.

-
-

This method returns the interpolation mode.

- - hh446808 - D2D1_INTERPOLATION_MODE ID2D1ImageBrush::GetInterpolationMode() - ID2D1ImageBrush::GetInterpolationMode -
- - -

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

Represents a producer of pixels that can fill an arbitrary 2D plane.

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

Allows the operating system to free the video memory of resources by discarding their content.

-
-

OfferResources returns:

  • if resources were successfully offered
  • E_INVALIDARG if a resource in the array or the priority is invalid
- - mt591933 - HRESULT ID2D1ImageSource::OfferResources() - ID2D1ImageSource::OfferResources -
- - -

Restores access to resources that were previously offered by calling OfferResources.

-
- No documentation. -

ReclaimResources returns:

  • if resources were successfully reclaimed
  • E_INVALIDARG if the resources are invalid
- -

After you call OfferResources to offer one or more resources, - you must call TryReclaimResources before you can use those resources again. - You must check the value in the resourcesDiscarded to determine whether the 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.

-
- - dn952190 - HRESULT ID2D1ImageSource::TryReclaimResources([Out] BOOL* resourcesDiscarded) - ID2D1ImageSource::TryReclaimResources -
- - - Initializes a new instance of the . - - - - -

Produces 2D pixel data that has been sourced from WIC.

-
- -

Create an an instance of using .

-
- - dn900414 - ID2D1ImageSourceFromWic - ID2D1ImageSourceFromWic -
- - - Initializes a new instance of the 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 underlying bitmap image source from the Windows Imaging Component (WIC).

-
- - dn900422 - GetSource - GetSource - void ID2D1ImageSourceFromWic::GetSource([Out, Optional] IWICBitmapSource** wicBitmapSource) -
- - -

Ensures that a specified region of the image source cache is populated. This method can be used to minimize glitches by performing expensive work to populate caches outside of a rendering loop. This method can also be used to speculatively load image data before it is needed by drawing routines.

-
-

Specifies the region of the image, in pixels, that should be populated in the cache. By default, this is the entire extent of the image.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

This API loads image data into caches of image sources, if that data was not already cached. It does not trim pre-existing caches, if any. More areas within the cache can be populated than actually requested.

?

The provided region must be constructed to include the scale with which the image source will subsequently be drawn. These coordinates must be provided in local coordinates. This means that they must be adjusted prior to calling the API according to the DPI and other relevant transforms, which can include the world transform and brush transforms.

This operation is only supported when the image source has been initialized using the option.

-
- - dn900420 - HRESULT ID2D1ImageSourceFromWic::EnsureCached([In, Optional] const D2D_RECT_U* rectangleToFill) - ID2D1ImageSourceFromWic::EnsureCached -
- - -

This method trims the populated regions of the image source cache to just the specified rectangle.

-
-

Specifies the region of the image, in pixels, which should be preserved in the image source cache. Regions which are outside of the rectangle are evicted from the cache. By default, this is an empty rectangle, meaning that the entire image is evicted from the cache.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

The provided region must be constructed to include the scale at which the image source will be drawn at. These coordinates must be provided in local coordinates. This means that they must be adjusted prior to calling the API according to the DPI and other relevant transforms, which can include the world transform and brush transforms.

?

This method will fail if on-demand caching was not requested when the image source was created.

?

As with , the caller can need to subsequently issue a D3D flush before memory usage is reduced.

This operation is only supported when the image source has been initialized using the option.

-
- - dn900424 - HRESULT ID2D1ImageSourceFromWic::TrimCache([In, Optional] const D2D_RECT_U* rectangleToPreserve) - ID2D1ImageSourceFromWic::TrimCache -
- - -

Retrieves the underlying bitmap image source from the Windows Imaging Component (WIC).

-
-

On return contains the bitmap image source.

- - dn900422 - void ID2D1ImageSourceFromWic::GetSource([Out, Optional] IWICBitmapSource** wicBitmapSource) - ID2D1ImageSourceFromWic::GetSource -
- - - Initializes a new instance of the . - - - - -

Represents a single continuous stroke of variable-width ink, as defined by a series of Bezier segments and widths.

-
- - dn900426 - ID2D1Ink - ID2D1Ink -
- - - Initializes a new instance of the 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 or sets the starting point for this ink object.

-
- - dn900438 - GetStartPoint / SetStartPoint - GetStartPoint - D2D1_INK_POINT ID2D1Ink::GetStartPoint() -
- - -

Updates the last segment in this ink object with new control points.

-
- - dn900440 - SetSegmentAtEnd - SetSegmentAtEnd - HRESULT ID2D1Ink::SetSegmentAtEnd([In] const D2D1_INK_BEZIER_SEGMENT* segment) -
- - -

Returns the number of segments in this ink object.

-
- - dn900436 - GetSegmentCount - GetSegmentCount - unsigned int ID2D1Ink::GetSegmentCount() -
- - -

Sets the starting point for this ink object. This determines where this ink object will start rendering.

-
-

The new starting point for this ink object.

- - dn900445 - void ID2D1Ink::SetStartPoint([In] const D2D1_INK_POINT* startPoint) - ID2D1Ink::SetStartPoint -
- - -

Retrieves the starting point for this ink object.

-
-

The starting point for this ink object.

- - dn900438 - D2D1_INK_POINT ID2D1Ink::GetStartPoint() - ID2D1Ink::GetStartPoint -
- - -

Adds the given segments to the end of this ink object.

-
-

A reference to an array of segments to be added to this ink object.

-

The number of segments to be added to this ink object.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn900434 - HRESULT ID2D1Ink::AddSegments([In, Buffer] const D2D1_INK_BEZIER_SEGMENT* segments,[In] unsigned int segmentsCount) - ID2D1Ink::AddSegments -
- - -

Removes the given number of segments from the end of this ink object.

-
-

The number of segments to be removed from the end of this ink object. Note that segmentsCount must be less or equal to the number of segments in the ink object.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn900439 - HRESULT ID2D1Ink::RemoveSegmentsAtEnd([In] unsigned int segmentsCount) - ID2D1Ink::RemoveSegmentsAtEnd -
- - -

Updates the specified segments in this ink object with new control points.

-
-

The index of the first segment in this ink object to update.

-

A reference to the array of segment data to be used in the update.

-

The number of segments in this ink object that will be updated with new data. Note that segmentsCount must be less than or equal to the number of segments in the ink object minus startSegment.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn900443 - HRESULT ID2D1Ink::SetSegments([In] unsigned int startSegment,[In, Buffer] const D2D1_INK_BEZIER_SEGMENT* segments,[In] unsigned int segmentsCount) - ID2D1Ink::SetSegments -
- - -

Updates the last segment in this ink object with new control points.

-
-

A reference to the segment data with which to overwrite this ink object's last segment. Note that if there are currently no segments in the ink object, SetSegmentsAtEnd will return an error.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn900440 - HRESULT ID2D1Ink::SetSegmentAtEnd([In] const D2D1_INK_BEZIER_SEGMENT* segment) - ID2D1Ink::SetSegmentAtEnd -
- - -

Returns the number of segments in this ink object.

-
-

Returns the number of segments in this ink object.

- - dn900436 - unsigned int ID2D1Ink::GetSegmentCount() - ID2D1Ink::GetSegmentCount -
- - -

Retrieves the specified subset of segments stored in this ink object.

-
-

The index of the first segment in this ink object to retrieve.

-

When this method returns, contains a reference to an array of retrieved segments.

-

The number of segments to retrieve. Note that segmentsCount must be less than or equal to the number of segments in the ink object minus startSegment.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn900437 - HRESULT ID2D1Ink::GetSegments([In] unsigned int startSegment,[Out, Buffer] D2D1_INK_BEZIER_SEGMENT* segments,[In] unsigned int segmentsCount) - ID2D1Ink::GetSegments -
- - -

Retrieves a geometric representation of this ink object.

-
-

The ink style to be used in determining the geometric representation.

-

The world transform to be used in determining the geometric representation.

-

The flattening tolerance to be used in determining the geometric representation.

-

The geometry sink to which the geometry representation will be streamed.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn900449 - HRESULT ID2D1Ink::StreamAsGeometry([In, Optional] ID2D1InkStyle* inkStyle,[In, Optional] const D2D_MATRIX_3X2_F* worldTransform,[In] float flatteningTolerance,[In] ID2D1SimplifiedGeometrySink* geometrySink) - ID2D1Ink::StreamAsGeometry -
- - -

Retrieve the bounds of the geometry, with an optional applied transform.

-
-

The ink style to be used in determining the bounds of this ink object.

-

The world transform to be used in determining the bounds of this ink object.

-

When this method returns, contains the bounds of this ink object.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn900435 - HRESULT ID2D1Ink::GetBounds([In, Optional] ID2D1InkStyle* inkStyle,[In, Optional] const D2D_MATRIX_3X2_F* worldTransform,[Out] D2D_RECT_F* bounds) - ID2D1Ink::GetBounds -
- - - Initializes a new instance of the . - - - - -

Represents a collection of style properties to be used by methods like when rendering ink. The ink style defines the nib (pen tip) shape and transform.

-
- - dn900427 - ID2D1InkStyle - ID2D1InkStyle -
- - - Initializes a new instance of the 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 or sets the transform to be applied to this style's nib shape.

-
- - dn900429 - GetNibTransform / SetNibTransform - GetNibTransform - void ID2D1InkStyle::GetNibTransform([Out] D2D_MATRIX_3X2_F* transform) -
- - -

Retrieves or sets the pre-transform nib shape for this style.

-
- - dn900428 - GetNibShape / SetNibShape - GetNibShape - D2D1_INK_NIB_SHAPE ID2D1InkStyle::GetNibShape() -
- - -

Sets the transform to apply to this style's nib shape.

-
-

The transform to apply to this style?s nib shape. Note that the translation components of the transform matrix are ignored for the purposes of rendering.

- - dn900431 - void ID2D1InkStyle::SetNibTransform([In] const D2D_MATRIX_3X2_F* transform) - ID2D1InkStyle::SetNibTransform -
- - -

Retrieves the transform to be applied to this style's nib shape.

-
-

When this method returns, contains a reference to the transform to be applied to this style's nib shape.

- - dn900429 - void ID2D1InkStyle::GetNibTransform([Out] D2D_MATRIX_3X2_F* transform) - ID2D1InkStyle::GetNibTransform -
- - -

Sets the pre-transform nib shape for this style.

-
-

The pre-transform nib shape to use in this style.

- - dn900430 - void ID2D1InkStyle::SetNibShape([In] D2D1_INK_NIB_SHAPE nibShape) - ID2D1InkStyle::SetNibShape -
- - -

Retrieves the pre-transform nib shape for this style.

-
-

Returns the pre-transform nib shape for this style.

- - dn900428 - D2D1_INK_NIB_SHAPE ID2D1InkStyle::GetNibShape() - ID2D1InkStyle::GetNibShape -
- - - Initializes a new instance of the . - - - - - Initializes a new instance of the . - - - - -

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.

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

-
- - dd371485 - GetSize - GetSize - D2D_SIZE_F ID2D1Layer::GetSize() -
- - -

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

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

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

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

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

A container for 3D lookup table data that can be passed to the LookupTable3D effect.

An ID2DLookupTable3D instance is created using or .

-
- - dn900453 - ID2D1LookupTable3D - ID2D1LookupTable3D -
- - - Initializes a new instance of the 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 new instance of the . - - - - -

Represents a set of vertices that form a list of triangles.

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

A locking mechanism from a Direct2D factory that Direct2D uses to control exclusive resource access in an app that is uses multiple threads.

-
- -

You can get an object by querying for it from an object.

You should use this lock while doing any operation on a Direct3D/DXGI surface. Direct2D will wait on any call until you leave the critical section.

Note?? Normal rendering is guarded automatically by an internal Direct2D lock.? -
- - hh997713 - 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. - - - - -

Returns whether the Direct2D factory was created with the flag.

-
- - hh997715 - GetMultithreadProtected - GetMultithreadProtected - BOOL ID2D1Multithread::GetMultithreadProtected() -
- - -

Returns whether the Direct2D factory was created with the flag.

-
-

Returns true if the Direct2D factory was created as multi-threaded, or false if it was created as single-threaded.

- - hh997715 - BOOL ID2D1Multithread::GetMultithreadProtected() - ID2D1Multithread::GetMultithreadProtected -
- - -

Enters the Direct2D API critical section, if it exists.

-
- - hh997714 - void ID2D1Multithread::Enter() - ID2D1Multithread::Enter -
- - -

Leaves the Direct2D API critical section, if it exists.

-
- - hh997716 - void ID2D1Multithread::Leave() - ID2D1Multithread::Leave -
- - -

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 the 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 offset in the current offset transform.

-
-

The new offset to apply to the offset transform.

- - hh446824 - void ID2D1OffsetTransform::SetOffset([In] POINT offset) - ID2D1OffsetTransform::SetOffset -
- - -

Gets the offset currently in the offset transform.

-
-

The current transform offset.

- - hh446822 - POINT ID2D1OffsetTransform::GetOffset() - ID2D1OffsetTransform::GetOffset -
- - - Initializes a new instance of class - - The effect context - The offset transformation - HRESULT ID2D1EffectContext::CreateOffsetTransform([In] POINT offset,[Out, Fast] ID2D1OffsetTransform** transform) - - - -

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.

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

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

The interface adds functionality to . In particular, it provides the path geometry-specific ComputePointAndSegmentAtLength method.

-
- -

This interface adds functionality to .

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

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. The flattening tolerance is the maximum error allowed when constructing a polygonal approximation of the geometry. No point in the polygonal representation will diverge from the original geometry by more than the flattening tolerance. Smaller values produce more accurate results but cause slower execution.

-

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.

?

- - dn900454 - 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 -
- - - Initializes a new instance of the class. - - The factory. - HRESULT ID2D1Factory1::CreatePathGeometry([Out, Fast] ID2D1PathGeometry1** pathGeometry) - - - -

Converts Direct2D primitives stored in an into a fixed page representation. The print sub-system then consumes the primitives.

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

Converts Direct2D primitives in the passed-in command list into a fixed page representation for use by the print subsystem.

-
-

The command list that contains the rendering operations.

-

The size of the page to add.

-

The print ticket stream.

-

Contains the first label for subsequent drawing operations. This parameter is passed uninitialized. If null is specified, no value is retrieved for this parameter.

-

Contains the second label for subsequent drawing operations. This parameter is passed uninitialized. If null is specified, no value is retrieved for this parameter.

-

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.
The print job is already finished.

?

- - hh847998 - 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 -
- - -

Passes all remaining resources to the print sub-system, then clean up and close the current print job.

-
-

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.
The print job is already finished.

?

- - hh848001 - HRESULT ID2D1PrintControl::Close() - ID2D1PrintControl::Close -
- - - 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 -
- - -

Represents a set of run-time bindable and discoverable properties that allow a data-driven application to modify the state of a Direct2D effect.

-
- -

This interface supports access through either indices or property names. In addition to top-level properties, each property in an object may contain an object, which stores metadata describing the parent property.

-
- - hh446854 - ID2D1Properties - ID2D1Properties -
- - - Initializes a new instance of the 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 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() -
- - -

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 -
- - - Gets the property name that corresponds to the given index. - - No documentation. - No documentation. - No documentation. - No documentation. - - jj151735 - HRESULT ID2D1Properties::GetPropertyName([In] unsigned int index,[Out, Buffer] wchar_t* name,[In] unsigned int nameCount) - ID2D1Properties::GetPropertyName - - - -

Gets the number of characters for the given property name. This is a template overload. See Remarks.

-
-

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.

template<typename U> UINT32 GetPropertyNameLength( U index ) CONST; -
- - jj151733 - unsigned int ID2D1Properties::GetPropertyNameLength([In] unsigned int index) - ID2D1Properties::GetPropertyNameLength -
- - -

Gets the of the selected property.

-
- No documentation. -

This method returns a -typed value for 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 -
- - -

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 -
- - - Sets the named property to the given value. - - No documentation. - No documentation. - No documentation. - No documentation. - No documentation. - - hh997717 - HRESULT ID2D1Properties::SetValueByName([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[In, Buffer] const void* data,[In] unsigned int dataSize) - ID2D1Properties::SetValueByName - - - -

Sets the corresponding property by index. This is a template overload. See Remarks.

-
-

The index of the property to set.

-

The data to set.

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

?

- -

template<typename T, typename U> SetValue( U index, _In_ const T &value ); -
- - jj151751 - HRESULT ID2D1Properties::SetValue([In] unsigned int index,[In] D2D1_PROPERTY_TYPE type,[In, Buffer] const void* data,[In] unsigned int dataSize) - ID2D1Properties::SetValue -
- - -

Gets the property value by name. This is a template overload. See Remarks.

-
-

The property name to get.

- No documentation. - No documentation. - No documentation. -

Returns the value requested.

- -

If propertyName 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.

template<typename T> T GetValueByName( _In_ PCWSTR propertyName ) const; -
- - jj151746 - HRESULT ID2D1Properties::GetValueByName([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[Out, Buffer] void* data,[In] unsigned int dataSize) - ID2D1Properties::GetValueByName -
- - -

Gets the value of the property by index. This is a template overload. See Remarks.

-
-

The index of the property from which the value is to be obtained.

- No documentation. - No documentation. - No documentation. -

Returns the value requested.

- -

template<typename T, typename U> T GetValue( U index ) const; -
- - jj151743 - HRESULT ID2D1Properties::GetValue([In] unsigned int index,[In] D2D1_PROPERTY_TYPE type,[Out, Buffer] void* data,[In] unsigned int dataSize) - ID2D1Properties::GetValue -
- - -

Gets the size of the property value in bytes, using the property index. This is a template overload. See Remarks.

-
-

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.

template<typename U> UINT32 GetValueSize( U index ) CONST; -
- - jj151748 - unsigned int ID2D1Properties::GetValueSize([In] unsigned int index) - ID2D1Properties::GetValueSize -
- - -

Gets the sub-properties of the provided property by index. This is a template overload. See Remarks.

-
-

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.

template<typename U> GetSubProperties( U index, _Outptr_opt_ **subProperties ) CONST; -
- - jj151736 - HRESULT ID2D1Properties::GetSubProperties([In] unsigned int index,[Out, Optional] ID2D1Properties** subProperties) - ID2D1Properties::GetSubProperties -
- - - Gets or sets Cached property. - - - - - 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. - Specifies the type of property to get. - 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 - Specifies the type of property to set. - 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 - Specifies the type of property to set. - 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) - - - -

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

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

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

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

Describes a two-dimensional rectangle.

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

-
- - dd371762 - GetRect - GetRect - void ID2D1RectangleGeometry::GetRect([Out] D2D_RECT_F* rect) -
- - -

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

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

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

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 how a specific input to the transform should be handled by the renderer in terms of sampling.

-
-

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

Allows a caller to control the output precision and channel-depth of the transform in which the render information is encapsulated.

-
-

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. The maximum of 16bpc UNORM and 16bpc FLOAT is 32bpc FLOAT.

The output channel depth will match the maximum of the input channel depths if the channel depth is .

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

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

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

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 -
- - - Initializes a new instance of the 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 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.

-
- -

This method returns the maximum texture size of the Direct3D device.

Note??The software renderer and WARP devices return the value of 16 megapixels (16*1024*1024). You can create a Direct2D texture that is this size, but not a Direct3D texture that is this size.? -
- - dd742853 - GetMaximumBitmapSize - GetMaximumBitmapSize - unsigned int ID2D1RenderTarget::GetMaximumBitmapSize() -
- - -

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.

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

-
- No documentation. - No documentation. - No documentation. - No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dd371788 - 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 has the specified color and a base opacity of 1.0f.

-
- No documentation. - No documentation. - No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dd371871 - 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 that uses the color interpolation gamma and the clamp extend mode.

-
- No documentation. - No documentation. - No documentation. - No documentation. - No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dd371832 - 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, 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.

- - dd371845 - 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 and has the same size, DPI, and pixel format (but not alpha mode) as the current render target.

-
-

When this method returns, contains a reference to a reference to a new bitmap render target. This parameter is passed uninitialized.

- No documentation. - No documentation. - No documentation. - No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

The bitmap render target created by this method is not compatible with GDI and has an alpha mode of .

-
- - dd371825 - 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. The new layer has the specified initial size.

-
-

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.

-

When the method returns, contains a reference to a reference to the new layer. This parameter is passed uninitialized.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

Regardless of whether a size is initially specified, the layer automatically resizes as needed.

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

-

The width of the stroke, in device-independent pixels. The value must be greater than or equal to 0.0f. 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.

-

The width of the stroke, in device-independent pixels. The value must be greater than or equal to 0.0f. 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 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 stroke, in device-independent pixels. The value must be greater than or equal to 0.0f. If this parameter isn't specified, it defaults to 1.0f. The stroke is centered on the line.

-

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.

-
- - dd371959 - 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 width of the stroke, in device-independent pixels. The value must be greater than or equal to 0.0f. If this parameter isn't specified, it defaults to 1.0f. The stroke is centered on the line.

-

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 width of the stroke, in device-independent pixels. The value must be greater than or equal to 0.0f. If this parameter isn't specified, it defaults to 1.0f. The stroke is centered on the line.

-

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

-
- No documentation. - No documentation. - No documentation. - No documentation. - No documentation. - No documentation. - No documentation. - -

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.

-
- - dd371919 - void ID2D1RenderTarget::DrawTextW([In, Buffer] const wchar_t* string,[In] unsigned int stringLength,[In] IDWriteTextFormat* textFormat,[In] const D2D_RECT_F* layoutRect,[In] ID2D1Brush* defaultFillBrush,[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* defaultFillBrush,[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. - - 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 Direct3D device context 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, or null for transparent black.

- -

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.

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

- -

This method returns the maximum texture size of the Direct3D device.

Note??The software renderer and WARP devices return the value of 16 megapixels (16*1024*1024). You can create a Direct2D texture that is this size, but not a Direct3D texture that is this size.? -
- - 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 -
- - - Default stroke width used for all methods that are not explicitly using it. Default is set to 1.0f. - - - - - Get or set the default stroke width used for all methods that are not explicitly using it. Default is set to 1.0f. - - - - - 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.

-
-

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

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.

-
- - dd316911 - GetFactory - GetFactory - void ID2D1Resource::GetFactory([Out] ID2D1Factory** factory) -
- - -

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

Tracks a transform-created resource texture.

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

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.

-

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.

?

- -

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 -
- - - 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 - The data to be loaded into the resource texture. - Reference to the stride to advance through the resource texture, according to dimension. - 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) - - - -

Describes a rounded rectangle.

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

-
- - dd316917 - GetRoundedRect - GetRoundedRect - void ID2D1RoundedRectangleGeometry::GetRoundedRect([Out] D2D1_ROUNDED_RECT* roundedRect) -
- - -

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

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

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 - - 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 . - -
- - - Initializes a new instance of the 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 -
- - - Creates a sequence of cubic Bezier curves and adds them to the geometry sink. - - 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. - - - - Creates a sequence of lines using the specified points and adds them to the geometry sink. - - 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. - - - - 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. - - - - - 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. - - - - - 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. - - - - - 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. - - - - - 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. - - - - -

Paints an area with a solid color.

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

Retrieves or sets the color of the solid color brush.

-
- - dd372209 - GetColor / SetColor - GetColor - D2D_COLOR_F ID2D1SolidColorBrush::GetColor() -
- - -

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.

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

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

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 -
- - - Initializes a new instance of the 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 render information for the transform.

-
-

The interface supplied to the transform to allow specifying the CPU 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.

-
- - hh446912 - HRESULT ID2D1SourceTransform::SetRenderInfo([In] ID2D1RenderInfo* renderInfo) - ID2D1SourceTransform::SetRenderInfo -
- - -

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.

When implementing this method you must update the bitmap in this way:

  1. Call the ID2D1Bitmap::Map method with the and - flags.
  2. Update the buffer this method returns.
  3. Call the ID2D1Bitmap::Unmap method.

If you set the buffer precision manually on the associated object, it must handle different pixel formats in this method by calling . If you set the buffer precision manually, then you can rely on that format always being the one you provided.

-
- - hh446910 - HRESULT ID2D1SourceTransform::Draw([In] ID2D1Bitmap1* target,[In] const RECT* drawRect,[In] D2D_POINT_2U targetOrigin) - ID2D1SourceTransform::Draw -
- - - - - - - - -

Adds the given sprites to the end of this sprite batch.

-
- -

In Direct2D, a sprite is defined by four properties: a destination rectangle, a source rectangle, a color, and a transform. Destination rectangles are mandatory, but the remaining properties are optional.

Note??Always omit or pass a null value for properties you do not wish to use. This allows Direct2D to avoid storing values for those properties and to skip their handling entirely, which improves drawing speed. For example, suppose you have a batch of 500 sprites, and you do not wish to transform any of their destination rectangles. Rather than passing an array of identity matrices, simply omit the transforms parameter. This allows Direct2D to avoid storing any transforms and will yield the fastest drawing performance. On the other hand, if any sprite in the batch has any value set for a property, then internally Direct2D must allocate space for that property array and assign every sprite a value for that property (even if it?s just the default value).? -
- - mt619834 - ID2D1SpriteBatch - ID2D1SpriteBatch -
- - - Initializes a new instance of the 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 sprites in this sprite batch.

-
- - mt619836 - GetSpriteCount - GetSpriteCount - unsigned int ID2D1SpriteBatch::GetSpriteCount() -
- - -

Adds the given sprites to the end of this sprite batch.

-
-

The number of sprites to be added. This determines how many strides into each given array Direct2D will read.

-

A reference to an array containing the destination rectangles specifying where to draw the sprites on the destination device context.

-

A reference to an array containing the source rectangles specifying the regions of the source bitmap to draw as sprites. Direct2D will use the entire source bitmap for sprites that are assigned a null value or the InfiniteRectU. If this parameter is omitted entirely or set to a null value, then Direct2D will use the entire source bitmap for all the added sprites.

-

A reference to an array containing the colors to apply to each sprite. The output color is the result of component-wise multiplication of the source bitmap color and the provided color. The output color is not clamped.

Direct2D will not change the color of sprites that are assigned a null value. If this parameter is omitted entirely or set to a null value, then Direct2D will not change the color of any of the added sprites.

-

A reference to an array containing the transforms to apply to each sprite?s destination rectangle.

Direct2D will not transform the destination rectangle of any sprites that are assigned a null value. If this parameter is omitted entirely or set to a null value, then Direct2D will not transform the destination rectangle of any of the added sprites.

-

Specifies the distance, in bytes, between each rectangle in the destinationRectangles array. If you provide a stride of 0, then the same destination rectangle will be used for each added sprite.

-

Specifies the distance, in bytes, between each rectangle in the sourceRectangles array (if that array is given). If you provide a stride of 0, then the same source rectangle will be used for each added sprite.

-

Specifies the distance, in bytes, between each color in the colors array (if that array is given). If you provide a stride of 0, then the same color will be used for each added sprite.

-

Specifies the distance, in bytes, between each transform in the transforms array (if that array is given). If you provide a stride of 0, then the same transform will be used for each added sprite.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

In Direct2D, a sprite is defined by four properties: a destination rectangle, a source rectangle, a color, and a transform. Destination rectangles are mandatory, but the remaining properties are optional.

Note??Always omit or pass a null value for properties you do not wish to use. This allows Direct2D to avoid storing values for those properties and to skip their handling entirely, which improves drawing speed. For example, suppose you have a batch of 500 sprites, and you do not wish to transform any of their destination rectangles. Rather than passing an array of identity matrices, simply omit the transforms parameter. This allows Direct2D to avoid storing any transforms and will yield the fastest drawing performance. On the other hand, if any sprite in the batch has any value set for a property, then internally Direct2D must allocate space for that property array and assign every sprite a value for that property (even if it?s just the default value).? -
- - mt619834 - HRESULT ID2D1SpriteBatch::AddSprites([In] unsigned int spriteCount,[In, Buffer] const D2D_RECT_F* destinationRectangles,[In, Buffer, Optional] const D2D_RECT_U* sourceRectangles,[In, Buffer, Optional] const D2D_COLOR_F* colors,[In, Buffer, Optional] const D2D_MATRIX_3X2_F* transforms,[In] unsigned int destinationRectanglesStride,[In] unsigned int sourceRectanglesStride,[In] unsigned int colorsStride,[In] unsigned int transformsStride) - ID2D1SpriteBatch::AddSprites -
- - -

Updates the properties of the specified sprites in this sprite batch. Providing a null value for any property will leave that property unmodified for that sprite.

-
-

The index of the first sprite in this sprite batch to update.

-

The number of sprites to update with new properties. This determines how many strides into each given array Direct2D will read.

-

A reference to an array containing the destination rectangles specifying where to draw the sprites on the destination device context.

-

A reference to an array containing the source rectangles specifying the regions of the source bitmap to draw as sprites.

Direct2D will use the entire source bitmap for sprites that are assigned a null value or the InfiniteRectU. If this parameter is omitted entirely or set to a null value, then Direct2D will use the entire source bitmap for all the updated sprites.

-

A reference to an array containing the colors to apply to each sprite. The output color is the result of component-wise multiplication of the source bitmap color and the provided color. The output color is not clamped.

Direct2D will not change the color of sprites that are assigned a null value. If this parameter is omitted entirely or set to a null value, then Direct2D will not change the color of any of the updated sprites.

-

A reference to an array containing the transforms to apply to each sprite?s destination rectangle.

Direct2D will not transform the destination rectangle of any sprites that are assigned a null value. If this parameter is omitted entirely or set to a null value, then Direct2D will not transform the destination rectangle of any of the updated sprites.

-

Specifies the distance, in bytes, between each rectangle in the destinationRectangles array. If you provide a stride of 0, then the same destination rectangle will be used for each updated sprite.

-

Specifies the distance, in bytes, between each rectangle in the sourceRectangles array (if that array is given). If you provide a stride of 0, then the same source rectangle will be used for each updated sprite.

-

Specifies the distance, in bytes, between each color in the colors array (if that array is given). If you provide a stride of 0, then the same color will be used for each updated sprite.

-

Specifies the distance, in bytes, between each transform in the transforms array (if that array is given). If you provide a stride of 0, then the same transform will be used for each updated sprite.

-

Returns on success. Returns E_INVALIDARG if an invalid value was passed to the method. In this case, no sprites are modified by this call to SetSprites.

- - mt604121 - HRESULT ID2D1SpriteBatch::SetSprites([In] unsigned int startIndex,[In] unsigned int spriteCount,[In, Buffer, Optional] const D2D_RECT_F* destinationRectangles,[In, Buffer, Optional] const D2D_RECT_U* sourceRectangles,[In, Buffer, Optional] const D2D_COLOR_F* colors,[In, Buffer, Optional] const D2D_MATRIX_3X2_F* transforms,[In] unsigned int destinationRectanglesStride,[In] unsigned int sourceRectanglesStride,[In] unsigned int colorsStride,[In] unsigned int transformsStride) - ID2D1SpriteBatch::SetSprites -
- - -

Retrieves the specified subset of sprites from this sprite batch. For the best performance, use nullptr for properties that you do not need to retrieve.

-
-

The index of the first sprite in this sprite batch to retrieve.

-

The number of sprites to retrieve.

-

When this method returns, contains a reference to an array containing the destination rectangles for the retrieved sprites.

-

When this method returns, contains a reference to an array containing the source rectangles for the retrieved sprites.

The InfiniteRectU is returned for any sprites that were not assigned a source rectangle.

-

When this method returns, contains a reference to an array containing the colors to be applied to the retrieved sprites.

The color {1.0f, 1.0f, 1.0f, 1.0f} is returned for any sprites that were not assigned a color.

-

When this method returns, contains a reference to an array containing the transforms to be applied to the retrieved sprites.

The identity matrix is returned for any sprites that were not assigned a transform.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - mt619837 - HRESULT ID2D1SpriteBatch::GetSprites([In] unsigned int startIndex,[In] unsigned int spriteCount,[Out, Buffer, Optional] D2D_RECT_F* destinationRectangles,[Out, Buffer, Optional] D2D_RECT_U* sourceRectangles,[Out, Buffer, Optional] D2D_COLOR_F* colors,[Out, Buffer, Optional] D2D_MATRIX_3X2_F* transforms) - ID2D1SpriteBatch::GetSprites -
- - -

Retrieves the number of sprites in this sprite batch.

-
-

Returns the number of sprites in this sprite batch

- - mt619836 - unsigned int ID2D1SpriteBatch::GetSpriteCount() - ID2D1SpriteBatch::GetSpriteCount -
- - -

Removes all sprites from this sprite batch.

-
- - mt619835 - void ID2D1SpriteBatch::Clear() - ID2D1SpriteBatch::Clear -
- - - Initializes a new instance of the . - - - - -

Describes the caps, miter limit, line join, and dash information for a stroke.

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

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

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

Describes the caps, miter limit, line join, and dash information for a stroke.

-
- -

This interface adds functionality to .

-
- - hh446914 - ID2D1StrokeStyle1 - ID2D1StrokeStyle1 -
- - - Initializes a new instance of the 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 stroke transform type.

-
- - hh446916 - GetStrokeTransformType - GetStrokeTransformType - D2D1_STROKE_TRANSFORM_TYPE ID2D1StrokeStyle1::GetStrokeTransformType() -
- - -

Gets the stroke transform type.

-
-

This method returns the stroke transform type.

- - hh446916 - D2D1_STROKE_TRANSFORM_TYPE ID2D1StrokeStyle1::GetStrokeTransformType() - ID2D1StrokeStyle1::GetStrokeTransformType -
- - - 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. - - - - -

This interface performs all the same functions as the interface, plus it enables functionality such as ink rendering, gradient mesh rendering, and improved image loading.

-
- - dn890789 - ID2D1SvgAttribute - ID2D1SvgAttribute -
- - - Initializes a new instance of the 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. - - - GetElement - GetElement - void ID2D1SvgAttribute::GetElement([Out, Optional] ID2D1SvgElement** element) - - - - No documentation. - - No documentation. - - void ID2D1SvgAttribute::GetElement([Out, Optional] ID2D1SvgElement** element) - ID2D1SvgAttribute::GetElement - - - - No documentation. - - No documentation. - No documentation. - - HRESULT ID2D1SvgAttribute::Clone([Out] ID2D1SvgAttribute** attribute) - ID2D1SvgAttribute::Clone - - - -

This interface performs all the same functions as the interface, plus it enables functionality such as ink rendering, gradient mesh rendering, and improved image loading.

-
- - dn890789 - ID2D1SvgDocument - ID2D1SvgDocument -
- - - Initializes a new instance of the 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. - - - GetViewportSize / SetViewportSize - GetViewportSize - D2D_SIZE_F ID2D1SvgDocument::GetViewportSize() - - - - No documentation. - - - GetRoot / SetRoot - GetRoot - void ID2D1SvgDocument::GetRoot([Out, Optional] ID2D1SvgElement** root) - - - - No documentation. - - No documentation. - No documentation. - - HRESULT ID2D1SvgDocument::SetViewportSize([In] D2D_SIZE_F viewportSize) - ID2D1SvgDocument::SetViewportSize - - - - No documentation. - - No documentation. - - D2D_SIZE_F ID2D1SvgDocument::GetViewportSize() - ID2D1SvgDocument::GetViewportSize - - - - No documentation. - - No documentation. - No documentation. - - HRESULT ID2D1SvgDocument::SetRoot([In, Optional] ID2D1SvgElement* root) - ID2D1SvgDocument::SetRoot - - - - No documentation. - - No documentation. - - void ID2D1SvgDocument::GetRoot([Out, Optional] ID2D1SvgElement** root) - ID2D1SvgDocument::GetRoot - - - - No documentation. - - No documentation. - No documentation. - No documentation. - - HRESULT ID2D1SvgDocument::FindElementById([In] const wchar_t* id,[Out, Optional] ID2D1SvgElement** svgElement) - ID2D1SvgDocument::FindElementById - - - - No documentation. - - No documentation. - No documentation. - No documentation. - - HRESULT ID2D1SvgDocument::Serialize([In] IStream* outputXmlStream,[In, Optional] ID2D1SvgElement* subtree) - ID2D1SvgDocument::Serialize - - - - No documentation. - - No documentation. - No documentation. - No documentation. - - HRESULT ID2D1SvgDocument::Deserialize([In] IStream* inputXmlStream,[Out] ID2D1SvgElement** subtree) - ID2D1SvgDocument::Deserialize - - - - No documentation. - - No documentation. - No documentation. - No documentation. - No documentation. - No documentation. - - HRESULT ID2D1SvgDocument::CreatePaint([In] D2D1_SVG_PAINT_TYPE paintType,[In, Optional] const D2D_COLOR_F* color,[In, Optional] const wchar_t* id,[Out] ID2D1SvgPaint** paint) - ID2D1SvgDocument::CreatePaint - - - - No documentation. - - No documentation. - No documentation. - No documentation. - No documentation. - - HRESULT ID2D1SvgDocument::CreateStrokeDashArray([In, Buffer, Optional] const D2D1_SVG_LENGTH* dashes,[In] unsigned int dashesCount,[Out] ID2D1SvgStrokeDashArray** strokeDashArray) - ID2D1SvgDocument::CreateStrokeDashArray - - - - No documentation. - - No documentation. - No documentation. - No documentation. - No documentation. - - HRESULT ID2D1SvgDocument::CreatePointCollection([In, Buffer, Optional] const D2D_POINT_2F* points,[In] unsigned int pointsCount,[Out] ID2D1SvgPointCollection** pointCollection) - ID2D1SvgDocument::CreatePointCollection - - - - No documentation. - - No documentation. - No documentation. - No documentation. - No documentation. - No documentation. - No documentation. - - HRESULT ID2D1SvgDocument::CreatePathData([In, Buffer, Optional] const float* segmentData,[In] unsigned int segmentDataCount,[In, Buffer, Optional] const D2D1_SVG_PATH_COMMAND* commands,[In] unsigned int commandsCount,[Out] ID2D1SvgPathData** pathData) - ID2D1SvgDocument::CreatePathData - - - -

Interface for all SVG elements.

-
- - mt797830 - ID2D1SvgElement - ID2D1SvgElement -
- - - Initializes a new instance of the 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. - - - GetDocument - GetDocument - void ID2D1SvgElement::GetDocument([Out, Optional] ID2D1SvgDocument** document) - - - - No documentation. - - - GetTagNameLength - GetTagNameLength - unsigned int ID2D1SvgElement::GetTagNameLength() - - - - No documentation. - - - IsTextContent - IsTextContent - BOOL ID2D1SvgElement::IsTextContent() - - - - No documentation. - - - GetParent - GetParent - void ID2D1SvgElement::GetParent([Out, Optional] ID2D1SvgElement** parent) - - - - No documentation. - - - GetFirstChild - GetFirstChild - void ID2D1SvgElement::GetFirstChild([Out, Optional] ID2D1SvgElement** child) - - - - No documentation. - - - GetLastChild - GetLastChild - void ID2D1SvgElement::GetLastChild([Out, Optional] ID2D1SvgElement** child) - - - - No documentation. - - - GetSpecifiedAttributeCount - GetSpecifiedAttributeCount - unsigned int ID2D1SvgElement::GetSpecifiedAttributeCount() - - - - No documentation. - - - GetTextValueLength - GetTextValueLength - unsigned int ID2D1SvgElement::GetTextValueLength() - - - - No documentation. - - No documentation. - - void ID2D1SvgElement::GetDocument([Out, Optional] ID2D1SvgDocument** document) - ID2D1SvgElement::GetDocument - - - - No documentation. - - No documentation. - No documentation. - No documentation. - - HRESULT ID2D1SvgElement::GetTagName([Out, Buffer] wchar_t* name,[In] unsigned int nameCount) - ID2D1SvgElement::GetTagName - - - - No documentation. - - No documentation. - - unsigned int ID2D1SvgElement::GetTagNameLength() - ID2D1SvgElement::GetTagNameLength - - - - No documentation. - - No documentation. - - BOOL ID2D1SvgElement::IsTextContent() - ID2D1SvgElement::IsTextContent - - - - No documentation. - - No documentation. - - void ID2D1SvgElement::GetParent([Out, Optional] ID2D1SvgElement** parent) - ID2D1SvgElement::GetParent - - - - No documentation. - - No documentation. - - BOOL ID2D1SvgElement::HasChildren() - ID2D1SvgElement::HasChildren - - - - No documentation. - - No documentation. - - void ID2D1SvgElement::GetFirstChild([Out, Optional] ID2D1SvgElement** child) - ID2D1SvgElement::GetFirstChild - - - - No documentation. - - No documentation. - - void ID2D1SvgElement::GetLastChild([Out, Optional] ID2D1SvgElement** child) - ID2D1SvgElement::GetLastChild - - - - No documentation. - - No documentation. - No documentation. - No documentation. - - HRESULT ID2D1SvgElement::GetPreviousChild([In] ID2D1SvgElement* referenceChild,[Out, Optional] ID2D1SvgElement** previousChild) - ID2D1SvgElement::GetPreviousChild - - - - No documentation. - - No documentation. - No documentation. - No documentation. - - HRESULT ID2D1SvgElement::GetNextChild([In] ID2D1SvgElement* referenceChild,[Out, Optional] ID2D1SvgElement** nextChild) - ID2D1SvgElement::GetNextChild - - - - No documentation. - - No documentation. - No documentation. - No documentation. - - HRESULT ID2D1SvgElement::InsertChildBefore([In] ID2D1SvgElement* newChild,[In, Optional] ID2D1SvgElement* referenceChild) - ID2D1SvgElement::InsertChildBefore - - - - No documentation. - - No documentation. - No documentation. - - HRESULT ID2D1SvgElement::AppendChild([In] ID2D1SvgElement* newChild) - ID2D1SvgElement::AppendChild - - - - No documentation. - - No documentation. - No documentation. - No documentation. - - HRESULT ID2D1SvgElement::ReplaceChild([In] ID2D1SvgElement* newChild,[In] ID2D1SvgElement* oldChild) - ID2D1SvgElement::ReplaceChild - - - - No documentation. - - No documentation. - No documentation. - - HRESULT ID2D1SvgElement::RemoveChild([In] ID2D1SvgElement* oldChild) - ID2D1SvgElement::RemoveChild - - - - No documentation. - - No documentation. - No documentation. - No documentation. - - HRESULT ID2D1SvgElement::CreateChild([In, Optional] const wchar_t* tagName,[Out] ID2D1SvgElement** newChild) - ID2D1SvgElement::CreateChild - - - - No documentation. - - No documentation. - No documentation. - No documentation. - - BOOL ID2D1SvgElement::IsAttributeSpecified([In] const wchar_t* name,[Out, Optional] BOOL* inherited) - ID2D1SvgElement::IsAttributeSpecified - - - - No documentation. - - No documentation. - - unsigned int ID2D1SvgElement::GetSpecifiedAttributeCount() - ID2D1SvgElement::GetSpecifiedAttributeCount - - - - No documentation. - - No documentation. - No documentation. - No documentation. - No documentation. - No documentation. - - HRESULT ID2D1SvgElement::GetSpecifiedAttributeName([In] unsigned int index,[Out, Buffer] wchar_t* name,[In] unsigned int nameCount,[Out, Optional] BOOL* inherited) - ID2D1SvgElement::GetSpecifiedAttributeName - - - - No documentation. - - No documentation. - No documentation. - No documentation. - No documentation. - - HRESULT ID2D1SvgElement::GetSpecifiedAttributeNameLength([In] unsigned int index,[Out] unsigned int* nameLength,[Out, Optional] BOOL* inherited) - ID2D1SvgElement::GetSpecifiedAttributeNameLength - - - - No documentation. - - No documentation. - No documentation. - - HRESULT ID2D1SvgElement::RemoveAttribute([In] const wchar_t* name) - ID2D1SvgElement::RemoveAttribute - - - - No documentation. - - No documentation. - No documentation. - No documentation. - - HRESULT ID2D1SvgElement::SetTextValue([In, Buffer] const wchar_t* name,[In] unsigned int nameCount) - ID2D1SvgElement::SetTextValue - - - - No documentation. - - No documentation. - No documentation. - No documentation. - - HRESULT ID2D1SvgElement::GetTextValue([Out, Buffer] wchar_t* name,[In] unsigned int nameCount) - ID2D1SvgElement::GetTextValue - - - - No documentation. - - No documentation. - - unsigned int ID2D1SvgElement::GetTextValueLength() - ID2D1SvgElement::GetTextValueLength - - - - No documentation. - - No documentation. - No documentation. - No documentation. - - HRESULT ID2D1SvgElement::SetAttributeValue([In] const wchar_t* name,[In] ID2D1SvgAttribute* value) - ID2D1SvgElement::SetAttributeValue - - - - No documentation. - - No documentation. - No documentation. - No documentation. - No documentation. - No documentation. - - HRESULT ID2D1SvgElement::SetAttributeValue([In] const wchar_t* name,[In] D2D1_SVG_ATTRIBUTE_POD_TYPE type,[In, Buffer] const void* value,[In] unsigned int valueSizeInBytes) - ID2D1SvgElement::SetAttributeValue - - - - No documentation. - - No documentation. - No documentation. - No documentation. - No documentation. - - HRESULT ID2D1SvgElement::SetAttributeValue([In] const wchar_t* name,[In] D2D1_SVG_ATTRIBUTE_STRING_TYPE type,[In] const wchar_t* value) - ID2D1SvgElement::SetAttributeValue - - - - No documentation. - - No documentation. - No documentation. - No documentation. - No documentation. - - HRESULT ID2D1SvgElement::GetAttributeValue([In] const wchar_t* name,[In] const GUID& riid,[Out, Optional] void** value) - ID2D1SvgElement::GetAttributeValue - - - - No documentation. - - No documentation. - No documentation. - No documentation. - No documentation. - No documentation. - - HRESULT ID2D1SvgElement::GetAttributeValue([In] const wchar_t* name,[In] D2D1_SVG_ATTRIBUTE_POD_TYPE type,[Out, Buffer] void* value,[In] unsigned int valueSizeInBytes) - ID2D1SvgElement::GetAttributeValue - - - - No documentation. - - No documentation. - No documentation. - No documentation. - No documentation. - No documentation. - - HRESULT ID2D1SvgElement::GetAttributeValue([In] const wchar_t* name,[In] D2D1_SVG_ATTRIBUTE_STRING_TYPE type,[Out, Buffer] wchar_t* value,[In] unsigned int valueCount) - ID2D1SvgElement::GetAttributeValue - - - - No documentation. - - No documentation. - No documentation. - No documentation. - No documentation. - - HRESULT ID2D1SvgElement::GetAttributeValueLength([In] const wchar_t* name,[In] D2D1_SVG_ATTRIBUTE_STRING_TYPE type,[Out] unsigned int* valueLength) - ID2D1SvgElement::GetAttributeValueLength - - - -

This object supplies the values for context-fill, context-stroke, and context-value that are used when rendering SVG glyphs.

-
- - mt750193 - ID2D1SvgGlyphStyle - ID2D1SvgGlyphStyle -
- - - Initializes a new instance of the 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 or sets the requested fill parameters.

-
- - mt750194 - GetFill / SetFill - GetFill - void ID2D1SvgGlyphStyle::GetFill([Out, Optional] ID2D1Brush** brush) -
- - -

Returns the number of dashes in the dash array.

-
- - mt750196 - GetStrokeDashesCount - GetStrokeDashesCount - unsigned int ID2D1SvgGlyphStyle::GetStrokeDashesCount() -
- - -

Provides values to an SVG glyph for fill.

-
-

Describes how the area is painted. A null brush will cause the context-fill value to come from the defaultFillBrush. If the defaultFillBrush is also null, the context-fill value will be 'none'. To set the ?context-fill? value, this method uses the provided brush with its opacity set to 1. To set the ?context-fill-opacity? value, this method uses the opacity of the provided brush.

-

This method returns an success or error code.

- - mt750197 - HRESULT ID2D1SvgGlyphStyle::SetFill([In, Optional] ID2D1Brush* brush) - ID2D1SvgGlyphStyle::SetFill -
- - -

Returns the requested fill parameters.

-
-

Describes how the area is painted.

- - mt750194 - void ID2D1SvgGlyphStyle::GetFill([Out, Optional] ID2D1Brush** brush) - ID2D1SvgGlyphStyle::GetFill -
- - -

Provides values to an SVG glyph for stroke properties. The brush with opacity set to 1 is used as the 'context-stroke'. The opacity of the brush is used as the 'context-stroke-opacity' value.

-
-

Describes how the stroke is painted. A null brush will cause the context-stroke value to be none.

-

Specifies the 'context-value' for the 'stroke-width' property.

-

Specifies the 'context-value' for the 'stroke-dasharray' property. A null value will cause the stroke-dasharray to be set to 'none'.

-

The the number of dashes in the dash array.

-

Specifies the 'context-value' for the 'stroke-dashoffset' property.

-

This method returns an success or error code.

- - mt750198 - HRESULT ID2D1SvgGlyphStyle::SetStroke([In, Optional] ID2D1Brush* brush,[In] float strokeWidth,[In, Buffer, Optional] const float* dashes,[In] unsigned int dashesCount,[In] float dashOffset) - ID2D1SvgGlyphStyle::SetStroke -
- - -

Returns the number of dashes in the dash array.

-
-

Returns the number of dashes in the dash array.

- - mt750196 - unsigned int ID2D1SvgGlyphStyle::GetStrokeDashesCount() - ID2D1SvgGlyphStyle::GetStrokeDashesCount -
- - -

Returns the requested stroke parameters. Any parameters that are non-null will receive the value of the requested parameter.

-
-

Describes how the stroke is painted.

-

The 'context-value' for the 'stroke-width' property.

-

The 'context-value' for the 'stroke-dasharray' property.

-

The the number of dashes in the dash array.

-

The 'context-value' for the 'stroke-dashoffset' property.

- - mt750195 - void ID2D1SvgGlyphStyle::GetStroke([Out, Optional] ID2D1Brush** brush,[Out, Optional] float* strokeWidth,[Out, Buffer, Optional] float* dashes,[In] unsigned int dashesCount,[Out, Optional] float* dashOffset) - ID2D1SvgGlyphStyle::GetStroke -
- - -

Represents a bitmap that has been bound to an .

-
- - dd371109 - ID2D1SvgPaint - ID2D1SvgPaint -
- - - Initializes a new instance of the 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. - - - GetPaintType / SetPaintType - GetPaintType - D2D1_SVG_PAINT_TYPE ID2D1SvgPaint::GetPaintType() - - - - No documentation. - - - GetColor / SetColor - GetColor - void ID2D1SvgPaint::GetColor([Out] D2D_COLOR_F* color) - - - - No documentation. - - - GetIdLength - GetIdLength - unsigned int ID2D1SvgPaint::GetIdLength() - - - - No documentation. - - No documentation. - No documentation. - - HRESULT ID2D1SvgPaint::SetPaintType([In] D2D1_SVG_PAINT_TYPE paintType) - ID2D1SvgPaint::SetPaintType - - - - No documentation. - - No documentation. - - D2D1_SVG_PAINT_TYPE ID2D1SvgPaint::GetPaintType() - ID2D1SvgPaint::GetPaintType - - - - No documentation. - - No documentation. - No documentation. - - HRESULT ID2D1SvgPaint::SetColor([In] const D2D_COLOR_F* color) - ID2D1SvgPaint::SetColor - - - - No documentation. - - No documentation. - - void ID2D1SvgPaint::GetColor([Out] D2D_COLOR_F* color) - ID2D1SvgPaint::GetColor - - - - No documentation. - - No documentation. - No documentation. - - HRESULT ID2D1SvgPaint::SetId([In] const wchar_t* id) - ID2D1SvgPaint::SetId - - - - No documentation. - - No documentation. - No documentation. - No documentation. - - HRESULT ID2D1SvgPaint::GetId([Out, Buffer] wchar_t* id,[In] unsigned int idCount) - ID2D1SvgPaint::GetId - - - - No documentation. - - No documentation. - - unsigned int ID2D1SvgPaint::GetIdLength() - ID2D1SvgPaint::GetIdLength - - - -

This interface performs all the same functions as the interface, plus it enables functionality such as ink rendering, gradient mesh rendering, and improved image loading.

-
- - dn890789 - ID2D1SvgPathData - ID2D1SvgPathData -
- - - Initializes a new instance of the 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. - - - GetSegmentDataCount - GetSegmentDataCount - unsigned int ID2D1SvgPathData::GetSegmentDataCount() - - - - No documentation. - - - GetCommandsCount - GetCommandsCount - unsigned int ID2D1SvgPathData::GetCommandsCount() - - - - No documentation. - - No documentation. - No documentation. - - HRESULT ID2D1SvgPathData::RemoveSegmentDataAtEnd([In] unsigned int dataCount) - ID2D1SvgPathData::RemoveSegmentDataAtEnd - - - - No documentation. - - No documentation. - No documentation. - No documentation. - No documentation. - - HRESULT ID2D1SvgPathData::UpdateSegmentData([In, Buffer] const float* data,[In] unsigned int dataCount,[In] unsigned int startIndex) - ID2D1SvgPathData::UpdateSegmentData - - - - No documentation. - - No documentation. - No documentation. - No documentation. - No documentation. - - HRESULT ID2D1SvgPathData::GetSegmentData([Out, Buffer] float* data,[In] unsigned int dataCount,[In] unsigned int startIndex) - ID2D1SvgPathData::GetSegmentData - - - - No documentation. - - No documentation. - - unsigned int ID2D1SvgPathData::GetSegmentDataCount() - ID2D1SvgPathData::GetSegmentDataCount - - - - No documentation. - - No documentation. - No documentation. - - HRESULT ID2D1SvgPathData::RemoveCommandsAtEnd([In] unsigned int commandsCount) - ID2D1SvgPathData::RemoveCommandsAtEnd - - - - No documentation. - - No documentation. - No documentation. - No documentation. - No documentation. - - HRESULT ID2D1SvgPathData::UpdateCommands([In, Buffer] const D2D1_SVG_PATH_COMMAND* commands,[In] unsigned int commandsCount,[In] unsigned int startIndex) - ID2D1SvgPathData::UpdateCommands - - - - No documentation. - - No documentation. - No documentation. - No documentation. - No documentation. - - HRESULT ID2D1SvgPathData::GetCommands([Out, Buffer] D2D1_SVG_PATH_COMMAND* commands,[In] unsigned int commandsCount,[In] unsigned int startIndex) - ID2D1SvgPathData::GetCommands - - - - No documentation. - - No documentation. - - unsigned int ID2D1SvgPathData::GetCommandsCount() - ID2D1SvgPathData::GetCommandsCount - - - - No documentation. - - No documentation. - No documentation. - No documentation. - - HRESULT ID2D1SvgPathData::CreatePathGeometry([In] D2D1_FILL_MODE fillMode,[Out] ID2D1PathGeometry1** pathGeometry) - ID2D1SvgPathData::CreatePathGeometry - - - -

Interface describing an SVG points value in a polyline or polygon element.

-
- - mt797912 - ID2D1SvgPointCollection - ID2D1SvgPointCollection -
- - - Initializes a new instance of the 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. - - - GetPointsCount - GetPointsCount - unsigned int ID2D1SvgPointCollection::GetPointsCount() - - - - No documentation. - - No documentation. - No documentation. - - HRESULT ID2D1SvgPointCollection::RemovePointsAtEnd([In] unsigned int pointsCount) - ID2D1SvgPointCollection::RemovePointsAtEnd - - - - No documentation. - - No documentation. - No documentation. - No documentation. - No documentation. - - HRESULT ID2D1SvgPointCollection::UpdatePoints([In, Buffer] const D2D_POINT_2F* points,[In] unsigned int pointsCount,[In] unsigned int startIndex) - ID2D1SvgPointCollection::UpdatePoints - - - - No documentation. - - No documentation. - No documentation. - No documentation. - No documentation. - - HRESULT ID2D1SvgPointCollection::GetPoints([Out, Buffer] D2D_POINT_2F* points,[In] unsigned int pointsCount,[In] unsigned int startIndex) - ID2D1SvgPointCollection::GetPoints - - - - No documentation. - - No documentation. - - unsigned int ID2D1SvgPointCollection::GetPointsCount() - ID2D1SvgPointCollection::GetPointsCount - - - -

This interface performs all the same functions as the interface, plus it enables functionality such as ink rendering, gradient mesh rendering, and improved image loading.

-
- - dn890789 - ID2D1SvgStrokeDashArray - ID2D1SvgStrokeDashArray -
- - - Initializes a new instance of the 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. - - - GetDashesCount - GetDashesCount - unsigned int ID2D1SvgStrokeDashArray::GetDashesCount() - - - - No documentation. - - No documentation. - No documentation. - - HRESULT ID2D1SvgStrokeDashArray::RemoveDashesAtEnd([In] unsigned int dashesCount) - ID2D1SvgStrokeDashArray::RemoveDashesAtEnd - - - - No documentation. - - No documentation. - No documentation. - No documentation. - No documentation. - - HRESULT ID2D1SvgStrokeDashArray::UpdateDashes([In, Buffer] const D2D1_SVG_LENGTH* dashes,[In] unsigned int dashesCount,[In] unsigned int startIndex) - ID2D1SvgStrokeDashArray::UpdateDashes - - - - No documentation. - - No documentation. - No documentation. - No documentation. - No documentation. - - HRESULT ID2D1SvgStrokeDashArray::UpdateDashes([In, Buffer] const float* dashes,[In] unsigned int dashesCount,[In] unsigned int startIndex) - ID2D1SvgStrokeDashArray::UpdateDashes - - - - No documentation. - - No documentation. - No documentation. - No documentation. - No documentation. - - HRESULT ID2D1SvgStrokeDashArray::GetDashes([Out, Buffer] D2D1_SVG_LENGTH* dashes,[In] unsigned int dashesCount,[In] unsigned int startIndex) - ID2D1SvgStrokeDashArray::GetDashes - - - - No documentation. - - No documentation. - No documentation. - No documentation. - No documentation. - - HRESULT ID2D1SvgStrokeDashArray::GetDashes([Out, Buffer] float* dashes,[In] unsigned int dashesCount,[In] unsigned int startIndex) - ID2D1SvgStrokeDashArray::GetDashes - - - - No documentation. - - No documentation. - - unsigned int ID2D1SvgStrokeDashArray::GetDashesCount() - ID2D1SvgStrokeDashArray::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 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. These calculations are described in the paper A model for efficient and flexible image computing.

-
- - hh446919 - ID2D1Transform - ID2D1Transform - - 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

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

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.

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

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

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

Represents an image source which shares resources with an original image source.

-
- - dn952305 - ID2D1TransformedImageSource - ID2D1TransformedImageSource -
- - - Initializes a new instance of the 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 image used to create the transformed image source. This value corresponds to the value passed to CreateTransformedImageSource.

-
- - dn952307 - GetSource - GetSource - void ID2D1TransformedImageSource::GetSource([Out, Optional] ID2D1ImageSource** imageSource) -
- - -

Retrieves the properties specified when the transformed image source was created. This value corresponds to the value passed to CreateTransformedImageSource.

-
- - dn952306 - GetProperties - GetProperties - void ID2D1TransformedImageSource::GetProperties([Out] D2D1_TRANSFORMED_IMAGE_SOURCE_PROPERTIES* properties) -
- - -

Retrieves the source image used to create the transformed image source. This value corresponds to the value passed to CreateTransformedImageSource.

-
- No documentation. - - dn952307 - void ID2D1TransformedImageSource::GetSource([Out, Optional] ID2D1ImageSource** imageSource) - ID2D1TransformedImageSource::GetSource -
- - -

Retrieves the properties specified when the transformed image source was created. This value corresponds to the value passed to CreateTransformedImageSource.

-
- No documentation. - - dn952306 - void ID2D1TransformedImageSource::GetProperties([Out] D2D1_TRANSFORMED_IMAGE_SOURCE_PROPERTIES* properties) - ID2D1TransformedImageSource::GetProperties -
- - - Initializes a new instance of the . - - - - -

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 -
- - - Initializes a new instance of the 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 number of inputs to the transform graph.

-
- - hh871467 - GetInputCount - GetInputCount - unsigned int ID2D1TransformGraph::GetInputCount() -
- - -

Returns the number of inputs to the transform graph.

-
-

The number of inputs to this transform graph.

- - hh871467 - unsigned int ID2D1TransformGraph::GetInputCount() - ID2D1TransformGraph::GetInputCount -
- - -

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, connecting all of the node inputs to the effect inputs in order, and setting the transform not as the graph output.

-
- - hh446935 - HRESULT ID2D1TransformGraph::SetSingleTransformNode([In] ID2D1TransformNode* node) - ID2D1TransformGraph::SetSingleTransformNode -
- - -

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. - Only interfaces derived from can be added to the transform graph. -

-
- - hh446922 - HRESULT ID2D1TransformGraph::AddNode([In] ID2D1TransformNode* node) - ID2D1TransformGraph::AddNode -
- - -

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

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

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

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

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

Uses the specified input as the effect output.

-
-

The index of the input to the effect.

-

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.

?

- - hh997720 - HRESULT ID2D1TransformGraph::SetPassthroughGraph([In] unsigned int effectInputIndex) - ID2D1TransformGraph::SetPassthroughGraph -
- - - 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) - - - - 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. - HRESULT ID2D1TransformGraph::ConnectNode([In] ID2D1TransformNode* fromNode,[In] ID2D1TransformNode* toNode,[In] unsigned int toNodeInputIndex) - - - - [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) - - - -

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. These calculations are described in the paper A model for efficient and flexible image computing.

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

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 from 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. Direct2D 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 Direct2D 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 -
- - -

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.

Unlike the MapOutputRectToInputRects and MapInvalidRect functions, this method is explicitly called by the renderer at a determined place in its rendering algorithm. The transform implementation may change its state based on the input rectangles and use this information to control its rendering information. This method is always called before the MapInvalidRect and MapOutputRectToInputRects methods of the transform.

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

Sets the input rectangles for this rendering pass into the transform.

-
-

The index of the input rectangle.

-

The invalid input rectangle.

-

The output rectangle to which the input rectangle must be mapped.

- -

The transform implementation must regard MapInvalidRect as purely functional. The transform implementation can base the mapped input rectangle on the transform implementation's current state as specified by the encapsulating effect properties. But the transform implementation can't change its own state in response to a call to MapInvalidRect. Direct2D can call this method at any time and in any sequence following a call to the MapInputRectsToOutputRect method. -

-
- - hh446946 - HRESULT ID2D1Transform::MapInvalidRect([In] unsigned int inputIndex,[In] RECT invalidInputRect,[Out] RECT* invalidOutputRect) - ID2D1Transform::MapInvalidRect -
- - - - - - - - - - - -

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 -
- - - Gets the number of inputs to the transform node. - - - - -

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 -
- - - Initializes a new instance of the 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 inputs to the transform node.

-
-

This method returns the number of inputs to this transform node.

- - hh446940 - unsigned int ID2D1TransformNode::GetInputCount() - ID2D1TransformNode::GetInputCount -
- - - - - -

Defines a mappable single-dimensional vertex buffer.

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

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

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 -
- - - Initializes a new instance of class. - - Instance of an effect context - - - - - - -

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

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

Returns the associated with this render target.

-
- - dd371470 - GetHwnd - GetHwnd - HWND ID2D1HwndRenderTarget::GetHwnd() -
- - -

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

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. - - - dd368071 - D2D1_EXTEND_MODE extendModeX - D2D1_EXTEND_MODE extendModeX - - - - No documentation. - - - dd368071 - D2D1_EXTEND_MODE extendModeY - D2D1_EXTEND_MODE extendModeY - - - - No documentation. - - - dd368071 - D2D1_BITMAP_INTERPOLATION_MODE interpolationMode - D2D1_BITMAP_INTERPOLATION_MODE interpolationMode - - - -

Describes the extend modes and the interpolation mode of an .

-
- - hh847943 - D2D1_BITMAP_BRUSH_PROPERTIES1 - D2D1_BITMAP_BRUSH_PROPERTIES1 -
- - - No documentation. - - - hh847943 - D2D1_EXTEND_MODE extendModeX - D2D1_EXTEND_MODE extendModeX - - - - No documentation. - - - hh847943 - D2D1_EXTEND_MODE extendModeY - D2D1_EXTEND_MODE extendModeY - - - - No documentation. - - - hh847943 - D2D1_INTERPOLATION_MODE interpolationMode - D2D1_INTERPOLATION_MODE interpolationMode - - - -

Defines a blend description to be used in a particular blend transform.

-
- -

This description closely matches the struct with some omissions and the addition of the blend factor in the description.

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

Specifies the options with which the Direct2D device, factory, and device context are created. -

-
- -

The root objects referred to here are the Direct2D device, Direct2D factory and the Direct2D device context. -

-
- - hh404298 - D2D1_CREATION_PROPERTIES - D2D1_CREATION_PROPERTIES -
- - - No documentation. - - - hh404298 - D2D1_THREADING_MODE threadingMode - D2D1_THREADING_MODE threadingMode - - - - No documentation. - - - hh404298 - D2D1_DEBUG_LEVEL debugLevel - D2D1_DEBUG_LEVEL debugLevel - - - - No documentation. - - - 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 -
- - -

Describes the drawing state of a device context.

-
- - 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. - - - dd368102 - D2D1_DEBUG_LEVEL debugLevel - D2D1_DEBUG_LEVEL debugLevel - - - -

Describes compute shader support, which is an option on D3D10 feature level.

-
- -

You can fill this structure by passing a D2D1_ FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS structure to .

-
- - hh871446 - D2D1_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS - D2D1_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS -
- - -

Shader model 4 compute shaders are supported.

-
- - hh871446 - BOOL computeShaders_Plus_RawAndStructuredBuffers_Via_Shader_4_x - BOOL computeShaders_Plus_RawAndStructuredBuffers_Via_Shader_4_x -
- - -

Describes the support for doubles in shaders.

-
- -

Fill this structure by passing a structure to .

-
- - hh871445 - D2D1_FEATURE_DATA_DOUBLES - D2D1_FEATURE_DATA_DOUBLES -
- - -

TRUE is doubles are supported within the shaders.

-
- - hh871445 - BOOL doublePrecisionFloatShaderOps - BOOL doublePrecisionFloatShaderOps -
- - -

Represents a tensor patch with 16 control points, 4 corner colors, and boundary flags. An is made up of 1 or more gradient mesh patches. Use the GradientMeshPatch function or the GradientMeshPatchFromCoonsPatch function to create one.

-
- -

The following image shows the numbering of control points on a tensor grid.

-
- - dn890726 - D2D1_GRADIENT_MESH_PATCH - D2D1_GRADIENT_MESH_PATCH -
- - - No documentation. - - - dn890726 - D2D_POINT_2F point00 - D2D_POINT_2F point00 - - - - No documentation. - - - dn890726 - D2D_POINT_2F point01 - D2D_POINT_2F point01 - - - - No documentation. - - - dn890726 - D2D_POINT_2F point02 - D2D_POINT_2F point02 - - - - No documentation. - - - dn890726 - D2D_POINT_2F point03 - D2D_POINT_2F point03 - - - - No documentation. - - - dn890726 - D2D_POINT_2F point10 - D2D_POINT_2F point10 - - - - No documentation. - - - dn890726 - D2D_POINT_2F point11 - D2D_POINT_2F point11 - - - - No documentation. - - - dn890726 - D2D_POINT_2F point12 - D2D_POINT_2F point12 - - - - No documentation. - - - dn890726 - D2D_POINT_2F point13 - D2D_POINT_2F point13 - - - - No documentation. - - - dn890726 - D2D_POINT_2F point20 - D2D_POINT_2F point20 - - - - No documentation. - - - dn890726 - D2D_POINT_2F point21 - D2D_POINT_2F point21 - - - - No documentation. - - - dn890726 - D2D_POINT_2F point22 - D2D_POINT_2F point22 - - - - No documentation. - - - dn890726 - D2D_POINT_2F point23 - D2D_POINT_2F point23 - - - - No documentation. - - - dn890726 - D2D_POINT_2F point30 - D2D_POINT_2F point30 - - - - No documentation. - - - dn890726 - D2D_POINT_2F point31 - D2D_POINT_2F point31 - - - - No documentation. - - - dn890726 - D2D_POINT_2F point32 - D2D_POINT_2F point32 - - - - No documentation. - - - dn890726 - D2D_POINT_2F point33 - D2D_POINT_2F point33 - - - - No documentation. - - - dn890726 - D2D_COLOR_F color00 - D2D_COLOR_F color00 - - - - No documentation. - - - dn890726 - D2D_COLOR_F color03 - D2D_COLOR_F color03 - - - - No documentation. - - - dn890726 - D2D_COLOR_F color30 - D2D_COLOR_F color30 - - - - No documentation. - - - dn890726 - D2D_COLOR_F color33 - D2D_COLOR_F color33 - - - - No documentation. - - - dn890726 - D2D1_PATCH_EDGE_MODE topEdgeMode - D2D1_PATCH_EDGE_MODE topEdgeMode - - - - No documentation. - - - dn890726 - D2D1_PATCH_EDGE_MODE leftEdgeMode - D2D1_PATCH_EDGE_MODE leftEdgeMode - - - - No documentation. - - - dn890726 - D2D1_PATCH_EDGE_MODE bottomEdgeMode - D2D1_PATCH_EDGE_MODE bottomEdgeMode - - - - No documentation. - - - dn890726 - D2D1_PATCH_EDGE_MODE rightEdgeMode - D2D1_PATCH_EDGE_MODE rightEdgeMode - - - -

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. - - - dd368122 - HWND hwnd - HWND hwnd - - - - No documentation. - - - dd368122 - D2D_SIZE_U pixelSize - D2D_SIZE_U pixelSize - - - - No documentation. - - - dd368122 - D2D1_PRESENT_OPTIONS presentOptions - D2D1_PRESENT_OPTIONS presentOptions - - - -

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

Represents a Bezier segment to be used in the creation of an object. This structure differs from in that it is composed of s, which contain a radius in addition to x- and y-coordinates.

-
- - dn890751 - D2D1_INK_BEZIER_SEGMENT - D2D1_INK_BEZIER_SEGMENT -
- - - No documentation. - - - dn890751 - D2D1_INK_POINT point1 - D2D1_INK_POINT point1 - - - - No documentation. - - - dn890751 - D2D1_INK_POINT point2 - D2D1_INK_POINT point2 - - - - No documentation. - - - dn890751 - D2D1_INK_POINT point3 - D2D1_INK_POINT point3 - - - -

Represents a point, radius pair that makes up part of a .

-
- - dn890752 - D2D1_INK_POINT - D2D1_INK_POINT -
- - - No documentation. - - - dn890752 - float x - float x - - - - No documentation. - - - dn890752 - float y - float y - - - - No documentation. - - - dn890752 - float radius - float radius - - - -

Defines the general pen tip shape and the transform used in an object.

-
- - dn890737 - D2D1_INK_STYLE_PROPERTIES - D2D1_INK_STYLE_PROPERTIES -
- - - No documentation. - - - dn890737 - D2D1_INK_NIB_SHAPE nibShape - D2D1_INK_NIB_SHAPE nibShape - - - - No documentation. - - - dn890737 - D2D_MATRIX_3X2_F nibTransform - D2D_MATRIX_3X2_F nibTransform - - - -

Describes the options that transforms may set on input textures.

-
- - hh404310 - D2D1_INPUT_DESCRIPTION - D2D1_INPUT_DESCRIPTION -
- - -

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

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

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 - - - - 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. - An integer value that identifies the input-assembler. Valid values are between 0 and 15. - - - - 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. - - - - 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. - - - - -

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

Contains the content bounds, mask information, opacity settings, and other options for a layer resource.

-
- - hh847947 - D2D1_LAYER_PARAMETERS1 - D2D1_LAYER_PARAMETERS1 -
- - -

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 -
- - - 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. - - - - Sets the geometric mask. - - - The geometric mask. - - ID2D1Geometry* geometricMask - - - - Sets the opacity brush. - - - The opacity brush. - - ID2D1Brush* opacityBrush - - - -

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. - - - dd368128 - D2D_POINT_2F startPoint - D2D_POINT_2F startPoint -
- - - No documentation. - - - dd368128 - D2D_POINT_2F endPoint - D2D_POINT_2F endPoint - - - -

Describes mapped memory from the API.

-
- -

The mapped rectangle is used to map a rectangle into the caller's address space.

-
- - hh404314 - D2D1_MAPPED_RECT - D2D1_MAPPED_RECT -
- - - No documentation. - - - hh404314 - unsigned int pitch - unsigned int pitch - - - - No documentation. - - - 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. - - - -

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

The creation properties for a object.

-
- - hh847949 - D2D1_PRINT_CONTROL_PROPERTIES - D2D1_PRINT_CONTROL_PROPERTIES -
- - - No documentation. - - - hh847949 - D2D1_PRINT_FONT_SUBSET_MODE fontSubset - D2D1_PRINT_FONT_SUBSET_MODE fontSubset - - - - No documentation. - - - hh847949 - float rasterDPI - float rasterDPI - - - - No documentation. - - - hh847949 - D2D1_COLOR_SPACE colorSpace - D2D1_COLOR_SPACE colorSpace - - - -

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. All properties must be bound.

-
- - hh404320 - D2D1_PROPERTY_BINDING - D2D1_PROPERTY_BINDING -
- - -

The name of the property.

-
- - hh404320 - const wchar_t* propertyName - wchar_t propertyName -
- - -

The function that will receive the data to set.

-
- - hh404320 - __function__stdcall* setFunction - __function__stdcall setFunction -
- - -

The function that will be asked to write the output data.

-
- - hh404320 - __function__stdcall* getFunction - __function__stdcall getFunction -
- - - Gets the type of the property. - - - - -

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. - - - dd368149 - D2D_POINT_2F center - D2D_POINT_2F center - - - - No documentation. - - - dd368149 - D2D_POINT_2F gradientOriginOffset - D2D_POINT_2F gradientOriginOffset - - - - No documentation. - - - dd368149 - float radiusX - float radiusX - - - - No documentation. - - - dd368149 - float radiusY - float radiusY - - - -

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.

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

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

The filtering mode to use on the texture.

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

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

Creates a color context from a simple color profile. It is only valid to use this with the Color Management Effect in 'Best' mode.

-
- - mt797808 - D2D1_SIMPLE_COLOR_PROFILE - D2D1_SIMPLE_COLOR_PROFILE -
- - -

The simple color profile to create the color context from.

-
- - mt797808 - D2D_POINT_2F redPrimary - D2D_POINT_2F redPrimary -
- - -

The created color context.

-
- - mt797808 - D2D_POINT_2F greenPrimary - D2D_POINT_2F greenPrimary -
- - - No documentation. - - - mt797808 - D2D_POINT_2F bluePrimary - D2D_POINT_2F bluePrimary - - - - No documentation. - - - mt797808 - D2D_POINT_2F whitePointXZ - D2D_POINT_2F whitePointXZ - - - - No documentation. - - - mt797808 - D2D1_GAMMA1 gamma - D2D1_GAMMA1 gamma - - - -

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

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

A 3D vector that consists of three single-precision floating-point values (x, y, z).

-
- - jj219219 - D2D1_SVG_LENGTH - D2D1_SVG_LENGTH -
- - -

The x value of the vector.

-
- - jj219219 - float value - float value -
- - -

The y value of the vector.

-
- - jj219219 - D2D1_SVG_LENGTH_UNITS units - D2D1_SVG_LENGTH_UNITS units -
- - -

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_SVG_PRESERVE_ASPECT_RATIO - D2D1_SVG_PRESERVE_ASPECT_RATIO -
- - -

The HLSL semantic associated with this element in a shader input-signature.

-
- - hh404312 - BOOL defer - BOOL defer -
- - -

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 - D2D1_SVG_ASPECT_ALIGN align - D2D1_SVG_ASPECT_ALIGN align -
- - -

The data type of the element data.

-
- - hh404312 - D2D1_SVG_ASPECT_SCALING meetOrSlice - D2D1_SVG_ASPECT_SCALING meetOrSlice -
- - -

A 3D vector that consists of three single-precision floating-point values (x, y, z).

-
- - jj219219 - D2D1_SVG_VIEWBOX - D2D1_SVG_VIEWBOX -
- - -

The x value of the vector.

-
- - jj219219 - float x - float x -
- - -

The y value of the vector.

-
- - jj219219 - float y - float y -
- - -

The z value of the vector.

-
- - jj219219 - float width - float width -
- - - No documentation. - - - jj219219 - float height - float height - - - -

Properties of a transformed image source.

-
- - dn934350 - D2D1_TRANSFORMED_IMAGE_SOURCE_PROPERTIES - D2D1_TRANSFORMED_IMAGE_SOURCE_PROPERTIES -
- - -

The orientation at which the image source is drawn.

-
- - dn934350 - D2D1_ORIENTATION orientation - D2D1_ORIENTATION orientation -
- - -

The horizontal scale factor at which the image source is drawn.

-
- - dn934350 - float scaleX - float scaleX -
- - -

The vertical scale factor at which the image source is drawn.

-
- - dn934350 - float scaleY - float scaleY -
- - -

The interpolation mode used when the image source is drawn. This is ignored if the image source is drawn using the DrawImage method, or using an image brush.

-
- - dn934350 - D2D1_INTERPOLATION_MODE interpolationMode - D2D1_INTERPOLATION_MODE interpolationMode -
- - -

Image sourc option flags.

-
- - dn934350 - D2D1_TRANSFORMED_IMAGE_SOURCE_OPTIONS options - D2D1_TRANSFORMED_IMAGE_SOURCE_OPTIONS options -
- - -

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

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

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 -
- - - 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 initial contents of the vertex buffer. - - - - -

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

The first vertex in the range to process.

-
- - hh404335 - unsigned int startVertex - unsigned int startVertex -
- - -

The number of vertices to use.

-
- - hh404335 - unsigned int vertexCount - unsigned int vertexCount -
- - - Initializes an instance of struct. - - The first vertex in the range to process. - The number of vertices in the count to use. - - - - Internal GeometrySink Callback - - - - - Get a native callback pointer from a managed callback. - - The geometry sink. - A pointer to the unmanaged geometry sink counterpart - - - - Internal class used to initialize this assembly. - - - - - Initializes this assembly. - - - This method is called when the assembly is loaded. - - - - - The namespace provides a managed Direct2D API. - - dd370990 - Direct2D1 - Direct2D1 - - - - 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 - - - - Initializes a new instance of attribute. - - Type of binding - Order of the property - Minimum value of this property - Maximum value of this property - Default value of this property - - - - Gets binding type. - - - - - 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. - - - - - Helper functions for . - - - - - Converts a property type to a text. - - The property type - A string representing this property type. - - - - Internal SimplifiedGeometrySink Callback - - - - - Return a pointer to the unmanaged version of this callback. - - The callback. - A pointer to a shadow c++ callback - - - - 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) - - - - Internal TessellationSink Callback - - - - - Get a native callback pointer from a managed callback. - - The geometry sink. - A pointer to the unmanaged geometry sink counterpart - - - - 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) - - - - Internal Transform Callback - - - - - 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) - - - - 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.

-
- - dd368165 - IDWriteBitmapRenderTarget - IDWriteBitmapRenderTarget -
- - -

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] int textColor,[Out, Optional] RECT* blackBoxRect) - IDWriteBitmapRenderTarget::DrawGlyphRun - - -

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

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

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] int 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 -
- - - An inline object for trimming, using an ellipsis as the omission sign. - - - - - 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. - - - - -

Creates an object that is used for interoperability with GDI.

-
- - dd368207 - GetGdiInterop - GetGdiInterop - HRESULT IDWriteFactory::GetGdiInterop([Out] IDWriteGdiInterop** gdiInterop) -
- - -

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 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 a rendering parameters object with the specified properties.

-
- - Hh780402 - IDWriteFactory1 - IDWriteFactory1 - -

The root factory interface for all DirectWrite objects.

-
- - hh780401 - IDWriteFactory1 - IDWriteFactory1 -
- - - Creates a new instance of the class with the type. - - - - - Creates a new instance of the class. - - The factory type. - - - - Initializes a new instance of the 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 font collection representing the set of EUDC (end-user defined characters) fonts.

-
-

The font collection to fill.

-

Whether to check for updates.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

Note that if no EUDC is set on the system, the returned collection will be empty, meaning it will return success but GetFontFamilyCount will be zero.

-
- - hh780403 - HRESULT IDWriteFactory1::GetEudcFontCollection([Out] IDWriteFontCollection** fontCollection,[In] BOOL checkForUpdates) - IDWriteFactory1::GetEudcFontCollection -
- - -

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

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.

-
- - dd370974 - GetFontFamilyCount - GetFontFamilyCount - unsigned int IDWriteFontCollection::GetFontFamilyCount() -
- - -

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

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.

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

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.

When characters are not present in the font this method returns the index 0, which is the undefined glyph or ".notdef" glyph. If a character isn't in a font, returns false and GetUnicodeRanges doesn't return it in the range.

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

Allows you to access fallback fonts from the font list.

The interface defines a fallback sequence to map character ranges to fonts, which is either created via or retrieved from .

-
- - dn280474 - IDWriteFontFallback - IDWriteFontFallback -
- - -

Determines an appropriate font to use to render the beginning range of text.

-
-

The text source implementation holds the text and locale.

-

Starting position to analyze.

-

Length of the text to analyze.

-

Default font collection to use.

-

Family name of the base font. If you pass null, no matching will be done against the family.

-

The desired weight.

-

The desired style.

-

The desired stretch.

-

Length of text mapped to the mapped font. This will always be less than or equal to the text length and greater than zero (if the text length is non-zero) so the caller advances at least one character.

-

The font that should be used to render the first mappedLength characters of the text. If it returns null, that means that no font can render the text, and mappedLength is the number of characters to skip (rendered with a missing glyph).

-

Scale factor to multiply the em size of the returned font by.

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

Determines an appropriate font to use to render the beginning range of text.

-
-

The text source implementation holds the text and locale.

-

Starting position to analyze.

-

Length of the text to analyze.

-

Default font collection to use.

-

Family name of the base font. If you pass null, no matching will be done against the family.

-

The desired weight.

-

The desired style.

-

The desired stretch.

-

Length of text mapped to the mapped font. This will always be less than or equal to the text length and greater than zero (if the text length is non-zero) so the caller advances at least one character.

-

The font that should be used to render the first mappedLength characters of the text. If it returns null, that means that no font can render the text, and mappedLength is the number of characters to skip (rendered with a missing glyph).

-

Scale factor to multiply the em size of the returned font by.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn280480 - HRESULT IDWriteFontFallback::MapCharacters([In] IDWriteTextAnalysisSource* analysisSource,[In] unsigned int textPosition,[In] unsigned int textLength,[In, Optional] IDWriteFontCollection* baseFontCollection,[In, Optional] const wchar_t* baseFamilyName,[In] DWRITE_FONT_WEIGHT baseWeight,[In] DWRITE_FONT_STYLE baseStyle,[In] DWRITE_FONT_STRETCH baseStretch,[Out] unsigned int* mappedLength,[Out, Optional] IDWriteFont** mappedFont,[Out] float* scale) - IDWriteFontFallback::MapCharacters -
- - -

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 file loader associated with a font file object. - - HRESULT IDWriteFontFile::GetLoader([Out] IDWriteFontFileLoader** fontFileLoader) - - - - 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 -
- - -

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.

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

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

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.

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

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.

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

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

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

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 -
- - - No documentation. - - - dd368091 - const wchar_t* localeName - wchar_t localeName - - - - No documentation. - - - dd368091 - const wchar_t* string - wchar_t string - - - - No documentation. - - - dd368091 - unsigned int stringLength - unsigned int stringLength - - - - No documentation. - - - dd368091 - const unsigned short* clusterMap - unsigned short clusterMap - - - - No documentation. - - - dd368091 - unsigned int textPosition - unsigned int textPosition - - - - A Item. - - - - - A glyph index - - - - - A glyph advance - - - - - A glyph offset - - - - -

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

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

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

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

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.

-

If this method succeeds, the absolute font file path from the font file reference key.

- 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 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 -
- - - Initializes a new instance of the 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 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.

-
- - dd371256 - GetCount - GetCount - unsigned int IDWriteLocalizedStrings::GetCount() -
- - -

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 -
- - - The namespace provides a managed DirectWrite API. - - dd368038 - DirectWrite - DirectWrite - - - -

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.

-
- -

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

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

The interface you implement to receive the output of the text analyzers.

-
- - hh780424 - IDWriteTextAnalysisSink1 - IDWriteTextAnalysisSink1 -
- - -

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 -
- - - Internal TextAnalysisSink1 Callback - - - - - 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 - - - - 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 paragraph reading direction. - - The reading direction of the current paragraph. - DWRITE_READING_DIRECTION IDWriteTextAnalysisSource::GetParagraphReadingDirection() - - - - 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) - - - -

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

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 TextAnalysisSource1 Callback - - - - - 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) - - - - 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, 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 various text properties for complex script processing.

-
- - hh780428 - IDWriteTextAnalyzer1 - IDWriteTextAnalyzer1 -
- - -

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 callback SetGlyphOrientation.

-
- No documentation. - No documentation. - No documentation. - No documentation. -

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] unsigned short* modifiedGlyphIndices,[Out, Buffer] float* modifiedGlyphAdvances,[Out, Buffer] DWRITE_GLYPH_OFFSET* modifiedGlyphOffsets) - IDWriteTextAnalyzer1::GetJustifiedGlyphs -
- - -

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.

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

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

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

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

- -

The reading direction and flow direction must always be set 90 degrees orthogonal to each other, or else you will get the error DWRITE_E_FLOWDIRECTIONCONFLICTS when you use layout functions like Draw or GetMetrics. So if you set a vertical reading direction (for example, to ), then you must also use SetFlowDirection to set the flow direction appropriately (for example, to ).

-
- - 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, Optional] 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 -
- - -

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

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

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

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

The interface represents a block of text after it has been fully analyzed and formatted.

-
- No documentation. - No documentation. - No documentation. - -

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

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

If you set a vertical text reading direction on via SetReadingDirection with (or bottom to top), then you must pass an interface that implements . Otherwise you get the error DWRITE_E_TEXTRENDERERINCOMPATIBLE because the original interface only supported horizontal text.

-
- - 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 ::GetLineLengths), and the maxBidiReorderingDepth value from the structure of the output argument *textMetrics (from the function ::CreateTextLayout).

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

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

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. - - - dd368137 - unsigned int startPosition - unsigned int startPosition - - - - No documentation. - - - dd368137 - 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) - - - - 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) - - - -

Represents a font typography setting.

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

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

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

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

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_CONTAINER_TYPE - DWRITE_CONTAINER_TYPE - - -

-

Predefined font stretch : Not known (0).

-
- - dd368078 - DWRITE_CONTAINER_TYPE_UNKNOWN - DWRITE_CONTAINER_TYPE_UNKNOWN -
- - -

Predefined font stretch : Ultra-condensed (1).

-
- - dd368078 - DWRITE_CONTAINER_TYPE_WOFF - DWRITE_CONTAINER_TYPE_WOFF -
- - -

Predefined font stretch : Extra-condensed (2).

-
- - dd368078 - DWRITE_CONTAINER_TYPE_WOFF2 - DWRITE_CONTAINER_TYPE_WOFF2 -
- - -

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 how lines of text are placed relative to one another.

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

Specifies that text lines are placed from bottom to top.

-
- - dd368060 - DWRITE_FLOW_DIRECTION_BOTTOM_TO_TOP - DWRITE_FLOW_DIRECTION_BOTTOM_TO_TOP -
- - -

Specifies that text lines are placed from left to right.

-
- - dd368060 - DWRITE_FLOW_DIRECTION_LEFT_TO_RIGHT - DWRITE_FLOW_DIRECTION_LEFT_TO_RIGHT -
- - -

Specifies that text lines are placed from right to left.

-
- - dd368060 - DWRITE_FLOW_DIRECTION_RIGHT_TO_LEFT - DWRITE_FLOW_DIRECTION_RIGHT_TO_LEFT -
- - -

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 with TrueType outlines.

-
- - dd368063 - DWRITE_FONT_FACE_TYPE_OPENTYPE_COLLECTION - DWRITE_FONT_FACE_TYPE_OPENTYPE_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 -
- - -

The font data includes only the CFF table from an OpenType CFF font. This font face type can be used only for embedded fonts (i.e., custom font file loaders) and the resulting font face object supports only the minimum functionality necessary to render glyphs.

-
- - dd368063 - DWRITE_FONT_FACE_TYPE_RAW_CFF - DWRITE_FONT_FACE_TYPE_RAW_CFF -
- - -

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

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_DEFAULT - DWRITE_FONT_FEATURE_TAG_DEFAULT -
- - -

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_DISCRETIONARY_LIGATURES - DWRITE_FONT_FEATURE_TAG_DISCRETIONARY_LIGATURES -
- - -

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_EXPERT_FORMS - DWRITE_FONT_FEATURE_TAG_EXPERT_FORMS -
- - -

Replaces figures separated by a slash with 'common' (diagonal) fractions.

Equivalent OpenType tag: 'frac'

-
- - dd368069 - DWRITE_FONT_FEATURE_TAG_FRACTIONS - DWRITE_FONT_FEATURE_TAG_FRACTIONS -
- - -

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_FULL_WIDTH - DWRITE_FONT_FEATURE_TAG_FULL_WIDTH -
- - -

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_HALF_FORMS - DWRITE_FONT_FEATURE_TAG_HALF_FORMS -
- - -

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_HALANT_FORMS - DWRITE_FONT_FEATURE_TAG_HALANT_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_ALTERNATE_HALF_WIDTH - DWRITE_FONT_FEATURE_TAG_ALTERNATE_HALF_WIDTH -
- - -

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_HISTORICAL_FORMS - DWRITE_FONT_FEATURE_TAG_HISTORICAL_FORMS -
- - -

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_HORIZONTAL_KANA_ALTERNATES - DWRITE_FONT_FEATURE_TAG_HORIZONTAL_KANA_ALTERNATES -
- - -

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_HISTORICAL_LIGATURES - DWRITE_FONT_FEATURE_TAG_HISTORICAL_LIGATURES -
- - -

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_HALF_WIDTH - DWRITE_FONT_FEATURE_TAG_HALF_WIDTH -
- - -

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_HOJO_KANJI_FORMS - DWRITE_FONT_FEATURE_TAG_HOJO_KANJI_FORMS -
- - -

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_JIS04_FORMS - DWRITE_FONT_FEATURE_TAG_JIS04_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_JIS78_FORMS - DWRITE_FONT_FEATURE_TAG_JIS78_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_JIS83_FORMS - DWRITE_FONT_FEATURE_TAG_JIS83_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_JIS90_FORMS - DWRITE_FONT_FEATURE_TAG_JIS90_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_KERNING - DWRITE_FONT_FEATURE_TAG_KERNING -
- - -

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_STANDARD_LIGATURES - DWRITE_FONT_FEATURE_TAG_STANDARD_LIGATURES -
- - -

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_LINING_FIGURES - DWRITE_FONT_FEATURE_TAG_LINING_FIGURES -
- - -

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_LOCALIZED_FORMS - DWRITE_FONT_FEATURE_TAG_LOCALIZED_FORMS -
- - -

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_MARK_POSITIONING - DWRITE_FONT_FEATURE_TAG_MARK_POSITIONING -
- - -

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_MATHEMATICAL_GREEK - DWRITE_FONT_FEATURE_TAG_MATHEMATICAL_GREEK -
- - -

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_MARK_TO_MARK_POSITIONING - DWRITE_FONT_FEATURE_TAG_MARK_TO_MARK_POSITIONING -
- - -

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_ALTERNATE_ANNOTATION_FORMS - DWRITE_FONT_FEATURE_TAG_ALTERNATE_ANNOTATION_FORMS -
- - -

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_NLC_KANJI_FORMS - DWRITE_FONT_FEATURE_TAG_NLC_KANJI_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_OLD_STYLE_FIGURES - DWRITE_FONT_FEATURE_TAG_OLD_STYLE_FIGURES -
- - -

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_ORDINALS - DWRITE_FONT_FEATURE_TAG_ORDINALS -
- - -

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_PROPORTIONAL_ALTERNATE_WIDTH - DWRITE_FONT_FEATURE_TAG_PROPORTIONAL_ALTERNATE_WIDTH -
- - -

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_PETITE_CAPITALS - DWRITE_FONT_FEATURE_TAG_PETITE_CAPITALS -
- - -

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_PROPORTIONAL_FIGURES - DWRITE_FONT_FEATURE_TAG_PROPORTIONAL_FIGURES -
- - -

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_WIDTHS - DWRITE_FONT_FEATURE_TAG_PROPORTIONAL_WIDTHS -
- - -

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_QUARTER_WIDTHS - DWRITE_FONT_FEATURE_TAG_QUARTER_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_REQUIRED_LIGATURES - DWRITE_FONT_FEATURE_TAG_REQUIRED_LIGATURES -
- - -

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_RUBY_NOTATION_FORMS - DWRITE_FONT_FEATURE_TAG_RUBY_NOTATION_FORMS -
- - -

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_STYLISTIC_ALTERNATES - DWRITE_FONT_FEATURE_TAG_STYLISTIC_ALTERNATES -
- - -

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_SCIENTIFIC_INFERIORS - DWRITE_FONT_FEATURE_TAG_SCIENTIFIC_INFERIORS -
- - -

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_SMALL_CAPITALS - DWRITE_FONT_FEATURE_TAG_SMALL_CAPITALS -
- - -

Replaces 'traditional' Chinese or Japanese forms with the corresponding 'simplified' forms.

Equivalent OpenType tag: 'smpl'

-
- - dd368069 - DWRITE_FONT_FEATURE_TAG_SIMPLIFIED_FORMS - DWRITE_FONT_FEATURE_TAG_SIMPLIFIED_FORMS -
- - -

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_STYLISTIC_SET_1 - DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_1 -
- - -

See the description for .

Equivalent OpenType tag: 'ss02'

-
- - dd368069 - DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_2 - DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_2 -
- - -

See the description for .

Equivalent OpenType tag: 'ss03'

-
- - dd368069 - DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_3 - DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_3 -
- - -

See the description for .

Equivalent OpenType tag: 'ss04'

-
- - dd368069 - DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_4 - DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_4 -
- - -

See the description for .

Equivalent OpenType tag: 'ss05'

-
- - dd368069 - DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_5 - DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_5 -
- - -

See the description for .

Equivalent OpenType tag: 'ss06'

-
- - dd368069 - DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_6 - DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_6 -
- - -

See the description for .

Equivalent OpenType tag: 'ss07'

-
- - dd368069 - DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_7 - DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_7 -
- - -

See the description for .

Equivalent OpenType tag: 'ss08'

-
- - dd368069 - DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_8 - DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_8 -
- - -

See the description for .

Equivalent OpenType tag: 'ss09'

-
- - dd368069 - DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_9 - DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_9 -
- - -

See the description for .

Equivalent OpenType tag: 'ss10'

-
- - dd368069 - DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_10 - DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_10 -
- - -

See the description for .

Equivalent OpenType tag: 'ss11'

-
- - dd368069 - DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_11 - DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_11 -
- - -

See the description for .

Equivalent OpenType tag: 'ss12'

-
- - dd368069 - DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_12 - DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_12 -
- - -

See the description for .

Equivalent OpenType tag: 'ss13'

-
- - dd368069 - DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_13 - DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_13 -
- - -

See the description for .

Equivalent OpenType tag: 'ss14'

-
- - dd368069 - DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_14 - DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_14 -
- - -

See the description for .

Equivalent OpenType tag: 'ss15'

-
- - dd368069 - DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_15 - DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_15 -
- - -

See the description for .

Equivalent OpenType tag: 'ss16'

-
- - dd368069 - DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_16 - DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_16 -
- - -

See the description for .

Equivalent OpenType tag: 'ss17'

-
- - dd368069 - DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_17 - DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_17 -
- - -

See the description for .

Equivalent OpenType tag: 'ss18'

-
- - dd368069 - DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_18 - DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_18 -
- - -

See the description for .

Equivalent OpenType tag: 'ss19'

-
- - dd368069 - DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_19 - DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_19 -
- - -

See the description for .

Equivalent OpenType tag: 'ss20'

-
- - dd368069 - DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_20 - DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_20 -
- - -

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_SUBSCRIPT - DWRITE_FONT_FEATURE_TAG_SUBSCRIPT -
- - -

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_SUPERSCRIPT - DWRITE_FONT_FEATURE_TAG_SUPERSCRIPT -
- - -

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_SWASH - DWRITE_FONT_FEATURE_TAG_SWASH -
- - -

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_TITLING - DWRITE_FONT_FEATURE_TAG_TITLING -
- - -

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_TRADITIONAL_NAME_FORMS - DWRITE_FONT_FEATURE_TAG_TRADITIONAL_NAME_FORMS -
- - -

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_TABULAR_FIGURES - DWRITE_FONT_FEATURE_TAG_TABULAR_FIGURES -
- - -

Replaces 'simplified' Chinese hanzi or Japanese kanji forms with the corresponding 'traditional' forms.

Equivalent OpenType tag: 'trad'

-
- - dd368069 - DWRITE_FONT_FEATURE_TAG_TRADITIONAL_FORMS - DWRITE_FONT_FEATURE_TAG_TRADITIONAL_FORMS -
- - -

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_THIRD_WIDTHS - DWRITE_FONT_FEATURE_TAG_THIRD_WIDTHS -
- - -

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_UNICASE - DWRITE_FONT_FEATURE_TAG_UNICASE -
- - -

Indicates that the font is displayed vertically.

-
- - dd368069 - DWRITE_FONT_FEATURE_TAG_VERTICAL_WRITING - DWRITE_FONT_FEATURE_TAG_VERTICAL_WRITING -
- - -

Replaces normal figures with figures adjusted for vertical display.

-
- - dd368069 - DWRITE_FONT_FEATURE_TAG_VERTICAL_ALTERNATES_AND_ROTATION - DWRITE_FONT_FEATURE_TAG_VERTICAL_ALTERNATES_AND_ROTATION -
- - -

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_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_OPENTYPE_COLLECTION - DWRITE_FONT_FILE_TYPE_OPENTYPE_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 -
- - -

OpenType font that contains a TrueType collection.

-
- - dd368072 - DWRITE_FONT_FILE_TYPE_TRUETYPE_COLLECTION - DWRITE_FONT_FILE_TYPE_TRUETYPE_COLLECTION -
- - -

Specify whether ::lineGap value should be part of the line metrics

-
- - dn933211 - DWRITE_FONT_LINE_GAP_USAGE - DWRITE_FONT_LINE_GAP_USAGE -
- - - No documentation. - - - dn933211 - DWRITE_FONT_LINE_GAP_USAGE_DEFAULT - DWRITE_FONT_LINE_GAP_USAGE_DEFAULT - - - - No documentation. - - - dn933211 - DWRITE_FONT_LINE_GAP_USAGE_DISABLED - DWRITE_FONT_LINE_GAP_USAGE_DISABLED - - - - No documentation. - - - dn933211 - DWRITE_FONT_LINE_GAP_USAGE_ENABLED - DWRITE_FONT_LINE_GAP_USAGE_ENABLED - - - -

Identifies a string in a font.

-
- - dn933213 - DWRITE_FONT_PROPERTY_ID - DWRITE_FONT_PROPERTY_ID -
- - -

Unspecified font property identifier.

-
- - dn933213 - DWRITE_FONT_PROPERTY_ID_NONE - DWRITE_FONT_PROPERTY_ID_NONE -
- - -

Family name for the weight-width-slope model.

-
- - dn933213 - DWRITE_FONT_PROPERTY_ID_FAMILY_NAME - DWRITE_FONT_PROPERTY_ID_FAMILY_NAME -
- - -

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.

-
- - dn933213 - DWRITE_FONT_PROPERTY_ID_PREFERRED_FAMILY_NAME - DWRITE_FONT_PROPERTY_ID_PREFERRED_FAMILY_NAME -
- - -

Face name of the font, for example Regular or Bold.

-
- - dn933213 - DWRITE_FONT_PROPERTY_ID_FACE_NAME - DWRITE_FONT_PROPERTY_ID_FACE_NAME -
- - -

The full name of the font, for example "Arial Bold", from name id 4 in the name table.

-
- - dn933213 - DWRITE_FONT_PROPERTY_ID_FULL_NAME - DWRITE_FONT_PROPERTY_ID_FULL_NAME -
- - -

GDI-compatible family name. Because GDI allows a maximum of four fonts per family, fonts in the same family may have different GDI-compatible family names, for example "Arial", "Arial Narrow", "Arial Black".

-
- - dn933213 - DWRITE_FONT_PROPERTY_ID_WIN32_FAMILY_NAME - DWRITE_FONT_PROPERTY_ID_WIN32_FAMILY_NAME -
- - -

The postscript name of the font, for example "GillSans-Bold", from name id 6 in the name table.

-
- - dn933213 - DWRITE_FONT_PROPERTY_ID_POSTSCRIPT_NAME - DWRITE_FONT_PROPERTY_ID_POSTSCRIPT_NAME -
- - -

Script/language tag to identify the scripts or languages that the font was primarily designed to support.

-
- - dn933213 - DWRITE_FONT_PROPERTY_ID_DESIGN_SCRIPT_LANGUAGE_TAG - DWRITE_FONT_PROPERTY_ID_DESIGN_SCRIPT_LANGUAGE_TAG -
- - -

Script/language tag to identify the scripts or languages that the font declares it is able to support.

-
- - dn933213 - DWRITE_FONT_PROPERTY_ID_SUPPORTED_SCRIPT_LANGUAGE_TAG - DWRITE_FONT_PROPERTY_ID_SUPPORTED_SCRIPT_LANGUAGE_TAG -
- - -

Semantic tag to describe the font, for example Fancy, Decorative, Handmade, Sans-serif, Swiss, Pixel, Futuristic.

-
- - dn933213 - DWRITE_FONT_PROPERTY_ID_SEMANTIC_TAG - DWRITE_FONT_PROPERTY_ID_SEMANTIC_TAG -
- - -

Weight of the font represented as a decimal string in the range 1-999.

-
- - dn933213 - DWRITE_FONT_PROPERTY_ID_WEIGHT - DWRITE_FONT_PROPERTY_ID_WEIGHT -
- - -

Stretch of the font represented as a decimal string in the range 1-9.

-
- - dn933213 - DWRITE_FONT_PROPERTY_ID_STRETCH - DWRITE_FONT_PROPERTY_ID_STRETCH -
- - -

Style of the font represented as a decimal string in the range 0-2.

-
- - dn933213 - DWRITE_FONT_PROPERTY_ID_STYLE - DWRITE_FONT_PROPERTY_ID_STYLE -
- - -

Total number of properties.

-
- - dn933213 - DWRITE_FONT_PROPERTY_ID_TOTAL - DWRITE_FONT_PROPERTY_ID_TOTAL -
- - -

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 : Semi-Light (350).

-
- - dd368082 - DWRITE_FONT_WEIGHT_SEMI_LIGHT - DWRITE_FONT_WEIGHT_SEMI_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 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 -
- - -

Specifies whether to enable grid-fitting of glyph outlines (also known as hinting).

-
- - dn890718 - DWRITE_GRID_FIT_MODE - DWRITE_GRID_FIT_MODE -
- - -

Choose grid fitting based on the font's table information.

-
- - dn890718 - DWRITE_GRID_FIT_MODE_DEFAULT - DWRITE_GRID_FIT_MODE_DEFAULT -
- - -

Always disable grid fitting, using the ideal glyph outlines.

-
- - dn890718 - DWRITE_GRID_FIT_MODE_DISABLED - DWRITE_GRID_FIT_MODE_DISABLED -
- - -

Enable grid fitting, adjusting glyph outlines for device pixel display.

-
- - dn890718 - DWRITE_GRID_FIT_MODE_ENABLED - DWRITE_GRID_FIT_MODE_ENABLED -
- - -

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, and so on.

-
- - 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 full name of the font, like Arial Bold, from name id 4 in the name table

-
- - dd368094 - DWRITE_INFORMATIONAL_STRING_FULL_NAME - DWRITE_INFORMATIONAL_STRING_FULL_NAME -
- - -

The postscript name of the font, like GillSans-Bold, from name id 6 in the name table.

-
- - dd368094 - DWRITE_INFORMATIONAL_STRING_POSTSCRIPT_NAME - DWRITE_INFORMATIONAL_STRING_POSTSCRIPT_NAME -
- - -

The postscript CID findfont name, from name id 20 in the name table

-
- - dd368094 - DWRITE_INFORMATIONAL_STRING_POSTSCRIPT_CID_NAME - DWRITE_INFORMATIONAL_STRING_POSTSCRIPT_CID_NAME -
- - - No documentation. - - - dd368094 - DWRITE_INFORMATIONAL_STRING_WWS_FAMILY_NAME - DWRITE_INFORMATIONAL_STRING_WWS_FAMILY_NAME - - - - No documentation. - - - dd368094 - DWRITE_INFORMATIONAL_STRING_DESIGN_SCRIPT_LANGUAGE_TAG - DWRITE_INFORMATIONAL_STRING_DESIGN_SCRIPT_LANGUAGE_TAG - - - - No documentation. - - - dd368094 - DWRITE_INFORMATIONAL_STRING_SUPPORTED_SCRIPT_LANGUAGE_TAG - DWRITE_INFORMATIONAL_STRING_SUPPORTED_SCRIPT_LANGUAGE_TAG - - - -

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

Line spacing and baseline distances are proportional to the computed values based on the content, the size of the fonts and inline objects.

Note??This value is only available on Windows?10 or later and it can be used with , but can not be used with . ?
-
- - dd368101 - DWRITE_LINE_SPACING_METHOD_PROPORTIONAL - DWRITE_LINE_SPACING_METHOD_PROPORTIONAL -
- - -

Specifies the location of a resource.

-
- - dn890740 - DWRITE_LOCALITY - DWRITE_LOCALITY -
- - -

The resource is remote, and information about it is unknown, including the file size and date. If you attempt to create a font or file stream, the creation will fail until locality becomes at least partial.

-
- - dn890740 - DWRITE_LOCALITY_REMOTE - DWRITE_LOCALITY_REMOTE -
- - -

The resource is partially local, which means you can query the size and date of the file stream. With this type, you also might be able to create a font face and retrieve the particular glyphs for metrics and drawing, but not all the glyphs will be present.

-
- - dn890740 - DWRITE_LOCALITY_PARTIAL - DWRITE_LOCALITY_PARTIAL -
- - -

The resource is completely local, and all font functions can be called without concern of missing data or errors related to network connectivity.

-
- - dn890740 - DWRITE_LOCALITY_LOCAL - DWRITE_LOCALITY_LOCAL -
- - -

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 optical margin alignment mode.

By default, glyphs are aligned to the margin by the default origin and side-bearings of the glyph. If you specify , then the alignment uses the side bearings to offset the glyph from the aligned edge to ensure the ink of the glyphs are aligned.

-
- - dn280421 - DWRITE_OPTICAL_ALIGNMENT - DWRITE_OPTICAL_ALIGNMENT -
- - -

Align to the default origin and side-bearings of the glyph.

-
- - dn280421 - DWRITE_OPTICAL_ALIGNMENT_NONE - DWRITE_OPTICAL_ALIGNMENT_NONE -
- - -

Align to the ink of the glyphs, such that the black box abuts the margins.

-
- - dn280421 - DWRITE_OPTICAL_ALIGNMENT_NO_SIDE_BEARINGS - DWRITE_OPTICAL_ALIGNMENT_NO_SIDE_BEARINGS -
- - -

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. - - - jj126262 - DWRITE_OUTLINE_THRESHOLD_ANTIALIASED - DWRITE_OUTLINE_THRESHOLD_ANTIALIASED - - - - No documentation. - - - jj126262 - 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 the ratio between the width and height of the character face.

-
- - hh997722 - DWRITE_PANOSE_ASPECT - DWRITE_PANOSE_ASPECT -
- - -

Any aspect.

-
- - hh997722 - DWRITE_PANOSE_ASPECT_ANY - DWRITE_PANOSE_ASPECT_ANY -
- - -

No fit for aspect.

-
- - hh997722 - DWRITE_PANOSE_ASPECT_NO_FIT - DWRITE_PANOSE_ASPECT_NO_FIT -
- - -

Super condensed aspect.

-
- - hh997722 - DWRITE_PANOSE_ASPECT_SUPER_CONDENSED - DWRITE_PANOSE_ASPECT_SUPER_CONDENSED -
- - -

Very condensed aspect.

-
- - hh997722 - DWRITE_PANOSE_ASPECT_VERY_CONDENSED - DWRITE_PANOSE_ASPECT_VERY_CONDENSED -
- - -

Condensed aspect.

-
- - hh997722 - DWRITE_PANOSE_ASPECT_CONDENSED - DWRITE_PANOSE_ASPECT_CONDENSED -
- - -

Normal aspect.

-
- - hh997722 - DWRITE_PANOSE_ASPECT_NORMAL - DWRITE_PANOSE_ASPECT_NORMAL -
- - -

Extended aspect.

-
- - hh997722 - DWRITE_PANOSE_ASPECT_EXTENDED - DWRITE_PANOSE_ASPECT_EXTENDED -
- - -

Very extended aspect.

-
- - hh997722 - DWRITE_PANOSE_ASPECT_VERY_EXTENDED - DWRITE_PANOSE_ASPECT_VERY_EXTENDED -
- - -

Super extended aspect.

-
- - hh997722 - DWRITE_PANOSE_ASPECT_SUPER_EXTENDED - DWRITE_PANOSE_ASPECT_SUPER_EXTENDED -
- - -

Monospace aspect.

-
- - hh997722 - 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 -
- - -

Cartoon decorative typeface.

-
- - hh997726 - DWRITE_PANOSE_DECORATIVE_CLASS_CARTOON - DWRITE_PANOSE_DECORATIVE_CLASS_CARTOON -
- - -

Picture stems decorative typeface.

-
- - hh997726 - DWRITE_PANOSE_DECORATIVE_CLASS_PICTURE_STEMS - DWRITE_PANOSE_DECORATIVE_CLASS_PICTURE_STEMS -
- - -

Ornamented decorative typeface.

-
- - hh997726 - DWRITE_PANOSE_DECORATIVE_CLASS_ORNAMENTED - DWRITE_PANOSE_DECORATIVE_CLASS_ORNAMENTED -
- - -

Text and background decorative typeface.

-
- - hh997726 - DWRITE_PANOSE_DECORATIVE_CLASS_TEXT_AND_BACKGROUND - DWRITE_PANOSE_DECORATIVE_CLASS_TEXT_AND_BACKGROUND -
- - -

Collage decorative typeface.

-
- - hh997726 - DWRITE_PANOSE_DECORATIVE_CLASS_COLLAGE - DWRITE_PANOSE_DECORATIVE_CLASS_COLLAGE -
- - -

Montage decorative typeface.

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

Note?? and are available in Windows?8.1 and later, only.? -
- - 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 -
- - -
Note??Windows?8.1 and later only. ?

Indicates that reading progresses from top to bottom.

-
- - dd368116 - DWRITE_READING_DIRECTION_TOP_TO_BOTTOM - DWRITE_READING_DIRECTION_TOP_TO_BOTTOM -
- - -
Note??Windows?8.1 and later only. ?

Indicates that reading progresses from bottom to top.

-
- - dd368116 - DWRITE_READING_DIRECTION_BOTTOM_TO_TOP - DWRITE_READING_DIRECTION_BOTTOM_TO_TOP -
- - -

Represents a method of rendering glyphs.

Note?? This topic is about in Windows?8 and later. For info on the previous version see this topic.? -
- - dd368118 - DWRITE_RENDERING_MODE - DWRITE_RENDERING_MODE -
- - - No documentation. - - - dd368118 - DWRITE_RENDERING_MODE_DEFAULT - DWRITE_RENDERING_MODE_DEFAULT - - - - No documentation. - - - dd368118 - DWRITE_RENDERING_MODE_ALIASED - DWRITE_RENDERING_MODE_ALIASED - - - - No documentation. - - - dd368118 - DWRITE_RENDERING_MODE_GDI_CLASSIC - DWRITE_RENDERING_MODE_GDI_CLASSIC - - - - No documentation. - - - dd368118 - DWRITE_RENDERING_MODE_GDI_NATURAL - DWRITE_RENDERING_MODE_GDI_NATURAL - - - - No documentation. - - - dd368118 - DWRITE_RENDERING_MODE_NATURAL - DWRITE_RENDERING_MODE_NATURAL - - - - No documentation. - - - dd368118 - DWRITE_RENDERING_MODE_NATURAL_SYMMETRIC - DWRITE_RENDERING_MODE_NATURAL_SYMMETRIC - - - - No documentation. - - - dd368118 - DWRITE_RENDERING_MODE_OUTLINE - DWRITE_RENDERING_MODE_OUTLINE - - - - No documentation. - - - dd368118 - DWRITE_RENDERING_MODE_CLEARTYPE_GDI_CLASSIC - DWRITE_RENDERING_MODE_CLEARTYPE_GDI_CLASSIC - - - - No documentation. - - - dd368118 - DWRITE_RENDERING_MODE_CLEARTYPE_GDI_NATURAL - DWRITE_RENDERING_MODE_CLEARTYPE_GDI_NATURAL - - - - No documentation. - - - dd368118 - DWRITE_RENDERING_MODE_CLEARTYPE_NATURAL - DWRITE_RENDERING_MODE_CLEARTYPE_NATURAL - - - - No documentation. - - - dd368118 - DWRITE_RENDERING_MODE_CLEARTYPE_NATURAL_SYMMETRIC - DWRITE_RENDERING_MODE_CLEARTYPE_NATURAL_SYMMETRIC - - - -

Represents a method of rendering glyphs.

Note?? This topic is about in Windows?8 and later. For info on the previous version see this topic.? -
- - dd368118 - DWRITE_RENDERING_MODE1 - DWRITE_RENDERING_MODE1 -
- - - No documentation. - - - dd368118 - DWRITE_RENDERING_MODE1_DEFAULT - DWRITE_RENDERING_MODE1_DEFAULT - - - - No documentation. - - - dd368118 - DWRITE_RENDERING_MODE1_ALIASED - DWRITE_RENDERING_MODE1_ALIASED - - - - No documentation. - - - dd368118 - DWRITE_RENDERING_MODE1_GDI_CLASSIC - DWRITE_RENDERING_MODE1_GDI_CLASSIC - - - - No documentation. - - - dd368118 - DWRITE_RENDERING_MODE1_GDI_NATURAL - DWRITE_RENDERING_MODE1_GDI_NATURAL - - - - No documentation. - - - dd368118 - DWRITE_RENDERING_MODE1_NATURAL - DWRITE_RENDERING_MODE1_NATURAL - - - - No documentation. - - - dd368118 - DWRITE_RENDERING_MODE1_NATURAL_SYMMETRIC - DWRITE_RENDERING_MODE1_NATURAL_SYMMETRIC - - - - No documentation. - - - dd368118 - DWRITE_RENDERING_MODE1_OUTLINE - DWRITE_RENDERING_MODE1_OUTLINE - - - - No documentation. - - - dd368118 - DWRITE_RENDERING_MODE1_NATURAL_SYMMETRIC_DOWNSAMPLED - DWRITE_RENDERING_MODE1_NATURAL_SYMMETRIC_DOWNSAMPLED - - - -

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

Align text to the leading side, and also justify text to fill the lines.

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

Note??, DWRITE_WORD_WRAPPING_WHOLE _WORD, and are available in Windows?8.1 and later, only.? -
- - 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 -
- - -
Note??Windows?8.1 and later only. ?

Words are broken across lines to avoid text overflowing the layout box. Emergency wrapping occurs if the word is larger than the maximum width. -

-
- - dd368146 - DWRITE_WORD_WRAPPING_EMERGENCY_BREAK - DWRITE_WORD_WRAPPING_EMERGENCY_BREAK -
- - -
Note??Windows?8.1 and later only. ?

When emergency wrapping, only wrap whole words, never breaking words when the layout width is too small for even a single word. -

-
- - dd368146 - DWRITE_WORD_WRAPPING_WHOLE_WORD - DWRITE_WORD_WRAPPING_WHOLE_WORD -
- - -
Note??Windows?8.1 and later only. ?

Wrap between any valid character clusters.

-
- - dd368146 - DWRITE_WORD_WRAPPING_CHARACTER - DWRITE_WORD_WRAPPING_CHARACTER -
- - - 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 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 - IDWriteAsyncResult - IDWriteAsyncResult -
- - - Initializes a new instance of the 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. - - - GetWaitHandle - GetWaitHandle - void* IDWriteAsyncResult::GetWaitHandle() - - - - No documentation. - - - GetResult - GetResult - HRESULT IDWriteAsyncResult::GetResult() - - - - No documentation. - - No documentation. - - void* IDWriteAsyncResult::GetWaitHandle() - IDWriteAsyncResult::GetWaitHandle - - - - No documentation. - - No documentation. - - HRESULT IDWriteAsyncResult::GetResult() - IDWriteAsyncResult::GetResult - - - -

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 or sets the current text antialiasing mode of the bitmap render target.

-
- - hh780399 - GetTextAntialiasMode / SetTextAntialiasMode - GetTextAntialiasMode - DWRITE_TEXT_ANTIALIAS_MODE IDWriteBitmapRenderTarget1::GetTextAntialiasMode() -
- - -

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

This interface allows the application to enumerate through the color glyph runs. The enumerator enumerates the layers in a back to front order for appropriate layering.

-
- - dn280445 - IDWriteColorGlyphRunEnumerator - IDWriteColorGlyphRunEnumerator -
- - - Initializes a new instance of the 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 current glyph run of the enumerator.

-
- - dn280446 - GetCurrentRun - GetCurrentRun - HRESULT IDWriteColorGlyphRunEnumerator::GetCurrentRun([Out] const DWRITE_COLOR_GLYPH_RUN** colorGlyphRun) -
- - -

Move to the next glyph run in the enumerator.

-
-

Returns TRUE if there is a next glyph run.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn280447 - HRESULT IDWriteColorGlyphRunEnumerator::MoveNext([Out] BOOL* hasRun) - IDWriteColorGlyphRunEnumerator::MoveNext -
- - -

Returns the current glyph run of the enumerator.

-
-

A reference to the current glyph run.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn280446 - HRESULT IDWriteColorGlyphRunEnumerator::GetCurrentRun([Out] const DWRITE_COLOR_GLYPH_RUN** colorGlyphRun) - IDWriteColorGlyphRunEnumerator::GetCurrentRun -
- - -

Enumerator for an ordered collection of color glyph runs.

-
- - mt725314 - IDWriteColorGlyphRunEnumerator1 - IDWriteColorGlyphRunEnumerator1 -
- - - Initializes a new instance of the 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 color glyph run.

-
- - mt761991 - GetCurrentRun - GetCurrentRun - HRESULT IDWriteColorGlyphRunEnumerator1::GetCurrentRun([Out] const DWRITE_COLOR_GLYPH_RUN1** colorGlyphRun) -
- - -

Gets the current color glyph run.

-
-

Receives a reference to the color glyph run. The reference remains valid until the next call to MoveNext or until the interface is released.

-

Standard error code. An error is returned if there is no current glyph run, i.e., if MoveNext has not yet been called or if the end of the sequence has been reached.

- - mt761991 - HRESULT IDWriteColorGlyphRunEnumerator1::GetCurrentRun([Out] const DWRITE_COLOR_GLYPH_RUN1** colorGlyphRun) - IDWriteColorGlyphRunEnumerator1::GetCurrentRun -
- - -

The root factory interface for all DirectWrite objects.

-
- - dn280448 - IDWriteFactory2 - IDWriteFactory2 -
- - - Initializes a new instance of the 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 fallback object from the system font fallback list.

-
- - dn280450 - GetSystemFontFallback - GetSystemFontFallback - HRESULT IDWriteFactory2::GetSystemFontFallback([Out] IDWriteFontFallback** fontFallback) -
- - -

Creates a font fallback object from the system font fallback list.

-
-

Contains an address of a reference to the newly created font fallback object.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn280450 - HRESULT IDWriteFactory2::GetSystemFontFallback([Out] IDWriteFontFallback** fontFallback) - IDWriteFactory2::GetSystemFontFallback -
- - -

Creates a font fallback builder object.

A font fall back builder allows you to create Unicode font fallback mappings and create a font fall back object from those mappings.

-
-

Contains an address of a reference to the newly created font fallback builder object.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn280449 - HRESULT IDWriteFactory2::CreateFontFallbackBuilder([Out] IDWriteFontFallbackBuilder** fontFallbackBuilder) - IDWriteFactory2::CreateFontFallbackBuilder -
- - -

This method is called on a glyph run to translate it in to multiple color glyph runs.

-
-

The horizontal baseline origin of the original glyph run.

-

The vertical baseline origin of the original glyph run.

-

Original glyph run containing monochrome glyph IDs.

-

Optional glyph run description.

-

Measuring mode used to compute glyph positions if the run contains color glyphs.

-

World transform multiplied by any DPI scaling. This is needed to compute glyph positions if the run contains color glyphs and the measuring mode is not . If this parameter is null, and identity transform is assumed.

-

Zero-based index of the color palette to use. Valid indices are less than the number of palettes in the font, as returned by .

-

If the original glyph run contains color glyphs, this parameter receives a reference to an interface. The client uses the returned interface to get information about glyph runs and associated colors to render instead of the original glyph run. If the original glyph run does not contain color glyphs, this method returns DWRITE_E_NOCOLOR and the output reference is null.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

If the code calls this method with a glyph run that contains no color information, the method returns DWRITE_E_NOCOLOR to let the application know that it can just draw the original glyph run. If the glyph run contains color information, the function returns an object that can be enumerated through to expose runs and associated colors. The application then calls DrawGlyphRun with each of the returned glyph runs and foreground colors.

-
- - dn280451 - HRESULT IDWriteFactory2::TranslateColorGlyphRun([In] float baselineOriginX,[In] float baselineOriginY,[In] const DWRITE_GLYPH_RUN* glyphRun,[In, Optional] const DWRITE_GLYPH_RUN_DESCRIPTION* glyphRunDescription,[In] DWRITE_MEASURING_MODE measuringMode,[In, Optional] const DWRITE_MATRIX* worldToDeviceTransform,[In] unsigned int colorPaletteIndex,[Out] IDWriteColorGlyphRunEnumerator** colorLayers) - IDWriteFactory2::TranslateColorGlyphRun -
- - -

Creates a rendering parameters object with the specified properties.

-
-

The gamma value used for gamma correction, which must be greater than zero and cannot exceed 256.

-

The amount of contrast enhancement, zero or greater.

-

The amount of contrast enhancement, zero or greater.

-

The degree of ClearType level, from 0.0f (no ClearType) to 1.0f (full ClearType).

-

The geometry of a device pixel.

-

Method of rendering glyphs. In most cases, this should be to automatically use an appropriate mode.

-

How to grid fit glyph outlines. In most cases, this should be DWRITE_GRID_FIT_DEFAULT to automatically choose an appropriate mode.

-

Holds the newly created rendering parameters object, or null in case of failure.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn894552 - HRESULT IDWriteFactory2::CreateCustomRenderingParams([In] float gamma,[In] float enhancedContrast,[In] float grayscaleEnhancedContrast,[In] float clearTypeLevel,[In] DWRITE_PIXEL_GEOMETRY pixelGeometry,[In] DWRITE_RENDERING_MODE renderingMode,[In] DWRITE_GRID_FIT_MODE gridFitMode,[Out] IDWriteRenderingParams2** renderingParams) - IDWriteFactory2::CreateCustomRenderingParams -
- - -

Creates a glyph run analysis object, which encapsulates information used to render a glyph run.

-
-

Structure specifying the properties of the glyph run.

-

Optional transform applied to the glyphs and their positions. This transform is applied after the scaling specified by the emSize and pixelsPerDip.

-

Specifies the rendering mode, which must be one of the raster rendering modes (i.e., not default and not outline).

-

Specifies the method to measure glyphs.

-

How to grid-fit glyph outlines. This must be non-default.

-

Specifies the antialias mode.

-

Horizontal position of the baseline origin, in DIPs.

-

Vertical position of the baseline origin, in DIPs.

-

Receives a reference to the newly created object.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn894553 - HRESULT IDWriteFactory2::CreateGlyphRunAnalysis([In] const DWRITE_GLYPH_RUN* glyphRun,[In, Optional] const DWRITE_MATRIX* transform,[In] DWRITE_RENDERING_MODE renderingMode,[In] DWRITE_MEASURING_MODE measuringMode,[In] DWRITE_GRID_FIT_MODE gridFitMode,[In] DWRITE_TEXT_ANTIALIAS_MODE antialiasMode,[In] float baselineOriginX,[In] float baselineOriginY,[Out] IDWriteGlyphRunAnalysis** glyphRunAnalysis) - IDWriteFactory2::CreateGlyphRunAnalysis -
- - -

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 - IDWriteFactory3 - IDWriteFactory3 -
- - - Initializes a new instance of the 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 list of system fonts.

-
- - dn890764 - GetSystemFontSet - GetSystemFontSet - HRESULT IDWriteFactory3::GetSystemFontSet([Out] IDWriteFontSet** fontSet) -
- - -

Gets the font download queue associated with this factory object.

-
- - dn890762 - GetFontDownloadQueue - GetFontDownloadQueue - HRESULT IDWriteFactory3::GetFontDownloadQueue([Out] IDWriteFontDownloadQueue** fontDownloadQueue) -
- - -

Creates a glyph-run-analysis object that encapsulates info that DirectWrite uses to render a glyph run.

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

- - dn890760 - HRESULT IDWriteFactory3::CreateGlyphRunAnalysis([In] const DWRITE_GLYPH_RUN* glyphRun,[In, Optional] const DWRITE_MATRIX* transform,[In] DWRITE_RENDERING_MODE1 renderingMode,[In] DWRITE_MEASURING_MODE measuringMode,[In] DWRITE_GRID_FIT_MODE gridFitMode,[In] DWRITE_TEXT_ANTIALIAS_MODE antialiasMode,[In] float baselineOriginX,[In] float baselineOriginY,[Out] IDWriteGlyphRunAnalysis** glyphRunAnalysis) - IDWriteFactory3::CreateGlyphRunAnalysis -
- - -

Creates a rendering parameters object with the specified properties.

-
-

The gamma value used for gamma correction, which must be greater than zero and cannot exceed 256.

-

The amount of contrast enhancement, zero or greater.

-

The amount of contrast enhancement to use for grayscale antialiasing, zero or greater.

-

The degree of ClearType level, from 0.0f (no ClearType) to 1.0f (full ClearType).

-

A -typed value that specifies 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 -typed value that specifies the method (for example, ClearType natural quality) for rendering glyphs. In most cases, specify to automatically use an appropriate mode.

-

A -typed value that specifies how to grid-fit glyph outlines. In most cases, specify DWRITE_GRID_FIT_DEFAULT to automatically choose an appropriate mode.

-

A reference to a memory block that receives a reference to a interface for the newly created rendering parameters object, or null in case of failure.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn890754 - HRESULT IDWriteFactory3::CreateCustomRenderingParams([In] float gamma,[In] float enhancedContrast,[In] float grayscaleEnhancedContrast,[In] float clearTypeLevel,[In] DWRITE_PIXEL_GEOMETRY pixelGeometry,[In] DWRITE_RENDERING_MODE1 renderingMode,[In] DWRITE_GRID_FIT_MODE gridFitMode,[Out] IDWriteRenderingParams3** renderingParams) - IDWriteFactory3::CreateCustomRenderingParams -
- - -

Creates a reference to a font given a full path.

-
-

Absolute file path. Subsequent operations on the constructed object may fail if the user provided filePath doesn't correspond to a valid file on the disk.

-

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.

-

Font face simulation flags for algorithmic emboldening and italicization.

-

Contains newly created font face reference object, or nullptr in case of failure.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn890756 - HRESULT IDWriteFactory3::CreateFontFaceReference([In] IDWriteFontFile* fontFile,[In] unsigned int faceIndex,[In] DWRITE_FONT_SIMULATIONS fontSimulations,[Out] IDWriteFontFaceReference** fontFaceReference) - IDWriteFactory3::CreateFontFaceReference -
- - -

Creates a reference to a font given a full path.

-
-

Absolute file path. Subsequent operations on the constructed object may fail if the user provided filePath doesn't correspond to a valid file on the disk.

-

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, so the clients are encouraged to 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.

-

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.

-

Font face simulation flags for algorithmic emboldening and italicization.

-

Contains newly created font face reference object, or nullptr in case of failure.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn890756 - HRESULT IDWriteFactory3::CreateFontFaceReference([In] const wchar_t* filePath,[In, Optional] const FILETIME* lastWriteTime,[In] unsigned int faceIndex,[In] DWRITE_FONT_SIMULATIONS fontSimulations,[Out] IDWriteFontFaceReference** fontFaceReference) - IDWriteFactory3::CreateFontFaceReference -
- - -

Retrieves the list of system fonts.

-
-

Holds the newly created font set object, or null in case of failure.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn890764 - HRESULT IDWriteFactory3::GetSystemFontSet([Out] IDWriteFontSet** fontSet) - IDWriteFactory3::GetSystemFontSet -
- - -

Creates an empty font set builder to add font face references and create a custom font set.

-
-

Holds the newly created font set builder object, or null in case of failure.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn890759 - HRESULT IDWriteFactory3::CreateFontSetBuilder([Out] IDWriteFontSetBuilder** fontSetBuilder) - IDWriteFactory3::CreateFontSetBuilder -
- - -

Create a weight/width/slope tree from a set of fonts.

-
-

A set of fonts to use to build the collection.

-

Holds the newly created font collection object, or null in case of failure.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn890755 - HRESULT IDWriteFactory3::CreateFontCollectionFromFontSet([In] IDWriteFontSet* fontSet,[Out] IDWriteFontCollection1** fontCollection) - IDWriteFactory3::CreateFontCollectionFromFontSet -
- - -

Retrieves a weight/width/slope tree of system fonts.

-
-

If this parameter is TRUE, the function performs an immediate check for changes to the set of system 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 just installed a font and wants to be sure the font collection contains that font.

-

Holds the newly created font collection object, or null in case of failure.

-

If this parameter is TRUE, the function performs an immediate check for changes to the set of system 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 just installed a font and wants to be sure the font collection contains that font.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn890761 - HRESULT IDWriteFactory3::GetSystemFontCollection([In] BOOL includeDownloadableFonts,[Out] IDWriteFontCollection1** fontCollection,[In] BOOL checkForUpdates) - IDWriteFactory3::GetSystemFontCollection -
- - -

Gets the font download queue associated with this factory object.

-
-

Receives a reference to the font download queue interface.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn890762 - HRESULT IDWriteFactory3::GetFontDownloadQueue([Out] IDWriteFontDownloadQueue** fontDownloadQueue) - IDWriteFactory3::GetFontDownloadQueue -
- - -

The root factory interface for all DirectWrite objects.

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

Translates a glyph run to a sequence of color glyph runs, which can be rendered to produce a color representation of the original "base" run.

-
-

Horizontal and vertical origin of the base glyph run in pre-transform coordinates.

-

Pointer to the original "base" glyph run.

-

Optional glyph run description.

-

Which data formats the runs should be split into.

-

Measuring mode, needed to compute the origins of each glyph.

-

Matrix converting from the client's coordinate space to device coordinates (pixels), i.e., the world transform multiplied by any DPI scaling.

-

Zero-based index of the color palette to use. Valid indices are less than the number of palettes in the font, as returned by .

-

If the function succeeds, receives a reference to an enumerator object that can be used to obtain the color glyph runs. If the base run has no color glyphs, then the output reference is null and the method returns DWRITE_E_NOCOLOR.

-

Returns DWRITE_E_NOCOLOR if the font has no color information, the glyph run does not contain any color glyphs, or the specified color palette index is out of range. In this case, the client should render the original glyph run. Otherwise, returns a standard error code.

- -

Calling is equivalent to calling IDWriteFactory4::TranslateColorGlyph run with the following formats specified: ||.

-
- - mt761992 - HRESULT IDWriteFactory4::TranslateColorGlyphRun([In] D2D_POINT_2F baselineOrigin,[In] const DWRITE_GLYPH_RUN* glyphRun,[In, Optional] const DWRITE_GLYPH_RUN_DESCRIPTION* glyphRunDescription,[In] DWRITE_GLYPH_IMAGE_FORMATS desiredGlyphImageFormats,[In] DWRITE_MEASURING_MODE measuringMode,[In, Optional] const DWRITE_MATRIX* worldAndDpiTransform,[In] unsigned int colorPaletteIndex,[Out] IDWriteColorGlyphRunEnumerator1** colorLayers) - IDWriteFactory4::TranslateColorGlyphRun -
- - -

Converts glyph run placements to glyph origins.

-
-

Structure containing the properties of the glyph run.

-

The position of the baseline origin, in DIPs, relative to the upper-left corner of the DIB.

-

On return contains the glyph origins for the glyphrun.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

The transform and DPI have no effect on the origin scaling. They are solely used to compute glyph advances when not supplied and align glyphs in pixel aligned measuring modes.

-
- - mt725316 - HRESULT IDWriteFactory4::ComputeGlyphOrigins([In] const DWRITE_GLYPH_RUN* glyphRun,[In] D2D_POINT_2F baselineOrigin,[Out, Buffer] D2D_POINT_2F* glyphOrigins) - IDWriteFactory4::ComputeGlyphOrigins -
- - -

Converts glyph run placements to glyph origins.

-
-

Structure containing the properties of the glyph run.

-

The measuring method for glyphs in the run, used with the other properties to determine the rendering mode.

-

The position of the baseline origin, in DIPs, relative to the upper-left corner of the DIB.

-

World transform multiplied by any DPI scaling. This is needed to compute glyph positions if the run contains color glyphs and the measuring mode is not . If this parameter is null, and identity transform is assumed.

-

On return contains the glyph origins for the glyphrun.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

The transform and DPI have no effect on the origin scaling. They are solely used to compute glyph advances when not supplied and align glyphs in pixel aligned measuring modes.

-
- - mt725316 - HRESULT IDWriteFactory4::ComputeGlyphOrigins([In] const DWRITE_GLYPH_RUN* glyphRun,[In] DWRITE_MEASURING_MODE measuringMode,[In] D2D_POINT_2F baselineOrigin,[In, Optional] const DWRITE_MATRIX* worldAndDpiTransform,[Out, Buffer] D2D_POINT_2F* glyphOrigins) - IDWriteFactory4::ComputeGlyphOrigins -
- - -

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 - IDWriteFactory5 - IDWriteFactory5 -
- - - Initializes a new instance of the 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 IDWriteFactory5::CreateFontSetBuilder([Out] IDWriteFontSetBuilder1** fontSetBuilder) - IDWriteFactory5::CreateFontSetBuilder - - - -

This topic describes various ways in which you can use custom fonts in your app.

  • Introduction?
  • Summary
  • Key
  • Fonts
  • Font
  • Common
    • Creating
    • Creating
    • Creating
    • Creating
  • Advanced
    • Combining
    • Using
    • Using
    • Supporting
-
- No documentation. - No documentation. - - mt492448 - HRESULT IDWriteFactory5::CreateInMemoryFontFileLoader([Out] IDWriteInMemoryFontFileLoader** newLoader) - IDWriteFactory5::CreateInMemoryFontFileLoader -
- - - No documentation. - - No documentation. - No documentation. - No documentation. - - DWRITE_CONTAINER_TYPE IDWriteFactory5::AnalyzeContainerType([In, Buffer] const void* fileData,[In] unsigned int fileDataSize) - IDWriteFactory5::AnalyzeContainerType - - - -

This topic describes various ways in which you can use custom fonts in your app.

  • Introduction?
  • Summary
  • Key
  • Fonts
  • Font
  • Common
    • Creating
    • Creating
    • Creating
    • Creating
  • Advanced
    • Combining
    • Using
    • Using
    • Supporting
-
- No documentation. - No documentation. - No documentation. - No documentation. - No documentation. - - mt492448 - HRESULT IDWriteFactory5::UnpackFontFile([In] DWRITE_CONTAINER_TYPE containerType,[In, Buffer] const void* fileData,[In] unsigned int fileDataSize,[Out] IDWriteFontFileStream** unpackedFontStream) - IDWriteFactory5::UnpackFontFile -
- - -

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.

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

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, Optional] 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 -
- - -

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.

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

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

Represents a physical font in a font collection.

This interface adds the ability to check if a color rendering path is potentially necessary.

-
- - dn280452 - IDWriteFont2 - IDWriteFont2 -
- - - Initializes a new instance of the 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 determining if a color rendering path is potentially necessary.

-
- - dn280453 - IsColorFont - IsColorFont - BOOL IDWriteFont2::IsColorFont() -
- - -

Enables determining if a color rendering path is potentially necessary.

-
-

Returns TRUE if the font has color information (COLR and CPAL tables); otherwise .

- - dn280453 - BOOL IDWriteFont2::IsColorFont() - IDWriteFont2::IsColorFont -
- - -

Represents a font in a font collection.

-
- - dn890766 - IDWriteFont3 - IDWriteFont3 -
- - - Initializes a new instance of the 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 font face reference that identifies this font.

-
- - dn890771 - GetFontFaceReference - GetFontFaceReference - HRESULT IDWriteFont3::GetFontFaceReference([Out] IDWriteFontFaceReference** fontFaceReference) -
- - -

Gets the current locality of the font.

-
- -

For fully local files, the result will always be . A downloadable file may be any of the states, and this function may change between calls.

-
- - mt725319 - GetLocality - GetLocality - DWRITE_LOCALITY IDWriteFont3::GetLocality() -
- - -

Creates a font face object for the font.

-
-

A reference to a memory block that receives a reference to a interface for the newly created font face object.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

This method returns DWRITE_E_REMOTEFONT if it could not construct a remote font.

- - dn890767 - HRESULT IDWriteFont3::CreateFontFace([Out] IDWriteFontFace3** fontFace) - IDWriteFont3::CreateFontFace -
- - -

Compares two instances of font references for equality.

-
-

A reference to a interface for the other font instance to compare to this font instance.

-

Returns whether the two instances of font references are equal. Returns TRUE if the two instances are equal; otherwise, .

- - dn890769 - BOOL IDWriteFont3::Equals([In] IDWriteFont* font) - IDWriteFont3::Equals -
- - -

Gets a font face reference that identifies this font.

-
-

A reference to a memory block that receives a reference to a interface for the newly created font face reference object.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn890771 - HRESULT IDWriteFont3::GetFontFaceReference([Out] IDWriteFontFaceReference** fontFaceReference) - IDWriteFont3::GetFontFaceReference -
- - - No documentation. - - No documentation. - No documentation. - - BOOL IDWriteFont3::HasCharacter([In] unsigned int unicodeValue) - IDWriteFont3::HasCharacter - - - -

Gets the current locality of the font.

-
-

Returns the current locality of the font.

- -

For fully local files, the result will always be . A downloadable file may be any of the states, and this function may change between calls.

-
- - mt725319 - DWRITE_LOCALITY IDWriteFont3::GetLocality() - IDWriteFont3::GetLocality -
- - -

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.

-
- - dn933224 - IDWriteFontCollection1 - IDWriteFontCollection1 -
- - - Initializes a new instance of the 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 underlying font set used by this collection.

-
- - dn933225 - GetFontSet - GetFontSet - HRESULT IDWriteFontCollection1::GetFontSet([Out] IDWriteFontSet** fontSet) -
- - -

Gets the underlying font set used by this collection.

-
-

Returns the font set used by the collection.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn933225 - HRESULT IDWriteFontCollection1::GetFontSet([Out] IDWriteFontSet** fontSet) - IDWriteFontCollection1::GetFontSet -
- - - No documentation. - - No documentation. - No documentation. - No documentation. - - HRESULT IDWriteFontCollection1::GetFontFamily([In] unsigned int index,[Out] IDWriteFontFamily1** fontFamily) - IDWriteFontCollection1::GetFontFamily - - - -

Application-defined callback interface that receives notifications from the font download queue ( interface). Callbacks will occur on the downloading thread, and objects must be prepared to handle calls on their methods from other threads at any time.

-
- - dn890775 - IDWriteFontDownloadListener - IDWriteFontDownloadListener -
- - - Initializes a new instance of the 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 DownloadCompleted method is called back on an arbitrary thread when a download operation ends.

-
-

Pointer to the download queue interface on which the BeginDownload method was called.

-

Optional context object that was passed to BeginDownload. AddRef is called on the context object by BeginDownload and Release is called after the DownloadCompleted method returns.

-

Result of the download operation.

- - dn890776 - void IDWriteFontDownloadListener::DownloadCompleted([In] IDWriteFontDownloadQueue* downloadQueue,[In, Optional] IUnknown* context,[In] HRESULT downloadResult) - IDWriteFontDownloadListener::DownloadCompleted -
- - -

-

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

Determines whether the download queue is empty. Note that the queue does not include requests that are already being downloaded. Calling BeginDownload clears the queue.

-
- - dn894558 - IsEmpty - IsEmpty - BOOL IDWriteFontDownloadQueue::IsEmpty() -
- - -

Gets the current generation number of the download queue, which is incremented every time after a download completes, whether failed or successful. This cookie value can be compared against cached data to determine if it is stale.

-
- - dn894557 - GetGenerationCount - GetGenerationCount - unsigned longlong IDWriteFontDownloadQueue::GetGenerationCount() -
- - -

Registers a client-defined listener object that receives download notifications. All registered listener's DownloadCompleted will be called after BeginDownload completes.

-
- No documentation. - No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

An can also be passed to BeginDownload using the context parameter, rather than globally registered to the queue.

-
- - dn890779 - HRESULT IDWriteFontDownloadQueue::AddListener([In] IDWriteFontDownloadListener* listener,[Out] unsigned int* token) - IDWriteFontDownloadQueue::AddListener -
- - -

Unregisters a notification handler that was previously registered using AddListener.

-
- No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn894559 - HRESULT IDWriteFontDownloadQueue::RemoveListener([In] unsigned int token) - IDWriteFontDownloadQueue::RemoveListener -
- - -

Determines whether the download queue is empty. Note that the queue does not include requests that are already being downloaded. Calling BeginDownload clears the queue.

-
-

TRUE if the queue is empty, if there are requests pending for BeginDownload.

- - dn894558 - BOOL IDWriteFontDownloadQueue::IsEmpty() - IDWriteFontDownloadQueue::IsEmpty -
- - -

Begins an asynchronous download operation. The download operation executes in the background until it completes or is cancelled by a CancelDownload call.

-
- No documentation. -

Returns if a download was successfully begun, S_FALSE if the queue was empty, or a standard error code.

- -

BeginDownload removes all download requests from the queue, transferring them to a background download operation. If any previous downloads are still ongoing when BeginDownload is called again, the new download does not complete until the previous downloads have finished. If the queue is empty and no active downloads are pending, the DownloadCompleted callback is called immediately with DWRITE_DOWNLOAD_RESULT_NONE.

-
- - dn894554 - HRESULT IDWriteFontDownloadQueue::BeginDownload([In, Optional] IUnknown* context) - IDWriteFontDownloadQueue::BeginDownload -
- - -

Removes all download requests from the queue and cancels any active download operations.

-
-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn894556 - HRESULT IDWriteFontDownloadQueue::CancelDownload() - IDWriteFontDownloadQueue::CancelDownload -
- - -

Gets the current generation number of the download queue, which is incremented every time after a download completes, whether failed or successful. This cookie value can be compared against cached data to determine if it is stale.

-
-

The current generation number of the download queue.

- - dn894557 - unsigned longlong IDWriteFontDownloadQueue::GetGenerationCount() - IDWriteFontDownloadQueue::GetGenerationCount -
- - -

Represents an absolute reference to a font face.

This interface contains the font face type, appropriate file references, and face identification data.

You obtain various font data like metrics, names, and glyph outlines from the interface.

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

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

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 to determine whether you need to call GetKerningPairAdjustments. If you previously called 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 whether the font supports pair-kerning.

-
-

Returns TRUE if the font supports kerning pairs, otherwise .

- -

If the font doesn't support pair table kerning, you don't need to call because it would retrieve all zeroes.

-
- - hh780419 - BOOL IDWriteFontFace1::HasKerningPairs() - IDWriteFontFace1::HasKerningPairs -
- - -

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

Retrieves the vertical forms of the nominal glyphs retrieved from GetGlyphIndices.

-
-

The number of glyphs to retrieve.

-

Original glyph indices from cmap.

-

The vertical form of glyph indices.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

The retrieval uses the font's 'vert' table. This is used in CJK vertical layout so the correct characters are shown.

Call GetGlyphIndices to get the nominal glyph indices, followed by calling this to remap the to the substituted forms, when the run is sideways, and the font has vertical glyph variants. See HasVerticalGlyphVariants for more info. -

-
- - hh780418 - HRESULT IDWriteFontFace1::GetVerticalGlyphVariants([In] unsigned int glyphCount,[In, Buffer] const unsigned short* nominalGlyphIndices,[Out, Buffer] unsigned short* verticalGlyphIndices) - IDWriteFontFace1::GetVerticalGlyphVariants -
- - -

Determines whether the font has any vertical glyph variants.

-
-

Returns TRUE if the font contains vertical glyph variants, otherwise .

- -

For OpenType fonts, HasVerticalGlyphVariants returns TRUE if the font contains a "vert" feature.

retrieves the vertical forms of the nominal glyphs that are retrieved from .

-
- - hh780420 - BOOL IDWriteFontFace1::HasVerticalGlyphVariants() - IDWriteFontFace1::HasVerticalGlyphVariants -
- - -

Represents an absolute reference to a font face.

This interface contains the font face type, appropriate file references, and face identification data.

You obtain various font data like metrics, names, and glyph outlines from the interface.

This interface adds the ability to check if a color rendering path is potentially necessary.

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

Allows you to determine if a color rendering path is potentially necessary.

-
- - dn280457 - IsColorFont - IsColorFont - BOOL IDWriteFontFace2::IsColorFont() -
- - -

Gets the number of color palettes defined by the font.

-
- - dn312080 - GetColorPaletteCount - GetColorPaletteCount - unsigned int IDWriteFontFace2::GetColorPaletteCount() -
- - -

Get the number of entries in each color palette.

-
- - dn312082 - GetPaletteEntryCount - GetPaletteEntryCount - unsigned int IDWriteFontFace2::GetPaletteEntryCount() -
- - -

Allows you to determine if a color rendering path is potentially necessary.

-
-

Returns TRUE if a color rendering path is potentially necessary.

- - dn280457 - BOOL IDWriteFontFace2::IsColorFont() - IDWriteFontFace2::IsColorFont -
- - -

Gets the number of color palettes defined by the font.

-
-

The return value is zero if the font has no color information. Color fonts are required to define at least one palette, with palette index zero reserved as the default palette.

- - dn312080 - unsigned int IDWriteFontFace2::GetColorPaletteCount() - IDWriteFontFace2::GetColorPaletteCount -
- - -

Get the number of entries in each color palette.

-
-

The number of entries in each color palette. All color palettes in a font have the same number of palette entries. The return value is zero if the font has no color information.

- - dn312082 - unsigned int IDWriteFontFace2::GetPaletteEntryCount() - IDWriteFontFace2::GetPaletteEntryCount -
- - -

Gets color values from the font's color palette.

-
-

Zero-based index of the color palette. If the font does not have a palette with the specified index, the method returns DWRITE_E_NOCOLOR.

-

Zero-based index of the first palette entry to read.

-

Number of palette entries to read.

-

Array that receives the color values.

-

This method can return one of these values.

Return valueDescription
E_INVALIDARG

The sum of firstEntryIndex and entryCount is greater than the actual number of palette entries that's returned by the GetPaletteEntryCount method.

DWRITE_E_NOCOLOR

The font doesn't have a palette with the specified palette index.

?

- - dn312081 - HRESULT IDWriteFontFace2::GetPaletteEntries([In] unsigned int colorPaletteIndex,[In] unsigned int firstEntryIndex,[In] unsigned int entryCount,[Out, Buffer] D3DCOLORVALUE* paletteEntries) - IDWriteFontFace2::GetPaletteEntries -
- - -

Determines the recommended text rendering and grid-fit mode to be used based on the font, size, world transform, and measuring mode.

-
-

Logical font size in DIPs.

-

Number of pixels per logical inch in the horizontal direction.

-

Number of pixels per logical inch in the vertical direction.

-

A structure that describes the world transform.

-

Specifies whether the font is sideways. TRUE if the font is sideways; otherwise, .

-

A -typed value that specifies the quality of the graphics system's outline rendering, affects the size threshold above which outline rendering is used.

-

A -typed value that specifies the method used to measure during text layout. For proper glyph spacing, this method returns a rendering mode that is compatible with the specified measuring mode.

-

A reference to a interface for the rendering parameters object. This parameter is necessary in case the rendering parameters object overrides the rendering mode.

-

A reference to a variable that receives a -typed value for the recommended rendering mode.

-

A reference to a variable that receives a -typed value for the recommended grid-fit mode.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn894560 - HRESULT IDWriteFontFace2::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,[In, Optional] IDWriteRenderingParams* renderingParams,[Out] DWRITE_RENDERING_MODE* renderingMode,[Out] DWRITE_GRID_FIT_MODE* gridFitMode) - IDWriteFontFace2::GetRecommendedRenderingMode -
- - -

Represents an absolute reference to a font face.

-
- - dn894561 - IDWriteFontFace3 - IDWriteFontFace3 -
- - - Initializes a new instance of the 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 font face reference that identifies this font.

-
- - dn894566 - GetFontFaceReference - GetFontFaceReference - HRESULT IDWriteFontFace3::GetFontFaceReference([Out] IDWriteFontFaceReference** fontFaceReference) -
- - -

Gets the PANOSE values from the font, used for font selection and matching.

-
- -

This method doesn't simulate these values, such as substituting a weight or proportion inferred on other values. If the font doesn't specify them, they are all set to 'any' (0).

-
- - dn894568 - GetPanose - GetPanose - void IDWriteFontFace3::GetPanose([Out] DWRITE_PANOSE* panose) -
- - -

Gets the weight of this font.

-
- - dn894572 - GetWeight - GetWeight - DWRITE_FONT_WEIGHT IDWriteFontFace3::GetWeight() -
- - -

Gets the stretch (also known as width) of this font.

-
- - dn894570 - GetStretch - GetStretch - DWRITE_FONT_STRETCH IDWriteFontFace3::GetStretch() -
- - -

Gets the style (also known as slope) of this font.

-
- - dn894571 - GetStyle - GetStyle - DWRITE_FONT_STYLE IDWriteFontFace3::GetStyle() -
- - -

Creates a localized strings object that contains the family names for the font family, indexed by locale name.

-
- - dn894565 - GetFamilyNames - GetFamilyNames - HRESULT IDWriteFontFace3::GetFamilyNames([Out] IDWriteLocalizedStrings** names) -
- - -

Creates a localized strings object that contains the face names for the font (for example, Regular or Bold), indexed by locale name.

-
- - dn894564 - GetFaceNames - GetFaceNames - HRESULT IDWriteFontFace3::GetFaceNames([Out] IDWriteLocalizedStrings** names) -
- - -

Gets a font face reference that identifies this font.

-
-

A reference to a memory block that receives a reference to a interface for the newly created font face reference object.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn894566 - HRESULT IDWriteFontFace3::GetFontFaceReference([Out] IDWriteFontFaceReference** fontFaceReference) - IDWriteFontFace3::GetFontFaceReference -
- - -

Gets the PANOSE values from the font, used for font selection and matching.

-
-

A reference to a structure that receives the PANOSE values from the font.

- -

This method doesn't simulate these values, such as substituting a weight or proportion inferred on other values. If the font doesn't specify them, they are all set to 'any' (0).

-
- - dn894568 - void IDWriteFontFace3::GetPanose([Out] DWRITE_PANOSE* panose) - IDWriteFontFace3::GetPanose -
- - -

Gets the weight of this font.

-
-

Returns a -typed value that specifies the density of a typeface, in terms of the lightness or heaviness of the strokes.

- - dn894572 - DWRITE_FONT_WEIGHT IDWriteFontFace3::GetWeight() - IDWriteFontFace3::GetWeight -
- - -

Gets the stretch (also known as width) of this font.

-
-

Returns a -typed value that specifies the degree to which a font has been stretched compared to a font's normal aspect ratio.

- - dn894570 - DWRITE_FONT_STRETCH IDWriteFontFace3::GetStretch() - IDWriteFontFace3::GetStretch -
- - -

Gets the style (also known as slope) of this font.

-
-

Returns a -typed value that specifies the style of the font.

- - dn894571 - DWRITE_FONT_STYLE IDWriteFontFace3::GetStyle() - IDWriteFontFace3::GetStyle -
- - -

Creates a localized strings object that contains the family names for the font family, indexed by locale name.

-
-

A reference to a memory block that receives a reference to a interface for the newly created localized strings object.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn894565 - HRESULT IDWriteFontFace3::GetFamilyNames([Out] IDWriteLocalizedStrings** names) - IDWriteFontFace3::GetFamilyNames -
- - -

Creates a localized strings object that contains the face names for the font (for example, Regular or Bold), indexed by locale name.

-
-

A reference to a memory block that receives a reference to a interface for the newly created localized strings object.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn894564 - HRESULT IDWriteFontFace3::GetFaceNames([Out] IDWriteLocalizedStrings** names) - IDWriteFontFace3::GetFaceNames -
- - -

Gets a localized strings collection that contains the specified informational strings, indexed by locale name.

-
-

A -typed value that identifies the strings to get.

-

A reference to a memory block that receives a reference to a interface for the newly created localized strings object.

-

A reference to a variable that receives whether the font contains the specified string ID. TRUE if the font contains the specified string ID; otherwise, .

-

If the font doesn't contain the specified string, the return value is , but informationalStrings receives a null reference and exists receives the value .

- - dn894567 - HRESULT IDWriteFontFace3::GetInformationalStrings([In] DWRITE_INFORMATIONAL_STRING_ID informationalStringID,[Out, Optional] IDWriteLocalizedStrings** informationalStrings,[Out] BOOL* exists) - IDWriteFontFace3::GetInformationalStrings -
- - -

Determines whether the font supports the specified character.

-
-

A Unicode (UCS-4) character value.

-

Returns whether the font supports the specified character. Returns TRUE if the font has the specified character; otherwise, .

- - dn894573 - BOOL IDWriteFontFace3::HasCharacter([In] unsigned int unicodeValue) - IDWriteFontFace3::HasCharacter -
- - -

Determines the recommended text rendering and grid-fit mode to be used based on the font, size, world transform, and measuring mode.

-
-

Logical font size in DIPs.

-

Number of pixels per logical inch in the horizontal direction.

-

Number of pixels per logical inch in the vertical direction.

-

A structure that describes the world transform.

-

Specifies whether the font is sideways. TRUE if the font is sideways; otherwise, .

-

A -typed value that specifies the quality of the graphics system's outline rendering, affects the size threshold above which outline rendering is used.

-

A -typed value that specifies the method used to measure during text layout. For proper glyph spacing, this method returns a rendering mode that is compatible with the specified measuring mode.

-

A reference to a interface for the rendering parameters object. This parameter is necessary in case the rendering parameters object overrides the rendering mode.

-

A reference to a variable that receives a -typed value for the recommended rendering mode.

-

A reference to a variable that receives a -typed value for the recommended grid-fit mode.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn894569 - HRESULT IDWriteFontFace3::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,[In, Optional] IDWriteRenderingParams* renderingParams,[Out] DWRITE_RENDERING_MODE1* renderingMode,[Out] DWRITE_GRID_FIT_MODE* gridFitMode) - IDWriteFontFace3::GetRecommendedRenderingMode -
- - -

Determines whether the character is locally downloaded from the font.

-
-

A Unicode (UCS-4) character value.

-

Returns TRUE if the font has the specified character locally available, if not or if the font does not support that character.

- - dn894574 - BOOL IDWriteFontFace3::IsCharacterLocal([In] unsigned int unicodeValue) - IDWriteFontFace3::IsCharacterLocal -
- - -

Determines whether the glyph is locally downloaded from the font.

-
-

Glyph identifier.

-

Returns TRUE if the font has the specified glyph locally available.

- - dn894575 - BOOL IDWriteFontFace3::IsGlyphLocal([In] unsigned short glyphId) - IDWriteFontFace3::IsGlyphLocal -
- - -

Determines whether the specified characters are local.

-
-

Array of characters.

-

The number of elements in the character array.

-

Specifies whether to enqueue a download request if any of the specified characters are not local.

-

Receives TRUE if all of the specified characters are local, if any of the specified characters are remote.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn894562 - HRESULT IDWriteFontFace3::AreCharactersLocal([In, Buffer] const wchar_t* characters,[In] unsigned int characterCount,[In] BOOL enqueueIfNotLocal,[Out] BOOL* isLocal) - IDWriteFontFace3::AreCharactersLocal -
- - -

Determines whether the specified glyphs are local.

-
-

Array of glyph indices.

-

The number of elements in the glyph index array.

-

Specifies whether to enqueue a download request if any of the specified glyphs are not local.

-

Receives TRUE if all of the specified glyphs are local, if any of the specified glyphs are remote.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn894563 - HRESULT IDWriteFontFace3::AreGlyphsLocal([In, Buffer] const unsigned short* glyphIndices,[In] unsigned int glyphCount,[In] BOOL enqueueIfNotLocal,[Out] BOOL* isLocal) - IDWriteFontFace3::AreGlyphsLocal -
- - -

Represents an absolute reference to a font face. It contains font face type, appropriate file references and face identification data. Various font data such as metrics, names and glyph outlines are obtained from .

-
- - mt725320 - IDWriteFontFace4 - IDWriteFontFace4 -
- - - Initializes a new instance of the 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 available image formats of a specific glyph and ppem.

-
- -

Glyphs often have at least TrueType or CFF outlines, but they may also have SVG outlines, or they may have only bitmaps with no TrueType/CFF outlines. Some image formats, notably the PNG/JPEG ones, are size specific and will return no match when there isn't an entry in that size range.

Glyph ids beyond the glyph count return .

-
- - mt725323 - GetGlyphImageFormats - GetGlyphImageFormats - DWRITE_GLYPH_IMAGE_FORMATS IDWriteFontFace4::GetGlyphImageFormats() -
- - -

Gets the available image formats of a specific glyph and ppem.

-
-

The ID of the glyph.

-
-
-

Specifies which formats are supported in the font.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

Glyphs often have at least TrueType or CFF outlines, but they may also have SVG outlines, or they may have only bitmaps with no TrueType/CFF outlines. Some image formats, notably the PNG/JPEG ones, are size specific and will return no match when there isn't an entry in that size range.

Glyph ids beyond the glyph count return .

-
- - mt725323 - HRESULT IDWriteFontFace4::GetGlyphImageFormats([In] unsigned short glyphId,[In] unsigned int pixelsPerEmFirst,[In] unsigned int pixelsPerEmLast,[Out] DWRITE_GLYPH_IMAGE_FORMATS* glyphImageFormats) - IDWriteFontFace4::GetGlyphImageFormats -
- - -

Gets the available image formats of a specific glyph and ppem.

-
-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

Glyphs often have at least TrueType or CFF outlines, but they may also have SVG outlines, or they may have only bitmaps with no TrueType/CFF outlines. Some image formats, notably the PNG/JPEG ones, are size specific and will return no match when there isn't an entry in that size range.

Glyph ids beyond the glyph count return .

-
- - mt725323 - DWRITE_GLYPH_IMAGE_FORMATS IDWriteFontFace4::GetGlyphImageFormats() - IDWriteFontFace4::GetGlyphImageFormats -
- - -

Gets a reference to the glyph data based on the desired image format.

-
-

The ID of the glyph to retrieve image data for.

-

Requested pixels per em.

-

Specifies which formats are supported in the font.

-

On return contains data for a glyph.

-
-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

The glyphDataContext must be released via ReleaseGlyphImageData when done if the data is not empty, similar to and . The data reference is valid so long as the exists and ReleaseGlyphImageData has not been called.

The DWRITE_GLYPH_IMAGE_DATA::uniqueDataId is valuable for caching purposes so that if the same resource is returned more than once, an existing resource can be quickly retrieved rather than needing to reparse or decompress the data.

The function only returns SVG or raster data - requesting TrueType/CFF/COLR data returns DWRITE_E_INVALIDARG. Those must be drawn via DrawGlyphRun or queried using GetGlyphOutline instead. Exactly one format may be requested or else the function returns DWRITE_E_INVALIDARG. If the glyph does not have that format, the call is not an error, but the function returns empty data.

-
- - mt725321 - HRESULT IDWriteFontFace4::GetGlyphImageData([In] unsigned short glyphId,[In] unsigned int pixelsPerEm,[In] DWRITE_GLYPH_IMAGE_FORMATS glyphImageFormat,[Out] DWRITE_GLYPH_IMAGE_DATA* glyphData,[Out, Optional] void** glyphDataContext) - IDWriteFontFace4::GetGlyphImageData -
- - -

Releases the table data obtained from ReadGlyphData.

-
-

Opaque context from ReadGlyphData.

- - mt725325 - void IDWriteFontFace4::ReleaseGlyphImageData([In] void* glyphDataContext) - IDWriteFontFace4::ReleaseGlyphImageData -
- - -

Represents a reference to a font face. A uniquely identifying reference to a font, from which you can create a font face to query font metrics and use for rendering. A font face reference consists of a font file, font face index, and font face simulation. The file data may or may not be physically present on the local machine yet.

-
- - dn894576 - IDWriteFontFaceReference - IDWriteFontFaceReference -
- - - Initializes a new instance of the 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 zero-based index of the font face in its font file or files. If the font files contain a single face, the return value is zero.

-
- - dn894585 - GetFontFaceIndex - GetFontFaceIndex - unsigned int IDWriteFontFaceReference::GetFontFaceIndex() -
- - -

Obtains the algorithmic style simulation flags of a font face.

-
- - dn894589 - GetSimulations - GetSimulations - DWRITE_FONT_SIMULATIONS IDWriteFontFaceReference::GetSimulations() -
- - -

Obtains the font file representing a font face.

-
- - dn894586 - GetFontFile - GetFontFile - HRESULT IDWriteFontFaceReference::GetFontFile([Out] IDWriteFontFile** fontFile) -
- - -

Get the local size of the font face in bytes, which will always be less than or equal to GetFullSize. If the locality is remote, this value is zero. If full, this value will equal GetFileSize.

-
- - dn894587 - GetLocalFileSize - GetLocalFileSize - unsigned longlong IDWriteFontFaceReference::GetLocalFileSize() -
- - -

Get the total size of the font face in bytes.

-
- - dn894583 - GetFileSize - GetFileSize - unsigned longlong IDWriteFontFaceReference::GetFileSize() -
- - -

Get the last modified date.

-
- - dn894584 - GetFileTime - GetFileTime - HRESULT IDWriteFontFaceReference::GetFileTime([Out] FILETIME* lastWriteTime) -
- - -

Get the locality of this font face reference.

-
- -

You can always successfully create a font face from a fully local font. Attempting to create a font face on a remote or partially local font may fail with DWRITE_E_REMOTEFONT. This function may change between calls depending on background downloads and whether cached data expires.

-
- - dn894588 - GetLocality - GetLocality - DWRITE_LOCALITY IDWriteFontFaceReference::GetLocality() -
- - -

Creates a font face from the reference for use with layout, shaping, or rendering.

-
-

Newly created font face object, or nullptr in the case of failure.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

This function can fail with DWRITE_E_REMOTEFONT if the font is not local.

-
- - dn894577 - HRESULT IDWriteFontFaceReference::CreateFontFace([Out] IDWriteFontFace3** fontFace) - IDWriteFontFaceReference::CreateFontFace -
- - -

Creates a font face with alternate font simulations, for example, to explicitly simulate a bold font face out of a regular variant.

-
-

Font face simulation flags for algorithmic emboldening and italicization.

-

Newly created font face object, or nullptr in the case of failure.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

This function can fail with DWRITE_E_REMOTEFONT if the font is not local.

-
- - dn894578 - HRESULT IDWriteFontFaceReference::CreateFontFaceWithSimulations([In] DWRITE_FONT_SIMULATIONS fontFaceSimulationFlags,[Out] IDWriteFontFace3** fontFace) - IDWriteFontFaceReference::CreateFontFaceWithSimulations -
- - - No documentation. - - No documentation. - No documentation. - - BOOL IDWriteFontFaceReference::Equals([In] IDWriteFontFaceReference* fontFaceReference) - IDWriteFontFaceReference::Equals - - - -

Obtains the zero-based index of the font face in its font file or files. If the font files contain a single face, the return value is zero.

-
-

the zero-based index of the font face in its font file or files. If the font files contain a single face, the return value is zero.

- - dn894585 - unsigned int IDWriteFontFaceReference::GetFontFaceIndex() - IDWriteFontFaceReference::GetFontFaceIndex -
- - -

Obtains the algorithmic style simulation flags of a font face.

-
-

Returns the algorithmic style simulation flags of a font face.

- - dn894589 - DWRITE_FONT_SIMULATIONS IDWriteFontFaceReference::GetSimulations() - IDWriteFontFaceReference::GetSimulations -
- - -

Obtains the font file representing a font face.

-
-
-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn894586 - HRESULT IDWriteFontFaceReference::GetFontFile([Out] IDWriteFontFile** fontFile) - IDWriteFontFaceReference::GetFontFile -
- - -

Get the local size of the font face in bytes, which will always be less than or equal to GetFullSize. If the locality is remote, this value is zero. If full, this value will equal GetFileSize.

-
-

the local size of the font face in bytes, which will always be less than or equal to GetFullSize. If the locality is remote, this value is zero. If full, this value will equal GetFileSize.

- - dn894587 - unsigned longlong IDWriteFontFaceReference::GetLocalFileSize() - IDWriteFontFaceReference::GetLocalFileSize -
- - -

Get the total size of the font face in bytes.

-
-

Returns the total size of the font face in bytes. If the locality is remote, this value is unknown and will be zero.

- - dn894583 - unsigned longlong IDWriteFontFaceReference::GetFileSize() - IDWriteFontFaceReference::GetFileSize -
- - -

Get the last modified date.

-
-

Returns the last modified date. The time may be zero if the font file loader does not expose file time.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn894584 - HRESULT IDWriteFontFaceReference::GetFileTime([Out] FILETIME* lastWriteTime) - IDWriteFontFaceReference::GetFileTime -
- - -

Get the locality of this font face reference.

-
-

Returns the locality of this font face reference.

- -

You can always successfully create a font face from a fully local font. Attempting to create a font face on a remote or partially local font may fail with DWRITE_E_REMOTEFONT. This function may change between calls depending on background downloads and whether cached data expires.

-
- - dn894588 - DWRITE_LOCALITY IDWriteFontFaceReference::GetLocality() - IDWriteFontFaceReference::GetLocality -
- - -

Adds a request to the font download queue ().

-
-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn894581 - HRESULT IDWriteFontFaceReference::EnqueueFontDownloadRequest() - IDWriteFontFaceReference::EnqueueFontDownloadRequest -
- - -

Adds a request to the font download queue ().

-
- No documentation. - No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

Downloading a character involves downloading every glyph it depends on directly or indirectly, via font tables (cmap, GSUB, COLR, glyf).

-
- - dn894579 - HRESULT IDWriteFontFaceReference::EnqueueCharacterDownloadRequest([In, Buffer] const wchar_t* characters,[In] unsigned int characterCount) - IDWriteFontFaceReference::EnqueueCharacterDownloadRequest -
- - -

Adds a request to the font download queue ().

-
- No documentation. - No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

Downloading a glyph involves downloading any other glyphs it depends on from the font tables (GSUB, COLR, glyf).

-
- - dn894582 - HRESULT IDWriteFontFaceReference::EnqueueGlyphDownloadRequest([In, Buffer] const unsigned short* glyphIndices,[In] unsigned int glyphCount) - IDWriteFontFaceReference::EnqueueGlyphDownloadRequest -
- - -

Adds a request to the font download queue ().

-
- No documentation. - No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn894580 - HRESULT IDWriteFontFaceReference::EnqueueFileFragmentDownloadRequest([In] unsigned longlong fileOffset,[In] unsigned longlong fragmentSize) - IDWriteFontFaceReference::EnqueueFileFragmentDownloadRequest -
- - -

Allows you to create Unicode font fallback mappings and create a font fall back object from those mappings.

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

Appends a single mapping to the list. Call this once for each additional mapping.

-
-

Unicode ranges that apply to this mapping.

-

Number of Unicode ranges.

-

List of target family name strings.

-

Number of target family names.

-

Optional explicit font collection for this mapping.

-

Locale of the context.

-

Base family name to match against, if applicable.

-

Scale factor to multiply the result target font by.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn280477 - HRESULT IDWriteFontFallbackBuilder::AddMapping([In, Buffer] const DWRITE_UNICODE_RANGE* ranges,[In] unsigned int rangesCount,[In, Buffer] const wchar_t** targetFamilyNames,[In] unsigned int targetFamilyNamesCount,[In, Optional] IDWriteFontCollection* fontCollection,[In, Optional] const wchar_t* localeName,[In, Optional] const wchar_t* baseFamilyName,[In] float scale) - IDWriteFontFallbackBuilder::AddMapping -
- - -

Add all the mappings from an existing font fallback object.

-
-

An existing font fallback object.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn280478 - HRESULT IDWriteFontFallbackBuilder::AddMappings([In] IDWriteFontFallback* fontFallback) - IDWriteFontFallbackBuilder::AddMappings -
- - -

Creates the finalized fallback object from the mappings added.

-
-

Contains an address of a reference to the created fallback list.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn280479 - HRESULT IDWriteFontFallbackBuilder::CreateFontFallback([Out] IDWriteFontFallback** fontFallback) - IDWriteFontFallbackBuilder::CreateFontFallback -
- - -

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 -
- - - Initializes a new instance of the 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 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) -
- - -

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

Represents a family of related fonts.

-
- - dn894590 - IDWriteFontFamily1 - IDWriteFontFamily1 -
- - - Initializes a new instance of the 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 location of a font given its zero-based index.

-
-

Zero-based index of the font in the font list.

-

Returns a -typed value that specifies the location of the specified font.

- -

For fully local files, the result will always be . For streamed files, the result depends on how much of the file has been downloaded. GetFont fails if the locality is and potentially fails if .

-
- - dn894593 - DWRITE_LOCALITY IDWriteFontFamily1::GetFontLocality([In] unsigned int listIndex) - IDWriteFontFamily1::GetFontLocality -
- - -

Gets a font given its zero-based index.

-
-

Zero-based index of the font in the font list.

-

A reference to a memory block that receives a reference to a interface for the newly created font object.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn894591 - HRESULT IDWriteFontFamily1::GetFont([In] unsigned int listIndex,[Out] IDWriteFont3** font) - IDWriteFontFamily1::GetFont -
- - -

Gets a font face reference given its zero-based index.

-
-

Zero-based index of the font in the font list.

-

A reference to a memory block that receives a reference to a interface for the newly created font face reference object.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn894592 - HRESULT IDWriteFontFamily1::GetFontFaceReference([In] unsigned int listIndex,[Out] IDWriteFontFaceReference** fontFaceReference) - IDWriteFontFamily1::GetFontFaceReference -
- - -

Gets the number of fonts in the font list.

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

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

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

Represents a list of fonts.

-
- - dn894594 - IDWriteFontList1 - IDWriteFontList1 -
- - - Initializes a new instance of the 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 location of a font given its zero-based index.

-
-

Zero-based index of the font in the font list.

-

Returns a -typed value that specifies the location of the specified font.

- -

For fully local files, the result will always be . For streamed files, the result depends on how much of the file has been downloaded. GetFont fails if the locality is and potentially fails if .

-
- - dn900386 - DWRITE_LOCALITY IDWriteFontList1::GetFontLocality([In] unsigned int listIndex) - IDWriteFontList1::GetFontLocality -
- - -

Gets a font given its zero-based index.

-
-

Zero-based index of the font in the font list.

-

A reference to a memory block that receives a reference to a interface for the newly created font object.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

This method returns DWRITE_E_REMOTEFONT if it could not construct a remote font.

- - dn894595 - HRESULT IDWriteFontList1::GetFont([In] unsigned int listIndex,[Out] IDWriteFont3** font) - IDWriteFontList1::GetFont -
- - -

Gets a font face reference given its zero-based index.

-
-

Zero-based index of the font in the font list.

-

A reference to a memory block that receives a reference to a interface for the newly created font face reference object.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn900385 - HRESULT IDWriteFontList1::GetFontFaceReference([In] unsigned int listIndex,[Out] IDWriteFontFaceReference** fontFaceReference) - IDWriteFontList1::GetFontFaceReference -
- - -

-

- - dn933235 - IDWriteFontSet - IDWriteFontSet -
- - - Initializes a new instance of the 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 the number of total fonts in the set.

-
- - dn933243 - GetFontCount - GetFontCount - unsigned int IDWriteFontSet::GetFontCount() -
- - -

Get the number of total fonts in the set.

-
-

Returns the number of total fonts in the set.

- - dn933243 - unsigned int IDWriteFontSet::GetFontCount() - IDWriteFontSet::GetFontCount -
- - -

Gets a reference to the font at the specified index, which may be local or remote.

-
-

Zero-based index of the font.

-

Receives a reference the font face reference object, or nullptr on failure.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn933244 - HRESULT IDWriteFontSet::GetFontFaceReference([In] unsigned int listIndex,[Out] IDWriteFontFaceReference** fontFaceReference) - IDWriteFontSet::GetFontFaceReference -
- - -

Gets the index of the matching font face reference in the font set, with the same file, face index, and simulations.

-
-

Font face object that specifies the physical font.

-

Receives the zero-based index of the matching font if the font was found, or UINT_MAX otherwise.

-

Receives TRUE if the font exists or otherwise.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn958414 - HRESULT IDWriteFontSet::FindFontFaceReference([In] IDWriteFontFaceReference* fontFaceReference,[Out] unsigned int* listIndex,[Out] BOOL* exists) - IDWriteFontSet::FindFontFaceReference -
- - -

Gets the index of the matching font face reference in the font set, with the same file, face index, and simulations.

-
-

Font face object that specifies the physical font.

-

Receives the zero-based index of the matching font if the font was found, or UINT_MAX otherwise.

-

Receives TRUE if the font exists or otherwise.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn933242 - HRESULT IDWriteFontSet::FindFontFace([In] IDWriteFontFace* fontFace,[Out] unsigned int* listIndex,[Out] BOOL* exists) - IDWriteFontSet::FindFontFace -
- - -

Returns all unique property values in the set, which can be used for purposes such as displaying a family list or tag cloud. Values are returned in priority order according to the language list, such that if a font contains more than one localized name, the preferred one will be returned.

-
-

Font property of interest.

-

Receives a reference to the newly created strings list.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn933250 - HRESULT IDWriteFontSet::GetPropertyValues([In] DWRITE_FONT_PROPERTY_ID propertyID,[Out] IDWriteStringList** values) - IDWriteFontSet::GetPropertyValues -
- - -

Returns all unique property values in the set, which can be used for purposes such as displaying a family list or tag cloud. Values are returned in priority order according to the language list, such that if a font contains more than one localized name, the preferred one will be returned.

-
-

Font property of interest.

-

List of semicolon delimited language names in preferred order. When a particular string like font family has more than one localized name, the first match is returned. For example, suppose the font set includes the Meiryo family, which has both Japanese and English family names. The returned list of distinct family names would include either the Japanese name (if "ja-jp" was specified as a preferred locale) or the English name (in all other cases).

-

Receives a reference to the newly created strings list.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn933250 - HRESULT IDWriteFontSet::GetPropertyValues([In] DWRITE_FONT_PROPERTY_ID propertyID,[In] const wchar_t* preferredLocaleNames,[Out] IDWriteStringList** values) - IDWriteFontSet::GetPropertyValues -
- - -

Returns all unique property values in the set, which can be used for purposes such as displaying a family list or tag cloud. Values are returned in priority order according to the language list, such that if a font contains more than one localized name, the preferred one will be returned.

-
-

Font property of interest.

-

List of semicolon delimited language names in preferred order. When a particular string like font family has more than one localized name, the first match is returned. For example, suppose the font set includes the Meiryo family, which has both Japanese and English family names. The returned list of distinct family names would include either the Japanese name (if "ja-jp" was specified as a preferred locale) or the English name (in all other cases).

-

Receives a reference to the newly created strings list.

-

Receives a reference to the newly created strings list.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn933250 - HRESULT IDWriteFontSet::GetPropertyValues([In] unsigned int listIndex,[In] DWRITE_FONT_PROPERTY_ID propertyId,[Out] BOOL* exists,[Out, Optional] IDWriteLocalizedStrings** values) - IDWriteFontSet::GetPropertyValues -
- - -

Returns how many times a given property value occurs in the set.

-
-

Font property of interest.

-

Receives how many times the property occurs.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn933248 - HRESULT IDWriteFontSet::GetPropertyOccurrenceCount([In] const DWRITE_FONT_PROPERTY* property,[Out] unsigned int* propertyOccurrenceCount) - IDWriteFontSet::GetPropertyOccurrenceCount -
- - -

Returns a subset of fonts filtered by the given properties.

-
-

List of properties to filter using.

-

The number of properties to filter.

-

The subset of fonts that match the properties, or nullptr on failure.

- No documentation. -

The subset of fonts that match the properties, or nullptr on failure.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

If no fonts matched the filter, the subset will be empty (GetFontCount returns 0), but the function does not return an error. The subset will always be equal to or less than the original set. If you only want to filter out remote fonts, you may pass null in properties and zero in propertyCount.

-
- - dn933245 - HRESULT IDWriteFontSet::GetMatchingFonts([In] const wchar_t* familyName,[In] DWRITE_FONT_WEIGHT fontWeight,[In] DWRITE_FONT_STRETCH fontStretch,[In] DWRITE_FONT_STYLE fontStyle,[Out] IDWriteFontSet** filteredSet) - IDWriteFontSet::GetMatchingFonts -
- - -

Returns a subset of fonts filtered by the given properties.

-
-

List of properties to filter using.

-

The number of properties to filter.

-

The subset of fonts that match the properties, or nullptr on failure.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

If no fonts matched the filter, the subset will be empty (GetFontCount returns 0), but the function does not return an error. The subset will always be equal to or less than the original set. If you only want to filter out remote fonts, you may pass null in properties and zero in propertyCount.

-
- - dn933245 - HRESULT IDWriteFontSet::GetMatchingFonts([In, Buffer] const DWRITE_FONT_PROPERTY* properties,[In] unsigned int propertyCount,[Out] IDWriteFontSet** filteredSet) - IDWriteFontSet::GetMatchingFonts -
- - -

Contains methods for building a font set.

-
- - dn933236 - IDWriteFontSetBuilder - IDWriteFontSetBuilder -
- - - Initializes a new instance of the 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 a reference to a font to the set being built. The caller supplies enough information to search on, avoiding the need to open the potentially non-local font. Any properties not supplied by the caller will be missing, and those properties will not be available as filters in GetMatchingFonts. GetPropertyValues for missing properties will return an empty string list. The properties passed should generally be consistent with the actual font contents, but they need not be. You could, for example, alias a font using a different name or unique identifier, or you could set custom tags not present in the actual font.

-
-

Reference to the font.

-

List of properties to associate with the reference.

-

The number of properties defined.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn933238 - HRESULT IDWriteFontSetBuilder::AddFontFaceReference([In] IDWriteFontFaceReference* fontFaceReference,[In, Buffer] const DWRITE_FONT_PROPERTY* properties,[In] unsigned int propertyCount) - IDWriteFontSetBuilder::AddFontFaceReference -
- - -

Adds a reference to a font to the set being built. The caller supplies enough information to search on, avoiding the need to open the potentially non-local font. Any properties not supplied by the caller will be missing, and those properties will not be available as filters in GetMatchingFonts. GetPropertyValues for missing properties will return an empty string list. The properties passed should generally be consistent with the actual font contents, but they need not be. You could, for example, alias a font using a different name or unique identifier, or you could set custom tags not present in the actual font.

-
-

Reference to the font.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn933238 - HRESULT IDWriteFontSetBuilder::AddFontFaceReference([In] IDWriteFontFaceReference* fontFaceReference) - IDWriteFontSetBuilder::AddFontFaceReference -
- - -

Appends an existing font set to the one being built, allowing one to aggregate two sets or to essentially extend an existing one.

-
-

Font set to append font face references from.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn933240 - HRESULT IDWriteFontSetBuilder::AddFontSet([In] IDWriteFontSet* fontSet) - IDWriteFontSetBuilder::AddFontSet -
- - -

Creates a font set from all the font face references added so far with AddFontFaceReference.

-
-

Contains the newly created font set object, or nullptr in case of failure.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

Creating a font set takes less time if the references were added with metadata rather than needing to extract the metadata from the font file.

-
- - dn933241 - HRESULT IDWriteFontSetBuilder::CreateFontSet([Out] IDWriteFontSet** fontSet) - IDWriteFontSetBuilder::CreateFontSet -
- - -

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 - IDWriteFontSetBuilder1 - IDWriteFontSetBuilder1 -
- - - Initializes a new instance of the 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 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.

-
- - dn958415 - IDWriteGdiInterop1 - IDWriteGdiInterop1 -
- - - Initializes a new instance of the 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.

-
-

Structure containing a GDI-compatible font description.

-

The font collection to search. If null, the local system font collection is used.

-

Receives a newly created font object if successful, or null in case of error.

- - dn958416 - HRESULT IDWriteGdiInterop1::CreateFontFromLOGFONT([In] const void* logFont,[In, Optional] IDWriteFontCollection* fontCollection,[Out] IDWriteFont** font) - IDWriteGdiInterop1::CreateFontFromLOGFONT -
- - -

Reads the font signature from the given font face.

-
-

Font face to read font signature from.

-

Font signature from the OS/2 table, ulUnicodeRange and ulCodePageRange.

- - dn958418 - HRESULT IDWriteGdiInterop1::GetFontSignature([In] IDWriteFontFace* fontFace,[Out] FONTSIGNATURE* fontSignature) - IDWriteGdiInterop1::GetFontSignature -
- - -

Reads the font signature from the given font face.

-
-

Font face to read font signature from.

-

Font signature from the OS/2 table, ulUnicodeRange and ulCodePageRange.

- - dn958418 - HRESULT IDWriteGdiInterop1::GetFontSignature([In] IDWriteFont* font,[Out] FONTSIGNATURE* fontSignature) - IDWriteGdiInterop1::GetFontSignature -
- - -

Gets a list of matching fonts based on the specified values. Only fonts of that family name will be returned.

-
-

Structure containing a GDI-compatible font description.

-

The font set to search.

-

>Receives the filtered font set if successful.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn958420 - HRESULT IDWriteGdiInterop1::GetMatchingFontsByLOGFONT([In] const void* logFont,[In] IDWriteFontSet* fontSet,[Out] IDWriteFontSet** filteredSet) - IDWriteGdiInterop1::GetMatchingFontsByLOGFONT -
- - -

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 - IDWriteInMemoryFontFileLoader - IDWriteInMemoryFontFileLoader -
- - - Initializes a new instance of the 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. - No documentation. - No documentation. - - HRESULT IDWriteInMemoryFontFileLoader::CreateInMemoryFontFileReference([In] IDWriteFactory* factory,[In, Buffer] const void* fontData,[In] unsigned int fontDataSize,[In, Optional] IUnknown* ownerObject,[Out] IDWriteFontFile** fontFile) - IDWriteInMemoryFontFileLoader::CreateInMemoryFontFileReference - - - - No documentation. - - No documentation. - - unsigned int IDWriteInMemoryFontFileLoader::GetFileCount() - IDWriteInMemoryFontFileLoader::GetFileCount - - - -

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 - IDWriteRemoteFontFileLoader - IDWriteRemoteFontFileLoader -
- - - Initializes a new instance of the 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 IDWriteRemoteFontFileLoader::CreateRemoteStreamFromKey([In, Buffer] const void* fontFileReferenceKey,[In] unsigned int fontFileReferenceKeySize,[Out] IDWriteRemoteFontFileStream** fontFileStream) - IDWriteRemoteFontFileLoader::CreateRemoteStreamFromKey - - - - No documentation. - - No documentation. - No documentation. - No documentation. - No documentation. - - HRESULT IDWriteRemoteFontFileLoader::GetLocalityFromKey([In, Buffer] const void* fontFileReferenceKey,[In] unsigned int fontFileReferenceKeySize,[Out] DWRITE_LOCALITY* locality) - IDWriteRemoteFontFileLoader::GetLocalityFromKey - - - - No documentation. - - No documentation. - No documentation. - No documentation. - No documentation. - No documentation. - - HRESULT IDWriteRemoteFontFileLoader::CreateFontFileReferenceFromUrl([In] IDWriteFactory* factory,[In, Optional] const wchar_t* baseUrl,[In] const wchar_t* fontFileUrl,[Out] IDWriteFontFile** fontFile) - IDWriteRemoteFontFileLoader::CreateFontFileReferenceFromUrl - - - -

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 - IDWriteRemoteFontFileStream - IDWriteRemoteFontFileStream -
- - - Initializes a new instance of the 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 IDWriteRemoteFontFileStream::GetLocalFileSize([Out] unsigned longlong* localFileSize) - IDWriteRemoteFontFileStream::GetLocalFileSize - - - - No documentation. - - No documentation. - No documentation. - No documentation. - No documentation. - No documentation. - - HRESULT IDWriteRemoteFontFileStream::GetFileFragmentLocality([In] unsigned longlong fileOffset,[In] unsigned longlong fragmentSize,[Out] BOOL* isLocal,[In] unsigned longlong* partialSize) - IDWriteRemoteFontFileStream::GetFileFragmentLocality - - - - No documentation. - - No documentation. - - DWRITE_LOCALITY IDWriteRemoteFontFileStream::GetLocality() - IDWriteRemoteFontFileStream::GetLocality - - - - No documentation. - - No documentation. - No documentation. - No documentation. - No documentation. - - HRESULT IDWriteRemoteFontFileStream::BeginDownload([In] const GUID* downloadOperationID,[In, Buffer] const DWRITE_FILE_FRAGMENT* fileFragments,[In] unsigned int fragmentCount,[Out, Optional] IDWriteAsyncResult** asyncResult) - IDWriteRemoteFontFileStream::BeginDownload - - - -

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.

-
- - hh780423 - GetGrayscaleEnhancedContrast - GetGrayscaleEnhancedContrast - float IDWriteRenderingParams1::GetGrayscaleEnhancedContrast() -
- - -

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

Represents text rendering settings for glyph rasterization and filtering.

-
- - dn900387 - IDWriteRenderingParams2 - IDWriteRenderingParams2 -
- - - Initializes a new instance of the 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 grid fitting mode.

-
- - dn900388 - GetGridFitMode - GetGridFitMode - DWRITE_GRID_FIT_MODE IDWriteRenderingParams2::GetGridFitMode() -
- - -

Gets the grid fitting mode.

-
-

Returns a -typed value for the grid fitting mode.

- - dn900388 - DWRITE_GRID_FIT_MODE IDWriteRenderingParams2::GetGridFitMode() - IDWriteRenderingParams2::GetGridFitMode -
- - -

Represents text rendering settings for glyph rasterization and filtering.

-
- - dn900389 - IDWriteRenderingParams3 - IDWriteRenderingParams3 -
- - - Initializes a new instance of the 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 rendering mode.

-
- - dn900390 - GetRenderingMode1 - GetRenderingMode1 - DWRITE_RENDERING_MODE1 IDWriteRenderingParams3::GetRenderingMode1() -
- - -

Gets the rendering mode.

-
-

Returns a -typed value for the rendering mode.

- - dn900390 - DWRITE_RENDERING_MODE1 IDWriteRenderingParams3::GetRenderingMode1() - IDWriteRenderingParams3::GetRenderingMode1 -
- - -

Represents a collection of strings indexed by number. An is identical to except for the semantics, where localized strings are indexed on language (each language has one string property) whereas may contain multiple strings of the same language, such as a string list of family names from a font set. You can QueryInterface from an to an .

-
- - dn958421 - IDWriteStringList - IDWriteStringList -
- - - Initializes a new instance of the 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 strings in the string list.

-
- - dn958422 - GetCount - GetCount - unsigned int IDWriteStringList::GetCount() -
- - -

Gets the number of strings in the string list.

-
-

Returns the number of strings in the string list.

- - dn958422 - unsigned int IDWriteStringList::GetCount() - IDWriteStringList::GetCount -
- - -

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.

-

Receives the length in characters, not including the null terminator.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn958424 - HRESULT IDWriteStringList::GetLocaleNameLength([In] unsigned int listIndex,[Out] unsigned int* length) - IDWriteStringList::GetLocaleNameLength -
- - -

Copies the locale name with the specified index to the specified array.

-
-

Zero-based index of the locale name.

-

Character array that receives the locale name.

-

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.

- - dn958423 - HRESULT IDWriteStringList::GetLocaleName([In] unsigned int listIndex,[Out, Buffer] wchar_t* localeName,[In] unsigned int size) - IDWriteStringList::GetLocaleName -
- - -

Gets the length in characters (not including the null terminator) of the string with the specified index.

-
-

Zero-based index of the string.

-

Receives the length in characters of the string, not including the null terminator.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn958426 - HRESULT IDWriteStringList::GetStringLength([In] unsigned int listIndex,[Out] unsigned int* length) - IDWriteStringList::GetStringLength -
- - -

Copies the string with the specified index to the specified array.

-
-

Zero-based index of the string.

-

Character array that receives the string.

-

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.

- - dn958425 - HRESULT IDWriteStringList::GetString([In] unsigned int listIndex,[Out, Buffer] wchar_t* stringBuffer,[In] unsigned int stringBufferSize) - IDWriteStringList::GetString -
- - -

Analyzes various text properties for complex script processing.

-
- - dn280483 - IDWriteTextAnalyzer2 - IDWriteTextAnalyzer2 -
- - - Initializes a new instance of the 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 2x3 transform matrix for the respective angle to draw the glyph run.

Extends to pass valid values for the baseline origin rather than zeroes.

-
- No documentation. - No documentation. - No documentation. - No documentation. - No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn280484 - HRESULT IDWriteTextAnalyzer2::GetGlyphOrientationTransform([In] DWRITE_GLYPH_ORIENTATION_ANGLE glyphOrientationAngle,[In] BOOL isSideways,[In] float originX,[In] float originY,[Out] DWRITE_MATRIX* transform) - IDWriteTextAnalyzer2::GetGlyphOrientationTransform -
- - -

Returns a complete list of OpenType features available for a script or font. If a feature is partially supported, then this method indicates that it is supported.

-
-

The font face to get features from.

-

The script analysis for the script or font to check.

-

The locale name to check.

-

The maximum number of tags to return.

-

The actual number of tags returned.

-

An array of OpenType font feature tags.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn280456 - HRESULT IDWriteTextAnalyzer2::GetTypographicFeatures([In] IDWriteFontFace* fontFace,[In] DWRITE_SCRIPT_ANALYSIS scriptAnalysis,[In, Optional] const wchar_t* localeName,[In] unsigned int maxTagCount,[Out] unsigned int* actualTagCount,[Out, Buffer] DWRITE_FONT_FEATURE_TAG* tags) - IDWriteTextAnalyzer2::GetTypographicFeatures -
- - -

Checks if a typographic feature is available for a glyph or a set of glyphs.

-
-

The font face to read glyph information from.

-

The script analysis for the script or font to check.

-

The locale name to check.

-

The font feature tag to check.

-

The number of glyphs to check.

-

An array of glyph indices to check.

-

An array of integers that indicate whether or not the font feature applies to each glyph specified.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn280455 - HRESULT IDWriteTextAnalyzer2::CheckTypographicFeature([In] IDWriteFontFace* fontFace,[In] DWRITE_SCRIPT_ANALYSIS scriptAnalysis,[In, Optional] const wchar_t* localeName,[In] DWRITE_FONT_FEATURE_TAG featureTag,[In] unsigned int glyphCount,[In, Buffer] const unsigned short* glyphIndices,[Out, Buffer] unsigned char* featureApplies) - IDWriteTextAnalyzer2::CheckTypographicFeature -
- - -

Describes the font and paragraph properties used to format text, and it describes locale information. This interface has all the same methods as and adds the ability for you to apply an explicit orientation.

-
- - dn280485 - IDWriteTextFormat1 - IDWriteTextFormat1 -
- - - Initializes a new instance of the 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 or sets the preferred orientation of glyphs when using a vertical reading direction.

-
- - dn894598 - GetVerticalGlyphOrientation / SetVerticalGlyphOrientation - GetVerticalGlyphOrientation - DWRITE_VERTICAL_GLYPH_ORIENTATION IDWriteTextFormat1::GetVerticalGlyphOrientation() -
- - -

Gets or sets the wrapping mode of the last line.

-
- - dn894596 - GetLastLineWrapping / SetLastLineWrapping - GetLastLineWrapping - BOOL IDWriteTextFormat1::GetLastLineWrapping() -
- - -

Gets or sets the optical margin alignment for the text format.

-
- - dn894597 - GetOpticalAlignment / SetOpticalAlignment - GetOpticalAlignment - DWRITE_OPTICAL_ALIGNMENT IDWriteTextFormat1::GetOpticalAlignment() -
- - -

Gets or sets the current fallback. If none was ever set since creating the layout, it will be nullptr.

-
- - dn280486 - GetFontFallback / SetFontFallback - GetFontFallback - HRESULT IDWriteTextFormat1::GetFontFallback([Out] IDWriteFontFallback** fontFallback) -
- - -

Sets the orientation of a text format.

-
-

The orientation to apply to the text format.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn280489 - HRESULT IDWriteTextFormat1::SetVerticalGlyphOrientation([In] DWRITE_VERTICAL_GLYPH_ORIENTATION glyphOrientation) - IDWriteTextFormat1::SetVerticalGlyphOrientation -
- - -

Get the preferred orientation of glyphs when using a vertical reading direction.

-
-

The preferred orientation of glyphs when using a vertical reading direction.

- - dn894598 - DWRITE_VERTICAL_GLYPH_ORIENTATION IDWriteTextFormat1::GetVerticalGlyphOrientation() - IDWriteTextFormat1::GetVerticalGlyphOrientation -
- - -

Sets the wrapping mode of the last line.

-
-

If set to , the last line is not wrapped. If set to TRUE, the last line is wrapped.

The last line is wrapped by default.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn280490 - HRESULT IDWriteTextFormat1::SetLastLineWrapping([In] BOOL isLastLineWrappingEnabled) - IDWriteTextFormat1::SetLastLineWrapping -
- - -

Gets the wrapping mode of the last line.

-
-

Returns if the last line is not wrapped; TRUE if the last line is wrapped.

- - dn894596 - BOOL IDWriteTextFormat1::GetLastLineWrapping() - IDWriteTextFormat1::GetLastLineWrapping -
- - -

Sets the optical margin alignment for the text format.

By default, glyphs are aligned to the margin by the default origin and side-bearings of the glyph. If you specify DWRITE_OPTICAL_ALIGNMENT_USING_SIDE_BEARINGS, then the alignment Suses the side bearings to offset the glyph from the aligned edge to ensure the ink of the glyphs are aligned.

-
-

The optical alignment to set.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn280488 - HRESULT IDWriteTextFormat1::SetOpticalAlignment([In] DWRITE_OPTICAL_ALIGNMENT opticalAlignment) - IDWriteTextFormat1::SetOpticalAlignment -
- - -

Gets the optical margin alignment for the text format.

-
-

The optical alignment.

- - dn894597 - DWRITE_OPTICAL_ALIGNMENT IDWriteTextFormat1::GetOpticalAlignment() - IDWriteTextFormat1::GetOpticalAlignment -
- - -

Applies the custom font fallback onto the layout. If none is set, it uses the default system fallback list.

-
-

The font fallback to apply to the layout.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn280487 - HRESULT IDWriteTextFormat1::SetFontFallback([In] IDWriteFontFallback* fontFallback) - IDWriteTextFormat1::SetFontFallback -
- - -

Gets the current fallback. If none was ever set since creating the layout, it will be nullptr.

-
-

Contains an address of a reference to the the current font fallback object.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn280486 - HRESULT IDWriteTextFormat1::GetFontFallback([Out] IDWriteFontFallback** fontFallback) - IDWriteTextFormat1::GetFontFallback -
- - -

Describes the font and paragraph properties used to format text, and it describes locale information.

-
- - mt574121 - IDWriteTextFormat2 - IDWriteTextFormat2 -
- - - Initializes a new instance of the 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 or sets the line spacing adjustment set for a multiline text paragraph.

-
- - mt574122 - GetLineSpacing / SetLineSpacing - GetLineSpacing - HRESULT IDWriteTextFormat2::GetLineSpacing([Out] DWRITE_LINE_SPACING* lineSpacingOptions) -
- - -

Set line spacing.

-
-

How to manage space between lines.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - mt574123 - HRESULT IDWriteTextFormat2::SetLineSpacing([In] const DWRITE_LINE_SPACING* lineSpacingOptions) - IDWriteTextFormat2::SetLineSpacing -
- - -

Gets the line spacing adjustment set for a multiline text paragraph.

-
-

A structure describing how the space between lines is managed for the paragraph.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - mt574122 - HRESULT IDWriteTextFormat2::GetLineSpacing([Out] DWRITE_LINE_SPACING* lineSpacingOptions) - IDWriteTextFormat2::GetLineSpacing -
- - -

Represents a block of text after it has been fully analyzed and formatted.

-
- - hh780438 - 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 -
- - -

Represents a block of text after it has been fully analyzed and formatted.

-
- - dn280491 - IDWriteTextLayout2 - IDWriteTextLayout2 -
- - - Initializes a new instance of the 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 overall metrics for the formatted string.

-
- - dn280492 - GetMetrics - GetMetrics - HRESULT IDWriteTextLayout2::GetMetrics([Out] DWRITE_TEXT_METRICS1* textMetrics) -
- - -

Get or sets the preferred orientation of glyphs when using a vertical reading direction.

-
- - dn482048 - GetVerticalGlyphOrientation / SetVerticalGlyphOrientation - GetVerticalGlyphOrientation - DWRITE_VERTICAL_GLYPH_ORIENTATION IDWriteTextLayout2::GetVerticalGlyphOrientation() -
- - -

Get or sets whether or not the last word on the last line is wrapped.

-
- - dn482046 - GetLastLineWrapping / SetLastLineWrapping - GetLastLineWrapping - BOOL IDWriteTextLayout2::GetLastLineWrapping() -
- - -

Get or sets how the glyphs align to the edges the margin.

-
- - dn482047 - GetOpticalAlignment / SetOpticalAlignment - GetOpticalAlignment - DWRITE_OPTICAL_ALIGNMENT IDWriteTextLayout2::GetOpticalAlignment() -
- - -

Get or sets the current font fallback object.

-
- - dn482045 - GetFontFallback / SetFontFallback - GetFontFallback - HRESULT IDWriteTextLayout2::GetFontFallback([Out] IDWriteFontFallback** fontFallback) -
- - -

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.

- - dn280492 - HRESULT IDWriteTextLayout2::GetMetrics([Out] DWRITE_TEXT_METRICS1* textMetrics) - IDWriteTextLayout2::GetMetrics -
- - -

Set the preferred orientation of glyphs when using a vertical reading direction.

-
-

Preferred glyph orientation.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn482052 - HRESULT IDWriteTextLayout2::SetVerticalGlyphOrientation([In] DWRITE_VERTICAL_GLYPH_ORIENTATION glyphOrientation) - IDWriteTextLayout2::SetVerticalGlyphOrientation -
- - -

Get the preferred orientation of glyphs when using a vertical reading direction.

-
- No documentation. - - dn482048 - DWRITE_VERTICAL_GLYPH_ORIENTATION IDWriteTextLayout2::GetVerticalGlyphOrientation() - IDWriteTextLayout2::GetVerticalGlyphOrientation -
- - -

Set whether or not the last word on the last line is wrapped.

-
-

Line wrapping option.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn482050 - HRESULT IDWriteTextLayout2::SetLastLineWrapping([In] BOOL isLastLineWrappingEnabled) - IDWriteTextLayout2::SetLastLineWrapping -
- - -

Get whether or not the last word on the last line is wrapped.

-
- No documentation. - - dn482046 - BOOL IDWriteTextLayout2::GetLastLineWrapping() - IDWriteTextLayout2::GetLastLineWrapping -
- - -

Set how the glyphs align to the edges the margin. Default behavior is to align glyphs using their default glyphs metrics, which include side bearings.

-
-

Optical alignment option.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn482051 - HRESULT IDWriteTextLayout2::SetOpticalAlignment([In] DWRITE_OPTICAL_ALIGNMENT opticalAlignment) - IDWriteTextLayout2::SetOpticalAlignment -
- - -

Get how the glyphs align to the edges the margin.

-
- No documentation. - - dn482047 - DWRITE_OPTICAL_ALIGNMENT IDWriteTextLayout2::GetOpticalAlignment() - IDWriteTextLayout2::GetOpticalAlignment -
- - -

Apply a custom font fallback onto layout. If none is specified, the layout uses the system fallback list.

-
-

Custom font fallback created from or .

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn482049 - HRESULT IDWriteTextLayout2::SetFontFallback([In] IDWriteFontFallback* fontFallback) - IDWriteTextLayout2::SetFontFallback -
- - -

Get the current font fallback object.

-
-

The current font fallback object.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn482045 - HRESULT IDWriteTextLayout2::GetFontFallback([Out] IDWriteFontFallback** fontFallback) - IDWriteTextLayout2::GetFontFallback -
- - -

-

- - dn900405 - IDWriteTextLayout3 - IDWriteTextLayout3 -
- - - Initializes a new instance of the 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 or sets line spacing information.

-
- - dn900407 - GetLineSpacing / SetLineSpacing - GetLineSpacing - HRESULT IDWriteTextLayout3::GetLineSpacing([Out] DWRITE_LINE_SPACING* lineSpacingOptions) -
- - -

Invalidates the layout, forcing layout to remeasure before calling the metrics or drawing functions. This is useful if the locality of a font changes, and layout should be redrawn, or if the size of a client implemented changes.

-
-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn900408 - HRESULT IDWriteTextLayout3::InvalidateLayout() - IDWriteTextLayout3::InvalidateLayout -
- - -

Set line spacing.

-
-

How to manage space between lines.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn900409 - HRESULT IDWriteTextLayout3::SetLineSpacing([In] const DWRITE_LINE_SPACING* lineSpacingOptions) - IDWriteTextLayout3::SetLineSpacing -
- - -

Gets line spacing information.

-
-

How to manage space between lines.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn900407 - HRESULT IDWriteTextLayout3::GetLineSpacing([Out] DWRITE_LINE_SPACING* lineSpacingOptions) - IDWriteTextLayout3::GetLineSpacing -
- - -

Retrieves properties of each line.

-
-

The array to fill with line information.

-

The maximum size of the lineMetrics array.

-

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.

-
- - dn900406 - HRESULT IDWriteTextLayout3::GetLineMetrics([Out, Buffer, Optional] DWRITE_LINE_METRICS1* lineMetrics,[In] unsigned int maxLineCount,[Out] unsigned int* actualLineCount) - IDWriteTextLayout3::GetLineMetrics -
- - -

Represents a set of application-defined callbacks that perform rendering of text, inline objects, and decorations such as underlines.

-
- - dn280513 - IDWriteTextRenderer1 - IDWriteTextRenderer1 -
- - -

The structure specifies the metrics for caret placement in a font.

-
- - jj126258 - DWRITE_CARET_METRICS - DWRITE_CARET_METRICS -
- - -

Vertical rise of the caret in font design units. Rise / Run yields the caret angle. Rise = 1 for perfectly upright fonts (non-italic).

-
- - jj126258 - short slopeRise - short slopeRise -
- - -

Horizontal run of the caret in font design units. Rise / Run yields the caret angle. Run = 0 for perfectly upright fonts (non-italic).

-
- - jj126258 - short slopeRun - short slopeRun -
- - -

Horizontal offset of the caret, in font design units, 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 -
- - -

Contains the information needed by renderers to draw glyph runs with glyph color information. All coordinates are in device independent pixels (DIPs).

-
- - dn280407 - DWRITE_COLOR_GLYPH_RUN - DWRITE_COLOR_GLYPH_RUN -
- - -

Glyph run to draw for this layer.

-
- - dn280407 - DWRITE_GLYPH_RUN glyphRun - DWRITE_GLYPH_RUN glyphRun -
- - -

Pointer to the glyph run description for this layer. This may be null. For example, when the original glyph run is split into multiple layers, one layer might have a description and the others have none.

-
- - dn280407 - DWRITE_GLYPH_RUN_DESCRIPTION* glyphRunDescription - DWRITE_GLYPH_RUN_DESCRIPTION glyphRunDescription -
- - -

X coordinate of the baseline origin for the layer.

-
- - dn280407 - float baselineOriginX - float baselineOriginX -
- - -

Y coordinate of the baseline origin for the layer.

-
- - dn280407 - float baselineOriginY - float baselineOriginY -
- - -

Color value of the run; if all members are zero, the run should be drawn using the current brush.

-
- - dn280407 - D3DCOLORVALUE runColor - D3DCOLORVALUE runColor -
- - -

Zero-based index into the font?s color palette; if this is 0xFFFF, the run should be drawn using the current brush.

-
- - dn280407 - unsigned short paletteIndex - unsigned short paletteIndex -
- - -

Represents a color glyph run. The method returns an ordered collection of color glyph runs of varying types depending on what the font supports.

-
- - mt725306 - DWRITE_COLOR_GLYPH_RUN1 - DWRITE_COLOR_GLYPH_RUN1 -
- - -

Glyph run to draw for this layer.

-
- - dn280407 - DWRITE_GLYPH_RUN glyphRun - DWRITE_GLYPH_RUN glyphRun -
- - -

Pointer to the glyph run description for this layer. This may be null. For example, when the original glyph run is split into multiple layers, one layer might have a description and the others have none.

-
- - dn280407 - DWRITE_GLYPH_RUN_DESCRIPTION* glyphRunDescription - DWRITE_GLYPH_RUN_DESCRIPTION glyphRunDescription -
- - -

X coordinate of the baseline origin for the layer.

-
- - dn280407 - float baselineOriginX - float baselineOriginX -
- - -

Y coordinate of the baseline origin for the layer.

-
- - dn280407 - float baselineOriginY - float baselineOriginY -
- - -

Color value of the run; if all members are zero, the run should be drawn using the current brush.

-
- - dn280407 - D3DCOLORVALUE runColor - D3DCOLORVALUE runColor -
- - -

Zero-based index into the font?s color palette; if this is 0xFFFF, the run should be drawn using the current brush.

-
- - dn280407 - unsigned short paletteIndex - unsigned short paletteIndex -
- - -

Type of glyph image format for this color run. Exactly one type will be set since TranslateColorGlyphRun has already broken down the run into separate parts.

-
- - mt725306 - DWRITE_GLYPH_IMAGE_FORMATS glyphImageFormat - DWRITE_GLYPH_IMAGE_FORMATS glyphImageFormat -
- - -

Measuring mode to use for this glyph run.

-
- - mt725306 - DWRITE_MEASURING_MODE measuringMode - DWRITE_MEASURING_MODE measuringMode -
- - - No documentation. - - - DWRITE_FILE_FRAGMENT - DWRITE_FILE_FRAGMENT - - - - No documentation. - - - unsigned longlong fileOffset - unsigned longlong fileOffset - - - - No documentation. - - - unsigned longlong fragmentSize - unsigned longlong fragmentSize - - - -

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.

-
- -

inherits from :

struct : public - { - ... - }; -
- - jj126259 - 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 - 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 -
- - -

Left edge of accumulated bounding blackbox of all glyphs in the font.

-
- - jj126259 - short glyphBoxLeft - short glyphBoxLeft -
- - -

Top edge of accumulated bounding blackbox of all glyphs in the font.

-
- - jj126259 - short glyphBoxTop - short glyphBoxTop -
- - -

Right edge of accumulated bounding blackbox of all glyphs in the font.

-
- - jj126259 - short glyphBoxRight - short glyphBoxRight -
- - -

Bottom edge of accumulated bounding blackbox of all glyphs in the font.

-
- - jj126259 - short glyphBoxBottom - short glyphBoxBottom -
- - -

Horizontal position of the subscript relative to the baseline origin. This is typically negative (to the left) in italic and oblique fonts, and zero in regular fonts.

-
- - jj126259 - short subscriptPositionX - short subscriptPositionX -
- - -

Vertical position of the subscript relative to the baseline. This is typically negative.

-
- - jj126259 - short subscriptPositionY - short subscriptPositionY -
- - -

Horizontal size of the subscript em box in design units, used to scale the simulated subscript relative to the full em box size. This is the numerator of the scaling ratio where denominator is the design units per em. If this member is zero, the font does not specify a scale factor, and the client uses its own policy.

-
- - jj126259 - short subscriptSizeX - short subscriptSizeX -
- - -

Vertical size of the subscript em box in design units, used to scale the simulated subscript relative to the full em box size. This is the numerator of the scaling ratio where denominator is the design units per em. If this member is zero, the font does not specify a scale factor, and the client uses its own policy.

-
- - jj126259 - short subscriptSizeY - short subscriptSizeY -
- - -

Horizontal position of the superscript relative to the baseline origin. This is typically positive (to the right) in italic and oblique fonts, and zero in regular fonts.

-
- - jj126259 - short superscriptPositionX - short superscriptPositionX -
- - -

Vertical position of the superscript relative to the baseline. This is typically positive.

-
- - jj126259 - short superscriptPositionY - short superscriptPositionY -
- - -

Horizontal size of the superscript em box in design units, used to scale the simulated superscript relative to the full em box size. This is the numerator of the scaling ratio where denominator is the design units per em. If this member is zero, the font does not specify a scale factor, and the client should use its own policy.

-
- - jj126259 - short superscriptSizeX - short superscriptSizeX -
- - -

Vertical size of the superscript em box in design units, used to scale the simulated superscript relative to the full em box size. This is the numerator of the scaling ratio where denominator is the design units per em. If this member is zero, the font does not specify a scale factor, and the client should use its own policy.

-
- - jj126259 - short superscriptSizeY - short superscriptSizeY -
- - -

A Boolean value that indicates that the ascent, descent, and lineGap are based on newer 'typographic' values in the font, rather than legacy values.

-
- - jj126259 - BOOL hasTypographicMetrics - BOOL hasTypographicMetrics -
- - -

Font property used for filtering font sets and building a font set with explicit properties.

-
- - dn933212 - DWRITE_FONT_PROPERTY - DWRITE_FONT_PROPERTY -
- - -

Specifies the requested font property, such as .

-
- - dn933212 - DWRITE_FONT_PROPERTY_ID propertyId - DWRITE_FONT_PROPERTY_ID propertyId -
- - -

Specifies the value, such as "Segoe UI".

-
- - dn933212 - const wchar_t* propertyValue - wchar_t propertyValue -
- - -

Specifies the locale to use, such as "en-US". Simply leave this empty when used with the font set filtering functions, as they will find a match regardless of language. For passing to AddFontFaceReference, the localeName specifies the language of the property value.

-
- - dn933212 - const wchar_t* localeName - wchar_t localeName -
- - -

Data for a single glyph from GetGlyphImageData.

-
- - mt725307 - DWRITE_GLYPH_IMAGE_DATA - DWRITE_GLYPH_IMAGE_DATA -
- - -

Pointer to the glyph data.

-
- - mt725307 - const void* imageData - void imageData -
- - -

Size of glyph data in bytes.

-
- - mt725307 - unsigned int imageDataSize - unsigned int imageDataSize -
- - -

Unique identifier for the glyph data. Clients may use this to cache a parsed/decompressed version and tell whether a repeated call to the same font returns the same data.

-
- - mt725307 - unsigned int uniqueDataId - unsigned int uniqueDataId -
- - -

Pixels per em of the returned data. For non-scalable raster data (PNG/TIFF/JPG), this can be larger or smaller than requested from GetGlyphImageData when there isn't an exact match. For scaling intermediate sizes, use: desired pixels per em * font em size / actual pixels per em.

-
- - mt725307 - unsigned int pixelsPerEm - unsigned int pixelsPerEm -
- - -

Size of image when the format is pixel data.

-
- - mt725307 - D2D_SIZE_U pixelSize - D2D_SIZE_U pixelSize -
- - -

Left origin along the horizontal Roman baseline.

-
- - mt725307 - POINT horizontalLeftOrigin - POINT horizontalLeftOrigin -
- - -

Right origin along the horizontal Roman baseline.

-
- - mt725307 - POINT horizontalRightOrigin - POINT horizontalRightOrigin -
- - -

Top origin along the vertical central baseline.

-
- - mt725307 - POINT verticalTopOrigin - POINT verticalTopOrigin -
- - -

Bottom origin along vertical central baseline.

-
- - mt725307 - POINT verticalBottomOrigin - POINT verticalBottomOrigin -
- - -

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

true if the text range is trimmed; otherwise, false.

-
- - dd368092 - 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 -
- - -

The structure specifies justification info per glyph.

-
- - jj126261 - DWRITE_JUSTIFICATION_OPPORTUNITY - DWRITE_JUSTIFICATION_OPPORTUNITY -
- - -

Minimum amount of expansion to apply to the side of the glyph. This might vary from zero to infinity, typically being zero except for kashida.

-
- - jj126261 - float expansionMinimum - float expansionMinimum -
- - -

Maximum amount of expansion to apply to the side of the glyph. This might vary from zero to infinity, being zero for fixed-size characters and connected scripts, and non-zero for discrete scripts, and non-zero for cursive scripts at expansion points.

-
- - jj126261 - float expansionMaximum - float expansionMaximum -
- - -

Maximum amount of compression to apply to the side of the glyph. This might vary from zero up to the glyph cluster size.

-
- - jj126261 - float compressionMaximum - float compressionMaximum -
- - -

Priority of this expansion point. Larger priorities are applied later, while priority zero does nothing.

-
- - jj126261 - unsigned int expansionPriority - unsigned int expansionPriority -
- - -

Priority of this compression point. Larger priorities are applied later, while priority zero does nothing.

-
- - jj126261 - unsigned int compressionPriority - unsigned int compressionPriority -
- - -

Allow this expansion point to use up any remaining slack space even after all expansion priorities have been used up.

-
- - jj126261 - unsigned int allowResidualExpansion - unsigned int allowResidualExpansion -
- - -

Allow this compression point to use up any remaining space even after all compression priorities have been used up.

-
- - jj126261 - unsigned int allowResidualCompression - unsigned int allowResidualCompression -
- - -

Apply expansion and compression to the leading edge of the glyph. This bit is (0) for connected scripts, fixed-size characters, and diacritics. It is generally within a multi-glyph cluster, unless the script allows expansion of glyphs within a cluster, like Thai.

-
- - jj126261 - unsigned int applyToLeadingEdge - unsigned int applyToLeadingEdge -
- - -

Apply expansion and compression to the trailing edge of the glyph. This bit is (0) for connected scripts, fixed-size characters, and diacritics. It is generally within a multi-glyph cluster, unless the script allows expansion of glyphs within a cluster, like Thai.

-
- - jj126261 - unsigned int applyToTrailingEdge - unsigned int applyToTrailingEdge -
- - -

Reserved

-
- - jj126261 - 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 -
- - -

Contains information about a formatted line of text.

-
- - dn933215 - DWRITE_LINE_METRICS1 - DWRITE_LINE_METRICS1 -
- - -

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

White space before the content of the line. This is included in the line height and baseline distances. If the line is formatted horizontally either with a uniform line spacing or with proportional line spacing, this value represents the extra space above the content.

-
- - dn933215 - float leadingBefore - float leadingBefore -
- - -

White space after the content of the line. This is included in the height of the line. If the line is formatted horizontally either with a uniform line spacing or with proportional line spacing, this value represents the extra space below the content.

-
- - dn933215 - float leadingAfter - float leadingAfter -
- - -

-

- - dn933216 - DWRITE_LINE_SPACING - DWRITE_LINE_SPACING -
- - -

Method used to determine line spacing.

-
- - dn933216 - DWRITE_LINE_SPACING_METHOD method - DWRITE_LINE_SPACING_METHOD method -
- - -

Spacing between lines. The interpretation of this parameter depends upon the line spacing method, as follows:

  • Line spacing: ignored
  • uniform line spacing: explicit distance in DIPs between lines
  • proportional line spacing: a scaling factor to be applied to the computed line height; for each line, the height of the line is computed as for default line spacing, and the scaling factor is applied to that value.
-
- - dn933216 - float height - float height -
- - -

Distance from top of line to baseline. The interpretation of this parameter depends upon the line spacing method, as follows:

  • default line spacing: ignored
  • uniform line spacing: explicit distance in DIPs from the top of the line to the baseline
  • proportional line spacing: a scaling factor applied to the computed baseline; for each line, the baseline distance is computed as for default line spacing, and the scaling factor is applied to that value.
-
- - dn933216 - float baseline - float baseline -
- - -

Proportion of the entire leading distributed before the line. The allowed value is between 0 and 1.0. The remaining leading is distributed after the line. It is ignored for the default and uniform line spacing methods. The leading that is available to distribute before or after the line depends on the values of the height and baseline parameters.

-
- - dn933216 - float leadingBefore - float leadingBefore -
- - -

Specify whether ::lineGap value should be part of the line metrics.

-
- - dn933216 - DWRITE_FONT_LINE_GAP_USAGE fontLineGapUsage - DWRITE_FONT_LINE_GAP_USAGE fontLineGapUsage -
- - -

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 union describes typeface classification values that you use with to select and match the font.

-
- - Note??The familyKind member (index 0) is the only stable entry in the 10-byte array because all the entries that follow can change dynamically depending on the context of the first member.? - - - hh995027 - DWRITE_PANOSE - DWRITE_PANOSE -
- - - No documentation. - - - hh995027 - unsigned char values[10] - unsigned char values - - - - No documentation. - - - hh995027 - unsigned char familyKind - unsigned char familyKind - - - - No documentation. - - - hh995027 - DWRITE_PANOSE_INNER_0 text - DWRITE_PANOSE_INNER_0 text - - - - No documentation. - - - hh995027 - DWRITE_PANOSE_INNER_1 script - DWRITE_PANOSE_INNER_1 script - - - - No documentation. - - - hh995027 - DWRITE_PANOSE_INNER_2 decorative - DWRITE_PANOSE_INNER_2 decorative - - - - No documentation. - - - hh995027 - DWRITE_PANOSE_INNER_3 symbol - DWRITE_PANOSE_INNER_3 symbol - - - - 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 -
- - -

The structure specifies script properties for caret navigation and justification.

-
- - jj126264 - DWRITE_SCRIPT_PROPERTIES - DWRITE_SCRIPT_PROPERTIES -
- - -

The standardized four character code for the given script.

Note??These only include the general Unicode scripts, not any additional ISO 15924 scripts for bibliographic distinction. ?
-
- - jj126264 - unsigned int isoScriptCode - unsigned int isoScriptCode -
- - -

The standardized numeric code, ranging 0-999.

-
- - jj126264 - unsigned int isoScriptNumber - unsigned int isoScriptNumber -
- - -

Number of characters to estimate look-ahead for complex scripts. Latin and all Kana are generally 1. Indic scripts are up to 15, and most others are 8.

Note??Combining marks and variation selectors can produce clusters that are longer than these look-aheads, so this estimate is considered typical language use. Diacritics must be tested explicitly separately. ?
-
- - jj126264 - unsigned int clusterLookahead - unsigned int clusterLookahead -
- - -

Appropriate character to elongate the given script for justification. For example:

  • Arabic - U+0640 Tatweel
  • Ogham - U+1680 Ogham Space Mark
-
- - jj126264 - unsigned int justificationCharacter - unsigned int justificationCharacter -
- - -

Restrict the caret to whole clusters, like Thai and Devanagari. Scripts such as Arabic by default allow navigation between clusters. Others like Thai always navigate across whole clusters.

-
- - jj126264 - unsigned int restrictCaretToClusters - unsigned int restrictCaretToClusters -
- - -

The language uses dividers between words, such as spaces between Latin or the Ethiopic wordspace. Examples include Latin, Greek, Devanagari, and Ethiopic. Chinese, Korean, and Thai are excluded.

-
- - jj126264 - unsigned int usesWordDividers - unsigned int usesWordDividers -
- - -

The characters are discrete units from each other. This includes both block scripts and clustered scripts. Examples include Latin, Greek, Cyrillic, Hebrew, Chinese, and Thai.

-
- - jj126264 - unsigned int isDiscreteWriting - unsigned int isDiscreteWriting -
- - -

The language is a block script, expanding between characters. Examples include Chinese, Japanese, Korean, and Bopomofo.

-
- - jj126264 - unsigned int isBlockWriting - unsigned int isBlockWriting -
- - -

The language is justified within glyph clusters, not just between glyph clusters, such as the character sequence of Thai Lu and Sara Am (U+E026, U+E033), which form a single cluster but still expand between them. Examples include Thai, Lao, and Khmer.

-
- - jj126264 - unsigned int isDistributedWithinCluster - unsigned int isDistributedWithinCluster -
- - -

The script's clusters are connected to each other (such as the baseline-linked Devanagari), and no separation is added between characters.

Note??Cursively linked scripts like Arabic are also connected (but not all connected scripts are cursive). ?

Examples include Devanagari, Arabic, Syriac, Bengala, Gurmukhi, and Ogham. Latin, Chinese, and Thaana are excluded.

-
- - jj126264 - unsigned int isConnectedWriting - unsigned int isConnectedWriting -
- - -

The script is naturally cursive (Arabic and Syriac), meaning it uses other justification methods like kashida extension rather than inter-character spacing.

Note?? Although other scripts like Latin and Japanese might actually support handwritten cursive forms, they are not considered cursive scripts. ?

Examples include Arabic, Syriac, and Mongolian. Thaana, Devanagari, Latin, and Chinese are excluded.

-
- - jj126264 - unsigned int isCursiveWriting - unsigned int isCursiveWriting -
- - -

Reserved

-
- - jj126264 - 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 -
- - -

Total number of lines.

-
- - dd368135 - unsigned int lineCount - unsigned int lineCount -
- - -

Contains the metrics associated with text after layout. All coordinates are in device independent pixels (DIPs).

-
- - dd368135 - DWRITE_TEXT_METRICS1 - DWRITE_TEXT_METRICS1 -
- - -

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

Total number of lines.

-
- - dd368135 - unsigned int lineCount - unsigned int lineCount -
- - -

A value that indicates the left-most point of formatted text relative to the layout box, while excluding any glyph overhang.

-
- - dd368135 - float heightIncludingTrailingWhitespace - float heightIncludingTrailingWhitespace -
- - -

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. Text starting from the Nth occurence of the delimiter (where N equals delimiterCount) counting backwards from the end of the text block will be preserved. For example, given the text is a path like c:\A\B\C\D\file.txt and delimiter equal to '\' and delimiterCount equal to 1, the file.txt portion of the text would be preserved. Specifying a delimiterCount of 2 would preserve D\file.txt.

-
- - dd368139 - unsigned int delimiter - unsigned int delimiter -
- - -

The delimiter count, counting from the end of the text, to preserve text from.

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

The structure specifies the range of Unicode code points.

-
- - jj126265 - DWRITE_UNICODE_RANGE - DWRITE_UNICODE_RANGE -
- - -

The first code point in the Unicode range.

-
- - jj126265 - unsigned int first - unsigned int first -
- - -

The last code point in the Unicode range.

-
- - jj126265 - unsigned int last - unsigned int last -
- - -

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

A high quality bicubic interpolation algorithm. Destination pixel values are computed using a much denser sampling kernel than regular cubic. The kernel is resized in response to the scale factor, making it suitable for downscaling by factors greater than 2.

Note??This value is supported beginning with Windows?10. ?
-
- - ee719810 - WICBitmapInterpolationModeHighQualityCubic - WICBitmapInterpolationModeHighQualityCubic -
- - -

Specifies access to an .

-
- - ee719811 - WICBitmapLockFlags - WICBitmapLockFlags -
- - - No documentation. - - - ee719811 - WICBitmapLockRead - WICBitmapLockRead - - - - No documentation. - - - ee719811 - 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 that is a full ICC color profile.

-
- - ee719815 - WICColorContextProfile - WICColorContextProfile -
- - -

A color context that is one of a number of set color spaces (sRGB, AdobeRGB) that are defined in the EXIF specification.

-
- - ee719815 - WICColorContextExifColorSpace - WICColorContextExifColorSpace -
- - -

Specifies component enumeration options.

-
- - ee719816 - WICComponentEnumerateOptions - WICComponentEnumerateOptions -
- - -

Enumerate any components that are not disabled. Because this value is 0x0, it is always included with the other options.

-
- - ee719816 - WICComponentEnumerateDefault - WICComponentEnumerateDefault -
- - -

Force a read of the registry before enumerating components.

-
- - ee719816 - WICComponentEnumerateRefresh - WICComponentEnumerateRefresh -
- - -

Include disabled components in the enumeration. The set of disabled components is disjoint with the set of default enumerated components

-
- - ee719816 - WICComponentEnumerateDisabled - WICComponentEnumerateDisabled -
- - -

Include unsigned components in the enumeration. This option has no effect.

-
- - ee719816 - WICComponentEnumerateUnsigned - WICComponentEnumerateUnsigned -
- - -

At the end of component enumeration, filter out any components that are not Windows provided.

-
- - 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 the the meaning of pixel color component values contained in the DDS image.

-
- - dn302101 - WICDdsAlphaMode - WICDdsAlphaMode -
- - -

Alpha behavior is unspecified and must be determined by the reader.

-
- - dn302101 - WICDdsAlphaModeUnknown - WICDdsAlphaModeUnknown -
- - -

The alpha data is straight.

-
- - dn302101 - WICDdsAlphaModeStraight - WICDdsAlphaModeStraight -
- - -

The alpha data is premultiplied.

-
- - dn302101 - WICDdsAlphaModePremultiplied - WICDdsAlphaModePremultiplied -
- - -

The alpha data is opaque (UNORM value of 1). This can be used by a compliant reader as a performance optimization. For example, blending operations can be converted to copies.

-
- - dn302101 - WICDdsAlphaModeOpaque - WICDdsAlphaModeOpaque -
- - -

The alpha channel contains custom data that is not alpha.

-
- - dn302101 - WICDdsAlphaModeCustom - WICDdsAlphaModeCustom -
- - -

Specifies the dimension type of the data contained in DDS image.

-
- -

Both WICDdsTexture2d and correspond to . When using , they are distinguished by the flag in the structure .

-
- - dn302102 - WICDdsDimension - WICDdsDimension -
- - -

DDS image contains a 1-dimensional texture .

-
- - dn302102 - WICDdsTexture1D - WICDdsTexture1D -
- - -

DDS image contains a 2-dimensional texture .

-
- - dn302102 - WICDdsTexture2D - WICDdsTexture2D -
- - -

DDS image contains a 3-dimensional texture .

-
- - dn302102 - WICDdsTexture3D - WICDdsTexture3D -
- - -

The DDS image contains a cube texture represented as an array of 6 faces.

-
- - dn302102 - WICDdsTextureCube - WICDdsTextureCube -
- - -

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 options for indexing a JPEG image.

-
- - dn903880 - WICJpegIndexingOptions - WICJpegIndexingOptions -
- - -

Index generation is deferred until is called on the image.

-
- - dn903880 - WICJpegIndexingOptionsGenerateOnDemand - WICJpegIndexingOptionsGenerateOnDemand -
- - -

Index generation is performed when the when the image is initially loaded.

-
- - dn903880 - WICJpegIndexingOptionsGenerateOnLoad - WICJpegIndexingOptionsGenerateOnLoad -
- - -

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 memory layout of pixel data in a JPEG image scan.

-
- - dn903892 - WICJpegScanType - WICJpegScanType -
- - -

The pixel data is stored in an interleaved memory layout.

-
- - dn903892 - WICJpegScanTypeInterleaved - WICJpegScanTypeInterleaved -
- - -

The pixel data is stored in a planar memory layout.

-
- - dn903892 - WICJpegScanTypePlanarComponents - WICJpegScanTypePlanarComponents -
- - -

The pixel data is stored in a progressive layout.

-
- - dn903892 - WICJpegScanTypeProgressive - WICJpegScanTypeProgressive -
- - -

Specifies conversion matrix from Y'Cb'Cr' to R'G'B'.

-
- - dn903893 - WICJpegTransferMatrix - WICJpegTransferMatrix -
- - -

Specifies the identity transfer matrix.

-
- - dn903893 - WICJpegTransferMatrixIdentity - WICJpegTransferMatrixIdentity -
- - -

Specifies the BT601 transfer matrix.

-
- - dn903893 - WICJpegTransferMatrixBT601 - WICJpegTransferMatrixBT601 -
- - -

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

Subsampling option that uses 2x vertical downsampling only. This option is only available in Windows?8.1 and later.

-
- - ee719834 - WICJpegYCrCbSubsampling440 - WICJpegYCrCbSubsampling440 -
- - -

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 additional options to an implementation.

-
- - dn302105 - WICPlanarOptions - WICPlanarOptions -
- - - No documentation. - - - dn302105 - WICPlanarOptionsDefault - WICPlanarOptionsDefault - - - - No documentation. - - - dn302105 - WICPlanarOptionsPreserveSubsampling - WICPlanarOptionsPreserveSubsampling - - - -

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. - - - ee719859 - WICRawRenderModeDraft - WICRawRenderModeDraft - - - - No documentation. - - - ee719859 - WICRawRenderModeNormal - WICRawRenderModeNormal - - - - No documentation. - - - ee719859 - 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 Png. - CLSID_WICPngDecoder - - - Constant Bmp. - CLSID_WICBmpDecoder - - - Constant Ico. - CLSID_WICIcoDecoder - - - Constant Jpeg. - CLSID_WICJpegDecoder - - - Constant Gif. - CLSID_WICGifDecoder - - - Constant Tiff. - CLSID_WICTiffDecoder - - - Constant Wmp. - CLSID_WICWmpDecoder - - - Constant Dds. - CLSID_WICDdsDecoder - - - Constant Adng. - CLSID_WICAdngDecoder - - - - Functions - - - - - Constant Bmp. - CLSID_WICBmpEncoder - - - Constant Png. - CLSID_WICPngEncoder - - - Constant Jpeg. - CLSID_WICJpegEncoder - - - Constant Gif. - CLSID_WICGifEncoder - - - Constant Tiff. - CLSID_WICTiffEncoder - - - Constant Wmp. - CLSID_WICWmpEncoder - - - Constant Dds. - CLSID_WICDdsEncoder - - - Constant JpegQualcommPhone. - CLSID_WICJpegQualcommPhoneEncoder - - - - Functions - - - - - Constant Bmp. - GUID_ContainerFormatBmp - - - Constant Png. - GUID_ContainerFormatPng - - - Constant Ico. - GUID_ContainerFormatIco - - - Constant Jpeg. - GUID_ContainerFormatJpeg - - - Constant Tiff. - GUID_ContainerFormatTiff - - - Constant Gif. - GUID_ContainerFormatGif - - - Constant Wmp. - GUID_ContainerFormatWmp - - - Constant Dds. - GUID_ContainerFormatDds - - - Constant Adng. - GUID_ContainerFormatAdng - - - - Functions - - - - - Constant FormatDontCare. - GUID_WICPixelFormatDontCare - - - Constant Format1bppIndexed. - GUID_WICPixelFormat1bppIndexed - - - Constant Format2bppIndexed. - GUID_WICPixelFormat2bppIndexed - - - Constant Format4bppIndexed. - GUID_WICPixelFormat4bppIndexed - - - Constant Format8bppIndexed. - GUID_WICPixelFormat8bppIndexed - - - Constant FormatBlackWhite. - GUID_WICPixelFormatBlackWhite - - - Constant Format2bppGray. - GUID_WICPixelFormat2bppGray - - - Constant Format4bppGray. - GUID_WICPixelFormat4bppGray - - - Constant Format8bppGray. - GUID_WICPixelFormat8bppGray - - - Constant Format8bppAlpha. - GUID_WICPixelFormat8bppAlpha - - - Constant Format16bppBGR555. - GUID_WICPixelFormat16bppBGR555 - - - Constant Format16bppBGR565. - GUID_WICPixelFormat16bppBGR565 - - - Constant Format16bppBGRA5551. - GUID_WICPixelFormat16bppBGRA5551 - - - Constant Format16bppGray. - GUID_WICPixelFormat16bppGray - - - Constant Format24bppBGR. - GUID_WICPixelFormat24bppBGR - - - Constant Format24bppRGB. - GUID_WICPixelFormat24bppRGB - - - Constant Format32bppBGR. - GUID_WICPixelFormat32bppBGR - - - Constant Format32bppBGRA. - GUID_WICPixelFormat32bppBGRA - - - Constant Format32bppPBGRA. - GUID_WICPixelFormat32bppPBGRA - - - Constant Format32bppGrayFloat. - GUID_WICPixelFormat32bppGrayFloat - - - Constant Format32bppRGB. - GUID_WICPixelFormat32bppRGB - - - Constant Format32bppRGBA. - GUID_WICPixelFormat32bppRGBA - - - Constant Format32bppPRGBA. - GUID_WICPixelFormat32bppPRGBA - - - Constant Format48bppRGB. - GUID_WICPixelFormat48bppRGB - - - Constant Format48bppBGR. - GUID_WICPixelFormat48bppBGR - - - Constant Format64bppRGB. - GUID_WICPixelFormat64bppRGB - - - Constant Format64bppRGBA. - GUID_WICPixelFormat64bppRGBA - - - Constant Format64bppBGRA. - GUID_WICPixelFormat64bppBGRA - - - Constant Format64bppPRGBA. - GUID_WICPixelFormat64bppPRGBA - - - Constant Format64bppPBGRA. - GUID_WICPixelFormat64bppPBGRA - - - Constant Format16bppGrayFixedPoint. - GUID_WICPixelFormat16bppGrayFixedPoint - - - Constant Format32bppBGR101010. - GUID_WICPixelFormat32bppBGR101010 - - - Constant Format48bppRGBFixedPoint. - GUID_WICPixelFormat48bppRGBFixedPoint - - - Constant Format48bppBGRFixedPoint. - GUID_WICPixelFormat48bppBGRFixedPoint - - - Constant Format96bppRGBFixedPoint. - GUID_WICPixelFormat96bppRGBFixedPoint - - - Constant Format96bppRGBFloat. - GUID_WICPixelFormat96bppRGBFloat - - - Constant Format128bppRGBAFloat. - GUID_WICPixelFormat128bppRGBAFloat - - - Constant Format128bppPRGBAFloat. - GUID_WICPixelFormat128bppPRGBAFloat - - - Constant Format128bppRGBFloat. - GUID_WICPixelFormat128bppRGBFloat - - - Constant Format32bppCMYK. - GUID_WICPixelFormat32bppCMYK - - - Constant Format64bppRGBAFixedPoint. - GUID_WICPixelFormat64bppRGBAFixedPoint - - - Constant Format64bppBGRAFixedPoint. - GUID_WICPixelFormat64bppBGRAFixedPoint - - - Constant Format64bppRGBFixedPoint. - GUID_WICPixelFormat64bppRGBFixedPoint - - - Constant Format128bppRGBAFixedPoint. - GUID_WICPixelFormat128bppRGBAFixedPoint - - - Constant Format128bppRGBFixedPoint. - GUID_WICPixelFormat128bppRGBFixedPoint - - - Constant Format64bppRGBAHalf. - GUID_WICPixelFormat64bppRGBAHalf - - - Constant Format64bppPRGBAHalf. - GUID_WICPixelFormat64bppPRGBAHalf - - - Constant Format64bppRGBHalf. - GUID_WICPixelFormat64bppRGBHalf - - - Constant Format48bppRGBHalf. - GUID_WICPixelFormat48bppRGBHalf - - - Constant Format32bppRGBE. - GUID_WICPixelFormat32bppRGBE - - - Constant Format16bppGrayHalf. - GUID_WICPixelFormat16bppGrayHalf - - - Constant Format32bppGrayFixedPoint. - GUID_WICPixelFormat32bppGrayFixedPoint - - - Constant Format32bppRGBA1010102. - GUID_WICPixelFormat32bppRGBA1010102 - - - Constant Format32bppRGBA1010102XR. - GUID_WICPixelFormat32bppRGBA1010102XR - - - Constant Format64bppCMYK. - GUID_WICPixelFormat64bppCMYK - - - Constant Format24bpp3Channels. - GUID_WICPixelFormat24bpp3Channels - - - Constant Format32bpp4Channels. - GUID_WICPixelFormat32bpp4Channels - - - Constant Format40bpp5Channels. - GUID_WICPixelFormat40bpp5Channels - - - Constant Format48bpp6Channels. - GUID_WICPixelFormat48bpp6Channels - - - Constant Format56bpp7Channels. - GUID_WICPixelFormat56bpp7Channels - - - Constant Format64bpp8Channels. - GUID_WICPixelFormat64bpp8Channels - - - Constant Format48bpp3Channels. - GUID_WICPixelFormat48bpp3Channels - - - Constant Format64bpp4Channels. - GUID_WICPixelFormat64bpp4Channels - - - Constant Format80bpp5Channels. - GUID_WICPixelFormat80bpp5Channels - - - Constant Format96bpp6Channels. - GUID_WICPixelFormat96bpp6Channels - - - Constant Format112bpp7Channels. - GUID_WICPixelFormat112bpp7Channels - - - Constant Format128bpp8Channels. - GUID_WICPixelFormat128bpp8Channels - - - Constant Format40bppCMYKAlpha. - GUID_WICPixelFormat40bppCMYKAlpha - - - Constant Format80bppCMYKAlpha. - GUID_WICPixelFormat80bppCMYKAlpha - - - Constant Format32bpp3ChannelsAlpha. - GUID_WICPixelFormat32bpp3ChannelsAlpha - - - Constant Format40bpp4ChannelsAlpha. - GUID_WICPixelFormat40bpp4ChannelsAlpha - - - Constant Format48bpp5ChannelsAlpha. - GUID_WICPixelFormat48bpp5ChannelsAlpha - - - Constant Format56bpp6ChannelsAlpha. - GUID_WICPixelFormat56bpp6ChannelsAlpha - - - Constant Format64bpp7ChannelsAlpha. - GUID_WICPixelFormat64bpp7ChannelsAlpha - - - Constant Format72bpp8ChannelsAlpha. - GUID_WICPixelFormat72bpp8ChannelsAlpha - - - Constant Format64bpp3ChannelsAlpha. - GUID_WICPixelFormat64bpp3ChannelsAlpha - - - Constant Format80bpp4ChannelsAlpha. - GUID_WICPixelFormat80bpp4ChannelsAlpha - - - Constant Format96bpp5ChannelsAlpha. - GUID_WICPixelFormat96bpp5ChannelsAlpha - - - Constant Format112bpp6ChannelsAlpha. - GUID_WICPixelFormat112bpp6ChannelsAlpha - - - Constant Format128bpp7ChannelsAlpha. - GUID_WICPixelFormat128bpp7ChannelsAlpha - - - Constant Format144bpp8ChannelsAlpha. - GUID_WICPixelFormat144bpp8ChannelsAlpha - - - Constant Format8bppY. - GUID_WICPixelFormat8bppY - - - Constant Format8bppCb. - GUID_WICPixelFormat8bppCb - - - Constant Format8bppCr. - GUID_WICPixelFormat8bppCr - - - Constant Format16bppCbCr. - GUID_WICPixelFormat16bppCbCr - - - Constant Format16bppYQuantizedDctCoefficients. - GUID_WICPixelFormat16bppYQuantizedDctCoefficients - - - Constant Format16bppCbQuantizedDctCoefficients. - GUID_WICPixelFormat16bppCbQuantizedDctCoefficients - - - Constant Format16bppCrQuantizedDctCoefficients. - GUID_WICPixelFormat16bppCrQuantizedDctCoefficients - - - - 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 WrongState. - WINCODEC_ERR_WRONGSTATE - - - Constant Valueoutofrange. - WINCODEC_ERR_VALUEOUTOFRANGE - - - Constant Unknownimageformat. - WINCODEC_ERR_UNKNOWNIMAGEFORMAT - - - Constant UnsupportedVersion. - WINCODEC_ERR_UNSUPPORTEDVERSION - - - Constant NotInitializeD. - WINCODEC_ERR_NOTINITIALIZED - - - Constant Alreadylocked. - WINCODEC_ERR_ALREADYLOCKED - - - Constant Propertynotfound. - WINCODEC_ERR_PROPERTYNOTFOUND - - - Constant Propertynotsupported. - WINCODEC_ERR_PROPERTYNOTSUPPORTED - - - Constant Propertysize. - WINCODEC_ERR_PROPERTYSIZE - - - Constant Codecpresent. - WINCODEC_ERR_CODECPRESENT - - - Constant Codecnothumbnail. - WINCODEC_ERR_CODECNOTHUMBNAIL - - - Constant Paletteunavailable. - WINCODEC_ERR_PALETTEUNAVAILABLE - - - Constant Codectoomanyscanlines. - WINCODEC_ERR_CODECTOOMANYSCANLINES - - - Constant Internalerror. - WINCODEC_ERR_INTERNALERROR - - - Constant SourceRectangleDoesnotmatchdimensions. - WINCODEC_ERR_SOURCERECTDOESNOTMATCHDIMENSIONS - - - Constant Componentnotfound. - WINCODEC_ERR_COMPONENTNOTFOUND - - - Constant Imagesizeoutofrange. - WINCODEC_ERR_IMAGESIZEOUTOFRANGE - - - Constant TooMuchmetadata. - WINCODEC_ERR_TOOMUCHMETADATA - - - Constant Badimage. - WINCODEC_ERR_BADIMAGE - - - Constant Badheader. - WINCODEC_ERR_BADHEADER - - - Constant FrameMissing. - WINCODEC_ERR_FRAMEMISSING - - - Constant Badmetadataheader. - WINCODEC_ERR_BADMETADATAHEADER - - - Constant Badstreamdata. - WINCODEC_ERR_BADSTREAMDATA - - - Constant StreamWrite. - WINCODEC_ERR_STREAMWRITE - - - Constant StreamRead. - WINCODEC_ERR_STREAMREAD - - - Constant StreamNotAvailable. - WINCODEC_ERR_STREAMNOTAVAILABLE - - - Constant UnsupportedPixelFormat. - WINCODEC_ERR_UNSUPPORTEDPIXELFORMAT - - - Constant UnsupportedOperation. - WINCODEC_ERR_UNSUPPORTEDOPERATION - - - Constant InvalidRegistration. - WINCODEC_ERR_INVALIDREGISTRATION - - - Constant Componentinitializefailure. - WINCODEC_ERR_COMPONENTINITIALIZEFAILURE - - - Constant Insufficientbuffer. - WINCODEC_ERR_INSUFFICIENTBUFFER - - - Constant Duplicatemetadatapresent. - WINCODEC_ERR_DUPLICATEMETADATAPRESENT - - - Constant Propertyunexpectedtype. - WINCODEC_ERR_PROPERTYUNEXPECTEDTYPE - - - Constant UnexpectedSize. - WINCODEC_ERR_UNEXPECTEDSIZE - - - Constant InvalidQueryRequest. - WINCODEC_ERR_INVALIDQUERYREQUEST - - - Constant UnexpectedMetadataType. - WINCODEC_ERR_UNEXPECTEDMETADATATYPE - - - Constant Requestonlyvalidatmetadataroot. - WINCODEC_ERR_REQUESTONLYVALIDATMETADATAROOT - - - Constant InvalidQueryCharacter. - WINCODEC_ERR_INVALIDQUERYCHARACTER - - - Constant Win32error. - WINCODEC_ERR_WIN32ERROR - - - Constant InvalidProgressivelevel. - WINCODEC_ERR_INVALIDPROGRESSIVELEVEL - - - Constant InvalidJpegscanindex. - WINCODEC_ERR_INVALIDJPEGSCANINDEX - - - Constant Base. - WINCODEC_ERR_BASE - - - Constant GenericError. - WINCODEC_ERR_GENERIC_ERROR - - - Constant InvalidParameter. - WINCODEC_ERR_INVALIDPARAMETER - - - Constant OufOfMemory. - WINCODEC_ERR_OUTOFMEMORY - - - Constant NotImplemented. - WINCODEC_ERR_NOTIMPLEMENTED - - - Constant Aborted. - WINCODEC_ERR_ABORTED - - - Constant AccessDenied. - WINCODEC_ERR_ACCESSDENIED - - - Constant Valueoverflow. - WINCODEC_ERR_VALUEOVERFLOW - - - -

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 -
- - - Initializes a new instance of the 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 for palette modifications.

-
- - ee690189 - SetPalette - SetPalette - HRESULT IWICBitmap::SetPalette([In, Optional] IWICPalette* pIPalette) -
- - -

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

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 -
- - - Initializes a new instance of the class. - - The native pointer. - - - - Performs an explicit conversion from to . (This method is a shortcut to ) - - The native pointer. - - The result of the conversion. - - - - -

Proxy function for the GetContainerFormat method.

-
- - ee719689 - GetContainerFormat - GetContainerFormat - HRESULT IWICBitmapCodecInfo::GetContainerFormat([Out] GUID* pguidContainerFormat) -
- - -

Proxy function for the DoesSupportAnimation method.

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

Proxy function for the GetContainerFormat method.

-
- No documentation. -

If this function succeeds, it returns . Otherwise, it returns an error code.

- - ee719689 - 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 -
- - -

Proxy function for the GetMimeTypes method.

-
- No documentation. - No documentation. - No documentation. -

If this function succeeds, it returns . Otherwise, it returns an error code.

- - ee719697 - 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 -
- - -

Proxy function for the DoesSupportAnimation method.

-
- No documentation. -

If this function succeeds, it returns . Otherwise, it returns an error code.

- - ee719681 - 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, .

- - Note??The Windows provided codecs do not implement this method and return E_NOTIMPL.? - - - ee690083 - HRESULT IWICBitmapCodecInfo::MatchesMimeType([In] const wchar_t* wzMimeType,[Out] BOOL* pfMatches) - IWICBitmapCodecInfo::MatchesMimeType -
- - - 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 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) -
- - -

Proxy function for the GetMetadataQueryReader method.

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

Proxy function for the GetThumbnail method.

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

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

Proxy function for the CopyPalette method.

-
- No documentation. -

If this function succeeds, it returns . Otherwise, it returns an error code.

- - ee690092 - HRESULT IWICBitmapDecoder::CopyPalette([In, Optional] IWICPalette* pIPalette) - IWICBitmapDecoder::CopyPalette -
- - -

Proxy function for the GetMetadataQueryReader method.

-
- No documentation. -

If this function succeeds, it returns . Otherwise, it returns an error code.

- - ee690103 - 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 -
- - -

Proxy function for the GetColorContexts method.

-
- No documentation. - No documentation. - No documentation. -

If this function succeeds, it returns . Otherwise, it returns an error code.

- - ee690094 - HRESULT IWICBitmapDecoder::GetColorContexts([In] unsigned int cCount,[InOut, Buffer, Optional] IWICColorContext** ppIColorContexts,[Out] unsigned int* pcActualCount) - IWICBitmapDecoder::GetColorContexts -
- - -

Proxy function for the GetColorContexts method.

-
- No documentation. - No documentation. - No documentation. -

If this function succeeds, it returns . Otherwise, it returns an error code.

- - ee690094 - HRESULT IWICBitmapDecoder::GetColorContexts([In] unsigned int cCount,[InOut, Buffer, Optional] IWICColorContext** ppIColorContexts,[Out] unsigned int* pcActualCount) - IWICBitmapDecoder::GetColorContexts -
- - -

Proxy function for the GetColorContexts method.

-
- No documentation. - No documentation. - No documentation. -

If this function succeeds, it returns . Otherwise, it returns an error code.

- - ee690094 - HRESULT IWICBitmapDecoder::GetColorContexts([In] unsigned int cCount,[InOut, Buffer, Optional] IWICColorContext** ppIColorContexts,[Out] unsigned int* pcActualCount) - IWICBitmapDecoder::GetColorContexts -
- - -

Proxy function for the GetThumbnail method.

-
- No documentation. -

If this function succeeds, it returns . Otherwise, it returns an error code.

- - ee690107 - 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] - - - -

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

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

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

Proxy function for the SetPalette method.

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

Proxy function for the GetMetadataQueryWriter method.

-
- - ee690122 - GetMetadataQueryWriter - GetMetadataQueryWriter - HRESULT IWICBitmapEncoder::GetMetadataQueryWriter([Out] IWICMetadataQueryWriter** ppIMetadataQueryWriter) -
- - -

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

Proxy function for the SetPalette method.

-
- No documentation. -

If this function succeeds, it returns . Otherwise, it returns an error code.

- - ee690127 - 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. The returned is initialized with all encoder options that are available for the given format, at their default values. To specify non-default encoding behavior, set the needed encoder options on the and pass it 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.

For formats that support encoding multiple frames (for example, TIFF, JPEG-XR), you can work on only one frame at a time. This means that you must call before you call CreateNewFrame again. -

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

After the encoder has been committed, it can't be re-initialized or reused with another stream. A new encoder interface must be created, for example, with . -

For the encoder Commit to succeed, you must at a minimum call and either or . -

specifies all parameters needed to encode the image data. requires that you also call , , and (if the pixel format is indexed). -

-
- - ee690114 - HRESULT IWICBitmapEncoder::Commit() - IWICBitmapEncoder::Commit -
- - -

Proxy function for the GetMetadataQueryWriter method.

-
- No documentation. -

If this function succeeds, it returns . Otherwise, it returns an error code.

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

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 n? 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.

-
- -

For image formats with one frame (JPG, PNG, JPEG-XR), the frame-level query reader of the first frame is used to access all image metadata, and the decoder-level query reader isn?t used. For formats with more than one frame (GIF, TIFF), the frame-level query reader for a given frame is used to access metadata specific to that frame, and in the case of GIF a decoder-level metadata reader will be present. If the decoder doesn?t support metadata (BMP, ICO), this will return . -

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

-
- - ee690139 - GetThumbnail - GetThumbnail - HRESULT IWICBitmapFrameDecode::GetThumbnail([Out] IWICBitmapSource** ppIThumbnail) -
- - -

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.

- -

For image formats with one frame (JPG, PNG, JPEG-XR), the frame-level query reader of the first frame is used to access all image metadata, and the decoder-level query reader isn?t used. For formats with more than one frame (GIF, TIFF), the frame-level query reader for a given frame is used to access metadata specific to that frame, and in the case of GIF a decoder-level metadata reader will be present. If the decoder doesn?t support metadata (BMP, ICO), this will return . -

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

- -

If null is passed for ppIColorContexts, and 0 is passed for cCount, this method will return the total number of color contexts in the image in pcActualCount.

The ppIColorContexts array must be filled with valid data: each * in the array must have been created using . -

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

- -

If null is passed for ppIColorContexts, and 0 is passed for cCount, this method will return the total number of color contexts in the image in pcActualCount.

The ppIColorContexts array must be filled with valid data: each * in the array must have been created using . -

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

- -

If null is passed for ppIColorContexts, and 0 is passed for cCount, this method will return the total number of color contexts in the image in pcActualCount.

The ppIColorContexts array must be filled with valid data: each * in the array must have been created using . -

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

-
- - 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] - - - -

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

Sets the for indexed pixel formats.

-
- -

This method doesn't fail if called on a frame whose pixel format is set to a non-indexed pixel format. If the target pixel format is a non-indexed format, the palette will be ignored.

If you already called to set a global palette, this method overrides that palette for the current frame.

The palette must be specified before your first call to WritePixels/WriteSource. Doing so will cause WriteSource to use the specified palette when converting the source image to the encoder pixel format. If no palette is specified, a palette will be generated on the first call to WriteSource. -

-
- - ee690150 - SetPalette - SetPalette - HRESULT IWICBitmapFrameEncode::SetPalette([In, Optional] IWICPalette* pIPalette) -
- - -

Proxy function for the SetThumbnail method.

-
- - ee690157 - SetThumbnail - SetThumbnail - HRESULT IWICBitmapFrameEncode::SetThumbnail([In, Optional] IWICBitmapSource* pIThumbnail) -
- - -

Gets the metadata query writer for the encoder frame.

-
- -

If you are setting metadata on the frame, you must do this before you use or to write any image pixels to the frame

-
- - ee690144 - GetMetadataQueryWriter - GetMetadataQueryWriter - HRESULT IWICBitmapFrameEncode::GetMetadataQueryWriter([Out] IWICMetadataQueryWriter** ppIMetadataQueryWriter) -
- - -

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.

- -

If you don't want any encoding options, pass null for pIEncoderOptions. Otherwise, pass the that was provided by with updated values. -

For a complete list of encoding options supported by the Windows-provided codecs, see Native WIC Codecs.

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

- -

Windows Imaging Component (WIC) doesn't perform any special processing as a result of DPI resolution values. For example, data returned from isn't scaled by the DPI. The app must handle DPI resolution. -

-
- - ee690152 - HRESULT IWICBitmapFrameEncode::SetResolution([In] double dpiX,[In] double dpiY) - IWICBitmapFrameEncode::SetResolution -
- - -

Requests that the encoder use the specified pixel format.

-
-

On input, the requested pixel format . On output, the closest pixel format supported by the encoder; this may be different than the requested 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.

?

- -

The encoder might not support the requested pixel format. If not, SetPixelFormat returns the closest match in the memory block that pPixelFormat points to. If the returned pixel format doesn't match the requested format, you must use an object to convert the pixel data.

-
- - ee690151 - HRESULT IWICBitmapFrameEncode::SetPixelFormat([InOut] GUID* pPixelFormat) - IWICBitmapFrameEncode::SetPixelFormat -
- - -

Proxy function for the SetColorContexts method.

-
- No documentation. - No documentation. -

If this function succeeds, it returns . Otherwise, it returns an error code.

- - ee690149 - HRESULT IWICBitmapFrameEncode::SetColorContexts([In] unsigned int cCount,[In, Buffer] IWICColorContext** ppIColorContext) - IWICBitmapFrameEncode::SetColorContexts -
- - -

Proxy function for the SetColorContexts method.

-
- No documentation. - No documentation. -

If this function succeeds, it returns . Otherwise, it returns an error code.

- - ee690149 - HRESULT IWICBitmapFrameEncode::SetColorContexts([In] unsigned int cCount,[In, Buffer] IWICColorContext** ppIColorContext) - IWICBitmapFrameEncode::SetColorContexts -
- - -

Proxy function for the SetColorContexts method.

-
- No documentation. - No documentation. -

If this function succeeds, it returns . Otherwise, it returns an error code.

- - ee690149 - 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 doesn't fail if called on a frame whose pixel format is set to a non-indexed pixel format. If the target pixel format is a non-indexed format, the palette will be ignored.

If you already called to set a global palette, this method overrides that palette for the current frame.

The palette must be specified before your first call to WritePixels/WriteSource. Doing so will cause WriteSource to use the specified palette when converting the source image to the encoder pixel format. If no palette is specified, a palette will be generated on the first call to WriteSource. -

-
- - ee690150 - HRESULT IWICBitmapFrameEncode::SetPalette([In, Optional] IWICPalette* pIPalette) - IWICBitmapFrameEncode::SetPalette -
- - -

Proxy function for the SetThumbnail method.

-
- No documentation. -

If this function succeeds, it returns . Otherwise, it returns an error code.

- - ee690157 - HRESULT IWICBitmapFrameEncode::SetThumbnail([In, Optional] IWICBitmapSource* pIThumbnail) - IWICBitmapFrameEncode::SetThumbnail -
- - -

Copies scan-line data from a caller-supplied buffer to the object. -

-
- No documentation. - No documentation. - No documentation. - No documentation. -

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 scan-line 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.

Starting with Windows?Vista, repeated WriteSource calls can be made as long as the total accumulated source rect height is the same as set through SetSize.

Starting with Windows?8.1, the source rect must be at least the dimensions set through SetSize. If the source rect width exceeds the SetSize width, extra pixels on the right side are ignored. If the source rect height exceeds the remaining unfilled height, extra scan lines on the bottom are ignored. -

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

- -

After the frame Commit has been called, you can't use or reinitialize the object and any objects created from it. -

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.

- -

If you are setting metadata on the frame, you must do this before you use or to write any image pixels to the frame

-
- - 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) - - - - Gets the properties to setup before . - - - - - 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 -
- - -

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

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

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

- -

can't be initialized multiple times. For example, when scaling every frame in a multi-frame image, a new must be created and initialized for each frame.

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

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

-
-

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.

-
- - ee690179 - HRESULT IWICBitmapSource::CopyPixels([In] const void* prc,[In] unsigned int cbStride,[In] unsigned int cbBufferSize,[In] void* pbBuffer) - IWICBitmapSource::CopyPixels -
- - -

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

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.

-
- Type of a pixel. This parameter must exactly match a pixel like using for a 32bit RGBA color or for a 64bits for a RGBA 4 floats color. -

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.

- output.Length must be equal to Width * Height - ee690179 - HRESULT IWICBitmapSource::CopyPixels([In, Optional] const WICRect* prc,[In] unsigned int cbStride,[In] unsigned int cbBufferSize,[In] void* pbBuffer) - IWICBitmapSource::CopyPixels -

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

-
- - -

Instructs the object to produce pixels.

-
- Type of a pixel. This parameter must exactly match a pixel like using for a 32bit RGBA color or for a 64bits for a RGBA 4 floats color. - 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 -
- - -

Instructs the object to produce pixels.

-
- The destination array. The size of the array must be sizeof(pixel) * Width * Height - The stride (number of bytes per row). -

If this method succeeds, it returns . Otherwise, it returns an error code.

- output.Length must be equal to Width * Height - ee690179 - HRESULT IWICBitmapSource::CopyPixels([In, Optional] const WICRect* prc,[In] unsigned int cbStride,[In] unsigned int cbBufferSize,[In] void* pbBuffer) - IWICBitmapSource::CopyPixels -

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

-
- - -

Instructs the object to produce pixels.

-
- The destination array. The size of the array must be sizeof(pixel) * Width * Height - The stride (number of bytes per row). -

If this method succeeds, it returns . Otherwise, it returns an error code.

- output.Length must be equal to Width * Height - ee690179 - HRESULT IWICBitmapSource::CopyPixels([In, Optional] const WICRect* prc,[In] unsigned int cbStride,[In] unsigned int cbBufferSize,[In] void* pbBuffer) - IWICBitmapSource::CopyPixels -

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

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

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

- -

The Windows provided codecs provide the following support for native scaling: -

  • BMP, ICO, GIF, TIFF: No implementation of .
  • PNG: No scaling support.
  • JPEG: Native down-scaling by a factor of 8, 4, or 2.
  • JPEG-XR: Native scaling of the original image by powers of 2. -
-
- - 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.

- -

The Windows provided codecs provide the following support:

  • BMP, ICO, GIF, TIFF: No implementation of .
  • JPEG, PNG, JPEG-XR: Trivial support (always returns the same value as IWICBitmapFrameDecode::GetPixelFormat).
-
- - 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.

- -

The Windows provided codecs provide the following level of support:

  • BMP, ICO, GIF, TIFF: No implementation of .
  • JPEG, PNG: Trivial support ( only).
  • JPEG-XR: Support for all transformation/rotations. -
-
- - 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 either be loaded from a file (like "sRGB Color Space Profile.icm"), read from a memory buffer, or can be defined by an EXIF color space. The system color profile directory can be obtained by calling GetColorDirectory.

Once a color context has been initialized, it cannot be re-initialized.

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

Retrieves the color context type.

-
- - ee690196 - GetType - GetType - HRESULT IWICColorContext::GetType([Out] WICColorContextType* pType) -
- - -

Retrieves the Exchangeable Image File (EXIF) color space color context.

-
- -

This method should only be used when indicates . -

-
- - ee690194 - GetExifColorSpace - GetExifColorSpace - HRESULT IWICColorContext::GetExifColorSpace([Out] unsigned int* pValue) -
- - -

Initializes the color context from the given file.

-
-

The name of the file.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

Once a color context has been initialized, it can't be re-initialized. -

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

- -

Once a color context has been initialized, it can't be re-initialized. -

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

- -

Once a color context has been initialized, it can't be re-initialized. -

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

- -

Only use this method if the context type is . -

Calling this method with pbBuffer set to null will cause it to return the required buffer size in pcbActual. -

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

- -

This method should only be used when indicates . -

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

Once initialized, a color transform cannot be reinitialized. Because of this, a color transform cannot be used with multiple sources or varying parameters.

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

- -

The currently supported formats for the pIContextSource and pixelFmtDest parameters are: -

  • (Windows?8 and later)
  • (Windows?8 and later)
  • (Windows?8 and later)
  • (Windows?8 and later)
  • (Windows?8 and later)

In order to get correct behavior from a color transform, the input and output pixel formats must be compatible with the source and destination color profiles. For example, an sRGB destination color profile will produce incorrect results when used with a CMYK destination pixel format.

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

-
- - ee690218 - GetComponentType - GetComponentType - HRESULT IWICComponentInfo::GetComponentType([Out] WICComponentType* pType) -
- - -

Proxy function for the GetCLSID method.

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

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

Proxy function for the GetCLSID method.

-
- No documentation. -

If this function succeeds, it returns . Otherwise, it returns an error code.

- - ee690217 - 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 -
- - -

Proxy function for the GetVersion method.

-
- No documentation. - No documentation. - No documentation. -

If this function succeeds, it returns . Otherwise, it returns an error code.

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

Provides information and functionality specific to the DDS image format.

-
- -

This interface is implemented by the WIC DDS codec. To obtain this interface, create an using the DDS codec and QueryInterface for .

-
- - dn302079 - IWICDdsDecoder - IWICDdsDecoder -
- - - Initializes a new instance of the 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 DDS-specific data.

-
- - dn302081 - GetParameters - GetParameters - HRESULT IWICDdsDecoder::GetParameters([Out] WICDdsParameters* pParameters) -
- - -

Gets DDS-specific data.

-
-

A reference to the structure where the information is returned.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn302081 - HRESULT IWICDdsDecoder::GetParameters([Out] WICDdsParameters* pParameters) - IWICDdsDecoder::GetParameters -
- - -

Retrieves the specified frame of the DDS image.

-
-

The requested index within the texture array.

-

The requested mip level.

-

The requested slice within the 3D texture.

-

A reference to a object.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

A DDS file can contain multiple images that are organized into a three level hierarchy. First, DDS file may contain multiple textures in a texture array. Second, each texture can have multiple mip levels. Finally, the texture may be a 3D (volume) texture and have multiple slices, each of which is a 2D texture. See the DDS documentation for more information.

WIC maps this three level hierarchy into a linear array of , accessible via . However, determining which frame corresponds to a triad of arrayIndex, mipLevel, and sliceIndex value is not trivial because each mip level of a 3D texture has a different depth (number of slices). This method provides additional convenience over for DDS images by calculating the correct frame given the three indices. -

-
- - dn302080 - HRESULT IWICDdsDecoder::GetFrame([In] unsigned int arrayIndex,[In] unsigned int mipLevel,[In] unsigned int sliceIndex,[Out] IWICBitmapFrameDecode** ppIBitmapFrame) - IWICDdsDecoder::GetFrame -
- - -

Enables writing DDS format specific information to an encoder.

-
- -

This interface is implemented by the WIC DDS codec. To obtain this interface, create an using the DDS codec and QueryInterface for .

-
- - dn302082 - IWICDdsEncoder - IWICDdsEncoder -
- - - Initializes a new instance of the 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 or sets DDS-specific data.

-
- -

An application can call GetParameters to obtain the default DDS parameters, modify some or all of them, and then call SetParameters.

-
- - dn302084 - GetParameters / SetParameters - GetParameters - HRESULT IWICDdsEncoder::GetParameters([Out] WICDdsParameters* pParameters) -
- - -

Sets DDS-specific data.

-
-

Points to the structure where the information is described.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

You cannot call this method after you have started to write frame data, for example by calling .

Setting DDS parameters using this method provides the DDS encoder with information about the expected number of frames and the dimensions and other parameters of each frame. The DDS encoder will fail if you do not set frame data that matches these expectations. For example, if you set WICDdsParameters::Width and Height to 32, and MipLevels to 6, the DDS encoder will expect 6 frames with the following dimensions:

  • 32x32 pixels.
  • 16x16 pixels.
  • 8x8 pixels.
  • 4x4 pixels.
  • 2x2 pixels.
  • 1x1 pixels.
-
- - dn302085 - HRESULT IWICDdsEncoder::SetParameters([In] WICDdsParameters* pParameters) - IWICDdsEncoder::SetParameters -
- - -

Gets DDS-specific data.

-
-

Points to the structure where the information is returned.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

An application can call GetParameters to obtain the default DDS parameters, modify some or all of them, and then call SetParameters.

-
- - dn302084 - HRESULT IWICDdsEncoder::GetParameters([Out] WICDdsParameters* pParameters) - IWICDdsEncoder::GetParameters -
- - -

Creates a new frame to encode.

-
-

A reference to the newly created frame object.

-

Points to the location where the array index is returned.

-

Points to the location where the mip level index is returned.

-

Points to the location where the slice index is returned.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

This is equivalent to , but returns additional information about the array index, mip level and slice of the newly created frame. In contrast to , there is no * parameter because individual DDS frames do not have separate properties.

-
- - dn302083 - HRESULT IWICDdsEncoder::CreateNewFrame([Out] IWICBitmapFrameEncode** ppIFrameEncode,[Out] unsigned int* pArrayIndex,[Out] unsigned int* pMipLevel,[Out] unsigned int* pSliceIndex) - IWICDdsEncoder::CreateNewFrame -
- - -

Provides access to a single frame of DDS image data in its native form, as well as information about the image data.

-
- -

This interface is implemented by the WIC DDS codec. To obtain this interface, create an using the DDS codec and QueryInterface for IID_IWICDdsFrameDecode.

-
- - dn302086 - IWICDdsFrameDecode - IWICDdsFrameDecode -
- - - Initializes a new instance of the 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 information about the format in which the DDS image is stored.

-
- -

This information can be used for allocating memory or constructing Direct3D or Direct2D resources, for example by using or .

-
- - dn302088 - GetFormatInfo - GetFormatInfo - HRESULT IWICDdsFrameDecode::GetFormatInfo([Out] WICDdsFormatInfo* pFormatInfo) -
- - -

Gets the width and height, in blocks, of the DDS image.

-
-

The width of the DDS image in blocks.

-

The height of the DDS image in blocks.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

For block compressed textures, the returned width and height values do not completely define the texture size because the image is padded to fit the closest whole block size. For example, three BC1 textures with pixel dimensions of 1x1, 2x2 and 4x4 will all report pWidthInBlocks = 1 and pHeightInBlocks = 1.

If the texture does not use a block-compressed , this method returns the texture size in pixels; for these formats the block size returned by IWICDdsFrameDecoder::GetFormatInfo is 1x1. -

-
- - dn302089 - HRESULT IWICDdsFrameDecode::GetSizeInBlocks([Out] unsigned int* pWidthInBlocks,[Out] unsigned int* pHeightInBlocks) - IWICDdsFrameDecode::GetSizeInBlocks -
- - -

Gets information about the format in which the DDS image is stored.

-
-

Information about the DDS format.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

This information can be used for allocating memory or constructing Direct3D or Direct2D resources, for example by using or .

-
- - dn302088 - HRESULT IWICDdsFrameDecode::GetFormatInfo([Out] WICDdsFormatInfo* pFormatInfo) - IWICDdsFrameDecode::GetFormatInfo -
- - -

Requests pixel data as it is natively stored within the DDS file.

-
-

The rectangle to copy from the source. A null value specifies the entire texture.

If the texture uses a block-compressed , all values of the rectangle are expressed in number of blocks, not pixels.

-

The stride, in bytes, of the destination buffer. This represents the number of bytes from the buffer reference to the next row of data. If the texture uses a block-compressed , a "row of data" is defined as a row of blocks which contains multiple pixel scanlines.

-

The size, in bytes, of the destination buffer.

-

A reference to the destination buffer.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

If the texture does not use a block-compressed , this method behaves similarly to . However, it does not perform any pixel format conversion, and instead produces the raw data from the DDS file.

If the texture uses a block-compressed , this method copies the block data directly into the provided buffer. In this case, the prcBoundsInBlocks parameter is defined in blocks, not pixels. To determine if this is the case, call GetFormatInfo and read the DxgiFormat member of the returned structure. -

-
- - dn302087 - HRESULT IWICDdsFrameDecode::CopyBlocks([In, Optional] const WICRect* prcBoundsInBlocks,[In] unsigned int cbStride,[In] unsigned int cbBufferSize,[In] void* pbBuffer) - IWICDdsFrameDecode::CopyBlocks -
- - - -

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

Requests pixel data as it is natively stored within the DDS file.

-
-

The rectangle to copy from the source. A null value specifies the entire texture.

If the texture uses a block-compressed , all values of the rectangle are expressed in number of blocks, not pixels.

-

The stride, in bytes, of the destination buffer. This represents the number of bytes from the buffer reference to the next row of data. If the texture uses a block-compressed , a "row of data" is defined as a row of blocks which contains multiple pixel scanlines.

-

A reference to the destination buffer.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

If the texture does not use a block-compressed , this method behaves similarly to . However, it does not perform any pixel format conversion, and instead produces the raw data from the DDS file.

If the texture uses a block-compressed , this method copies the block data directly into the provided buffer. In this case, the prcBoundsInBlocks parameter is defined in blocks, not pixels. To determine if this is the case, call GetFormatInfo and read the DxgiFormat member of the returned structure. -

-
- - dn302087 - HRESULT IWICDdsFrameDecode::CopyBlocks([In, Optional] const WICRect* prcBoundsInBlocks,[In] unsigned int cbStride,[In] unsigned int cbBufferSize,[In] void* pbBuffer) - IWICDdsFrameDecode::CopyBlocks -
- - - No documentation. - - - ee719898 - 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. - - - - -

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

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

An application-defined callback method used for raw image parameter change notifications.

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

Proxy function for the GetMetadataQueryWriter method.

-
- - ee690273 - GetMetadataQueryWriter - GetMetadataQueryWriter - HRESULT IWICFastMetadataEncoder::GetMetadataQueryWriter([Out] IWICMetadataQueryWriter** ppIMetadataQueryWriter) -
- - -

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

Proxy function for the GetMetadataQueryWriter method.

-
- No documentation. -

If this function succeeds, it returns . Otherwise, it returns an error code.

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

Initializes the format converter.

-
- -

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

Encodes interfaces to an . The input images can be larger than the maximum device texture size.

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

Encodes the image to the frame given by the .

-
- No documentation. - No documentation. - No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

The image passed in must be created on the same device as in . If the pImageParameters are not specified, a set of useful defaults will be assumed, see for more info.

You must correctly and independently have set up the before calling this API. -

-
- - hh880845 - HRESULT IWICImageEncoder::WriteFrame([In] ID2D1Image* pImage,[In] IWICBitmapFrameEncode* pFrameEncode,[In, Value] const WICImageParameters* pImageParameters) - IWICImageEncoder::WriteFrame -
- - -

Encodes the image as a thumbnail to the frame given by the .

-
- No documentation. - No documentation. - No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

The image passed in must be created on the same device as in . If the pImageParameters are not specified, a set of useful defaults will be assumed, see for more info.

You must correctly and independently have set up the before calling this API. -

-
- - hh880846 - HRESULT IWICImageEncoder::WriteFrameThumbnail([In] ID2D1Image* pImage,[In] IWICBitmapFrameEncode* pFrameEncode,[In, Value] const WICImageParameters* pImageParameters) - IWICImageEncoder::WriteFrameThumbnail -
- - -

Encodes the given image as the thumbnail to the given WIC bitmap encoder.

-
-

The Direct2D image that will be encoded.

-

The encoder on which the thumbnail is set.

-

Additional parameters to control encoding.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

You must create the image that you pass in on the same device as in . If you don't specify additional parameters in the variable that pImageParameters points to, the encoder uses a set of useful defaults. For info about these defaults, see .

Before you call WriteThumbnail, you must set up the interface for the encoder on which you want to set the thumbnail.

If WriteThumbnail fails, it might return E_OUTOFMEMORY, , or other error codes from the encoder.

-
- - hh880847 - 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 -
- - -

Proxy function for the CreateComponentInfo method.

-
- No documentation. - No documentation. -

If this function succeeds, it returns . Otherwise, it returns an error code.

- - ee690303 - HRESULT IWICImagingFactory::CreateComponentInfo([In] const GUID& clsidComponent,[Out, Fast] IWICComponentInfo** ppIInfo) - IWICImagingFactory::CreateComponentInfo -
- - -

Creates a new instance of .

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

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

Proxy function for the CreateBitmapClipper method.

-
- No documentation. -

If this function succeeds, it returns . Otherwise, it returns an error code.

- - ee690284 - HRESULT IWICImagingFactory::CreateBitmapClipper([Out, Fast] IWICBitmapClipper** ppIBitmapClipper) - IWICImagingFactory::CreateBitmapClipper -
- - -

Proxy function for the CreateBitmapFlipRotator method.

-
- No documentation. -

If this function succeeds, it returns . Otherwise, it returns an error code.

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

- -

Providing a rectangle that is larger than the source will produce undefined results.

This method always creates a separate copy of the source image, similar to the cache option .

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

- -

The size of the to be created must be smaller than or equal to the size of the image in pbBuffer.

The stride of the destination bitmap will equal the stride of the source data, regardless of the width and height specified.

The pixelFormat parameter defines the pixel format for both the input data and the output bitmap.

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

- -

For a non-palletized bitmap, set null for the hPalette parameter.

-
- - 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 Windows provided codecs do not support fast metadata encoding at the decoder level, and only support fast metadata encoding at the frame level. To create a fast metadata encoder from a frame, see CreateFastMetadataEncoderFromFrameDecode.

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

- -

For a list of support metadata formats for fast metadata encoding, see WIC Metadata Overview.

-
- - ee690315 - HRESULT IWICImagingFactory::CreateFastMetadataEncoderFromFrameDecode([In, Optional] IWICBitmapFrameDecode* pIFrameDecoder,[Out, Fast] IWICFastMetadataEncoder** ppIFastEncoder) - IWICImagingFactory::CreateFastMetadataEncoderFromFrameDecode -
- - -

Proxy function for the CreateQueryWriter method.

-
- No documentation. - No documentation. - No documentation. -

If this function succeeds, it returns . Otherwise, it returns an error code.

- - ee690324 - HRESULT IWICImagingFactory::CreateQueryWriter([In] const GUID& guidMetadataFormat,[In, Optional] const GUID* pguidVendor,[Out, Fast] IWICMetadataQueryWriter** ppIQueryWriter) - IWICImagingFactory::CreateQueryWriter -
- - -

Proxy function for the CreateQueryWriterFromReader method.

-
- No documentation. - No documentation. - No documentation. -

If this function succeeds, it returns . Otherwise, it returns an error code.

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

An extension of the WIC factory interface that includes the ability to create an . This interface uses a Direct2D device and an input image to encode to a destination .

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

Creates a new image encoder object.

-
-

The object on which the corresponding image encoder is created.

-

A reference to a variable that receives a reference to the interface for the encoder object that you can use to encode Direct2D images.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

You must create images to pass to the image encoder on the same Direct2D device that you pass to this method.

You are responsible for setting up the bitmap encoder itself through the existing APIs. The or the object is passed to each of the methods: WriteThumbnail, WriteFrame, and WriteFrameThumbnail. -

-
- - hh880849 - HRESULT IWICImagingFactory2::CreateImageEncoder([In] ID2D1Device* pD2DDevice,[Out, Fast] IWICImageEncoder** ppWICImageEncoder) - IWICImagingFactory2::CreateImageEncoder -
- - - Initializes a new instance of the class. - - - - -

Exposes methods for decoding JPEG images. Provides access to the Start Of Frame (SOF) header, Start of Scan (SOS) header, the Huffman and Quantization tables, and the compressed JPEG JPEG data. Also enables indexing for efficient random access.

-
- -

Obtain this interface by calling IUnknown::QueryInterface on the Windows-provided IWICBitmapFrameDecoder interface for the JPEG decoder.

-
- - dn903834 - IWICJpegFrameDecode - IWICJpegFrameDecode -
- - - Initializes a new instance of the 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 header data from the entire frame. The result includes parameters from the Start Of Frame (SOF) marker for the scan as well as parameters derived from other metadata such as the color model of the compressed data.

-
- - dn903851 - GetFrameHeader - GetFrameHeader - HRESULT IWICJpegFrameDecode::GetFrameHeader([Out] WICJpegFrameHeader* pFrameHeader) -
- - -

Retrieves a value indicating whether this decoder supports indexing for efficient random access.

-
-

True if indexing is supported; otherwise, false.

-

Returns on successful completion.

- -

Indexing is only supported for some JPEG types. Call this method

-
- - dn903843 - HRESULT IWICJpegFrameDecode::DoesSupportIndexing([Out] BOOL* pfIndexingSupported) - IWICJpegFrameDecode::DoesSupportIndexing -
- - -

Enables indexing of the JPEG for efficient random access.

-
-

A value specifying whether indexes should be generated immediately or deferred until a future call to .

-

The granularity of the indexing, in pixels.

-

Returns upon successful completion.

- -

This method enables efficient random-access to the image pixels at the expense of memory usage. The amount of memory required for indexing depends on the requested index granularity. Unless SetIndexing is called, it is much more efficient to access a JPEG by progressing through its pixels top-down during calls to . -

This method will fail if indexing is unsupported on the file. should be called to first determine whether indexing is supported. If this method is called multiple times, the final call changes the index granularity to the requested size. -

The provided interval size controls horizontal spacing of index entries. This value is internally rounded up according to the JPEG?s MCU (minimum coded unit) size, which is typically either 8 or 16 unscaled pixels. The vertical size of the index interval is always equal to one MCU size.

Indexes can be generated immediately, or during future calls to to reduce redundant decompression work.

-
- - dn903861 - HRESULT IWICJpegFrameDecode::SetIndexing([In] WICJpegIndexingOptions options,[In] unsigned int horizontalIntervalSize) - IWICJpegFrameDecode::SetIndexing -
- - -

Removes the indexing from a JPEG that has been indexed using .

-
-

Returns upons successful completion.

- - dn903837 - HRESULT IWICJpegFrameDecode::ClearIndexing() - IWICJpegFrameDecode::ClearIndexing -
- - -

Retrieves a copy of the AC Huffman table for the specified scan and table.

-
-

The zero-based index of the scan for which data is retrieved.

-

The index of the AC Huffman table to retrieve. Valid indices for a given scan can be determined by retrieving the scan header with .

-

A reference that receives the table data. This parameter must not be null.

-

This method can return one of these values.

Return valueDescription

The operation was successful.

The specified scan index is invalid.

Can occur if pAcHuffmanTable is null or if tableIndex does not point to a valid table slot. Check the scan header for valid table indices.

?

- - dn903845 - HRESULT IWICJpegFrameDecode::GetAcHuffmanTable([In] unsigned int scanIndex,[In] unsigned int tableIndex,[Out] DXGI_JPEG_AC_HUFFMAN_TABLE* pAcHuffmanTable) - IWICJpegFrameDecode::GetAcHuffmanTable -
- - -

Retrieves a copy of the DC Huffman table for the specified scan and table.

-
-

The zero-based index of the scan for which data is retrieved.

-

The index of the DC Huffman table to retrieve. Valid indices for a given scan can be determined by retrieving the scan header with .

-

A reference that receives the table data. This parameter must not be null.

-

This method can return one of these values.

Return valueDescription

The operation was successful.

The specified scan index is invalid.

Can occur if pTable is null or if tableIndex does not point to a valid table slot. Check the scan header for valid table indices.

?

- - dn903848 - HRESULT IWICJpegFrameDecode::GetDcHuffmanTable([In] unsigned int scanIndex,[In] unsigned int tableIndex,[Out] DXGI_JPEG_DC_HUFFMAN_TABLE* pDcHuffmanTable) - IWICJpegFrameDecode::GetDcHuffmanTable -
- - -

Retrieves a copy of the quantization table.

-
-

The zero-based index of the scan for which data is retrieved.

-

The index of the quantization table to retrieve. Valid indices for a given scan can be determined by retrieving the scan header with .

-

A reference that receives the table data. This parameter must not be null.

-

This method can return one of these values.

Return valueDescription

The operation was successful.

The specified scan index is invalid.

Can occur if pTable is null or if tableIndex does not point to a valid table slot. Check the scan header for valid table indices.

?

- - dn903854 - HRESULT IWICJpegFrameDecode::GetQuantizationTable([In] unsigned int scanIndex,[In] unsigned int tableIndex,[Out] DXGI_JPEG_QUANTIZATION_TABLE* pQuantizationTable) - IWICJpegFrameDecode::GetQuantizationTable -
- - -

Retrieves header data from the entire frame. The result includes parameters from the Start Of Frame (SOF) marker for the scan as well as parameters derived from other metadata such as the color model of the compressed data.

-
-

A reference that receives the frame header data.

-

Returns on successful completion.

- - dn903851 - HRESULT IWICJpegFrameDecode::GetFrameHeader([Out] WICJpegFrameHeader* pFrameHeader) - IWICJpegFrameDecode::GetFrameHeader -
- - -

Retrieves parameters from the Start Of Scan (SOS) marker for the scan with the specified index.

-
-

The index of the scan for which header data is retrieved.

-

A reference that receives the frame header data.

-

Returns on successful completion.

- - dn903858 - HRESULT IWICJpegFrameDecode::GetScanHeader([In] unsigned int scanIndex,[Out] WICJpegScanHeader* pScanHeader) - IWICJpegFrameDecode::GetScanHeader -
- - -

Retrieves a copy of the compressed JPEG scan directly from the WIC decoder frame's output stream.

-
-

The zero-based index of the scan for which data is retrieved.

-

The byte position in the scan data to begin copying. Use 0 on the first call. If the output buffer size is insufficient to store the entire scan, this offset allows you to resume copying from the end of the previous copy operation.

-

The size, in bytes, of the pbScanData array.

-

A reference that receives the table data. This parameter must not be null.

-

A reference that receives the size of the scan data actually copied into pbScanData. The size returned may be smaller that the size of cbScanData. This parameter may be null.

-

This method can return one of these values.

Return valueDescription

The operation was successful.

The specified scan index is invalid.

?

- - dn903841 - HRESULT IWICJpegFrameDecode::CopyScan([In] unsigned int scanIndex,[In] unsigned int scanOffset,[In] unsigned int cbScanData,[Out, Buffer] unsigned char* pbScanData,[Out] unsigned int* pcbScanDataActual) - IWICJpegFrameDecode::CopyScan -
- - - No documentation. - - No documentation. - No documentation. - No documentation. - No documentation. - No documentation. - - HRESULT IWICJpegFrameDecode::CopyMinimalStream([In] unsigned int streamOffset,[In] unsigned int cbStreamData,[Out, Buffer] unsigned char* pbStreamData,[Out] unsigned int* pcbStreamDataActual) - IWICJpegFrameDecode::CopyMinimalStream - - - -

Exposes methods for writing compressed JPEG scan data directly to the WIC encoder's output stream. Also provides access to the Huffman and quantization tables.

-
- -

Obtain this interface by calling IUnknown::QueryInterface on the Windows-provided IWICBitmapFrameEncoder interface for the JPEG encoder.

The WIC JPEG encoder supports a smaller subset of JPEG features than the decoder does.

  • The encoder is limited to a single scan. It does not support encoding images that are multi-scan, either for progressive encoding or planar component data.
  • The encoder supports two quantization tables, two AC Huffman tables, and two DC Huffman tables. The luma tables are used for the Y channel and, in the case of YCCK, the black channel. The chroma tables are used for the CbCr channels.
  • The encoder supports encoding gray, YCbCr (RGB), and YCCK (CMYK).
  • The encoder supports 4 fixed compontent subsampling, 4:2:0, 4:2:2, 4:4:0, and 4:4:4. This subsamples chroma only.
  • The encoder does not support restart markers.
-
- - dn903864 - IWICJpegFrameEncode - IWICJpegFrameEncode -
- - - Initializes a new instance of the 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 copy of the AC Huffman table for the specified scan and table.

-
-

The zero-based index of the scan for which data is retrieved.

-

The index of the AC Huffman table to retrieve.

-

A reference that receives the table data. This parameter must not be null.

-

This method can return one of these values.

Return valueDescription

The operation was successful.

The specified scan index is invalid.

Can occur if pAcHuffmanTable is null or if tableIndex does not point to a valid table slot. Check the scan header for valid table indices.

?

- - dn903867 - HRESULT IWICJpegFrameEncode::GetAcHuffmanTable([In] unsigned int scanIndex,[In] unsigned int tableIndex,[Out] DXGI_JPEG_AC_HUFFMAN_TABLE* pAcHuffmanTable) - IWICJpegFrameEncode::GetAcHuffmanTable -
- - -

Retrieves a copy of the DC Huffman table for the specified scan and table.

-
-

The zero-based index of the scan for which data is retrieved.

-

The index of the DC Huffman table to retrieve.

-

A reference that receives the table data. This parameter must not be null.

-

This method can return one of these values.

Return valueDescription

The operation was successful.

The specified scan index is invalid.

Can occur if pTable is null or if tableIndex does not point to a valid table slot. Check the scan header for valid table indices.

?

- - dn903870 - HRESULT IWICJpegFrameEncode::GetDcHuffmanTable([In] unsigned int scanIndex,[In] unsigned int tableIndex,[Out] DXGI_JPEG_DC_HUFFMAN_TABLE* pDcHuffmanTable) - IWICJpegFrameEncode::GetDcHuffmanTable -
- - -

Retrieves a copy of the quantization table.

-
-

The zero-based index of the scan for which data is retrieved.

-

The index of the quantization table to retrieve.

-

A reference that receives the table data. This parameter must not be null.

-

This method can return one of these values.

Return valueDescription

The operation was successful.

The specified scan index is invalid.

Can occur if pTable is null or if tableIndex does not point to a valid table slot. Check the scan header for valid table indices.

?

- - dn903873 - HRESULT IWICJpegFrameEncode::GetQuantizationTable([In] unsigned int scanIndex,[In] unsigned int tableIndex,[Out] DXGI_JPEG_QUANTIZATION_TABLE* pQuantizationTable) - IWICJpegFrameEncode::GetQuantizationTable -
- - -

Writes scan data to a JPEG frame.

-
-

The size of the data in the pbScanData parameter.

-

The scan data to write.

-

Returns on successful completion.

- -

WriteScan may be called multiple times. Each call appends the scan data specified to any previous scan data. Complete the scan by calling .

Any calls to set encoder parameters or image metadata that will appear before the scan data in the resulting JPEG file must be completed before the first call to this method. This includes calls to , , , , and . is required as it has no default value for encoded image size. -

-
- - dn903875 - HRESULT IWICJpegFrameEncode::WriteScan([In] unsigned int cbScanData,[In, Buffer] const unsigned char* pbScanData) - IWICJpegFrameEncode::WriteScan -
- - -

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.

The benefit of the query reader is the ability to access a metadata item in a single step. -

The query reader also provides the way to traverse the whole set of metadata hierarchy with the help of the GetEnumerator method. - However, it is not recommended to use this method since IWICMetadataBlockReader and IWICMetadataReader provide a more convenient and cheaper way. -

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

-
- - ee719709 - GetContainerFormat - GetContainerFormat - HRESULT IWICMetadataQueryReader::GetContainerFormat([Out] GUID* pguidContainerFormat) -
- - -

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 you pass null to wzNamespace, GetLocation ignores cchMaxLength and returns the required buffer length to store the path in the variable that pcchActualLength points to. -

If the query reader is relative to the top of the metadata hierarchy, it will return a single-char 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 hierarchy.

-
-

A reference to a variable that receives a reference to the interface for the enumerator that contains query strings that can be used in the current .

- -

The retrieved enumerator only contains query strings for the metadata blocks and items in the current level of the hierarchy. -

-
- - ee719711 - HRESULT IWICMetadataQueryReader::GetEnumerator([Out] void** ppIEnumString) - IWICMetadataQueryReader::GetEnumerator -
- - - 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) - - - - 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. - - - - -

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

Proxy function for the RemoveMetadataByName method.

-
- No documentation. -

If this function succeeds, it returns . Otherwise, it returns an error code.

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

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

Proxy function for the GetColorCount method.

-
- - ee719743 - GetColorCount - GetColorCount - HRESULT IWICPalette::GetColorCount([Out] unsigned int* pcCount) -
- - -

Retrieves a value that describes whether the palette is black and white.

-
- -

A palette is considered to be black and white only if it contains exactly two entries, one full black (0xFF000000) and one full white (0xFFFFFFF). -

-
- - ee719758 - IsBlackWhite - IsBlackWhite - HRESULT IWICPalette::IsBlackWhite([Out] BOOL* pfIsBlackWhite) -
- - -

Retrieves a value that describes whether a palette is grayscale.

-
- -

A palette is considered grayscale only if, for every entry, the alpha value is 0xFF and the red, green and blue values match. -

-
- - ee719759 - IsGrayscale - IsGrayscale - HRESULT IWICPalette::IsGrayscale([Out] BOOL* pfIsGrayscale) -
- - -

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.

- -

If a transparent color is added to a palette, the palette is no longer predefined and is returned as . For palettes with less than 256 entries, the transparent entry is added to the end of the palette (that is, a 16-color palette becomes a 17-color palette). For palettes with 256 colors, the transparent palette entry will replace the last entry in the pre-defined palette. -

-
- - ee719756 - HRESULT IWICPalette::InitializePredefined([In] WICBitmapPaletteType ePaletteType,[In] BOOL fAddTransparentColor) - IWICPalette::InitializePredefined -
- - -

Proxy function for the InitializeCustom method.

-
- No documentation. - No documentation. -

If this function succeeds, it returns . Otherwise, it returns an error code.

- - ee719751 - 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 -
- - -

Proxy function for the GetColorCount method.

-
- No documentation. -

If this function succeeds, it returns . Otherwise, it returns an error code.

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

-
-

A reference to a variable that receives a boolean value that indicates whether the palette is black and white. TRUE indicates that the palette is black and white; otherwise, .

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

A palette is considered to be black and white only if it contains exactly two entries, one full black (0xFF000000) and one full white (0xFFFFFFF). -

-
- - ee719758 - HRESULT IWICPalette::IsBlackWhite([Out] BOOL* pfIsBlackWhite) - IWICPalette::IsBlackWhite -
- - -

Retrieves a value that describes whether a palette is grayscale.

-
-

A reference to a variable that receives a boolean value that indicates whether the palette is grayscale. TRUE indicates that the palette is grayscale; otherwise .

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

A palette is considered grayscale only if, for every entry, the alpha value is 0xFF and the red, green and blue values match. -

-
- - ee719759 - HRESULT IWICPalette::IsGrayscale([Out] BOOL* pfIsGrayscale) - IWICPalette::IsGrayscale -
- - -

Proxy function for the HasAlpha method.

-
- No documentation. -

If this function succeeds, it returns . Otherwise, it returns an error code.

- - ee719749 - 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. - - Type of the color (must be 4 bytes, RGBA) - The colors. - Color type must be 4 bytes - ee719750 - HRESULT IWICPalette::InitializeCustom([In, Buffer] void* pColors,[In] unsigned int cCount) - IWICPalette::InitializeCustom - - - - 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 .

-
- - ee719774 - GetFormatGUID - GetFormatGUID - HRESULT IWICPixelFormatInfo::GetFormatGUID([Out] GUID* pFormat) -
- - -

Gets the pixel format's .

-
- -

The returned color context is the default color space for the pixel format. However, if an specifies its own color context, the source's context should be preferred over the pixel format's default. -

-
- - ee719773 - GetColorContext - GetColorContext - HRESULT IWICPixelFormatInfo::GetColorContext([Out] IWICColorContext** ppIColorContext) -
- - -

Proxy function for the GetBitsPerPixel method.

-
- - ee719768 - GetBitsPerPixel - GetBitsPerPixel - HRESULT IWICPixelFormatInfo::GetBitsPerPixel([Out] unsigned int* puiBitsPerPixel) -
- - -

Proxy function for the GetChannelCount method.

-
- - ee719770 - GetChannelCount - GetChannelCount - HRESULT IWICPixelFormatInfo::GetChannelCount([Out] unsigned int* puiChannelCount) -
- - -

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.

- -

The returned color context is the default color space for the pixel format. However, if an specifies its own color context, the source's context should be preferred over the pixel format's default. -

-
- - ee719773 - HRESULT IWICPixelFormatInfo::GetColorContext([Out] IWICColorContext** ppIColorContext) - IWICPixelFormatInfo::GetColorContext -
- - -

Proxy function for the GetBitsPerPixel method.

-
- No documentation. -

If this function succeeds, it returns . Otherwise, it returns an error code.

- - ee719768 - HRESULT IWICPixelFormatInfo::GetBitsPerPixel([Out] unsigned int* puiBitsPerPixel) - IWICPixelFormatInfo::GetBitsPerPixel -
- - -

Proxy function for the GetChannelCount method.

-
- No documentation. -

If this function succeeds, it returns . Otherwise, it returns an error code.

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

- -

If 0 and null are passed in for cbMaskBuffer and pbMaskBuffer, respectively, the required buffer size will be returned through pcbActual. -

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

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.

-
- -

An indexed pixel format will not return TRUE even though it may have some transparency support. -

-
- - ee719766 - SupportsTransparency - SupportsTransparency - HRESULT IWICPixelFormatInfo2::SupportsTransparency([Out] BOOL* pfSupportsTransparency) -
- - - No documentation. - - - ee719765 - GetNumericRepresentation - GetNumericRepresentation - HRESULT IWICPixelFormatInfo2::GetNumericRepresentation([Out] WICPixelFormatNumericRepresentation* pNumericRepresentation) - - - -

Returns whether the format supports transparent pixels.

-
-

Returns TRUE if the pixel format supports transparency; otherwise, .

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

An indexed pixel format will not return TRUE even though it may have some transparency support. -

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

Allows planar component image pixels to be written to an encoder. When supported by the encoder, this allows an application to encode planar component image data without first converting to an interleaved pixel format.

You can use QueryInterface to obtain this interface from the Windows provided implementation of for the JPEG encoder. -

-
- -

Encoding YCbCr data using is similar but not identical to encoding interleaved data using . The planar interface only exposes the ability to write planar frame image data, and you should continue to use the frame encode interface to set metadata or a thumbnail and to commit at the end of the operation. -

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

Writes lines from the source planes to the encoded format.

-
-

The number of lines to encode. See the Remarks section for WIC Jpeg specific line count restrictions.

-

Specifies the source buffers for each component plane encoded.

-

The number of component planes specified by the pPlanes parameter.

-

If the planes and source rectangle do not meet the requirements, this method fails with . If the format does not meet the encoder requirements, this method fails with .

- -

Successive WritePixels calls are assumed sequentially add scanlines to the output image. , and must be called before this method or it will fail.

The interleaved pixel format set via and the codec specific encode parameters determine the supported planar formats. -

WIC JPEG Encoder: - QueryInterface can be used to obtain this interface from the WIC JPEG implementation. When using this method to encode Y?CbCr data with the WIC JPEG encoder, chroma subsampling can be configured with encoder options during frame creation. See the Encoding Overview and for more details.

Depending upon the configured chroma subsampling, the lineCount parameter has the following restrictions: -

Chroma SubsamplingLine Count RestrictionChroma Plane WidthChroma Plane Height
4:2:0Multiple of 2, unless the call covers the last scanline of the imagelumaWidth / 2 Rounded up to the nearest integer.lumaHeight / 2 Rounded up to the nearest integer.
4:2:2AnylumaWidth / 2 Rounded up to the nearest integer.Any
4:4:4AnyAnyAny
4:4:0Multiple of 2, unless the call covers the last scanline of the imageAnyllumaHeight / 2 Rounded up to the nearest integer.

?

The full scanline width must be encoded, and the width of the bitmap sources must match their planar configuration.

Additionally, if a pixel format is set via , it must be .

The supported pixel formats of the bitmap sources passed into this method are as follows: -

Plane CountPlane 1Plane 2Plane 3
3
2N/A

?

-
- - dn302091 - HRESULT IWICPlanarBitmapFrameEncode::WritePixels([In] unsigned int lineCount,[In, Buffer] WICBitmapPlane* pPlanes,[In] unsigned int cPlanes) - IWICPlanarBitmapFrameEncode::WritePixels -
- - -

Writes lines from the source planes to the encoded format.

-
-

Specifies an array of that represent image planes.

-

The number of component planes specified by the planes parameter.

-

The source rectangle of pixels to encode from the planes. Null indicates the entire source. 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.

-

If the planes and source rectangle do not meet the requirements, this method fails with .

If the format does not meet the encoder requirements, this method fails with .

- -

Successive WriteSource calls are assumed sequentially add scanlines to the output image. , and must be called before this method or it will fail.

The interleaved pixel format set via and the codec specific encode parameters determine the supported planar formats. -

WIC JPEG Encoder: - QueryInterface can be used to obtain this interface from the WIC JPEG implementation. When using this method to encode Y?CbCr data with the WIC JPEG encoder, chroma subsampling can be configured with encoder options during frame creation. See the Encoding Overview and for more details.

Depending upon the configured chroma subsampling, the lineCount parameter has the following restrictions: -

Chroma SubsamplingX CoordinateY CoordinateChroma WidthChroma Height
4:2:0Multiple of 2Multiple of 2lumaWidth / 2 Rounded up to the nearest integer.lumaHeight / 2 Rounded up to the nearest integer.
4:2:2Multiple of 2AnylumaWidth / 2 Rounded up to the nearest integer.Any
4:4:4AnyAnyAnyAny
4:4:0AnyMultiple of 2lumaWidthllumaHeight / 2 Rounded up to the nearest integer.

?

The full scanline width must be encoded, and the width of the bitmap sources must match their planar configuration.

Additionally, if a pixel format is set via , it must be .

The supported pixel formats of the bitmap sources passed into this method are as follows: -

Plane CountPlane 1Plane 2Plane 3
3
2N/A

?

-
- - dn302092 - HRESULT IWICPlanarBitmapFrameEncode::WriteSource([In, Buffer] IWICBitmapSource** ppPlanes,[In] unsigned int cPlanes,[In, Optional] WICRect* prcSource) - IWICPlanarBitmapFrameEncode::WriteSource -
- - -

Writes lines from the source planes to the encoded format.

-
-

Specifies an array of that represent image planes.

-

The number of component planes specified by the planes parameter.

-

The source rectangle of pixels to encode from the planes. Null indicates the entire source. 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.

-

If the planes and source rectangle do not meet the requirements, this method fails with .

If the format does not meet the encoder requirements, this method fails with .

- -

Successive WriteSource calls are assumed sequentially add scanlines to the output image. , and must be called before this method or it will fail.

The interleaved pixel format set via and the codec specific encode parameters determine the supported planar formats. -

WIC JPEG Encoder: - QueryInterface can be used to obtain this interface from the WIC JPEG implementation. When using this method to encode Y?CbCr data with the WIC JPEG encoder, chroma subsampling can be configured with encoder options during frame creation. See the Encoding Overview and for more details.

Depending upon the configured chroma subsampling, the lineCount parameter has the following restrictions: -

Chroma SubsamplingX CoordinateY CoordinateChroma WidthChroma Height
4:2:0Multiple of 2Multiple of 2lumaWidth / 2 Rounded up to the nearest integer.lumaHeight / 2 Rounded up to the nearest integer.
4:2:2Multiple of 2AnylumaWidth / 2 Rounded up to the nearest integer.Any
4:4:4AnyAnyAnyAny
4:4:0AnyMultiple of 2lumaWidthllumaHeight / 2 Rounded up to the nearest integer.

?

The full scanline width must be encoded, and the width of the bitmap sources must match their planar configuration.

Additionally, if a pixel format is set via , it must be .

The supported pixel formats of the bitmap sources passed into this method are as follows: -

Plane CountPlane 1Plane 2Plane 3
3
2N/A

?

-
- - dn302092 - HRESULT IWICPlanarBitmapFrameEncode::WriteSource([In, Buffer] IWICBitmapSource** ppPlanes,[In] unsigned int cPlanes,[In, Optional] WICRect* prcSource) - IWICPlanarBitmapFrameEncode::WriteSource -
- - -

Writes lines from the source planes to the encoded format.

-
-

Specifies an array of that represent image planes.

-

The number of component planes specified by the planes parameter.

-

The source rectangle of pixels to encode from the planes. Null indicates the entire source. 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.

-

If the planes and source rectangle do not meet the requirements, this method fails with .

If the format does not meet the encoder requirements, this method fails with .

- -

Successive WriteSource calls are assumed sequentially add scanlines to the output image. , and must be called before this method or it will fail.

The interleaved pixel format set via and the codec specific encode parameters determine the supported planar formats. -

WIC JPEG Encoder: - QueryInterface can be used to obtain this interface from the WIC JPEG implementation. When using this method to encode Y?CbCr data with the WIC JPEG encoder, chroma subsampling can be configured with encoder options during frame creation. See the Encoding Overview and for more details.

Depending upon the configured chroma subsampling, the lineCount parameter has the following restrictions: -

Chroma SubsamplingX CoordinateY CoordinateChroma WidthChroma Height
4:2:0Multiple of 2Multiple of 2lumaWidth / 2 Rounded up to the nearest integer.lumaHeight / 2 Rounded up to the nearest integer.
4:2:2Multiple of 2AnylumaWidth / 2 Rounded up to the nearest integer.Any
4:4:4AnyAnyAnyAny
4:4:0AnyMultiple of 2lumaWidthllumaHeight / 2 Rounded up to the nearest integer.

?

The full scanline width must be encoded, and the width of the bitmap sources must match their planar configuration.

Additionally, if a pixel format is set via , it must be .

The supported pixel formats of the bitmap sources passed into this method are as follows: -

Plane CountPlane 1Plane 2Plane 3
3
2N/A

?

-
- - dn302092 - HRESULT IWICPlanarBitmapFrameEncode::WriteSource([In, Buffer] IWICBitmapSource** ppPlanes,[In] unsigned int cPlanes,[In, Optional] WICRect* prcSource) - IWICPlanarBitmapFrameEncode::WriteSource -
- - -

Provides access to planar Y?CbCr pixel formats where pixel components are stored in separate component planes. This interface also allows access to other codec optimizations for flip/rotate, scale, and format conversion to other Y?CbCr planar formats; this is similar to the pre-existing interface.

QueryInterface can be used to obtain this interface from the Windows provided implementations of for the JPEG decoder, , , and .

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

Use this method to determine if a desired planar output is supported and allow the caller to choose an optimized code path if it is. Otherwise, callers should fall back to or and retrieve interleaved pixels.

The following transforms can be checked:

  • Determine if the flip/rotate option specified via is supported.
  • Determine if the requested planar pixel format configuration is supported.
  • Determine the closest dimensions the implementation can natively scale to given the desired dimensions. -

When a transform is supported, this method returns the description of the resulting planes in the pPlaneDescriptions parameter. -

-
- No documentation. - No documentation. - No documentation. - No documentation. - No documentation. - No documentation. - No documentation. - No documentation. -

Check the value of pfIsSupported to determine if the transform is supported via . If this method fails, the output parameters for width, height, and plane descriptions are zero initialized.Other return values indicate failure.

- - dn302095 - HRESULT IWICPlanarBitmapSourceTransform::DoesSupportTransform([InOut] unsigned int* puiWidth,[InOut] unsigned int* puiHeight,[In] WICBitmapTransformOptions dstTransform,[In] WICPlanarOptions dstPlanarOptions,[In, Buffer] const GUID* pguidDstFormats,[Out, Buffer] WICBitmapPlaneDescription* pPlaneDescriptions,[In] unsigned int cPlanes,[Out] BOOL* pfIsSupported) - IWICPlanarBitmapSourceTransform::DoesSupportTransform -
- - -

Copies pixels into the destination planes. Configured by the supplied input parameters.

If a dstTransform, scale, or format conversion is specified, cbStride is the transformed stride and is based on the destination pixel format of the pDstPlanes parameter, not the original source's pixel format.

-
-

The source rectangle of pixels to copy.

-

The width to scale the source bitmap. This parameter must be equal to a value obtainable through IWICPlanarBitmapSourceTransform:: DoesSupportTransform.

-

The height to scale the source bitmap. This parameter must be equal to a value obtainable through IWICPlanarBitmapSourceTransform:: DoesSupportTransform.

-

The desired rotation or flip to perform prior to the pixel copy. A rotate can be combined with a flip horizontal or a flip vertical, see .

-

Used to specify additional configuration options for the transform. See for more detail.

WIC JPEG Decoder: can be specified to retain the subsampling ratios when downscaling. By default, the JPEG decoder attempts to preserve quality by downscaling only the Y plane in some cases, changing the image to 4:4:4 chroma subsampling.

-

Specifies the pixel format and output buffer for each component plane. The number of planes and pixel format of each plane must match values obtainable through .

-

The number of component planes specified by the pDstPlanes parameter.

-

If the specified scale, flip/rotate, and planar format configuration is not supported this method fails with . You can check if a transform is supported by calling .

- -

WIC JPEG Decoder: - Depending on the configured chroma subsampling of the image, the source rectangle has the following restrictions: -

Chroma SubsamplingX CoordinateY CoordinateChroma WidthChroma Height
4:2:0Multiple of 2Multiple of 2lumaWidth / 2 Rounded up to the nearest integer.lumaHeight / 2 Rounded up to the nearest integer.
4:2:2Multiple of 2AnylumaWidth / 2 Rounded up to the nearest integer.lumaHeight
4:4:4AnyAnyllumaWidthllumaHeight
4:4:0AnyMultiple of 2lumaWidthllumaHeight / 2 Rounded up to the nearest integer.

?

The pDstPlanes parameter supports the following pixel formats.

Plane CountPlane 1Plane 2Plane 3
3
2N/A

?

-
- - dn302094 - HRESULT IWICPlanarBitmapSourceTransform::CopyPixels([In, Optional] const WICRect* prcSource,[In] unsigned int uiWidth,[In] unsigned int uiHeight,[In] WICBitmapTransformOptions dstTransform,[In] WICPlanarOptions dstPlanarOptions,[In, Buffer] const WICBitmapPlane* pDstPlanes,[In] unsigned int cPlanes) - IWICPlanarBitmapSourceTransform::CopyPixels -
- - -

Allows a format converter to be initialized with a planar source. You can use QueryInterface to obtain this interface from the Windows provided implementation of .

-
- - dn302096 - IWICPlanarFormatConverter - IWICPlanarFormatConverter -
- - - Initializes a new instance of the 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 format converter with a planar source, and specifies the interleaved output pixel format.

-
-

An array of that represents image planes.

-

The number of component planes specified by the planes parameter.

-

The destination interleaved 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.

- - dn302098 - HRESULT IWICPlanarFormatConverter::Initialize([In, Buffer] IWICBitmapSource** ppPlanes,[In] unsigned int cPlanes,[In] const GUID& dstFormat,[In] WICBitmapDitherType dither,[In, Optional] IWICPalette* pIPalette,[In] double alphaThresholdPercent,[In] WICBitmapPaletteType paletteTranslate) - IWICPlanarFormatConverter::Initialize -
- - -

Initializes a format converter with a planar source, and specifies the interleaved output pixel format.

-
-

An array of that represents image planes.

-

The number of component planes specified by the planes parameter.

-

The destination interleaved 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.

- - dn302098 - HRESULT IWICPlanarFormatConverter::Initialize([In, Buffer] IWICBitmapSource** ppPlanes,[In] unsigned int cPlanes,[In] const GUID& dstFormat,[In] WICBitmapDitherType dither,[In, Optional] IWICPalette* pIPalette,[In] double alphaThresholdPercent,[In] WICBitmapPaletteType paletteTranslate) - IWICPlanarFormatConverter::Initialize -
- - -

Initializes a format converter with a planar source, and specifies the interleaved output pixel format.

-
-

An array of that represents image planes.

-

The number of component planes specified by the planes parameter.

-

The destination interleaved 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.

- - dn302098 - HRESULT IWICPlanarFormatConverter::Initialize([In, Buffer] IWICBitmapSource** ppPlanes,[In] unsigned int cPlanes,[In] const GUID& dstFormat,[In] WICBitmapDitherType dither,[In, Optional] IWICPalette* pIPalette,[In] double alphaThresholdPercent,[In] WICBitmapPaletteType paletteTranslate) - IWICPlanarFormatConverter::Initialize -
- - -

Query if the format converter can convert from one format to another.

-
-

An array of WIC pixel formats that represents source image planes.

-

The number of source pixel formats specified by the pSrcFormats parameter.

-

The destination interleaved pixel format.

-

True if the conversion is supported.

-

If the conversion is not supported, this method returns , but *pfCanConvert is set to .

If this method fails, the out parameter pfCanConvert is invalid.

- -

To specify an interleaved input pixel format, provide a length 1 array to pSrcPixelFormats.

-
- - dn302097 - HRESULT IWICPlanarFormatConverter::CanConvert([In, Buffer] const GUID* pSrcPixelFormats,[In] unsigned int cSrcPlanes,[In] const GUID& dstPixelFormat,[Out] BOOL* pfCanConvert) - IWICPlanarFormatConverter::CanConvert -
- - -

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. Progressive images automatically start at the highest (best quality) progressive level. The caller must manually set the decoder to a lower progressive level.

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.

-
- -

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 decoder's current progressive level.

-
- -

The level always defaults to the highest progressive level. In order to decode a lower progressive level, SetCurrentLevel must first be called.

-
- - ee719779 - GetCurrentLevel / SetCurrentLevel - GetCurrentLevel - HRESULT IWICProgressiveLevelControl::GetCurrentLevel([Out] unsigned int* pnLevel) -
- - -

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 decoder's current progressive level.

-
-

Indicates the current level specified.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

The level always defaults to the highest progressive level. In order to decode a lower progressive level, SetCurrentLevel must first be called.

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

If the requested level is invalid, the error returned is .

-
- - ee719781 - HRESULT IWICProgressiveLevelControl::SetCurrentLevel([In] unsigned int nLevel) - IWICProgressiveLevelControl::SetCurrentLevel -
- - -

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

Specifies the pixel format, buffer, stride and size of a component plane for a planar pixel format.

-
- - dn302099 - WICBitmapPlane - WICBitmapPlane -
- - -

Describes the pixel format of the plane.

-
- - dn302099 - GUID Format - GUID Format -
- - -

Pointer to the buffer that holds the plane?s pixel components.

-
- - dn302099 - unsigned char* pbBuffer - unsigned char pbBuffer -
- - -

The stride of the buffer ponted to by pbData. Stride indicates the total number of bytes to go from the beginning of one scanline to the beginning of the next scanline.

-
- - dn302099 - unsigned int cbStride - unsigned int cbStride -
- - -

The total size of the buffer pointed to by pbBuffer.

-
- - dn302099 - unsigned int cbBufferSize - unsigned int cbBufferSize -
- - -

Specifies the pixel format and size of a component plane.

-
- - dn302100 - WICBitmapPlaneDescription - WICBitmapPlaneDescription -
- - -

Describes the pixel format of the plane.

-
- - dn302100 - GUID Format - GUID Format -
- - -

Component width of the plane.

-
- - dn302100 - unsigned int Width - unsigned int Width -
- - -

Component height of the plane.

-
- - dn302100 - unsigned int Height - unsigned int Height -
- - -

Specifies the and block information of a DDS format.

-
- - dn302103 - WICDdsFormatInfo - WICDdsFormatInfo -
- - - No documentation. - - - dn302103 - DXGI_FORMAT DxgiFormat - DXGI_FORMAT DxgiFormat - - - - No documentation. - - - dn302103 - unsigned int BytesPerBlock - unsigned int BytesPerBlock - - - - No documentation. - - - dn302103 - unsigned int BlockWidth - unsigned int BlockWidth - - - - No documentation. - - - dn302103 - unsigned int BlockHeight - unsigned int BlockHeight - - - -

Specifies the DDS image dimension, and alpha mode of contained data.

-
- - dn302104 - WICDdsParameters - WICDdsParameters -
- - - No documentation. - - - dn302104 - unsigned int Width - unsigned int Width - - - - No documentation. - - - dn302104 - unsigned int Height - unsigned int Height - - - - No documentation. - - - dn302104 - unsigned int Depth - unsigned int Depth - - - - No documentation. - - - dn302104 - unsigned int MipLevels - unsigned int MipLevels - - - - No documentation. - - - dn302104 - unsigned int ArraySize - unsigned int ArraySize - - - - No documentation. - - - dn302104 - DXGI_FORMAT DxgiFormat - DXGI_FORMAT DxgiFormat - - - - No documentation. - - - dn302104 - WICDdsDimension Dimension - WICDdsDimension Dimension - - - - No documentation. - - - dn302104 - WICDdsAlphaMode AlphaMode - WICDdsAlphaMode AlphaMode - - - -

This defines parameters that you can use to override the default parameters normally used when encoding an image.

-
- -

If this parameter is not passed to the encoding API, the encoder uses these settings.

  • A pixel format of (, ).
  • An x and y DPI of 96.
  • The entire image bounds will be used for encoding.
Note??The parameters as specified can't result in a scale. The encoder can use a larger portion of the input image based on the passed in DPI and the pixel width and height.? -
- - jj125331 - WICImageParameters - WICImageParameters -
- - -

The pixel format to which the image is processed before it is written to the encoder.

-
- - jj125331 - D2D1_PIXEL_FORMAT PixelFormat - D2D1_PIXEL_FORMAT PixelFormat -
- - -

The DPI in the x dimension.

-
- - jj125331 - float DpiX - float DpiX -
- - -

The DPI in the y dimension.

-
- - jj125331 - float DpiY - float DpiY -
- - -

The top corner in pixels of the image space to be encoded to the destination.

-
- - jj125331 - float Top - float Top -
- - -

The left corner in pixels of the image space to be encoded to the destination.

-
- - jj125331 - float Left - float Left -
- - -

The width in pixels of the part of the image to write.

-
- - jj125331 - unsigned int PixelWidth - unsigned int PixelWidth -
- - -

The height in pixels of the part of the image to write.

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

Represents a JPEG frame header.

-
- -

Get the frame header for an image by calling .

-
- - dn903878 - WICJpegFrameHeader - WICJpegFrameHeader -
- - -

The width of the JPEG frame.

-
- - dn903878 - unsigned int Width - unsigned int Width -
- - -

The height of the JPEG frame.

-
- - dn903878 - unsigned int Height - unsigned int Height -
- - -

The transfer matrix of the JPEG frame.

-
- - dn903878 - WICJpegTransferMatrix TransferMatrix - WICJpegTransferMatrix TransferMatrix -
- - -

The scan type of the JPEG frame.

-
- - dn903878 - WICJpegScanType ScanType - WICJpegScanType ScanType -
- - -

The number of components in the frame.

-
- - dn903878 - unsigned int cComponents - unsigned int cComponents -
- - -

The component identifiers.

-
- - dn903878 - unsigned int ComponentIdentifiers - unsigned int ComponentIdentifiers -
- - -

The sample factors. Use one of the following constants, described in Constants.

  • WIC_JPEG_SAMPLE_FACTORS_ONE
  • WIC_JPEG_SAMPLE_FACTORS_THREE_420
  • WIC_JPEG_SAMPLE_FACTORS_THREE_422
  • WIC_JPEG_SAMPLE_FACTORS_THREE_440
  • WIC_JPEG_SAMPLE_FACTORS_THREE_444
-
- - dn903878 - unsigned int SampleFactors - unsigned int SampleFactors -
- - -

The format of the quantization table indices. Use one of the following constants, described in Constants.

  • WIC_JPEG_QUANTIZATION_BASELINE_ONE
  • WIC_JPEG_QUANTIZATION_BASELINE_THREE
-
- - dn903878 - unsigned int QuantizationTableIndices - unsigned int QuantizationTableIndices -
- - -

Represents a JPEG frame header.

-
- -

Get the scan header for an image by calling .

-
- - dn903883 - WICJpegScanHeader - WICJpegScanHeader -
- - -

The number of components in the scan.

-
- - dn903883 - unsigned int cComponents - unsigned int cComponents -
- - -

The interval of reset markers within the scan.

-
- - dn903883 - unsigned int RestartInterval - unsigned int RestartInterval -
- - -

The component identifiers.

-
- - dn903883 - unsigned int ComponentSelectors - unsigned int ComponentSelectors -
- - -

The format of the quantization table indices. Use one of the following constants, described in Constants.

  • WIC_JPEG_HUFFMAN_BASELINE_ONE
  • WIC_JPEG_HUFFMAN_BASELINE_THREE
-
- - dn903883 - unsigned int HuffmanTableIndices - unsigned int HuffmanTableIndices -
- - -

The start of the spectral selection.

-
- - dn903883 - unsigned char StartSpectralSelection - unsigned char StartSpectralSelection -
- - -

The end of the spectral selection.

-
- - dn903883 - unsigned char EndSpectralSelection - unsigned char EndSpectralSelection -
- - -

The successive approximation high.

-
- - dn903883 - unsigned char SuccessiveApproximationHigh - unsigned char SuccessiveApproximationHigh -
- - -

The successive approximation low.

-
- - dn903883 - unsigned char SuccessiveApproximationLow - unsigned char SuccessiveApproximationLow -
- - -

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 -
- - - 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/Tractor_VS/Game1/bin/Windows/x86/Debug/SharpDX.Direct3D11.dll b/Tractor_VS/Game1/bin/Windows/x86/Debug/SharpDX.Direct3D11.dll deleted file mode 100644 index c8f70be..0000000 Binary files a/Tractor_VS/Game1/bin/Windows/x86/Debug/SharpDX.Direct3D11.dll and /dev/null differ diff --git a/Tractor_VS/Game1/bin/Windows/x86/Debug/SharpDX.Direct3D11.xml b/Tractor_VS/Game1/bin/Windows/x86/Debug/SharpDX.Direct3D11.xml deleted file mode 100644 index 6c451c3..0000000 --- a/Tractor_VS/Game1/bin/Windows/x86/Debug/SharpDX.Direct3D11.xml +++ /dev/null @@ -1,37725 +0,0 @@ - - - - SharpDX.Direct3D11 - - - - - The assembly provides managed Direct3D11 API. - - ff476080 - Direct3D11 - Direct3D11 - - - -

The blend-state interface holds a description for blending state that you can bind to the output-merger stage.

-
- -

Blending applies a simple function to combine output values from a pixel shader with data in a render target. You have control over how the pixels are blended by using a predefined set of blending operations and preblending operations.

To create a blend-state object, call . To bind the blend-state object to the output-merger stage, call .

-
- - ff476349 - ID3D11BlendState - ID3D11BlendState -
- - - Constructs a new based on the specified description. - - The device with which to associate the state object. - The state description. - The newly created 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. - - - - -

Gets the description for blending state that you used to create the blend-state object.

-
- -

You use the description for blending state in a call to the method to create the blend-state object.

-
- - ff476350 - GetDesc - GetDesc - void ID3D11BlendState::GetDesc([Out] D3D11_BLEND_DESC* pDesc) -
- - -

Gets the description for blending state that you used to create the blend-state object.

-
-

A reference to a structure that receives a description of the blend state.

- -

You use the description for blending state in a call to the method to create the blend-state object.

-
- - ff476350 - void ID3D11BlendState::GetDesc([Out] D3D11_BLEND_DESC* pDesc) - ID3D11BlendState::GetDesc -
- - -

The blend-state interface holds a description for blending state that you can bind to the output-merger stage. This blend-state interface supports logical operations as well as blending operations.

-
- -

Blending applies a simple function to combine output values from a pixel shader with data in a render target. You have control over how the pixels are blended by using a predefined set of blending operations and preblending operations.

To create a blend-state object, call . To bind the blend-state object to the output-merger stage, call .

-
- - hh404571 - ID3D11BlendState1 - ID3D11BlendState1 -
- - - Constructs a new based on the specified description. - - The device with which to associate the state object. - The state description. - The newly created 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. - - - - -

Gets the description for blending state that you used to create the blend-state object.

-
- -

You use the description for blending state in a call to the method to create the blend-state object.

-
- - hh404573 - GetDesc1 - GetDesc1 - void ID3D11BlendState1::GetDesc1([Out] D3D11_BLEND_DESC1* pDesc) -
- - -

Gets the description for blending state that you used to create the blend-state object.

-
-

A reference to a structure that receives a description of the blend state. This blend state can specify logical operations as well as blending operations.

- -

You use the description for blending state in a call to the method to create the blend-state object.

-
- - hh404573 - void ID3D11BlendState1::GetDesc1([Out] D3D11_BLEND_DESC1* pDesc) - ID3D11BlendState1::GetDesc1 -
- - -

Describes the blend state that you use in a call to to create a blend-state object.

-
- -

Here are the default values for blend state.

StateDefault Value
AlphaToCoverageEnable
IndependentBlendEnable
RenderTarget[0].BlendEnable
RenderTarget[0].SrcBlend
RenderTarget[0].DestBlend
RenderTarget[0].BlendOp
RenderTarget[0].SrcBlendAlpha
RenderTarget[0].DestBlendAlpha
RenderTarget[0].BlendOpAlpha
RenderTarget[0].RenderTargetWriteMask

?

Note?? is identical to D3D10_BLEND_DESC1.?

If the driver type is set to , the feature level is set to less than or equal to , and the pixel format of the render target is set to , , or , the display device performs the blend in standard RGB (sRGB) space and not in linear space. However, if the feature level is set to greater than , the display device performs the blend in linear space, which is ideal.

-
- - ff476087 - D3D11_BLEND_DESC - D3D11_BLEND_DESC -
- - - Returns default values for . - - - See MSDN documentation for default values. - - - - - Clones this instance. - - A copy of this instance. - - Because this structure contains an array, it is not possible to modify it without making an explicit clone method. - - - - - No documentation. - - - ff476087 - BOOL AlphaToCoverageEnable - BOOL AlphaToCoverageEnable - - - - No documentation. - - - ff476087 - BOOL IndependentBlendEnable - BOOL IndependentBlendEnable - - - - No documentation. - - - ff476087 - D3D11_RENDER_TARGET_BLEND_DESC RenderTarget[8] - D3D11_RENDER_TARGET_BLEND_DESC RenderTarget - - - - Note?? This structure is supported by the Direct3D 11.1 runtime, which is available on Windows?8 and later operating systems.?

Describes the blend state that you use in a call to to create a blend-state object.

-
- -

Here are the default values for blend state.

StateDefault Value
AlphaToCoverageEnable
IndependentBlendEnable
RenderTarget[0].BlendEnable
RenderTarget[0].LogicOpEnable
RenderTarget[0].SrcBlend
RenderTarget[0].DestBlend
RenderTarget[0].BlendOp
RenderTarget[0].SrcBlendAlpha
RenderTarget[0].DestBlendAlpha
RenderTarget[0].BlendOpAlpha
RenderTarget[0].LogicOp
RenderTarget[0].RenderTargetWriteMask

?

If the driver type is set to , the feature level is set to less than or equal to , and the pixel format of the render target is set to , , or , the display device performs the blend in standard RGB (sRGB) space and not in linear space. However, if the feature level is set to greater than , the display device performs the blend in linear space, which is ideal.

When you set the LogicOpEnable member of the first element of the RenderTarget array (RenderTarget[0]) to TRUE, you must also set the BlendEnable member of RenderTarget[0] to , and the IndependentBlendEnable member of this to . This reflects the limitation in hardware that you can't mix logic operations with blending across multiple render targets, and that when you use a logic operation, you must apply the same logic operation to all render targets.

-
- - hh404435 - D3D11_BLEND_DESC1 - D3D11_BLEND_DESC1 -
- - - Returns default values for . - - - See MSDN documentation for default values. - - - - - Clones this instance. - - A copy of this instance. - - Because this structure contains an array, it is not possible to modify it without making an explicit clone method. - - - - - No documentation. - - - hh404435 - BOOL AlphaToCoverageEnable - BOOL AlphaToCoverageEnable - - - - No documentation. - - - hh404435 - BOOL IndependentBlendEnable - BOOL IndependentBlendEnable - - - - No documentation. - - - hh404435 - D3D11_RENDER_TARGET_BLEND_DESC1 RenderTarget[8] - D3D11_RENDER_TARGET_BLEND_DESC1 RenderTarget - - - -

A buffer interface accesses a buffer resource, which is unstructured memory. Buffers typically store vertex or index data.

-
- -

There are three types of buffers: vertex, index, or a shader-constant buffer. Create a buffer resource by calling .

A buffer must be bound to the pipeline before it can be accessed. Buffers can be bound to the input-assembler stage by calls to and , to the stream-output stage by a call to , and to a shader stage by calling the appropriate shader method (such as for example).

Buffers can be bound to multiple pipeline stages simultaneously for reading. A buffer can also be bound to a single pipeline stage for writing; however, the same buffer cannot be bound for reading and writing simultaneously.

-
- - ff476351 - ID3D11Buffer - ID3D11Buffer -
- - - Initializes a new instance of the class. - - The device with which to associate the buffer. - The description of the buffer. - ff476501 - HRESULT ID3D11Device::CreateBuffer([In] const D3D11_BUFFER_DESC* pDesc,[In, Optional] const D3D11_SUBRESOURCE_DATA* pInitialData,[Out, Fast] ID3D11Buffer** ppBuffer) - ID3D11Device::CreateBuffer - - - - Initializes a new instance of the class. - - The device with which to associate the buffer. - Initial data used to initialize the buffer. - The description of the buffer. - ff476501 - HRESULT ID3D11Device::CreateBuffer([In] const D3D11_BUFFER_DESC* pDesc,[In, Optional] const D3D11_SUBRESOURCE_DATA* pInitialData,[Out, Fast] ID3D11Buffer** ppBuffer) - ID3D11Device::CreateBuffer - - - - Initializes a new instance of the class. - - The device with which to associate the buffer. - The data pointer. - The description of the buffer. - ff476501 - HRESULT ID3D11Device::CreateBuffer([In] const D3D11_BUFFER_DESC* pDesc,[In, Optional] const D3D11_SUBRESOURCE_DATA* pInitialData,[Out, Fast] ID3D11Buffer** ppBuffer) - ID3D11Device::CreateBuffer - - - - Initializes a new instance of the class. - - The device with which to associate the buffer. - The size, in bytes, of the buffer. - The usage pattern for the buffer. - Flags specifying how the buffer will be bound to the pipeline. - Flags specifying how the buffer will be accessible from the CPU. - Miscellaneous resource options. - The size (in bytes) of the structure element for structured buffers. - ff476501 - HRESULT ID3D11Device::CreateBuffer([In] const D3D11_BUFFER_DESC* pDesc,[In, Optional] const D3D11_SUBRESOURCE_DATA* pInitialData,[Out, Fast] ID3D11Buffer** ppBuffer) - ID3D11Device::CreateBuffer - - - - Initializes a new instance of the class. - - The device with which to associate the buffer. - Initial data used to initialize the buffer. - The size, in bytes, of the buffer. - The usage pattern for the buffer. - Flags specifying how the buffer will be bound to the pipeline. - Flags specifying how the buffer will be accessible from the CPU. - Miscellaneous resource options. - The size (in bytes) of the structure element for structured buffers. - ff476501 - HRESULT ID3D11Device::CreateBuffer([In] const D3D11_BUFFER_DESC* pDesc,[In, Optional] const D3D11_SUBRESOURCE_DATA* pInitialData,[Out, Fast] ID3D11Buffer** ppBuffer) - ID3D11Device::CreateBuffer - - - - Creates a new instance of the class. - - Type of the data to upload - The device with which to associate the buffer. - Flags specifying how the buffer will be bound to the pipeline. - Initial data used to initialize the buffer. - The size, in bytes, of the buffer. If 0 is specified, sizeof(T) is used. - The usage pattern for the buffer. - Flags specifying how the buffer will be accessible from the CPU. - Miscellaneous resource options. - The size (in bytes) of the structure element for structured buffers. - An initialized buffer - ff476501 - HRESULT ID3D11Device::CreateBuffer([In] const D3D11_BUFFER_DESC* pDesc,[In, Optional] const D3D11_SUBRESOURCE_DATA* pInitialData,[Out, Fast] ID3D11Buffer** ppBuffer) - ID3D11Device::CreateBuffer - - - - Creates a new instance of the class. - - Type of the data to upload - The device with which to associate the buffer. - Flags specifying how the buffer will be bound to the pipeline. - Initial data used to initialize the buffer. - The size, in bytes, of the buffer. If 0 is specified, sizeof(T) * data.Length is used. - The usage pattern for the buffer. - Flags specifying how the buffer will be accessible from the CPU. - Miscellaneous resource options. - The size (in bytes) of the structure element for structured buffers. - An initialized buffer - ff476501 - HRESULT ID3D11Device::CreateBuffer([In] const D3D11_BUFFER_DESC* pDesc,[In, Optional] const D3D11_SUBRESOURCE_DATA* pInitialData,[Out, Fast] ID3D11Buffer** ppBuffer) - ID3D11Device::CreateBuffer - - - - Creates a new instance of the class. - - Type of the data to upload - The device with which to associate the buffer. - Initial data used to initialize the buffer. - The description. - - An initialized buffer - - - If the is at 0, sizeof(T) is used. - - ff476501 - HRESULT ID3D11Device::CreateBuffer([In] const D3D11_BUFFER_DESC* pDesc,[In, Optional] const D3D11_SUBRESOURCE_DATA* pInitialData,[Out, Fast] ID3D11Buffer** ppBuffer) - ID3D11Device::CreateBuffer - - - - Creates a new instance of the class. - - Type of the data to upload - The device with which to associate the buffer. - Initial data used to initialize the buffer. - The description. - - An initialized buffer - - - If the is at 0, sizeof(T) * data.Length is used. - - ff476501 - HRESULT ID3D11Device::CreateBuffer([In] const D3D11_BUFFER_DESC* pDesc,[In, Optional] const D3D11_SUBRESOURCE_DATA* pInitialData,[Out, Fast] ID3D11Buffer** ppBuffer) - ID3D11Device::CreateBuffer - - - - Initializes a new instance of the 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 the properties of a buffer resource.

-
- - ff476352 - GetDesc - GetDesc - void ID3D11Buffer::GetDesc([Out] D3D11_BUFFER_DESC* pDesc) -
- - -

Get the properties of a buffer resource.

-
-

Pointer to a resource description (see ) filled in by the method.

- - ff476352 - void ID3D11Buffer::GetDesc([Out] D3D11_BUFFER_DESC* pDesc) - ID3D11Buffer::GetDesc -
- - -

Describes a buffer resource.

-
- -

This structure is used by to create buffer resources.

In addition to this structure, you can also use the CD3D11_BUFFER_DESC derived structure, which is defined in D3D11.h and behaves like an inherited class, to help create a buffer description.

If the bind flag is , you must set the ByteWidth value in multiples of 16, and less than or equal to D3D11_REQ_CONSTANT_BUFFER_ELEMENT_COUNT.

-
- - ff476092 - D3D11_BUFFER_DESC - D3D11_BUFFER_DESC -
- - - Initializes a new instance of the struct. - - The size in bytes. - The usage. - The bind flags. - The CPU access flags. - The option flags. - The structure byte stride. - - - - Initializes a new instance of the struct. - - The size in bytes. - The bind flags. - The usage. - - - -

Size of the buffer in bytes.

-
- - ff476092 - unsigned int ByteWidth - unsigned int ByteWidth -
- - -

Identify how the buffer is expected to be read from and written to. Frequency of update is a key factor. The most common value is typically ; see for all possible values.

-
- - ff476092 - D3D11_USAGE Usage - D3D11_USAGE Usage -
- - -

Identify how the buffer will be bound to the pipeline. Flags (see ) can be combined with a logical OR.

-
- - ff476092 - D3D11_BIND_FLAG BindFlags - D3D11_BIND_FLAG BindFlags -
- - -

CPU access flags (see ) or 0 if no CPU access is necessary. Flags can be combined with a logical OR.

-
- - ff476092 - D3D11_CPU_ACCESS_FLAG CPUAccessFlags - D3D11_CPU_ACCESS_FLAG CPUAccessFlags -
- - -

Miscellaneous flags (see ) or 0 if unused. Flags can be combined with a logical OR.

-
- - ff476092 - D3D11_RESOURCE_MISC_FLAG MiscFlags - D3D11_RESOURCE_MISC_FLAG MiscFlags -
- - -

The size of each element in the buffer structure (in bytes) when the buffer represents a structured buffer. For more info about structured buffers, see Structured Buffer.

The size value in StructureByteStride must match the size of the format that you use for views of the buffer. For example, if you use a shader resource view (SRV) to read a buffer in a pixel shader, the SRV format size must match the size value in StructureByteStride.

-
- - ff476092 - unsigned int StructureByteStride - unsigned int StructureByteStride -
- - -

This interface encapsulates an HLSL class.

-
- -

This interface is created by calling . The interface is used when binding shader resources to the pipeline using APIs such as .

-
- - ff476353 - ID3D11ClassInstance - ID3D11ClassInstance -
- - - Initializes a class-instance object that represents an HLSL class instance. - - - Instances can be created (or gotten) before or after a shader is created. Use the same shader linkage object to acquire a class instance and create the shader the instance is going to be used in. For more information about using the interface, see {{Dynamic Linking}}. - - An instance of . - The type name of a class to initialize. - Identifies the constant buffer that contains the class data. - The four-component vector offset from the start of the constant buffer where the class data will begin. Consequently, this is not a byte offset. - The texture slot for the first texture; there may be multiple textures following the offset. - The sampler slot for the first sampler; there may be multiple samplers following the offset. - Returns S_OK if successful; otherwise, returns one of the following {{Direct3D 11 Return Codes}}. - HRESULT ID3D11ClassLinkage::CreateClassInstance([In] const char* pClassTypeName,[In] int ConstantBufferOffset,[In] int ConstantVectorOffset,[In] int TextureOffset,[In] int SamplerOffset,[Out] ID3D11ClassInstance** ppInstance) - - - - Gets the instance name of the current HLSL class. - - - GetInstanceName will return a valid name only for instances acquired using .For more information about using the interface, see {{Dynamic Linking}}. - - The instance name of the current HLSL class. - void GetInstanceName([Out, Buffer, Optional] LPSTR pInstanceName,[InOut] SIZE_T* pBufferLength) - - - - Gets the type of the current HLSL class. - - - GetTypeName will return a valid name only for instances acquired using .For more information about using the interface, see {{Dynamic Linking}}. - - Type of the current HLSL class. - void GetTypeName([Out, Buffer, Optional] LPSTR pTypeName,[InOut] SIZE_T* pBufferLength) - - - - Initializes a new instance of the 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 object associated with the current HLSL class.

-
- -

For more information about using the interface, see Dynamic Linking.

Windows?Phone?8: This API is supported.

-
- - ff476354 - GetClassLinkage - GetClassLinkage - void ID3D11ClassInstance::GetClassLinkage([Out] ID3D11ClassLinkage** ppLinkage) -
- - -

Gets a description of the current HLSL class.

-
- -

For more information about using the interface, see Dynamic Linking.

An instance is not restricted to being used for a single type in a single shader. An instance is flexible and can be used for any shader that used the same type name or instance name when the instance was generated.

  • A created instance will work for any shader that contains a type of the same type name. For instance, a class instance created with the type name DefaultShader would work in any shader that contained a type DefaultShader even though several shaders could describe a different type.
  • A gotten instance maps directly to an instance name/index in a shader. A class instance aquired using GetClassInstance will work for any shader that contains a class instance of the name used to generate the runtime instance, the instance does not have to be the same type in all of the shaders it's used in.

An instance does not replace the importance of reflection for a particular shader since a gotten instance will not know its slot location and a created instance only specifies a type name.

Windows?Phone?8: This API is supported.

-
- - ff476355 - GetDesc - GetDesc - void ID3D11ClassInstance::GetDesc([Out] D3D11_CLASS_INSTANCE_DESC* pDesc) -
- - -

Gets the object associated with the current HLSL class.

-
- No documentation. - -

For more information about using the interface, see Dynamic Linking.

Windows?Phone?8: This API is supported.

-
- - ff476354 - void ID3D11ClassInstance::GetClassLinkage([Out] ID3D11ClassLinkage** ppLinkage) - ID3D11ClassInstance::GetClassLinkage -
- - -

Gets a description of the current HLSL class.

-
-

A reference to a structure that describes the current HLSL class.

- -

For more information about using the interface, see Dynamic Linking.

An instance is not restricted to being used for a single type in a single shader. An instance is flexible and can be used for any shader that used the same type name or instance name when the instance was generated.

  • A created instance will work for any shader that contains a type of the same type name. For instance, a class instance created with the type name DefaultShader would work in any shader that contained a type DefaultShader even though several shaders could describe a different type.
  • A gotten instance maps directly to an instance name/index in a shader. A class instance aquired using GetClassInstance will work for any shader that contains a class instance of the name used to generate the runtime instance, the instance does not have to be the same type in all of the shaders it's used in.

An instance does not replace the importance of reflection for a particular shader since a gotten instance will not know its slot location and a created instance only specifies a type name.

Windows?Phone?8: This API is supported.

-
- - ff476355 - void ID3D11ClassInstance::GetDesc([Out] D3D11_CLASS_INSTANCE_DESC* pDesc) - ID3D11ClassInstance::GetDesc -
- - -

Gets the instance name of the current HLSL class.

-
-

The instance name of the current HLSL class.

-

The length of the pInstanceName parameter.

- -

GetInstanceName will return a valid name only for instances acquired using .

For more information about using the interface, see Dynamic Linking.

Windows?Phone?8: This API is supported.

-
- - ff476356 - void ID3D11ClassInstance::GetInstanceName([Out, Buffer, Optional] char* pInstanceName,[InOut] SIZE_T* pBufferLength) - ID3D11ClassInstance::GetInstanceName -
- - -

Gets the type of the current HLSL class.

-
-

Type of the current HLSL class.

-

The length of the pTypeName parameter.

- -

GetTypeName will return a valid name only for instances acquired using .

For more information about using the interface, see Dynamic Linking.

Windows?Phone?8: This API is supported.

-
- - ff476357 - void ID3D11ClassInstance::GetTypeName([Out, Buffer, Optional] char* pTypeName,[InOut] SIZE_T* pBufferLength) - ID3D11ClassInstance::GetTypeName -
- - -

This interface encapsulates an HLSL dynamic linkage.

-
- -

A class linkage object can hold up to 64K gotten instances. A gotten instance is a handle that references a variable name in any shader that is created with that linkage object. When you create a shader with a class linkage object, the runtime gathers these instances and stores them in the class linkage object. For more information about how a class linkage object is used, see Storing Variables and Types for Shaders to Share.

An object is created using the method.

-
- - ff476358 - ID3D11ClassLinkage - ID3D11ClassLinkage -
- - - Create a new instance of . - - - - - - Initializes a new instance of the 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 class-instance object that represents the specified HLSL class.

-
-

The name of a class for which to get the class instance.

-

The index of the class instance.

-

The address of a reference to an interface to initialize.

- -

For more information about using the interface, see Dynamic Linking.

A class instance must have at least 1 data member in order to be available for the runtime to use with . Any instance with no members will be optimized out of a compiled shader blob as a zero-sized object. If you have a class with no data members, use instead.

Windows?Phone?8: This API is supported.

-
- - ff476360 - HRESULT ID3D11ClassLinkage::GetClassInstance([In] const char* pClassInstanceName,[In] unsigned int InstanceIndex,[Out] ID3D11ClassInstance** ppInstance) - ID3D11ClassLinkage::GetClassInstance -
- - -

Initializes a class-instance object that represents an HLSL class instance.

-
-

The type name of a class to initialize.

-

Identifies the constant buffer that contains the class data.

-

The four-component vector offset from the start of the constant buffer where the class data will begin. Consequently, this is not a byte offset.

-

The texture slot for the first texture; there may be multiple textures following the offset.

-

The sampler slot for the first sampler; there may be multiple samplers following the offset.

-

The address of a reference to an interface to initialize.

-

Returns if successful; otherwise, returns one of the following Direct3D 11 Return Codes.

- -

Instances can be created (or gotten) before or after a shader is created. Use the same shader linkage object to acquire a class instance and create the shader the instance is going to be used in.

For more information about using the interface, see Dynamic Linking.

Windows?Phone?8: This API is supported.

-
- - ff476359 - HRESULT ID3D11ClassLinkage::CreateClassInstance([In] const char* pClassTypeName,[In] unsigned int ConstantBufferOffset,[In] unsigned int ConstantVectorOffset,[In] unsigned int TextureOffset,[In] unsigned int SamplerOffset,[Out, Fast] ID3D11ClassInstance** ppInstance) - ID3D11ClassLinkage::CreateClassInstance -
- - -

A compute-shader interface manages an executable program (a compute shader) that controls the compute-shader stage.

-
- -

The compute-shader interface has no methods; use HLSL to implement your shader functionality. All shaders are implemented from a common set of features referred to as the common-shader core..

To create a compute-shader interface, call . Before using a compute shader you must bind it to the device by calling .

This interface is defined in D3D11.h.

-
- - ff476363 - ID3D11ComputeShader - ID3D11ComputeShader -
- - - Initializes a new instance of the class. - - The device used to create the shader. - The compiled shader bytecode. - A dynamic class linkage interface. - - - - Initializes a new instance of the 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 interface encapsulates methods for measuring GPU performance.

-
- -

A counter can be created with .

This is a derived class of .

Counter data is gathered by issuing an command, issuing some graphics commands, issuing an command, and then calling to get data about what happened in between the Begin and End calls. The data returned by GetData will be different depending on the type of counter. The call to End causes the data returned by GetData to be accurate up until the last call to End.

Counters are best suited for profiling.

For a list of the types of performance counters, see .

-
- - ff476364 - ID3D11Counter - ID3D11Counter -
- - - Constructs a new based on the specified description. - - The device with which to associate the state object. - The counter description. - The newly created 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. - - - - -

Get a counter description.

-
- - ff476365 - GetDesc - GetDesc - void ID3D11Counter::GetDesc([Out] D3D11_COUNTER_DESC* pDesc) -
- - -

Get a counter description.

-
-

Pointer to a counter description (see ).

- - ff476365 - void ID3D11Counter::GetDesc([Out] D3D11_COUNTER_DESC* pDesc) - ID3D11Counter::GetDesc -
- - - Counter metadata that contains the type, name, units of measure, and a description of an existing counter. - - - - - Gets the data type of a counter (see ). - - The type. - - - - Gets the number of hardware counters that are needed for this counter type to be created. All instances of the same counter type use the same hardware counters. - - The hardware counter count. - - - - Gets a brief name for the counter. - - The name. - - - - Gets the units a counter measures. - - The units. - - - - Gets a description of the counter. - - The description. - - - -

The depth-stencil-state interface holds a description for depth-stencil state that you can bind to the output-merger stage.

-
- -

To create a depth-stencil-state object, call . To bind the depth-stencil-state object to the output-merger stage, call .

-
- - ff476375 - ID3D11DepthStencilState - ID3D11DepthStencilState -
- - - Constructs a new based on the specified description. - - The device with which to associate the state object. - The state description. - The newly created object. - ff476506 - HRESULT ID3D11Device::CreateDepthStencilState([In] const D3D11_DEPTH_STENCIL_DESC* pDepthStencilDesc,[Out, Fast] ID3D11DepthStencilState** ppDepthStencilState) - ID3D11Device::CreateDepthStencilState - - - - Initializes a new instance of the 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 description for depth-stencil state that you used to create the depth-stencil-state object.

-
- -

You use the description for depth-stencil state in a call to the method to create the depth-stencil-state object.

-
- - ff476376 - GetDesc - GetDesc - void ID3D11DepthStencilState::GetDesc([Out] D3D11_DEPTH_STENCIL_DESC* pDesc) -
- - -

Gets the description for depth-stencil state that you used to create the depth-stencil-state object.

-
-

A reference to a structure that receives a description of the depth-stencil state.

- -

You use the description for depth-stencil state in a call to the method to create the depth-stencil-state object.

-
- - ff476376 - void ID3D11DepthStencilState::GetDesc([Out] D3D11_DEPTH_STENCIL_DESC* pDesc) - ID3D11DepthStencilState::GetDesc -
- - -

Describes depth-stencil state.

-
- -

Pass a reference to to the method to create the depth-stencil state object.

Depth-stencil state controls how depth-stencil testing is performed by the output-merger stage.

The following table shows the default values of depth-stencil states.

StateDefault Value
DepthEnableTRUE
DepthWriteMask
DepthFunc
StencilEnable
StencilReadMaskD3D11_DEFAULT_STENCIL_READ_MASK
StencilWriteMaskD3D11_DEFAULT_STENCIL_WRITE_MASK

FrontFace.StencilFunc

and

BackFace.StencilFunc

FrontFace.StencilDepthFailOp

and

BackFace.StencilDepthFailOp

FrontFace.StencilPassOp

and

BackFace.StencilPassOp

FrontFace.StencilFailOp

and

BackFace.StencilFailOp

?

The formats that support stenciling are and .

-
- - ff476110 - D3D11_DEPTH_STENCIL_DESC - D3D11_DEPTH_STENCIL_DESC -
- - - Returns default values for . - - - See MSDN documentation for default values. - - - - -

Enable depth testing.

-
- - ff476110 - BOOL DepthEnable - BOOL DepthEnable -
- - -

Identify a portion of the depth-stencil buffer that can be modified by depth data (see ).

-
- - ff476110 - D3D11_DEPTH_WRITE_MASK DepthWriteMask - D3D11_DEPTH_WRITE_MASK DepthWriteMask -
- - -

A function that compares depth data against existing depth data. The function options are listed in .

-
- - ff476110 - D3D11_COMPARISON_FUNC DepthFunc - D3D11_COMPARISON_FUNC DepthFunc -
- - -

Enable stencil testing.

-
- - ff476110 - BOOL StencilEnable - BOOL StencilEnable -
- - -

Identify a portion of the depth-stencil buffer for reading stencil data.

-
- - ff476110 - unsigned char StencilReadMask - unsigned char StencilReadMask -
- - -

Identify a portion of the depth-stencil buffer for writing stencil data.

-
- - ff476110 - unsigned char StencilWriteMask - unsigned char StencilWriteMask -
- - -

Identify how to use the results of the depth test and the stencil test for pixels whose surface normal is facing towards the camera (see ).

-
- - ff476110 - D3D11_DEPTH_STENCILOP_DESC FrontFace - D3D11_DEPTH_STENCILOP_DESC FrontFace -
- - -

Identify how to use the results of the depth test and the stencil test for pixels whose surface normal is facing away from the camera (see ).

-
- - ff476110 - D3D11_DEPTH_STENCILOP_DESC BackFace - D3D11_DEPTH_STENCILOP_DESC BackFace -
- - -

A depth-stencil-view interface accesses a texture resource during depth-stencil testing.

-
- -

To create a depth-stencil view, call .

To bind a depth-stencil view to the pipeline, call .

-
- - ff476377 - ID3D11DepthStencilView - ID3D11DepthStencilView -
- - - Creates a for accessing resource data. - - The device to use when creating this . - The resource that represents the render-target surface. This surface must have been created with the DepthStencil flag. - ID3D11Device::CreateDepthStencilView - - - - Creates a for accessing resource data. - - The device to use when creating this . - The resource that represents the render-target surface. This surface must have been created with the DepthStencil flag. - A structure describing the to be created. - ID3D11Device::CreateDepthStencilView - - - - Initializes a new instance of the class. - - The native pointer. - - - - Performs an explicit conversion from to . (This method is a shortcut to ) - - The native pointer. - - The result of the conversion. - - - - -

A depth-stencil-view interface accesses a texture resource during depth-stencil testing.

-
- -

To create a depth-stencil view, call .

To bind a depth-stencil view to the pipeline, call .

-
- - ff476377 - GetDesc - GetDesc - void ID3D11DepthStencilView::GetDesc([Out] D3D11_DEPTH_STENCIL_VIEW_DESC* pDesc) -
- - -

A depth-stencil-view interface accesses a texture resource during depth-stencil testing.

-
- No documentation. - -

To create a depth-stencil view, call .

To bind a depth-stencil view to the pipeline, call .

-
- - ff476377 - void ID3D11DepthStencilView::GetDesc([Out] D3D11_DEPTH_STENCIL_VIEW_DESC* pDesc) - ID3D11DepthStencilView::GetDesc -
- - -

The device interface represents a virtual adapter; it is used to create resources.

-
- -

A device is created using .

Windows?Phone?8: This API is supported.

-
- - ff476379 - ID3D11Device - ID3D11Device -
- - - Initializes a new instance of the class. - - - Type of the driver. - - ff476082 - HRESULT D3D11CreateDevice([In, Optional] IDXGIAdapter* pAdapter,[In] D3D_DRIVER_TYPE DriverType,[In] HINSTANCE Software,[In] D3D11_CREATE_DEVICE_FLAG Flags,[In, Buffer, Optional] const D3D_FEATURE_LEVEL* pFeatureLevels,[In] unsigned int FeatureLevels,[In] unsigned int SDKVersion,[Out, Fast] ID3D11Device** ppDevice,[Out, Optional] D3D_FEATURE_LEVEL* pFeatureLevel,[Out, Optional] ID3D11DeviceContext** ppImmediateContext) - D3D11CreateDevice - - - - Initializes a new instance of the class. - - - The adapter. - - ff476082 - HRESULT D3D11CreateDevice([In, Optional] IDXGIAdapter* pAdapter,[In] D3D_DRIVER_TYPE DriverType,[In] HINSTANCE Software,[In] D3D11_CREATE_DEVICE_FLAG Flags,[In, Buffer, Optional] const D3D_FEATURE_LEVEL* pFeatureLevels,[In] unsigned int FeatureLevels,[In] unsigned int SDKVersion,[Out, Fast] ID3D11Device** ppDevice,[Out, Optional] D3D_FEATURE_LEVEL* pFeatureLevel,[Out, Optional] ID3D11DeviceContext** ppImmediateContext) - D3D11CreateDevice - - - - Constructor for a D3D11 Device. See for more information. - - Type of the driver. - The flags. - ff476082 - HRESULT D3D11CreateDevice([In, Optional] IDXGIAdapter* pAdapter,[In] D3D_DRIVER_TYPE DriverType,[In] HINSTANCE Software,[In] D3D11_CREATE_DEVICE_FLAG Flags,[In, Buffer, Optional] const D3D_FEATURE_LEVEL* pFeatureLevels,[In] unsigned int FeatureLevels,[In] unsigned int SDKVersion,[Out, Fast] ID3D11Device** ppDevice,[Out, Optional] D3D_FEATURE_LEVEL* pFeatureLevel,[Out, Optional] ID3D11DeviceContext** ppImmediateContext) - D3D11CreateDevice - - - - Constructor for a D3D11 Device. See for more information. - - - - ff476082 - HRESULT D3D11CreateDevice([In, Optional] IDXGIAdapter* pAdapter,[In] D3D_DRIVER_TYPE DriverType,[In] HINSTANCE Software,[In] D3D11_CREATE_DEVICE_FLAG Flags,[In, Buffer, Optional] const D3D_FEATURE_LEVEL* pFeatureLevels,[In] unsigned int FeatureLevels,[In] unsigned int SDKVersion,[Out, Fast] ID3D11Device** ppDevice,[Out, Optional] D3D_FEATURE_LEVEL* pFeatureLevel,[Out, Optional] ID3D11DeviceContext** ppImmediateContext) - D3D11CreateDevice - - - - Constructor for a D3D11 Device. See for more information. - - - - - ff476082 - HRESULT D3D11CreateDevice([In, Optional] IDXGIAdapter* pAdapter,[In] D3D_DRIVER_TYPE DriverType,[In] HINSTANCE Software,[In] D3D11_CREATE_DEVICE_FLAG Flags,[In, Buffer, Optional] const D3D_FEATURE_LEVEL* pFeatureLevels,[In] unsigned int FeatureLevels,[In] unsigned int SDKVersion,[Out, Fast] ID3D11Device** ppDevice,[Out, Optional] D3D_FEATURE_LEVEL* pFeatureLevel,[Out, Optional] ID3D11DeviceContext** ppImmediateContext) - D3D11CreateDevice - - - - Constructor for a D3D11 Device. See for more information. - - - - - ff476082 - HRESULT D3D11CreateDevice([In, Optional] IDXGIAdapter* pAdapter,[In] D3D_DRIVER_TYPE DriverType,[In] HINSTANCE Software,[In] D3D11_CREATE_DEVICE_FLAG Flags,[In, Buffer, Optional] const D3D_FEATURE_LEVEL* pFeatureLevels,[In] unsigned int FeatureLevels,[In] unsigned int SDKVersion,[Out, Fast] ID3D11Device** ppDevice,[Out, Optional] D3D_FEATURE_LEVEL* pFeatureLevel,[Out, Optional] ID3D11DeviceContext** ppImmediateContext) - D3D11CreateDevice - - - - Initializes a new instance of the class along with a new used for rendering. - - The type of device to create. - A list of runtime layers to enable. - Details used to create the swap chain. - When the method completes, contains the created device instance. - When the method completes, contains the created swap chain instance. - A object describing the result of the operation. - - - - Initializes a new instance of the class along with a new used for rendering. - - The video adapter on which the device should be created. - A list of runtime layers to enable. - Details used to create the swap chain. - When the method completes, contains the created device instance. - When the method completes, contains the created swap chain instance. - A object describing the result of the operation. - - - - Initializes a new instance of the class along with a new used for rendering. - - The type of device to create. - A list of runtime layers to enable. - A list of feature levels which determine the order of feature levels to attempt to create. - Details used to create the swap chain. - When the method completes, contains the created device instance. - When the method completes, contains the created swap chain instance. - A object describing the result of the operation. - - - - Initializes a new instance of the class along with a new used for rendering. - - The video adapter on which the device should be created. - A list of runtime layers to enable. - A list of feature levels which determine the order of feature levels to attempt to create. - Details used to create the swap chain. - When the method completes, contains the created device instance. - When the method completes, contains the created swap chain instance. - A object describing the result of the operation. - - - - This overload has been deprecated. Use one of the alternatives that does not take both an adapter and a driver type. - - - - - Get the type, name, units of measure, and a description of an existing counter. - - The counter description. - Description of the counter - - - - Give a device access to a shared resource created on a different Direct3d device. - - The type of the resource we are gaining access to. - A resource handle. See remarks. - - This method returns a reference to the resource we are gaining access to. - - - To share a resource between two Direct3D 10 devices the resource must have been created with the flag, if it was created using the ID3D10Device interface. If it was created using the IDXGIDevice interface, then the resource is always shared. The REFIID, or GUID, of the interface to the resource can be obtained by using the __uuidof() macro. For example, __uuidof(ID3D10Buffer) will get the GUID of the interface to a buffer resource. When sharing a resource between two Direct3D 10 devices the unique handle of the resource can be obtained by querying the resource for the interface and then calling {{GetSharedHandle}}. - IDXGIResource* pOtherResource(NULL); - hr = pOtherDeviceResource->QueryInterface( __uuidof(IDXGIResource), (void**)&pOtherResource ); - HANDLE sharedHandle; - pOtherResource->GetSharedHandle(&sharedHandle); - The only resources that can be shared are 2D non-mipmapped textures. To share a resource between a Direct3D 9 device and a Direct3D 10 device the texture must have been created using the pSharedHandle argument of {{CreateTexture}}. The shared Direct3D 9 handle is then passed to OpenSharedResource in the hResource argument. The following code illustrates the method calls involved. - sharedHandle = NULL; // must be set to NULL to create, can use a valid handle here to open in D3D9 - pDevice9->CreateTexture(..., pTex2D_9, &sharedHandle); - ... - pDevice10->OpenSharedResource(sharedHandle, __uuidof(ID3D10Resource), (void**)(&tempResource10)); - tempResource10->QueryInterface(__uuidof(ID3D10Texture2D), (void**)(&pTex2D_10)); - tempResource10->Release(); - // now use pTex2D_10 with pDevice10 - Textures being shared from D3D9 to D3D10 have the following restrictions. Textures must be 2D Only 1 mip level is allowed Texture must have default usage Texture must be write only MSAA textures are not allowed Bind flags must have SHADER_RESOURCE and RENDER_TARGET set Only R10G10B10A2_UNORM, R16G16B16A16_FLOAT and R8G8B8A8_UNORM formats are allowed If a shared texture is updated on one device must be called on that device. - - HRESULT ID3D10Device::OpenSharedResource([In] void* hResource,[In] GUID* ReturnedInterface,[Out, Optional] void** ppResource) - - - - Check if this device is supporting compute shaders for the specified format. - - The format for which to check support. - Flags indicating usage contexts in which the specified format is supported. - - - -

Gets information about the features that are supported by the current graphics driver.

-
- Returns a structure - ff476497 - HRESULT ID3D11Device::CheckFeatureSupport([In] D3D11_FEATURE Feature,[Out, Buffer] void* pFeatureSupportData,[In] unsigned int FeatureSupportDataSize) - ID3D11Device::CheckFeatureSupport -
- - -

Gets information about the features that are supported by the current graphics driver.

-
- Returns a structure - ff476497 - HRESULT ID3D11Device::CheckFeatureSupport([In] D3D11_FEATURE Feature,[Out, Buffer] void* pFeatureSupportData,[In] unsigned int FeatureSupportDataSize) - ID3D11Device::CheckFeatureSupport -
- - -

Gets information about whether the driver supports the nonpowers-of-2-unconditionally feature. TRUE for hardware at Direct3D 10 and higher feature levels.

-
- Returns true if this hardware supports non-powers-of-2 texture. This returns always true Direct3D 10 and higher feature levels. - ff476497 - HRESULT ID3D11Device::CheckFeatureSupport([In] D3D11_FEATURE Feature,[Out, Buffer] void* pFeatureSupportData,[In] unsigned int FeatureSupportDataSize) - ID3D11Device::CheckFeatureSupport -
- - -

Gets information about whether a rendering device batches rendering commands and performs multipass rendering into tiles or bins over a render area. Certain API usage patterns that are fine TileBasedDefferredRenderers (TBDRs) can perform worse on non-TBDRs and vice versa. Applications that are careful about rendering can be friendly to both TBDR and non-TBDR architectures.

-
- Returns TRUE if the rendering device batches rendering commands and otherwise. - ff476497 - HRESULT ID3D11Device::CheckFeatureSupport([In] D3D11_FEATURE Feature,[Out, Buffer] void* pFeatureSupportData,[In] unsigned int FeatureSupportDataSize) - ID3D11Device::CheckFeatureSupport -
- - - Retrieves information about Direct3D11.3 feature options in the current graphics driver - - dn879499 - Returns a structure - - - - Retrieves additional information about Direct3D11.3 feature options in the current graphics driver - - dn933226 - Returns a structure - - - - Retrieves additional information about Direct3D11.3 feature options in the current graphics driver - - dn933226 - Returns a structure - - - - Check if this device is supporting a feature. - - The feature to check. - - Returns true if this device supports this feature, otherwise false. - - - - - Check if this device is supporting threading. - - Support concurrent resources. - Support command lists. - - A object describing the result of the operation. - - - - - Check if a feature level is supported by a primary adapter. - - The feature level. - true if the primary adapter is supporting this feature level; otherwise, false. - - - - Check if a feature level is supported by a particular adapter. - - The adapter. - The feature level. - true if the specified adapter is supporting this feature level; otherwise, false. - - - - Gets the highest supported hardware feature level of the primary adapter. - - The highest supported hardware feature level. - - - - Gets the highest supported hardware feature level of the primary adapter. - - The adapter. - - The highest supported hardware feature level. - - - - - Gets or sets the debug-name for this object. - - - The debug name. - - - - - Internal CreateDevice - - - - - - - - -

Creates a device that uses Direct3D 11 functionality in Direct3D 12, specifying a pre-existing D3D12 device to use for D3D11 interop.

-
-

Specifies a pre-existing D3D12 device to use for D3D11 interop. May not be null.

-

Any of those documented for D3D11CreateDeviceAndSwapChain. Specifies which runtime layers to enable (see the enumeration); values can be bitwise OR'd together. Flags must be compatible with device flags, and its NodeMask must be a subset of the NodeMask provided to the present API.

-

An array of any of the following:

The first feature level which is less than or equal to the D3D12 device's feature level will be used to perform D3D11 validation. Creation will fail if no acceptable feature levels are provided. Providing null will default to the D3D12 device's feature level.

-

An array of unique queues for D3D11On12 to use. Valid queue types: 3D command queue.

- The Direct3D11 device created around the specified Direct3D12 device - -

The function signature PFN_D3D11ON12_CREATE_DEVICE is provided as a typedef, so that you can use dynamic linking techniques (GetProcAddress) instead of statically linking.

-
- dn933209 - HRESULT D3D11On12CreateDevice([In] IUnknown* pDevice,[In] D3D11_CREATE_DEVICE_FLAG Flags,[In, Buffer, Optional] const D3D_FEATURE_LEVEL* pFeatureLevels,[In] unsigned int FeatureLevels,[In, Buffer, Optional] const IUnknown** ppCommandQueues,[In] unsigned int NumQueues,[In] unsigned int NodeMask,[Out] ID3D11Device** ppDevice,[Out, Optional] ID3D11DeviceContext** ppImmediateContext,[Out, Optional] D3D_FEATURE_LEVEL* pChosenFeatureLevel) - D3D11On12CreateDevice -
- - - Initializes a new instance of the 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 MultisampleCountMaximum. - D3D11_MAX_MULTISAMPLE_SAMPLE_COUNT - - - -

Gets the feature level of the hardware device.

-
- -

Feature levels determine the capabilities of your device.

-
- - ff476528 - GetFeatureLevel - GetFeatureLevel - D3D_FEATURE_LEVEL ID3D11Device::GetFeatureLevel() -
- - -

Get the flags used during the call to create the device with .

-
- - ff476525 - GetCreationFlags - GetCreationFlags - unsigned int ID3D11Device::GetCreationFlags() -
- - -

Get the reason why the device was removed.

-
- - ff476526 - GetDeviceRemovedReason - GetDeviceRemovedReason - HRESULT ID3D11Device::GetDeviceRemovedReason() -
- - -

Gets an immediate context, which can play back command lists.

-
- -

The GetImmediateContext method returns an object that represents an immediate context which is used to perform rendering that you want immediately submitted to a device. For most applications, an immediate context is the primary object that is used to draw your scene.

The GetImmediateContext method increments the reference count of the immediate context by one. Therefore, you must call Release on the returned interface reference when you are done with it to avoid a memory leak.

-
- - ff476529 - GetImmediateContext - GetImmediateContext - void ID3D11Device::GetImmediateContext([Out] ID3D11DeviceContext** ppImmediateContext) -
- - -

Get or sets the exception-mode flags.

-
- -

An exception-mode flag is used to elevate an error condition to a non-continuable exception.

-
- - ff476527 - GetExceptionMode / SetExceptionMode - GetExceptionMode - unsigned int ID3D11Device::GetExceptionMode() -
- - -

Creates a buffer (vertex buffer, index buffer, or shader-constant buffer).

-
-

A reference to a structure that describes the buffer.

-

A reference to a structure that describes the initialization data; use null to allocate space only (with the exception that it cannot be null if the usage flag is ).

If you don't pass anything to pInitialData, the initial content of the memory for the buffer is undefined. In this case, you need to write the buffer content some other way before the resource is read.

-

Address of a reference to the interface for the buffer object created. Set this parameter to null to validate the other input parameters (S_FALSE indicates a pass).

-

This method returns E_OUTOFMEMORY if there is insufficient memory to create the buffer. See Direct3D 11 Return Codes for other possible return values.

- -

For example code, see How to: Create a Vertex Buffer, How to: Create an Index Buffer or How to: Create a Constant Buffer.

For a constant buffer (BindFlags of set to ), you must set the ByteWidth value of in multiples of 16, and less than or equal to D3D11_REQ_CONSTANT_BUFFER_ELEMENT_COUNT.

The Direct3D 11.1 runtime, which is available on Windows?8 and later operating systems, provides the following new functionality for CreateBuffer:

You can create a constant buffer that is larger than the maximum constant buffer size that a shader can access (4096 32-bit*4-component constants ? 64KB). When you bind the constant buffer to the pipeline (for example, via PSSetConstantBuffers or PSSetConstantBuffers1), you can define a range of the buffer that the shader can access that fits within the 4096 constant limit.

The runtime will emulate this feature for feature level 9.1, 9.2, and 9.3; therefore, this feature is supported for feature level 9.1, 9.2, and 9.3. This feature is always available on new drivers for feature level 10 and higher. On existing drivers that are implemented to feature level 10 and higher, a call to CreateBuffer to request a constant buffer that is larger than 4096 fails.

-
- - ff476501 - HRESULT ID3D11Device::CreateBuffer([In] const D3D11_BUFFER_DESC* pDesc,[In, Optional] const D3D11_SUBRESOURCE_DATA* pInitialData,[Out, Fast] ID3D11Buffer** ppBuffer) - ID3D11Device::CreateBuffer -
- - -

Creates an array of 1D textures.

-
- No documentation. - No documentation. - No documentation. -

If the method succeeds, the return code is . See Direct3D 11 Return Codes for failing error codes.

- -

CreateTexture1D creates a 1D texture resource, which can contain a number of 1D subresources. The number of textures is specified in the texture description. All textures in a resource must have the same format, size, and number of mipmap levels.

All resources are made up of one or more subresources. To load data into the texture, applications can supply the data initially as an array of structures pointed to by pInitialData, or they can use one of the D3DX texture functions such as D3DX11CreateTextureFromFile.

For a 32 width texture with a full mipmap chain, the pInitialData array has the following 6 elements: -

  • pInitialData[0] = 32x1
  • pInitialData[1] = 16x1
  • pInitialData[2] = 8x1
  • pInitialData[3] = 4x1 -
  • pInitialData[4] = 2x1 -
  • pInitialData[5] = 1x1 -
-
- - ff476520 - HRESULT ID3D11Device::CreateTexture1D([In] const D3D11_TEXTURE1D_DESC* pDesc,[In, Buffer, Optional] const D3D11_SUBRESOURCE_DATA* pInitialData,[Out, Fast] ID3D11Texture1D** ppTexture1D) - ID3D11Device::CreateTexture1D -
- - -

Create an array of 2D textures.

-
- No documentation. - No documentation. - No documentation. -

If the method succeeds, the return code is . See Direct3D 11 Return Codes for failing error codes.

- -

CreateTexture2D creates a 2D texture resource, which can contain a number of 2D subresources. The number of textures is specified in the texture description. All textures in a resource must have the same format, size, and number of mipmap levels.

All resources are made up of one or more subresources. To load data into the texture, applications can supply the data initially as an array of structures pointed to by pInitialData, or it may use one of the D3DX texture functions such as D3DX11CreateTextureFromFile.

For a 32 x 32 texture with a full mipmap chain, the pInitialData array has the following 6 elements: -

  • pInitialData[0] = 32x32
  • pInitialData[1] = 16x16
  • pInitialData[2] = 8x8
  • pInitialData[3] = 4x4 -
  • pInitialData[4] = 2x2 -
  • pInitialData[5] = 1x1 -
-
- - ff476521 - HRESULT ID3D11Device::CreateTexture2D([In] const D3D11_TEXTURE2D_DESC* pDesc,[In, Buffer, Optional] const D3D11_SUBRESOURCE_DATA* pInitialData,[Out, Fast] ID3D11Texture2D** ppTexture2D) - ID3D11Device::CreateTexture2D -
- - -

Create a single 3D texture.

-
- No documentation. - No documentation. - No documentation. -

If the method succeeds, the return code is . See Direct3D 11 Return Codes for failing error codes.

- -

CreateTexture3D creates a 3D texture resource, which can contain a number of 3D subresources. The number of textures is specified in the texture description. All textures in a resource must have the same format, size, and number of mipmap levels.

All resources are made up of one or more subresources. To load data into the texture, applications can supply the data initially as an array of structures pointed to by pInitialData, or they can use one of the D3DX texture functions such as D3DX11CreateTextureFromFile.

Each element of pInitialData provides all of the slices that are defined for a given miplevel. For example, for a 32 x 32 x 4 volume texture with a full mipmap chain, the array has the following 6 elements:

  • pInitialData[0] = 32x32 with 4 slices
  • pInitialData[1] = 16x16 with 2 slices
  • pInitialData[2] = 8x8 with 1 slice
  • pInitialData[3] = 4x4 - with 1 slice
  • pInitialData[4] = 2x2 - with 1 slice
  • pInitialData[5] = 1x1 - with 1 slice
-
- - ff476522 - HRESULT ID3D11Device::CreateTexture3D([In] const D3D11_TEXTURE3D_DESC* pDesc,[In, Buffer, Optional] const D3D11_SUBRESOURCE_DATA* pInitialData,[Out, Fast] ID3D11Texture3D** ppTexture3D) - ID3D11Device::CreateTexture3D -
- - -

Create a shader-resource view for accessing data in a resource.

-
-

Pointer to the resource that will serve as input to a shader. This resource must have been created with the flag.

-

Pointer to a shader-resource view description (see ). Set this parameter to null to create a view that accesses the entire resource (using the format the resource was created with).

-

Address of a reference to an . Set this parameter to null to validate the other input parameters (the method will return S_FALSE if the other input parameters pass validation).

-

This method returns one of the following Direct3D 11 Return Codes.

- -

A resource is made up of one or more subresources; a view identifies which subresources to allow the pipeline to access. In addition, each resource is bound to the pipeline using a view. A shader-resource view is designed to bind any buffer or texture resource to the shader stages using the following API methods: , and .

Because a view is fully typed, this means that typeless resources become fully typed when bound to the pipeline.

Note?? To successfully create a shader-resource view from a typeless buffer (for example, ), you must set the flag when you create the buffer.?

The Direct3D 11.1 runtime, which is available starting with Windows?8, allows you to use CreateShaderResourceView for the following new purpose.

You can create shader-resource views of video resources so that Direct3D shaders can process those shader-resource views. These video resources are either Texture2D or Texture2DArray. The value in the ViewDimension member of the structure for a created shader-resource view must match the type of video resource, D3D11_SRV_DIMENSION_TEXTURE2D for Texture2D and D3D11_SRV_DIMENSION_TEXTURE2DARRAY for Texture2DArray. Additionally, the format of the underlying video resource restricts the formats that the view can use. The video resource format values on the reference page specify the format values that views are restricted to.

The runtime read+write conflict prevention logic (which stops a resource from being bound as an SRV and RTV or UAV at the same time) treats views of different parts of the same video surface as conflicting for simplicity. Therefore, the runtime does not allow an application to read from luma while the application simultaneously renders to chroma in the same surface even though the hardware might allow these simultaneous operations.

Windows?Phone?8: This API is supported.

-
- - ff476519 - HRESULT ID3D11Device::CreateShaderResourceView([In] ID3D11Resource* pResource,[In, Optional] const D3D11_SHADER_RESOURCE_VIEW_DESC* pDesc,[Out, Fast] ID3D11ShaderResourceView** ppSRView) - ID3D11Device::CreateShaderResourceView -
- - -

Creates a view for accessing an unordered access resource.

-
- No documentation. - No documentation. - No documentation. -

This method returns one of the Direct3D 11 Return Codes.

- -

The Direct3D 11.1 runtime, which is available starting with Windows?8, allows you to use CreateUnorderedAccessView for the following new purpose.

You can create unordered-access views of video resources so that Direct3D shaders can process those unordered-access views. These video resources are either Texture2D or Texture2DArray. The value in the ViewDimension member of the structure for a created unordered-access view must match the type of video resource, for Texture2D and for Texture2DArray. Additionally, the format of the underlying video resource restricts the formats that the view can use. The video resource format values on the reference page specify the format values that views are restricted to.

The runtime read+write conflict prevention logic (which stops a resource from being bound as an SRV and RTV or UAV at the same time) treats views of different parts of the same video surface as conflicting for simplicity. Therefore, the runtime does not allow an application to read from luma while the application simultaneously renders to chroma in the same surface even though the hardware might allow these simultaneous operations.

-
- - ff476523 - HRESULT ID3D11Device::CreateUnorderedAccessView([In] ID3D11Resource* pResource,[In, Optional] const D3D11_UNORDERED_ACCESS_VIEW_DESC* pDesc,[Out, Fast] ID3D11UnorderedAccessView** ppUAView) - ID3D11Device::CreateUnorderedAccessView -
- - -

Creates a render-target view for accessing resource data.

-
-

Pointer to a that represents a render target. This resource must have been created with the flag.

-

Pointer to a that represents a render-target view description. Set this parameter to null to create a view that accesses all of the subresources in mipmap level 0.

-

Address of a reference to an . Set this parameter to null to validate the other input parameters (the method will return S_FALSE if the other input parameters pass validation).

-

This method returns one of the Direct3D 11 Return Codes.

- -

A render-target view can be bound to the output-merger stage by calling .

The Direct3D 11.1 runtime, which is available starting with Windows?8, allows you to use CreateRenderTargetView for the following new purpose.

You can create render-target views of video resources so that Direct3D shaders can process those render-target views. These video resources are either Texture2D or Texture2DArray. The value in the ViewDimension member of the structure for a created render-target view must match the type of video resource, for Texture2D and for Texture2DArray. Additionally, the format of the underlying video resource restricts the formats that the view can use. The video resource format values on the reference page specify the format values that views are restricted to.

The runtime read+write conflict prevention logic (which stops a resource from being bound as an SRV and RTV or UAV at the same time) treats views of different parts of the same video surface as conflicting for simplicity. Therefore, the runtime does not allow an application to read from luma while the application simultaneously renders to chroma in the same surface even though the hardware might allow these simultaneous operations.

-
- - ff476517 - HRESULT ID3D11Device::CreateRenderTargetView([In] ID3D11Resource* pResource,[In, Optional] const D3D11_RENDER_TARGET_VIEW_DESC* pDesc,[Out, Fast] ID3D11RenderTargetView** ppRTView) - ID3D11Device::CreateRenderTargetView -
- - -

Create a depth-stencil view for accessing resource data.

-
-

Pointer to the resource that will serve as the depth-stencil surface. This resource must have been created with the flag.

-

Pointer to a depth-stencil-view description (see ). Set this parameter to null to create a view that accesses mipmap level 0 of the entire resource (using the format the resource was created with).

-

Address of a reference to an . Set this parameter to null to validate the other input parameters (the method will return S_FALSE if the other input parameters pass validation).

-

This method returns one of the following Direct3D 11 Return Codes.

- -

A depth-stencil view can be bound to the output-merger stage by calling .

-
- - ff476507 - HRESULT ID3D11Device::CreateDepthStencilView([In] ID3D11Resource* pResource,[In, Optional] const D3D11_DEPTH_STENCIL_VIEW_DESC* pDesc,[Out, Fast] ID3D11DepthStencilView** ppDepthStencilView) - ID3D11Device::CreateDepthStencilView -
- - -

Create an input-layout object to describe the input-buffer data for the input-assembler stage.

-
-

An array of the input-assembler stage input data types; each type is described by an element description (see ).

-

The number of input-data types in the array of input-elements.

-

A reference to the compiled shader. The compiled shader code contains a input signature which is validated against the array of elements. See remarks.

-

Size of the compiled shader.

-

A reference to the input-layout object created (see ). To validate the other input parameters, set this reference to be null and verify that the method returns S_FALSE.

-

If the method succeeds, the return code is . See Direct3D 11 Return Codes for failing error codes.

- -

After creating an input layout object, it must be bound to the input-assembler stage before calling a draw API.

Once an input-layout object is created from a shader signature, the input-layout object can be reused with any other shader that has an identical input signature (semantics included). This can simplify the creation of input-layout objects when you are working with many shaders with identical inputs.

If a data type in the input-layout declaration does not match the data type in a shader-input signature, CreateInputLayout will generate a warning during compilation. The warning is simply to call attention to the fact that the data may be reinterpreted when read from a register. You may either disregard this warning (if reinterpretation is intentional) or make the data types match in both declarations to eliminate the warning.

Windows?Phone?8: This API is supported.

-
- - ff476512 - HRESULT ID3D11Device::CreateInputLayout([In, Buffer] const D3D11_INPUT_ELEMENT_DESC* pInputElementDescs,[In] unsigned int NumElements,[In, Buffer] const void* pShaderBytecodeWithInputSignature,[In] SIZE_T BytecodeLength,[Out, Fast] ID3D11InputLayout** ppInputLayout) - ID3D11Device::CreateInputLayout -
- - -

Create a vertex-shader object from a compiled shader.

-
-

A reference to the compiled shader.

-

Size of the compiled vertex shader.

-

A reference to a class linkage interface (see ); the value can be null.

-

Address of a reference to a interface. If this is null, all other parameters will be validated, and if all parameters pass validation this API will return S_FALSE instead of .

-

This method returns one of the Direct3D 11 Return Codes.

- -

The Direct3D 11.1 runtime, which is available starting with Windows?8, provides the following new functionality for CreateVertexShader.

The following shader model 5.0 instructions are available to just pixel shaders and compute shaders in the Direct3D 11.0 runtime. For the Direct3D 11.1 runtime, because unordered access views (UAV) are available at all shader stages, you can use these instructions in all shader stages.

Therefore, if you use the following shader model 5.0 instructions in a vertex shader, you can successfully pass the compiled vertex shader to pShaderBytecode. That is, the call to CreateVertexShader succeeds.

If you pass a compiled shader to pShaderBytecode that uses any of the following instructions on a device that doesn?t support UAVs at every shader stage (including existing drivers that are not implemented to support UAVs at every shader stage), CreateVertexShader fails. CreateVertexShader also fails if the shader tries to use a UAV slot beyond the set of UAV slots that the hardware supports.

  • dcl_uav_typed
  • dcl_uav_raw
  • dcl_uav_structured
  • ld_raw
  • ld_structured
  • ld_uav_typed
  • store_raw
  • store_structured
  • store_uav_typed
  • sync_uglobal
  • All atomics and immediate atomics (for example, atomic_and and imm_atomic_and)
-
- - ff476524 - HRESULT ID3D11Device::CreateVertexShader([In, Buffer] const void* pShaderBytecode,[In] SIZE_T BytecodeLength,[In, Optional] ID3D11ClassLinkage* pClassLinkage,[Out, Fast] ID3D11VertexShader** ppVertexShader) - ID3D11Device::CreateVertexShader -
- - -

Create a geometry shader.

-
-

A reference to the compiled shader.

-

Size of the compiled geometry shader.

-

A reference to a class linkage interface (see ); the value can be null.

-

Address of a reference to a interface. If this is null, all other parameters will be validated, and if all parameters pass validation this API will return S_FALSE instead of .

-

This method returns one of the following Direct3D 11 Return Codes.

- -

After it is created, the shader can be set to the device by calling .

The Direct3D 11.1 runtime, which is available starting with Windows?8, provides the following new functionality for CreateGeometryShader.

The following shader model 5.0 instructions are available to just pixel shaders and compute shaders in the Direct3D 11.0 runtime. For the Direct3D 11.1 runtime, because unordered access views (UAV) are available at all shader stages, you can use these instructions in all shader stages.

Therefore, if you use the following shader model 5.0 instructions in a geometry shader, you can successfully pass the compiled geometry shader to pShaderBytecode. That is, the call to CreateGeometryShader succeeds.

If you pass a compiled shader to pShaderBytecode that uses any of the following instructions on a device that doesn?t support UAVs at every shader stage (including existing drivers that are not implemented to support UAVs at every shader stage), CreateGeometryShader fails. CreateGeometryShader also fails if the shader tries to use a UAV slot beyond the set of UAV slots that the hardware supports.

  • dcl_uav_typed
  • dcl_uav_raw
  • dcl_uav_structured
  • ld_raw
  • ld_structured
  • ld_uav_typed
  • store_raw
  • store_structured
  • store_uav_typed
  • sync_uglobal
  • All atomics and immediate atomics (for example, atomic_and and imm_atomic_and)
-
- - ff476509 - HRESULT ID3D11Device::CreateGeometryShader([In, Buffer] const void* pShaderBytecode,[In] SIZE_T BytecodeLength,[In, Optional] ID3D11ClassLinkage* pClassLinkage,[Out, Fast] ID3D11GeometryShader** ppGeometryShader) - ID3D11Device::CreateGeometryShader -
- - -

Creates a geometry shader that can write to streaming output buffers.

-
-

A reference to the compiled geometry shader for a standard geometry shader plus stream output. For info on how to get this reference, see Getting a Pointer to a Compiled Shader.

To create the stream output without using a geometry shader, pass a reference to the output signature for the prior stage. To obtain this output signature, call the compiler function. You can also pass a reference to the compiled shader for the prior stage (for example, the vertex-shader stage or domain-shader stage). This compiled shader provides the output signature for the data.

-

Size of the compiled geometry shader.

-

Pointer to a array. Cannot be null if NumEntries > 0.

-

The number of entries in the stream output declaration ( ranges from 0 to * ).

-

An array of buffer strides; each stride is the size of an element for that buffer.

-

The number of strides (or buffers) in pBufferStrides (ranges from 0 to ).

-

The index number of the stream to be sent to the rasterizer stage (ranges from 0 to - 1). Set to if no stream is to be rasterized.

-

A reference to a class linkage interface (see ); the value can be null.

-

Address of a reference to an interface, representing the geometry shader that was created. Set this to null to validate the other parameters; if validation passes, the method will return S_FALSE instead of .

-

This method returns one of the Direct3D 11 Return Codes.

- -

For more info about using CreateGeometryShaderWithStreamOutput, see Create a Geometry-Shader Object with Stream Output.

The Direct3D 11.1 runtime, which is available starting with Windows?8, provides the following new functionality for CreateGeometryShaderWithStreamOutput.

The following shader model 5.0 instructions are available to just pixel shaders and compute shaders in the Direct3D 11.0 runtime. For the Direct3D 11.1 runtime, because unordered access views (UAV) are available at all shader stages, you can use these instructions in all shader stages.

Therefore, if you use the following shader model 5.0 instructions in a geometry shader, you can successfully pass the compiled geometry shader to pShaderBytecode. That is, the call to CreateGeometryShaderWithStreamOutput succeeds.

If you pass a compiled shader to pShaderBytecode that uses any of the following instructions on a device that doesn?t support UAVs at every shader stage (including existing drivers that are not implemented to support UAVs at every shader stage), CreateGeometryShaderWithStreamOutput fails. CreateGeometryShaderWithStreamOutput also fails if the shader tries to use a UAV slot beyond the set of UAV slots that the hardware supports.

  • dcl_uav_typed
  • dcl_uav_raw
  • dcl_uav_structured
  • ld_raw
  • ld_structured
  • ld_uav_typed
  • store_raw
  • store_structured
  • store_uav_typed
  • sync_uglobal
  • All atomics and immediate atomics (for example, atomic_and and imm_atomic_and)

Windows?Phone?8: This API is supported.

-
- - ff476510 - HRESULT ID3D11Device::CreateGeometryShaderWithStreamOutput([In, Buffer] const void* pShaderBytecode,[In] SIZE_T BytecodeLength,[In, Buffer, Optional] const D3D11_SO_DECLARATION_ENTRY* pSODeclaration,[In] unsigned int NumEntries,[In, Buffer, Optional] const unsigned int* pBufferStrides,[In] unsigned int NumStrides,[In] unsigned int RasterizedStream,[In, Optional] ID3D11ClassLinkage* pClassLinkage,[Out, Fast] ID3D11GeometryShader** ppGeometryShader) - ID3D11Device::CreateGeometryShaderWithStreamOutput -
- - -

Create a pixel shader.

-
-

A reference to the compiled shader.

-

Size of the compiled pixel shader.

-

A reference to a class linkage interface (see ); the value can be null.

-

Address of a reference to a interface. If this is null, all other parameters will be validated, and if all parameters pass validation this API will return S_FALSE instead of .

-

This method returns one of the following Direct3D 11 Return Codes.

- -

After creating the pixel shader, you can set it to the device using .

-
- - ff476513 - HRESULT ID3D11Device::CreatePixelShader([In, Buffer] const void* pShaderBytecode,[In] SIZE_T BytecodeLength,[In, Optional] ID3D11ClassLinkage* pClassLinkage,[Out, Fast] ID3D11PixelShader** ppPixelShader) - ID3D11Device::CreatePixelShader -
- - -

Create a hull shader.

-
- No documentation. - No documentation. - No documentation. - No documentation. -

This method returns one of the Direct3D 11 Return Codes.

- -

The Direct3D 11.1 runtime, which is available starting with Windows?8, provides the following new functionality for CreateHullShader.

The following shader model 5.0 instructions are available to just pixel shaders and compute shaders in the Direct3D 11.0 runtime. For the Direct3D 11.1 runtime, because unordered access views (UAV) are available at all shader stages, you can use these instructions in all shader stages.

Therefore, if you use the following shader model 5.0 instructions in a hull shader, you can successfully pass the compiled hull shader to pShaderBytecode. That is, the call to CreateHullShader succeeds.

If you pass a compiled shader to pShaderBytecode that uses any of the following instructions on a device that doesn?t support UAVs at every shader stage (including existing drivers that are not implemented to support UAVs at every shader stage), CreateHullShader fails. CreateHullShader also fails if the shader tries to use a UAV slot beyond the set of UAV slots that the hardware supports.

  • dcl_uav_typed
  • dcl_uav_raw
  • dcl_uav_structured
  • ld_raw
  • ld_structured
  • ld_uav_typed
  • store_raw
  • store_structured
  • store_uav_typed
  • sync_uglobal
  • All atomics and immediate atomics (for example, atomic_and and imm_atomic_and)
-
- - ff476511 - HRESULT ID3D11Device::CreateHullShader([In, Buffer] const void* pShaderBytecode,[In] SIZE_T BytecodeLength,[In, Optional] ID3D11ClassLinkage* pClassLinkage,[Out, Fast] ID3D11HullShader** ppHullShader) - ID3D11Device::CreateHullShader -
- - -

Create a domain shader .

-
- No documentation. - No documentation. - No documentation. - No documentation. -

This method returns one of the following Direct3D 11 Return Codes.

- -

The Direct3D 11.1 runtime, which is available starting with Windows?8, provides the following new functionality for CreateDomainShader.

The following shader model 5.0 instructions are available to just pixel shaders and compute shaders in the Direct3D 11.0 runtime. For the Direct3D 11.1 runtime, because unordered access views (UAV) are available at all shader stages, you can use these instructions in all shader stages.

Therefore, if you use the following shader model 5.0 instructions in a domain shader, you can successfully pass the compiled domain shader to pShaderBytecode. That is, the call to CreateDomainShader succeeds.

If you pass a compiled shader to pShaderBytecode that uses any of the following instructions on a device that doesn?t support UAVs at every shader stage (including existing drivers that are not implemented to support UAVs at every shader stage), CreateDomainShader fails. CreateDomainShader also fails if the shader tries to use a UAV slot beyond the set of UAV slots that the hardware supports.

  • dcl_uav_typed
  • dcl_uav_raw
  • dcl_uav_structured
  • ld_raw
  • ld_structured
  • ld_uav_typed
  • store_raw
  • store_structured
  • store_uav_typed
  • sync_uglobal
  • All atomics and immediate atomics (for example, atomic_and and imm_atomic_and)
-
- - ff476508 - HRESULT ID3D11Device::CreateDomainShader([In, Buffer] const void* pShaderBytecode,[In] SIZE_T BytecodeLength,[In, Optional] ID3D11ClassLinkage* pClassLinkage,[Out, Fast] ID3D11DomainShader** ppDomainShader) - ID3D11Device::CreateDomainShader -
- - -

Create a compute shader.

-
- No documentation. - No documentation. - No documentation. - No documentation. -

This method returns E_OUTOFMEMORY if there is insufficient memory to create the compute shader. See Direct3D 11 Return Codes for other possible return values.

- -

For an example, see How To: Create a Compute Shader and HDRToneMappingCS11 Sample.

-
- - ff476503 - HRESULT ID3D11Device::CreateComputeShader([In, Buffer] const void* pShaderBytecode,[In] SIZE_T BytecodeLength,[In, Optional] ID3D11ClassLinkage* pClassLinkage,[Out, Fast] ID3D11ComputeShader** ppComputeShader) - ID3D11Device::CreateComputeShader -
- - -

Creates class linkage libraries to enable dynamic shader linkage.

-
-

A reference to a class-linkage interface reference (see ).

-

This method returns one of the following Direct3D 11 Return Codes.

- -

The interface returned in ppLinkage is associated with a shader by passing it as a parameter to one of the create shader methods such as .

-
- - ff476502 - HRESULT ID3D11Device::CreateClassLinkage([Out, Fast] ID3D11ClassLinkage** ppLinkage) - ID3D11Device::CreateClassLinkage -
- - -

Create a blend-state object that encapsules blend state for the output-merger stage.

-
-

Pointer to a blend-state description (see ).

-

Address of a reference to the blend-state object created (see ).

-

This method returns E_OUTOFMEMORY if there is insufficient memory to create the blend-state object. See Direct3D 11 Return Codes for other possible return values.

- -

An application can create up to 4096 unique blend-state objects. For each object created, the runtime checks to see if a previous object has the same state. If such a previous object exists, the runtime will return a reference to previous instance instead of creating a duplicate object.

Windows?Phone?8: This API is supported.

-
- - ff476500 - HRESULT ID3D11Device::CreateBlendState([In] const D3D11_BLEND_DESC* pBlendStateDesc,[Out, Fast] ID3D11BlendState** ppBlendState) - ID3D11Device::CreateBlendState -
- - -

Create a depth-stencil state object that encapsulates depth-stencil test information for the output-merger stage.

-
-

Pointer to a depth-stencil state description (see ).

-

Address of a reference to the depth-stencil state object created (see ).

-

This method returns one of the following Direct3D 11 Return Codes.

- -

4096 unique depth-stencil state objects can be created on a device at a time.

If an application attempts to create a depth-stencil-state interface with the same state as an existing interface, the same interface will be returned and the total number of unique depth-stencil state objects will stay the same.

-
- - ff476506 - HRESULT ID3D11Device::CreateDepthStencilState([In] const D3D11_DEPTH_STENCIL_DESC* pDepthStencilDesc,[Out, Fast] ID3D11DepthStencilState** ppDepthStencilState) - ID3D11Device::CreateDepthStencilState -
- - -

Create a rasterizer state object that tells the rasterizer stage how to behave.

-
-

Pointer to a rasterizer state description (see ).

-

Address of a reference to the rasterizer state object created (see ).

-

This method returns E_OUTOFMEMORY if there is insufficient memory to create the compute shader. See Direct3D 11 Return Codes for other possible return values.

- -

4096 unique rasterizer state objects can be created on a device at a time.

If an application attempts to create a rasterizer-state interface with the same state as an existing interface, the same interface will be returned and the total number of unique rasterizer state objects will stay the same.

-
- - ff476516 - HRESULT ID3D11Device::CreateRasterizerState([In] const D3D11_RASTERIZER_DESC* pRasterizerDesc,[Out, Fast] ID3D11RasterizerState** ppRasterizerState) - ID3D11Device::CreateRasterizerState -
- - -

Create a sampler-state object that encapsulates sampling information for a texture.

-
-

Pointer to a sampler state description (see ).

-

Address of a reference to the sampler state object created (see ).

-

This method returns one of the following Direct3D 11 Return Codes.

- -

4096 unique sampler state objects can be created on a device at a time.

If an application attempts to create a sampler-state interface with the same state as an existing interface, the same interface will be returned and the total number of unique sampler state objects will stay the same.

-
- - ff476518 - HRESULT ID3D11Device::CreateSamplerState([In] const D3D11_SAMPLER_DESC* pSamplerDesc,[Out, Fast] ID3D11SamplerState** ppSamplerState) - ID3D11Device::CreateSamplerState -
- - -

This interface encapsulates methods for querying information from the GPU.

-
-

Pointer to a query description (see ).

-

Address of a reference to the query object created (see ).

-

This method returns E_OUTOFMEMORY if there is insufficient memory to create the query object. See Direct3D 11 Return Codes for other possible return values.

- - ff476515 - HRESULT ID3D11Device::CreateQuery([In] const D3D11_QUERY_DESC* pQueryDesc,[Out, Fast] ID3D11Query** ppQuery) - ID3D11Device::CreateQuery -
- - -

Creates a predicate.

-
-

Pointer to a query description where the type of query must be a or (see ).

-

Address of a reference to a predicate (see ).

-

This method returns one of the following Direct3D 11 Return Codes.

- - ff476514 - HRESULT ID3D11Device::CreatePredicate([In] const D3D11_QUERY_DESC* pPredicateDesc,[Out, Fast] ID3D11Predicate** ppPredicate) - ID3D11Device::CreatePredicate -
- - -

Create a counter object for measuring GPU performance.

-
-

Pointer to a counter description (see ).

-

Address of a reference to a counter (see ).

-

If this function succeeds, it will return . If it fails, possible return values are: S_FALSE, E_OUTOFMEMORY, , , or E_INVALIDARG.

is returned whenever the application requests to create a well-known counter, but the current device does not support it.

indicates that another device object is currently using the counters, so they cannot be used by this device at the moment.

E_INVALIDARG is returned whenever an out-of-range well-known or device-dependent counter is requested, or when the simulataneously active counters have been exhausted.

- - ff476504 - HRESULT ID3D11Device::CreateCounter([In] const D3D11_COUNTER_DESC* pCounterDesc,[Out, Fast] ID3D11Counter** ppCounter) - ID3D11Device::CreateCounter -
- - -

Creates a deferred context, which can record command lists.

-
-

Reserved for future use. Pass 0.

-

Upon completion of the method, the passed reference to an interface reference is initialized.

-

Returns if successful; otherwise, returns one of the following:

  • Returns if the video card has been physically removed from the system, or a driver upgrade for the video card has occurred. If this error occurs, you should destroy and recreate the device.
  • Returns if the CreateDeferredContext method cannot be called from the current context. For example, if the device was created with the value, CreateDeferredContext returns .
  • Returns E_INVALIDARG if the ContextFlags parameter is invalid.
  • Returns E_OUTOFMEMORY if the application has exhausted available memory.
- -

A deferred context is a thread-safe context that you can use to record graphics commands on a thread other than the main rendering thread. Using a deferred context, you can record graphics commands into a command list that is encapsulated by the interface. After all scene items are recorded, you can then submit them to the main render thread for final rendering. In this manner, you can perform rendering tasks concurrently across multiple threads and potentially improve performance in multi-core CPU scenarios.

You can create multiple deferred contexts.

Note?? If you use the value to create the device that is represented by , the CreateDeferredContext method will fail, and you will not be able to create a deferred context.?

For more information about deferred contexts, see Immediate and Deferred Rendering.

Windows?Phone?8: This API is supported.

-
- - ff476505 - HRESULT ID3D11Device::CreateDeferredContext([In] unsigned int ContextFlags,[Out, Fast] ID3D11DeviceContext** ppDeferredContext) - ID3D11Device::CreateDeferredContext -
- - -

Give a device access to a shared resource created on a different device.

-
-

A resource handle. See remarks.

-

The globally unique identifier () for the resource interface. See remarks.

-

Address of a reference to the resource we are gaining access to.

-

This method returns one of the following Direct3D 11 Return Codes.

- -

The REFIID, or , of the interface to the resource can be obtained by using the __uuidof() macro. For example, __uuidof() will get the of the interface to a buffer resource.

The unique handle of the resource is obtained differently depending on the type of device that originally created the resource.

To share a resource between two Direct3D 11 devices the resource must have been created with the flag, if it was created using the interface. If it was created using a DXGI device interface, then the resource is always shared.

The REFIID, or , of the interface to the resource can be obtained by using the __uuidof() macro. For example, __uuidof() will get the of the interface to a buffer resource.

When sharing a resource between two Direct3D 10/11 devices the unique handle of the resource can be obtained by querying the resource for the interface and then calling GetSharedHandle.

 * pOtherResource(null);	
-            hr = pOtherDeviceResource->QueryInterface( __uuidof(), (void**)&pOtherResource );	
-            HANDLE sharedHandle;	
-            pOtherResource->GetSharedHandle(&sharedHandle); 

The only resources that can be shared are 2D non-mipmapped textures.

To share a resource between a Direct3D 9 device and a Direct3D 11 device the texture must have been created using the pSharedHandle argument of CreateTexture. The shared Direct3D 9 handle is then passed to OpenSharedResource in the hResource argument.

The following code illustrates the method calls involved.

 sharedHandle = null; // must be set to null to create, can use a valid handle here to open in D3D9 	
-            pDevice9->CreateTexture(..., pTex2D_9, &sharedHandle); 	
-            ... 	
-            pDevice11->OpenSharedResource(sharedHandle, __uuidof(), (void**)(&tempResource11)); 	
-            tempResource11->QueryInterface(__uuidof(), (void**)(&pTex2D_11)); 	
-            tempResource11->Release(); 	
-            // now use pTex2D_11 with pDevice11    

Textures being shared from D3D9 to D3D11 have the following restrictions.

  • Textures must be 2D
  • Only 1 mip level is allowed
  • Texture must have default usage
  • Texture must be write only
  • MSAA textures are not allowed
  • Bind flags must have SHADER_RESOURCE and RENDER_TARGET set
  • Only R10G10B10A2_UNORM, R16G16B16A16_FLOAT and R8G8B8A8_UNORM formats are allowed

If a shared texture is updated on one device must be called on that device.

-
- - ff476531 - HRESULT ID3D11Device::OpenSharedResource([In] void* hResource,[In] const GUID& ReturnedInterface,[Out, Optional] void** ppResource) - ID3D11Device::OpenSharedResource -
- - -

Get the support of a given format on the installed video device.

-
-

A enumeration that describes a format for which to check for support.

-

A bitfield of enumeration values describing how the specified format is supported on the installed device. The values are ORed together.

- - ff476498 - HRESULT ID3D11Device::CheckFormatSupport([In] DXGI_FORMAT Format,[Out] D3D11_FORMAT_SUPPORT* pFormatSupport) - ID3D11Device::CheckFormatSupport -
- - -

Get the number of quality levels available during multisampling.

-
-

The texture format. See .

-

The number of samples during multisampling.

-

Number of quality levels supported by the adapter. See remarks.

- -

When multisampling a texture, the number of quality levels available for an adapter is dependent on the texture format used and the number of samples requested. The maximum number of quality levels is defined by in D3D11.h. If this method returns 0, the format and sample count combination is not supported for the installed adapter.

Furthermore, the definition of a quality level is up to each hardware vendor to define, however no facility is provided by Direct3D to help discover this information.

Note that FEATURE_LEVEL_10_1 devices are required to support 4x MSAA for all render targets except R32G32B32A32 and R32G32B32. FEATURE_LEVEL_11_0 devices are required to support 4x MSAA for all render target formats, and 8x MSAA for all render target formats except R32G32B32A32 formats.

-
- - ff476499 - HRESULT ID3D11Device::CheckMultisampleQualityLevels([In] DXGI_FORMAT Format,[In] unsigned int SampleCount,[Out] unsigned int* pNumQualityLevels) - ID3D11Device::CheckMultisampleQualityLevels -
- - -

Get a counter's information.

-
- - ff476496 - void ID3D11Device::CheckCounterInfo([Out] D3D11_COUNTER_INFO* pCounterInfo) - ID3D11Device::CheckCounterInfo -
- - -

Get the type, name, units of measure, and a description of an existing counter.

-
-

Pointer to a counter description (see ). Specifies which counter information is to be retrieved about.

-

Pointer to the data type of a counter (see ). Specifies the data type of the counter being retrieved.

-

Pointer to the number of hardware counters that are needed for this counter type to be created. All instances of the same counter type use the same hardware counters.

-

String to be filled with a brief name for the counter. May be null if the application is not interested in the name of the counter.

-

Length of the string returned to szName. Can be null.

-

Name of the units a counter measures, provided the memory the reference points to has enough room to hold the string. Can be null. The returned string will always be in English.

-

Length of the string returned to szUnits. Can be null.

-

A description of the counter, provided the memory the reference points to has enough room to hold the string. Can be null. The returned string will always be in English.

-

Length of the string returned to szDescription. Can be null.

-

This method returns one of the following Direct3D 11 Return Codes.

- -

Length parameters can be null, which indicates the application is not interested in the length nor the corresponding string value. When a length parameter is non-null and the corresponding string is null, the input value of the length parameter is ignored, and the length of the corresponding string (including terminating null) will be returned through the length parameter. When length and the corresponding parameter are both non-null, the input value of length is checked to ensure there is enough room, and then the length of the string (including terminating null character) is passed out through the length parameter.

Windows?Phone?8: This API is supported.

-
- - ff476495 - HRESULT ID3D11Device::CheckCounter([In] const D3D11_COUNTER_DESC* pDesc,[Out] D3D11_COUNTER_TYPE* pType,[Out] unsigned int* pActiveCounters,[Out, Buffer, Optional] char* szName,[InOut, Optional] unsigned int* pNameLength,[Out, Buffer, Optional] char* szUnits,[InOut, Optional] unsigned int* pUnitsLength,[Out, Buffer, Optional] char* szDescription,[InOut, Optional] unsigned int* pDescriptionLength) - ID3D11Device::CheckCounter -
- - -

Gets information about the features that are supported by the current graphics driver.

-
-

A member of the enumerated type that describes which feature to query for support.

-

Upon completion of the method, the passed structure is filled with data that describes the feature support.

-

The size of the structure passed to the pFeatureSupportData parameter.

-

Returns if successful; otherwise, returns E_INVALIDARG if an unsupported data type is passed to the pFeatureSupportData parameter or a size mismatch is detected for the FeatureSupportDataSize parameter.

- -

To query for multi-threading support, pass the value to the Feature parameter, pass the structure to the pFeatureSupportData parameter, and pass the size of the structure to the FeatureSupportDataSize parameter.

Calling CheckFeatureSupport with Feature set to causes the method to return the same information that would be returned by .

-
- - ff476497 - HRESULT ID3D11Device::CheckFeatureSupport([In] D3D11_FEATURE Feature,[Out, Buffer] void* pFeatureSupportData,[In] unsigned int FeatureSupportDataSize) - ID3D11Device::CheckFeatureSupport -
- - -

Get application-defined data from a device.

-
-

Guid associated with the data.

-

A reference to a variable that on input contains the size, in bytes, of the buffer that pData points to, and on output contains the size, in bytes, of the amount of data that GetPrivateData retrieved.

-

A reference to a buffer that GetPrivateData fills with data from the device if pDataSize points to a value that specifies a buffer large enough to hold the data.

-

This method returns one of the codes described in the topic Direct3D 11 Return Codes.

- - ff476530 - HRESULT ID3D11Device::GetPrivateData([In] const GUID& guid,[InOut] unsigned int* pDataSize,[Out, Buffer, Optional] void* pData) - ID3D11Device::GetPrivateData -
- - -

Set data to a device and associate that data with a guid.

-
-

Guid associated with the data.

-

Size of the data.

-

Pointer to the data to be stored with this device. If pData is null, DataSize must also be 0, and any data previously associated with the guid will be destroyed.

-

This method returns one of the following Direct3D 11 Return Codes.

- -

The data stored in the device with this method can be retrieved with .

The data and guid set with this method will typically be application-defined.

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 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 );	
-            
-
- - ff476533 - HRESULT ID3D11Device::SetPrivateData([In] const GUID& guid,[In] unsigned int DataSize,[In, Buffer, Optional] const void* pData) - ID3D11Device::SetPrivateData -
- - -

Associate an -derived interface with this device child and associate that interface with an application-defined guid.

-
-

Guid associated with the interface.

-

Pointer to an -derived interface to be associated with the device child.

-

This method returns one of the following Direct3D 11 Return Codes.

- - ff476534 - HRESULT ID3D11Device::SetPrivateDataInterface([In] const GUID& guid,[In, Optional] const IUnknown* pData) - ID3D11Device::SetPrivateDataInterface -
- - -

Gets the feature level of the hardware device.

-
-

A member of the enumerated type that describes the feature level of the hardware device.

- -

Feature levels determine the capabilities of your device.

-
- - ff476528 - D3D_FEATURE_LEVEL ID3D11Device::GetFeatureLevel() - ID3D11Device::GetFeatureLevel -
- - -

Get the flags used during the call to create the device with .

-
-

A bitfield containing the flags used to create the device. See .

- - ff476525 - unsigned int ID3D11Device::GetCreationFlags() - ID3D11Device::GetCreationFlags -
- - -

Get the reason why the device was removed.

-
-

Possible return values include:

For more detail on these return codes, see DXGI_ERROR.

- - ff476526 - HRESULT ID3D11Device::GetDeviceRemovedReason() - ID3D11Device::GetDeviceRemovedReason -
- - -

Gets an immediate context, which can play back command lists.

-
-

Upon completion of the method, the passed reference to an interface reference is initialized.

- -

The GetImmediateContext method returns an object that represents an immediate context which is used to perform rendering that you want immediately submitted to a device. For most applications, an immediate context is the primary object that is used to draw your scene.

The GetImmediateContext method increments the reference count of the immediate context by one. Therefore, you must call Release on the returned interface reference when you are done with it to avoid a memory leak.

-
- - ff476529 - void ID3D11Device::GetImmediateContext([Out] ID3D11DeviceContext** ppImmediateContext) - ID3D11Device::GetImmediateContext -
- - -

Get the exception-mode flags.

-
-

A value that contains one or more exception flags; each flag specifies a condition which will cause an exception to be raised. The flags are listed in D3D11_RAISE_FLAG. A default value of 0 means there are no flags.

-

This method returns one of the following Direct3D 11 Return Codes.

- -

Set an exception-mode flag to elevate an error condition to a non-continuable exception.

Whenever an error occurs, a Direct3D device enters the DEVICEREMOVED state and if the appropriate exception flag has been set, an exception is raised. A raised exception is designed to terminate an application. Before termination, the last chance an application has to persist data is by using an UnhandledExceptionFilter (see Structured Exception Handling). In general, UnhandledExceptionFilters are leveraged to try to persist data when an application is crashing (to disk, for example). Any code that executes during an UnhandledExceptionFilter is not guaranteed to reliably execute (due to possible process corruption). Any data that the UnhandledExceptionFilter manages to persist, before the UnhandledExceptionFilter crashes again, should be treated as suspect, and therefore inspected by a new, non-corrupted process to see if it is usable.

-
- - ff476532 - HRESULT ID3D11Device::SetExceptionMode([In] unsigned int RaiseFlags) - ID3D11Device::SetExceptionMode -
- - -

Get the exception-mode flags.

-
-

A value that contains one or more exception flags; each flag specifies a condition which will cause an exception to be raised. The flags are listed in D3D11_RAISE_FLAG. A default value of 0 means there are no flags.

- -

An exception-mode flag is used to elevate an error condition to a non-continuable exception.

-
- - ff476527 - unsigned int ID3D11Device::GetExceptionMode() - ID3D11Device::GetExceptionMode -
- - -

The device interface represents a virtual adapter; it is used to create resources. adds new methods to those in .

-
- - hh404575 - ID3D11Device1 - ID3D11Device1 -
- - - Creates a context state object that holds all Microsoft Direct3D state and some Direct3D behavior. - - The type of the emulated interface. This value specifies the behavior of the device when the context state object is active. Valid values are , , , and . See Remarks. - A combination of values that are combined by using a bitwise OR operation. The resulting value specifies how to create the context state object. The flag is currently the only defined flag. If the original device was created with , you must create all context state objects from that device with the flag. The context state object that CreateDeviceContextState creates inherits the threading model of its associated device context. By default the context state object is rent-threaded, so that an application synchronizes access to the device context, typically by use of critical sections. In contrast, the context state object is free-threaded if you used the ID3D10Multithread interface to turn on thread protection for the device context. If you set the single-threaded flag for both the context state object and the device, you guarantee that you will call the whole set of context methods and device methods only from one thread. You therefore do not need to use critical sections to synchronize access to the device context, and the runtime can avoid working with those processor-intensive critical sections. - A reference to an array of values. The array determines the order of feature levels for which creation is attempted. To get the greatest feature level available, set pFeatureLevels to null, so that CreateDeviceContextState uses the following array of feature level values: { , , , , , , ,}; - A reference to a variable that receives a value from the pFeatureLevels array. This is the first array value with which CreateDeviceContextState succeeded in creating the context state object. If the call to CreateDeviceContextState fails, the variable pointed to by pChosenFeatureLevel is set to zero. - A object that represents the state of a Direct3D device. - - The REFIID value of the emulated interface is a obtained by use of the __uuidof operator. For example, __uuidof() gets the of the interface to a Microsoft Direct3D?11 device.Call the method to activate the context state object. When the context state object is active, the device behaviors that are associated with both the context state object's feature level and its compatible interface are activated on the Direct3D device until the next call to SwapDeviceContextState.When a context state object is active, the runtime disables certain methods on the device and context interfaces. For example, a context state object that is created with __uuidof() will cause the runtime to turn off most of the Microsoft Direct3D?10 device interfaces, and a context state object that is created with __uuidof() or __uuidof() will cause the runtime to turn off most of the methods. - This behavior ensures that a user of either emulated interface cannot set device state that the other emulated interface is unable to express. This restriction helps guarantee that the emulated interface accurately reflects the full state of the pipeline and that the emulated interface will not operate contrary to its original interface definition.For example, suppose the tessellation stage is made active through the interface - when you create the device through or D3D11CreateDeviceAndSwapChain, instead of through the Direct3D?10 equivalents. Because the Direct3D?11 context is active, a Direct3D?10 interface is inactive when you first retrieve it via QueryInterface. This means that you cannot immediately pass a Direct3D?10 interface that you retrieved from a Direct3D?11 device to a function. You must first call SwapDeviceContextState to activate a Direct3D?10-compatible context state object.The following table shows the methods that are active and inactive for each emulated interface.Emulated interface Active device or immediate context interfaces Inactive device or immediate context interfaces or - - - + - + - - ID3D10Multithread - or - - - - + - - ID3D10Multithread - - (As published by the immediate context. The Direct3D?10 or Microsoft Direct3D?10.1 emulated interface has no effect on deferred contexts.)?The following table shows the immediate context methods that the runtime disables when the indicated context state objects are active.Methods of when __uuidof() or __uuidof() is active Methods of when __uuidof() is active Begin - ClearDepthStencilView - ClearDepthStencilView - ClearRenderTargetView - ClearRenderTargetView - ClearState - ClearState - ClearUnorderedAccessViewUint - ClearUnorderedAccessViewFloat - CopyResource - CopyResource - CopyStructureCount - CopySubresourceRegion - CopySubresourceRegion - CSGetConstantBuffers - CSGetSamplers - CSGetShader - CSGetShaderResources - CSGetUnorderedAccessViews - CSSetConstantBuffers - CSSetSamplers - CSSetShader - CSSetShaderResources - CSSetUnorderedAccessViews - Dispatch - DispatchIndirect - CreateBlendState - Draw - Draw - DrawAuto - DrawAuto - DrawIndexed - DrawIndexed - DrawIndexedInstanced - DrawIndexedInstanced - DrawIndexedInstancedIndirect - DrawInstanced - DrawInstanced - DrawInstancedIndirect - DSGetConstantBuffers - DSGetSamplers - DSGetShader - DSGetShaderResources - DSSetConstantBuffers - DSSetSamplers - DSSetShader - DSSetShaderResources - End - ExecuteCommandList - FinishCommandList - Flush - Flush - GenerateMips - GenerateMips - GetData - GetPredication - GetPredication - GetResourceMinLOD - GetType - GetTextFilterSize - GSGetConstantBuffers - GSGetConstantBuffers - GSGetSamplers - GSGetSamplers - GSGetShader - GSGetShader - GSGetShaderResources - GSGetShaderResources - GSSetConstantBuffers - GSSetConstantBuffers - GSSetSamplers - GSSetSamplers - GSSetShader - GSSetShader - GSSetShaderResources - GSSetShaderResources - HSGetConstantBuffers - HSGetSamplers - HSGetShader - HSGetShaderResources - HSSetConstantBuffers - HSSetSamplers - HSSetShader - HSSetShaderResources - IAGetIndexBuffer - IAGetIndexBuffer - IAGetInputLayout - IAGetInputLayout - IAGetPrimitiveTopology - IAGetPrimitiveTopology - IAGetVertexBuffers - IASetIndexBuffer - IASetInputLayout - IASetPrimitiveTopology - IASetVertexBuffers - OMGetBlendState - OMGetBlendState - OMGetDepthStencilState - OMGetDepthStencilState - OMGetRenderTargets - OMGetRenderTargets - OMGetRenderTargetsAndUnorderedAccessViews - OMSetBlendState - OMSetBlendState - OMSetDepthStencilState - OMSetDepthStencilState - OMSetRenderTargets - OMSetRenderTargets - OMSetRenderTargetsAndUnorderedAccessViews - PSGetConstantBuffers - PSGetConstantBuffers - PSGetSamplers - PSGetSamplers - PSGetShader - PSGetShader - PSGetShaderResources - PSGetShaderResources - PSSetConstantBuffers - PSSetConstantBuffers - PSSetSamplers - PSSetSamplers - PSSetShader - PSSetShader - PSSetShaderResources - PSSetShaderResources - ResolveSubresource - ResolveSubresource - RSGetScissorRects - RSGetScissorRects - RSGetState - RSGetState - RSGetViewports - RSGetViewports - RSSetScissorRects - RSSetScissorRects - RSSetState - RSSetState - RSSetViewports - RSSetViewports - SetPredication - SetPredication - SetResourceMinLOD - SetTextFilterSize - SOGetTargets - SOGetTargets - SOSetTargets - SOSetTargets - UpdateSubresource - UpdateSubresource - VSGetConstantBuffers - VSGetConstantBuffers - VSGetSamplers - VSGetSamplers - VSGetShader - VSGetShader - VSGetShaderResources - VSGetShaderResources - VSSetConstantBuffers - VSSetConstantBuffers - VSSetSamplers - VSSetSamplers - VSSetShader - VSSetShader - VSSetShaderResources - VSSetShaderResources ?The following table shows the immediate context methods that the runtime does not disable when the indicated context state objects are active.Methods of when __uuidof() or __uuidof() is active Methods of when __uuidof() is active GetCreationFlags - GetPrivateData - GetContextFlags - Map - Unmap ?The following table shows the interface methods that the runtime does not disable because they are not immediate context methods.Methods of CheckCounter - CheckCounterInfo - Create*, like CreateQuery - GetDeviceRemovedReason - GetExceptionMode - OpenSharedResource - SetExceptionMode - SetPrivateData - SetPrivateDataInterface ? - - HRESULT ID3D11Device1::CreateDeviceContextState([In] D3D11_1_CREATE_DEVICE_CONTEXT_STATE_FLAG Flags,[In, Buffer] const D3D_FEATURE_LEVEL* pFeatureLevels,[In] unsigned int FeatureLevels,[In] unsigned int SDKVersion,[In] const GUID& EmulatedInterface,[Out, Optional] D3D_FEATURE_LEVEL* pChosenFeatureLevel,[Out, Fast] ID3DDeviceContextState** ppContextState) - - - - Gives a device access to a shared resource that is referenced by name and that was created on a different device. You must have previously created the resource as shared and specified that it uses NT handles (that is, you set the flag). - - Type of the resource - The resource handle. - An instance of T - - The behavior of OpenSharedResource1 is similar to the behavior of the method; each call to OpenSharedResource1 to access a resource creates a new resource object. In other words, if you call OpenSharedResource1 twice and pass the same resource handle to hResource, you receive two resource objects with different references.To share a resource between two devicesCreate the resource as shared and specify that it uses NT handles, by setting the flag. Obtain the REFIID, or , of the interface to the resource by using the __uuidof() macro. For example, __uuidof() retrieves the of the interface to a 2D texture. Query the resource for the interface. Call the method to obtain the unique handle to the resource. - - HRESULT ID3D11Device1::OpenSharedResource1([In] void* hResource,[In] const GUID& returnedInterface,[Out] void** ppResource) - - - - Gives a device access to a shared resource that is referenced by name and that was created on a different device. You must have previously created the resource as shared and specified that it uses NT handles (that is, you set the flag). - - Type of the resource - Name of the resource to open for sharing. - The requested access rights to the resource. - An instance of T. - - The behavior of OpenSharedResourceByName is similar to the behavior of the method; each call to OpenSharedResourceByName to access a resource creates a new resource object. In other words, if you call OpenSharedResourceByName twice and pass the same resource name to lpName, you receive two resource objects with different references.To share a resource between two devicesCreate the resource as shared and specify that it uses NT handles, by setting the flag. Obtain the REFIID, or , of the interface to the resource by using the __uuidof() macro. For example, __uuidof() retrieves the of the interface to a 2D texture. Query the resource for the interface. Call the method to obtain the unique handle to the resource. In this call, you must pass a name for the resource if you want to subsequently call OpenSharedResourceByName to access the resource by name. - - HRESULT ID3D11Device1::OpenSharedResourceByName([In] const wchar_t* lpName,[In] unsigned int dwDesiredAccess,[In] const GUID& returnedInterface,[Out] void** ppResource) - - - - - - - Initializes a new instance of the 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 immediate context, which can play back command lists.

-
- -

GetImmediateContext1 returns an object that represents an immediate context. You can use this immediate context to perform rendering that you want immediately submitted to a device. For most applications, an immediate context is the primary object that is used to draw your scene.

GetImmediateContext1 increments the reference count of the immediate context by one. So, call Release on the returned interface reference when you are done with it to avoid a memory leak.

-
- - hh404589 - GetImmediateContext1 - GetImmediateContext1 - void ID3D11Device1::GetImmediateContext1([Out] ID3D11DeviceContext1** ppImmediateContext) -
- - -

Gets an immediate context, which can play back command lists.

-
-

Upon completion of the method, the passed reference to an interface reference is initialized.

- -

GetImmediateContext1 returns an object that represents an immediate context. You can use this immediate context to perform rendering that you want immediately submitted to a device. For most applications, an immediate context is the primary object that is used to draw your scene.

GetImmediateContext1 increments the reference count of the immediate context by one. So, call Release on the returned interface reference when you are done with it to avoid a memory leak.

-
- - hh404589 - void ID3D11Device1::GetImmediateContext1([Out] ID3D11DeviceContext1** ppImmediateContext) - ID3D11Device1::GetImmediateContext1 -
- - -

Creates a deferred context, which can record command lists.

-
-

Reserved for future use. Pass 0.

-

Upon completion of the method, the passed reference to an interface reference is initialized.

-

Returns if successful; otherwise, returns one of the following:

  • Returns if the graphics adapter has been physically removed from the computer or a driver upgrade for the graphics adapter has occurred. If this error occurs, you should destroy and re-create the device.
  • Returns if the CreateDeferredContext1 method cannot be called from the current context. For example, if the device was created with the value, CreateDeferredContext1 returns .
  • Returns E_INVALIDARG if the ContextFlags parameter is invalid.
  • Returns E_OUTOFMEMORY if the application has exhausted available memory.
- -

A deferred context is a thread-safe context that you can use to record graphics commands on a thread other than the main rendering thread. By using a deferred context, you can record graphics commands into a command list that is encapsulated by the interface. After you record all scene items, you can then submit them to the main render thread for final rendering. In this manner, you can perform rendering tasks concurrently across multiple threads and potentially improve performance in multi-core CPU scenarios.

You can create multiple deferred contexts.

Note?? If you use the value to create the device that is represented by , the CreateDeferredContext1 method will fail, and you will not be able to create a deferred context.?

For more information about deferred contexts, see Immediate and Deferred Rendering.

Windows?Phone?8: This API is supported.

-
- - hh404580 - HRESULT ID3D11Device1::CreateDeferredContext1([In] unsigned int ContextFlags,[Out, Fast] ID3D11DeviceContext1** ppDeferredContext) - ID3D11Device1::CreateDeferredContext1 -
- - -

Creates a blend-state object that encapsulates blend state for the output-merger stage and allows the configuration of logic operations.

-
- No documentation. - No documentation. -

This method returns E_OUTOFMEMORY if there is insufficient memory to create the blend-state object. See Direct3D 11 Return Codes for other possible return values.

- -

The logical operations (those that enable bitwise logical operations between pixel shader output and render target contents, refer to ) are only available on certain feature levels; call CheckFeatureSupport with set, to ensure support by checking the boolean field OutputMergerLogicOp of .

An app can create up to 4096 unique blend-state objects. For each object created, the runtime checks to see if a previous object has the same state. If such a previous object exists, the runtime will return a reference to previous instance instead of creating a duplicate object.

-
- - hh404577 - HRESULT ID3D11Device1::CreateBlendState1([In] const D3D11_BLEND_DESC1* pBlendStateDesc,[Out, Fast] ID3D11BlendState1** ppBlendState) - ID3D11Device1::CreateBlendState1 -
- - -

Creates a rasterizer state object that informs the rasterizer stage how to behave and forces the sample count while UAV rendering or rasterizing.

-
- No documentation. - No documentation. -

This method returns E_OUTOFMEMORY if there is insufficient memory to create the rasterizer state object. See Direct3D 11 Return Codes for other possible return values.

- -

An app can create up to 4096 unique rasterizer state objects. For each object created, the runtime checks to see if a previous object has the same state. If such a previous object exists, the runtime will return a reference to previous instance instead of creating a duplicate object.

-
- - hh404586 - HRESULT ID3D11Device1::CreateRasterizerState1([In] const D3D11_RASTERIZER_DESC1* pRasterizerDesc,[Out, Fast] ID3D11RasterizerState1** ppRasterizerState) - ID3D11Device1::CreateRasterizerState1 -
- - -

Creates a context state object that holds all Microsoft Direct3D state and some Direct3D behavior.

-
-

A combination of values that are combined by using a bitwise OR operation. The resulting value specifies how to create the context state object. The flag is currently the only defined flag. If the original device was created with , you must create all context state objects from that device with the flag.

If you set the single-threaded flag for both the context state object and the device, you guarantee that you will call the whole set of context methods and device methods only from one thread. You therefore do not need to use critical sections to synchronize access to the device context, and the runtime can avoid working with those processor-intensive critical sections.

-

A reference to an array of values. The array can contain elements from the following list and determines the order of feature levels for which creation is attempted. Unlike , you can't set pFeatureLevels to null because there is no default feature level array.

{ , , , , , , ,}; 
-

The number of elements in pFeatureLevels. Unlike , you must set FeatureLevels to greater than 0 because you can't set pFeatureLevels to null.

-

The SDK version. You must set this parameter to .

-

The globally unique identifier () for the emulated interface. This value specifies the behavior of the device when the context state object is active. Valid values are obtained by using the __uuidof operator on the ID3D10Device, ID3D10Device1, , and interfaces. See Remarks.

-

A reference to a variable that receives a value from the pFeatureLevels array. This is the first array value with which CreateDeviceContextState succeeded in creating the context state object. If the call to CreateDeviceContextState fails, the variable pointed to by pChosenFeatureLevel is set to zero.

-

The address of a reference to an object that represents the state of a Direct3D device.

-

This method returns one of the Direct3D 11 Return Codes.

- -

The REFIID value of the emulated interface is a obtained by use of the __uuidof operator. For example, __uuidof() gets the of the interface to a Microsoft Direct3D?11 device.

Call the method to activate the context state object. When the context state object is active, the device behaviors that are associated with both the context state object's feature level and its compatible interface are activated on the Direct3D device until the next call to SwapDeviceContextState.

When a context state object is active, the runtime disables certain methods on the device and context interfaces. For example, a context state object that is created with __uuidof() will cause the runtime to turn off most of the Microsoft Direct3D?10 device interfaces, and a context state object that is created with __uuidof(ID3D10Device1) or __uuidof(ID3D10Device) will cause the runtime to turn off most of the methods. This behavior ensures that a user of either emulated interface cannot set device state that the other emulated interface is unable to express. This restriction helps guarantee that the ID3D10Device1 emulated interface accurately reflects the full state of the pipeline and that the emulated interface will not operate contrary to its original interface definition.

For example, suppose the tessellation stage is made active through the interface when you create the device through or D3D11CreateDeviceAndSwapChain, instead of through the Direct3D?10 equivalents. Because the Direct3D?11 context is active, a Direct3D?10 interface is inactive when you first retrieve it via QueryInterface. This means that you cannot immediately pass a Direct3D?10 interface that you retrieved from a Direct3D?11 device to a function. You must first call SwapDeviceContextState to activate a Direct3D?10-compatible context state object.

The following table shows the methods that are active and inactive for each emulated interface.

Emulated interface Active device or immediate context interfaces Inactive device or immediate context interfaces

or

+

+

ID3D10Device

ID3D10Device1 or

ID3D10Device

ID3D10Device

ID3D10Device1

+

(As published by the immediate context. The Direct3D?10 or Microsoft Direct3D?10.1 emulated interface has no effect on deferred contexts.)

?

The following table shows the immediate context methods that the runtime disables when the indicated context state objects are active.

Methods of when __uuidof(ID3D10Device1) or __uuidof(ID3D10Device) is active Methods of ID3D10Device when __uuidof() is active

ClearDepthStencilView

ClearDepthStencilView

ClearRenderTargetView

ClearRenderTargetView

ClearState

ClearState

ClearUnorderedAccessViewUint

ClearUnorderedAccessViewFloat

CopyResource

CopyResource

CopyStructureCount

CopySubresourceRegion

CopySubresourceRegion

CSGetConstantBuffers

CSGetSamplers

CSGetShader

CSGetShaderResources

CSGetUnorderedAccessViews

CSSetConstantBuffers

CSSetSamplers

CSSetShader

CSSetShaderResources

CSSetUnorderedAccessViews

Dispatch

DispatchIndirect

CreateBlendState

Draw

Draw

DrawAuto

DrawAuto

DrawIndexed

DrawIndexed

DrawIndexedInstanced

DrawIndexedInstanced

DrawIndexedInstancedIndirect

DrawInstanced

DrawInstanced

DrawInstancedIndirect

DSGetConstantBuffers

DSGetSamplers

DSGetShader

DSGetShaderResources

DSSetConstantBuffers

DSSetSamplers

DSSetShader

DSSetShaderResources

ExecuteCommandList

FinishCommandList

Flush

Flush

GenerateMips

GenerateMips

GetPredication

GetPredication

GetResourceMinLOD

GetType

GetTextFilterSize

GSGetConstantBuffers

GSGetConstantBuffers

GSGetSamplers

GSGetSamplers

GSGetShader

GSGetShader

GSGetShaderResources

GSGetShaderResources

GSSetConstantBuffers

GSSetConstantBuffers

GSSetSamplers

GSSetSamplers

GSSetShader

GSSetShader

GSSetShaderResources

GSSetShaderResources

HSGetConstantBuffers

HSGetSamplers

HSGetShader

HSGetShaderResources

HSSetConstantBuffers

HSSetSamplers

HSSetShader

HSSetShaderResources

IAGetIndexBuffer

IAGetIndexBuffer

IAGetInputLayout

IAGetInputLayout

IAGetPrimitiveTopology

IAGetPrimitiveTopology

IAGetVertexBuffers

IAGetVertexBuffers

IASetIndexBuffer

IASetIndexBuffer

IASetInputLayout

IASetInputLayout

IASetPrimitiveTopology

IASetPrimitiveTopology

IASetVertexBuffers

IASetVertexBuffers

OMGetBlendState

OMGetBlendState

OMGetDepthStencilState

OMGetDepthStencilState

OMGetRenderTargets

OMGetRenderTargets

OMGetRenderTargetsAndUnorderedAccessViews

OMSetBlendState

OMSetBlendState

OMSetDepthStencilState

OMSetDepthStencilState

OMSetRenderTargets

OMSetRenderTargets

OMSetRenderTargetsAndUnorderedAccessViews

PSGetConstantBuffers

PSGetConstantBuffers

PSGetSamplers

PSGetSamplers

PSGetShader

PSGetShader

PSGetShaderResources

PSGetShaderResources

PSSetConstantBuffers

PSSetConstantBuffers

PSSetSamplers

PSSetSamplers

PSSetShader

PSSetShader

PSSetShaderResources

PSSetShaderResources

ResolveSubresource

ResolveSubresource

RSGetScissorRects

RSGetScissorRects

RSGetState

RSGetState

RSGetViewports

RSGetViewports

RSSetScissorRects

RSSetScissorRects

RSSetState

RSSetState

RSSetViewports

RSSetViewports

SetPredication

SetPredication

SetResourceMinLOD

SetTextFilterSize

SOGetTargets

SOGetTargets

SOSetTargets

SOSetTargets

UpdateSubresource

UpdateSubresource

VSGetConstantBuffers

VSGetConstantBuffers

VSGetSamplers

VSGetSamplers

VSGetShader

VSGetShader

VSGetShaderResources

VSGetShaderResources

VSSetConstantBuffers

VSSetConstantBuffers

VSSetSamplers

VSSetSamplers

VSSetShader

VSSetShader

VSSetShaderResources

VSSetShaderResources

?

The following table shows the immediate context methods that the runtime does not disable when the indicated context state objects are active.

Methods of when __uuidof(ID3D10Device1) or __uuidof(ID3D10Device) is active Methods of ID3D10Device when __uuidof() is active

Begin

End

GetCreationFlags

GetPrivateData

GetContextFlags

GetData

Map

Unmap

?

The following table shows the ID3D10Device interface methods that the runtime does not disable because they are not immediate context methods.

Methods of ID3D10Device

CheckCounter

CheckCounterInfo

Create*, like CreateQuery

GetDeviceRemovedReason

GetExceptionMode

OpenSharedResource

SetExceptionMode

SetPrivateData

SetPrivateDataInterface

?

Windows?Phone?8: This API is supported.

-
- - hh404583 - HRESULT ID3D11Device1::CreateDeviceContextState([In] D3D11_1_CREATE_DEVICE_CONTEXT_STATE_FLAG Flags,[In, Buffer] const D3D_FEATURE_LEVEL* pFeatureLevels,[In] unsigned int FeatureLevels,[In] unsigned int SDKVersion,[In] const GUID& EmulatedInterface,[Out, Optional] D3D_FEATURE_LEVEL* pChosenFeatureLevel,[Out, Fast] ID3DDeviceContextState** ppContextState) - ID3D11Device1::CreateDeviceContextState -
- - -

Give a device access to a shared resource created on a different device.

-
-

A resource handle. See remarks.

-

The globally unique identifier () for the resource interface. See remarks.

-

Address of a reference to the resource we are gaining access to.

-

This method returns one of the following Direct3D 11 Return Codes.

- -

The REFIID, or , of the interface to the resource can be obtained by using the __uuidof() macro. For example, __uuidof() will get the of the interface to a buffer resource.

The unique handle of the resource is obtained differently depending on the type of device that originally created the resource.

To share a resource between two Direct3D 11 devices the resource must have been created with the flag, if it was created using the interface. If it was created using a DXGI device interface, then the resource is always shared.

The REFIID, or , of the interface to the resource can be obtained by using the __uuidof() macro. For example, __uuidof() will get the of the interface to a buffer resource.

When sharing a resource between two Direct3D 10/11 devices the unique handle of the resource can be obtained by querying the resource for the interface and then calling GetSharedHandle.

 * pOtherResource(null);	
-            hr = pOtherDeviceResource->QueryInterface( __uuidof(), (void**)&pOtherResource );	
-            HANDLE sharedHandle;	
-            pOtherResource->GetSharedHandle(&sharedHandle); 

The only resources that can be shared are 2D non-mipmapped textures.

To share a resource between a Direct3D 9 device and a Direct3D 11 device the texture must have been created using the pSharedHandle argument of CreateTexture. The shared Direct3D 9 handle is then passed to OpenSharedResource in the hResource argument.

The following code illustrates the method calls involved.

 sharedHandle = null; // must be set to null to create, can use a valid handle here to open in D3D9 	
-            pDevice9->CreateTexture(..., pTex2D_9, &sharedHandle); 	
-            ... 	
-            pDevice11->OpenSharedResource(sharedHandle, __uuidof(), (void**)(&tempResource11)); 	
-            tempResource11->QueryInterface(__uuidof(), (void**)(&pTex2D_11)); 	
-            tempResource11->Release(); 	
-            // now use pTex2D_11 with pDevice11    

Textures being shared from D3D9 to D3D11 have the following restrictions.

  • Textures must be 2D
  • Only 1 mip level is allowed
  • Texture must have default usage
  • Texture must be write only
  • MSAA textures are not allowed
  • Bind flags must have SHADER_RESOURCE and RENDER_TARGET set
  • Only R10G10B10A2_UNORM, R16G16B16A16_FLOAT and R8G8B8A8_UNORM formats are allowed

If a shared texture is updated on one device must be called on that device.

-
- - ff476531 - HRESULT ID3D11Device1::OpenSharedResource1([In] void* hResource,[In] const GUID& returnedInterface,[Out] void** ppResource) - ID3D11Device1::OpenSharedResource1 -
- - -

Gives a device access to a shared resource that is referenced by name and that was created on a different device. You must have previously created the resource as shared and specified that it uses NT handles (that is, you set the flag).

-
- No documentation. - No documentation. - No documentation. - No documentation. -

This method returns one of the Direct3D 11 return codes. This method also returns E_ACCESSDENIED if the permissions to access the resource aren't valid.

Platform Update for Windows?7:??On Windows?7 or Windows Server?2008?R2 with the Platform Update for Windows?7 installed, OpenSharedResourceByName fails with E_NOTIMPL because NTHANDLES are used. For more info about the Platform Update for Windows?7, see Platform Update for Windows 7.

- -

The behavior of OpenSharedResourceByName is similar to the behavior of the method; each call to OpenSharedResourceByName to access a resource creates a new resource object. In other words, if you call OpenSharedResourceByName twice and pass the same resource name to lpName, you receive two resource objects with different references.

To share a resource between two devices

  1. Create the resource as shared and specify that it uses NT handles, by setting the flag.
  2. Obtain the REFIID, or , of the interface to the resource by using the __uuidof() macro. For example, __uuidof() retrieves the of the interface to a 2D texture.
  3. Query the resource for the interface.
  4. Call the method to obtain the unique handle to the resource. In this call, you must pass a name for the resource if you want to subsequently call OpenSharedResourceByName to access the resource by name.
-
- - hh404595 - HRESULT ID3D11Device1::OpenSharedResourceByName([In] const wchar_t* lpName,[In] DXGI_SHARED_RESOURCE_FLAGS dwDesiredAccess,[In] const GUID& returnedInterface,[Out] void** ppResource) - ID3D11Device1::OpenSharedResourceByName -
- - -

The device interface represents a virtual adapter; it is used to create resources. adds new methods to those in .

-
- - dn280493 - ID3D11Device2 - ID3D11Device2 -
- - - - - - Initializes a new instance of the 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 immediate context, which can play back command lists.

-
- -

The GetImmediateContext2 method returns an object that represents an immediate context, which is used to perform rendering that you want immediately submitted to a device. For most apps, an immediate context is the primary object that is used to draw your scene.

The GetImmediateContext2 method increments the reference count of the immediate context by one. Therefore, you must call Release on the returned interface reference when you are done with it to avoid a memory leak.

-
- - dn280496 - GetImmediateContext2 - GetImmediateContext2 - void ID3D11Device2::GetImmediateContext2([Out] ID3D11DeviceContext2** ppImmediateContext) -
- - -

Gets an immediate context, which can play back command lists.

-
- No documentation. - -

The GetImmediateContext2 method returns an object that represents an immediate context, which is used to perform rendering that you want immediately submitted to a device. For most apps, an immediate context is the primary object that is used to draw your scene.

The GetImmediateContext2 method increments the reference count of the immediate context by one. Therefore, you must call Release on the returned interface reference when you are done with it to avoid a memory leak.

-
- - dn280496 - void ID3D11Device2::GetImmediateContext2([Out] ID3D11DeviceContext2** ppImmediateContext) - ID3D11Device2::GetImmediateContext2 -
- - -

Creates a deferred context, which can record command lists.

-
- No documentation. - No documentation. -

Returns if successful; otherwise, returns one of the following:

  • Returns if the video card has been physically removed from the system, or a driver upgrade for the video card has occurred. If this error occurs, you should destroy and recreate the device.
  • Returns if the CreateDeferredContext2 method can't be called from the current context. For example, if the device was created with the value, CreateDeferredContext2 returns .
  • Returns E_INVALIDARG if the ContextFlags parameter is invalid.
  • Returns E_OUTOFMEMORY if the app has exhausted available memory.
- -

A deferred context is a thread-safe context that you can use to record graphics commands on a thread other than the main rendering thread. By using a deferred context, you can record graphics commands into a command list that is encapsulated by the interface. After you record all scene items, you can then submit them to the main render thread for final rendering. In this manner, you can perform rendering tasks concurrently across multiple threads and potentially improve performance in multi-core CPU scenarios.

You can create multiple deferred contexts.

Note?? If you use the value to create the device, CreateDeferredContext2 fails with , and you can't create a deferred context.?

For more information about deferred contexts, see Immediate and Deferred Rendering.

-
- - dn280495 - HRESULT ID3D11Device2::CreateDeferredContext2([In] unsigned int ContextFlags,[Out, Fast] ID3D11DeviceContext2** ppDeferredContext) - ID3D11Device2::CreateDeferredContext2 -
- - -

Gets info about how a tiled resource is broken into tiles.

-
-

A reference to the tiled resource to get info about.

-

A reference to a variable that receives the number of tiles needed to store the entire tiled resource.

-

A reference to a structure that GetResourceTiling fills with info about how the tiled resource's mipmaps are packed.

-

A reference to a structure that GetResourceTiling fills with info about the tile shape. This is info about how pixels fit in the tiles, independent of tiled resource's dimensions, not including packed mipmaps. If the entire tiled resource is packed, this parameter is meaningless because the tiled resource has no defined layout for packed mipmaps. In this situation, GetResourceTiling sets the members of to zeros.

-

A reference to a variable that contains the number of tiles in the subresource. On input, this is the number of subresources to query tilings for; on output, this is the number that was actually retrieved at pSubresourceTilingsForNonPackedMips (clamped to what's available).

-

The number of the first subresource tile to get. GetResourceTiling ignores this parameter if the number that pNumSubresourceTilings points to is 0.

-

A reference to a structure that GetResourceTiling fills with info about subresource tiles.

If subresource tiles are part of packed mipmaps, GetResourceTiling sets the members of to zeros, except the StartTileIndexInOverallResource member, which GetResourceTiling sets to D3D11_PACKED_TILE (0xffffffff). The D3D11_PACKED_TILE constant indicates that the whole structure is meaningless for this situation, and the info that the pPackedMipDesc parameter points to applies.

- -

For more info about tiled resources, see Tiled resources.

-
- - dn280497 - void ID3D11Device2::GetResourceTiling([In] ID3D11Resource* pTiledResource,[Out, Optional] unsigned int* pNumTilesForEntireResource,[Out, Optional] D3D11_PACKED_MIP_DESC* pPackedMipDesc,[Out, Optional] D3D11_TILE_SHAPE* pStandardTileShapeForNonPackedMips,[InOut] unsigned int* pNumSubresourceTilings,[In] unsigned int FirstSubresourceTilingToGet,[Out, Buffer] D3D11_SUBRESOURCE_TILING* pSubresourceTilingsForNonPackedMips) - ID3D11Device2::GetResourceTiling -
- - -

Get the number of quality levels available during multisampling.

-
-

The texture format during multisampling.

-

The number of samples during multisampling.

-

A combination of D3D11_CHECK_MULTISAMPLE_QUALITY_LEVELS_FLAGS values that are combined by using a bitwise OR operation. Currently, only is supported.

-

A reference to a variable the receives the number of quality levels supported by the adapter. See Remarks.

- -

When you multisample a texture, the number of quality levels available for an adapter is dependent on the texture format that you use and the number of samples that you request. The maximum number of quality levels is defined by in D3D11.h. If this method returns 0, the format and sample count combination is not supported for the installed adapter.

Furthermore, the definition of a quality level is up to each hardware vendor to define, however no facility is provided by Direct3D to help discover this information.

Note that FEATURE_LEVEL_10_1 devices are required to support 4x MSAA for all render targets except R32G32B32A32 and R32G32B32. FEATURE_LEVEL_11_0 devices are required to support 4x MSAA for all render target formats, and 8x MSAA for all render target formats except R32G32B32A32 formats.

-
- - dn280494 - HRESULT ID3D11Device2::CheckMultisampleQualityLevels1([In] DXGI_FORMAT Format,[In] unsigned int SampleCount,[In] D3D11_CHECK_MULTISAMPLE_QUALITY_LEVELS_FLAG Flags,[Out] unsigned int* pNumQualityLevels) - ID3D11Device2::CheckMultisampleQualityLevels1 -
- - -

The device interface represents a virtual adapter; it is used to create resources. adds new methods to those in .

-
- - dn899218 - ID3D11Device3 - ID3D11Device3 -
- - - - - - Initializes a new instance of the 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 immediate context, which can play back command lists.

-
- -

The GetImmediateContext3 method outputs an object that represents an immediate context, which is used to perform rendering that you want immediately submitted to a device. For most apps, an immediate context is the primary object that is used to draw your scene.

The GetImmediateContext3 method increments the reference count of the immediate context by one. Therefore, you must call Release on the returned interface reference when you are done with it to avoid a memory leak.

-
- - dn912872 - GetImmediateContext3 - GetImmediateContext3 - void ID3D11Device3::GetImmediateContext3([Out] ID3D11DeviceContext3** ppImmediateContext) -
- - -

Creates a 2D texture.

-
- No documentation. - No documentation. - No documentation. -

If the method succeeds, the return code is . See Direct3D 11 Return Codes for failing error codes.

- -

CreateTexture2D1 creates a 2D texture resource, which can contain a number of 2D subresources. The number of subresources is specified in the texture description. All textures in a resource must have the same format, size, and number of mipmap levels.

All resources are made up of one or more subresources. To load data into the texture, applications can supply the data initially as an array of structures pointed to by pInitialData, or they can use one of the D3DX texture functions such as D3DX11CreateTextureFromFile.

For a 32 x 32 texture with a full mipmap chain, the pInitialData array has the following 6 elements: -

  • pInitialData[0] = 32x32
  • pInitialData[1] = 16x16
  • pInitialData[2] = 8x8
  • pInitialData[3] = 4x4 -
  • pInitialData[4] = 2x2 -
  • pInitialData[5] = 1x1 -
-
- - dn899229 - HRESULT ID3D11Device3::CreateTexture2D1([In] const D3D11_TEXTURE2D_DESC1* pDesc1,[In, Buffer, Optional] const D3D11_SUBRESOURCE_DATA* pInitialData,[Out, Fast] ID3D11Texture2D1** ppTexture2D) - ID3D11Device3::CreateTexture2D1 -
- - -

Creates a 3D texture.

-
- No documentation. - No documentation. - No documentation. -

If the method succeeds, the return code is . See Direct3D 11 Return Codes for failing error codes.

- -

CreateTexture3D1 creates a 3D texture resource, which can contain a number of 3D subresources. The number of textures is specified in the texture description. All textures in a resource must have the same format, size, and number of mipmap levels.

All resources are made up of one or more subresources. To load data into the texture, applications can supply the data initially as an array of structures pointed to by pInitialData, or they can use one of the D3DX texture functions such as D3DX11CreateTextureFromFile.

Each element of pInitialData provides all of the slices that are defined for a given miplevel. For example, for a 32 x 32 x 4 volume texture with a full mipmap chain, the array has the following 6 elements:

  • pInitialData[0] = 32x32 with 4 slices
  • pInitialData[1] = 16x16 with 2 slices
  • pInitialData[2] = 8x8 with 1 slice
  • pInitialData[3] = 4x4 - with 1 slice
  • pInitialData[4] = 2x2 - with 1 slice
  • pInitialData[5] = 1x1 - with 1 slice
-
- - dn899231 - HRESULT ID3D11Device3::CreateTexture3D1([In] const D3D11_TEXTURE3D_DESC1* pDesc1,[In, Buffer, Optional] const D3D11_SUBRESOURCE_DATA* pInitialData,[Out, Fast] ID3D11Texture3D1** ppTexture3D) - ID3D11Device3::CreateTexture3D1 -
- - -

Creates a rasterizer state object that informs the rasterizer stage how to behave and forces the sample count while UAV rendering or rasterizing.

-
- No documentation. - No documentation. -

This method returns E_OUTOFMEMORY if there is insufficient memory to create the rasterizer state object. See Direct3D 11 Return Codes for other possible return values.

- - dn899221 - HRESULT ID3D11Device3::CreateRasterizerState2([In] const D3D11_RASTERIZER_DESC2* pRasterizerDesc,[Out, Fast] ID3D11RasterizerState2** ppRasterizerState) - ID3D11Device3::CreateRasterizerState2 -
- - -

Creates a shader-resource view for accessing data in a resource.

-
-

Pointer to the resource that will serve as input to a shader. This resource must have been created with the flag.

-

A reference to a structure that describes a shader-resource view. Set this parameter to null to create a view that accesses the entire resource (using the format the resource was created with).

-

A reference to a memory block that receives a reference to a interface for the created shader-resource view. Set this parameter to null to validate the other input parameters (the method will return S_FALSE if the other input parameters pass validation).

-

This method returns E_OUTOFMEMORY if there is insufficient memory to create the shader-resource view. See Direct3D 11 Return Codes for other possible return values.

- - dn899227 - HRESULT ID3D11Device3::CreateShaderResourceView1([In] ID3D11Resource* pResource,[In, Optional] const D3D11_SHADER_RESOURCE_VIEW_DESC1* pDesc1,[Out, Fast] ID3D11ShaderResourceView1** ppSRView1) - ID3D11Device3::CreateShaderResourceView1 -
- - -

Creates a view for accessing an unordered access resource.

-
- No documentation. - No documentation. - No documentation. -

This method returns E_OUTOFMEMORY if there is insufficient memory to create the unordered-access view. See Direct3D 11 Return Codes for other possible return values.

- - dn899232 - HRESULT ID3D11Device3::CreateUnorderedAccessView1([In] ID3D11Resource* pResource,[In, Optional] const D3D11_UNORDERED_ACCESS_VIEW_DESC1* pDesc1,[Out, Fast] ID3D11UnorderedAccessView1** ppUAView1) - ID3D11Device3::CreateUnorderedAccessView1 -
- - -

Creates a render-target view for accessing resource data.

-
-

Pointer to a that represents a render target. This resource must have been created with the flag.

-

Pointer to a that represents a render-target view description. Set this parameter to null to create a view that accesses all of the subresources in mipmap level 0.

-

A reference to a memory block that receives a reference to a interface for the created render-target view. Set this parameter to null to validate the other input parameters (the method will return S_FALSE if the other input parameters pass validation).

-

This method returns one of the Direct3D 11 Return Codes.

- -

A render-target view can be bound to the output-merger stage by calling .

-
- - dn899224 - HRESULT ID3D11Device3::CreateRenderTargetView1([In] ID3D11Resource* pResource,[In, Optional] const D3D11_RENDER_TARGET_VIEW_DESC1* pDesc1,[Out, Fast] ID3D11RenderTargetView1** ppRTView1) - ID3D11Device3::CreateRenderTargetView1 -
- - -

Creates a query object for querying information from the graphics processing unit (GPU).

-
-

Pointer to a structure that represents a query description.

-

A reference to a memory block that receives a reference to a interface for the created query object. Set this parameter to null to validate the other input parameters (the method will return S_FALSE if the other input parameters pass validation).

-

This method returns E_OUTOFMEMORY if there is insufficient memory to create the query object. See Direct3D 11 Return Codes for other possible return values.

- - dn899220 - HRESULT ID3D11Device3::CreateQuery1([In] const D3D11_QUERY_DESC1* pQueryDesc1,[Out, Fast] ID3D11Query1** ppQuery1) - ID3D11Device3::CreateQuery1 -
- - -

Gets an immediate context, which can play back command lists.

-
- No documentation. - -

The GetImmediateContext3 method outputs an object that represents an immediate context, which is used to perform rendering that you want immediately submitted to a device. For most apps, an immediate context is the primary object that is used to draw your scene.

The GetImmediateContext3 method increments the reference count of the immediate context by one. Therefore, you must call Release on the returned interface reference when you are done with it to avoid a memory leak.

-
- - dn912872 - void ID3D11Device3::GetImmediateContext3([Out] ID3D11DeviceContext3** ppImmediateContext) - ID3D11Device3::GetImmediateContext3 -
- - -

Creates a deferred context, which can record command lists.

-
- No documentation. - No documentation. -

Returns if successful; otherwise, returns one of the following:

  • Returns if the video card has been physically removed from the system, or a driver upgrade for the video card has occurred. If this error occurs, you should destroy and recreate the device.
  • Returns if the CreateDeferredContext3 method can't be called from the current context. For example, if the device was created with the value, CreateDeferredContext3 returns .
  • Returns E_INVALIDARG if the ContextFlags parameter is invalid.
  • Returns E_OUTOFMEMORY if the app has exhausted available memory.
- - dn912871 - HRESULT ID3D11Device3::CreateDeferredContext3([In] unsigned int ContextFlags,[Out, Fast] ID3D11DeviceContext3** ppDeferredContext) - ID3D11Device3::CreateDeferredContext3 -
- - -

Copies data into a texture which was mapped using ID3D11DeviceContext3::Map while providing a null parameter.

-
- No documentation. - No documentation. - No documentation. - No documentation. - No documentation. - No documentation. - -

The provided resource must be a texture which was mapped for writing by a previous call to ID3D11DeviceContext3::Map while providing a null parameter.

This API is intended for calling at high frequency. Callers can reduce memory by making iterative calls that update progressive regions of the texture, while provide a small buffer during each call. It is most efficient to specify large enough regions, though, because this enables D3D to fill whole cache lines in the texture before returning.

For efficiency, ensure the bounds and alignment of the extents within the box are ( 64 / [bytes per pixel] ) pixels horizontally. Vertical bounds and alignment should be 2 rows, except when 1-byte-per-pixel formats are used, in which case 4 rows are recommended. Single depth slices per call are handled efficiently. It is recommended but not necessary to provide references and strides which are 128-byte aligned.

When writing to sub mipmap levels, it is recommended to use larger width and heights than described above. This is because small mipmap levels may actually be stored within a larger block of memory, with an opaque amount of offsetting which can interfere with alignment to cache lines.

-
- - dn912874 - void ID3D11Device3::WriteToSubresource([In] ID3D11Resource* pDstResource,[In] unsigned int DstSubresource,[In, Optional] const D3D11_BOX* pDstBox,[In] const void* pSrcData,[In] unsigned int SrcRowPitch,[In] unsigned int SrcDepthPitch) - ID3D11Device3::WriteToSubresource -
- - -

Copies data from a texture which was mapped using ID3D11DeviceContext3::Map while providing a null parameter.

-
- No documentation. - No documentation. - No documentation. - No documentation. - No documentation. - No documentation. - -

The provided resource must be a texture which was mapped for writing by a previous call to ID3D11DeviceContext3::Map while providing a null parameter.

This API is intended for calling at high frequency. Callers can reduce memory by making iterative calls that update progressive regions of the texture, while provide a small buffer during each call. It is most efficient to specify large enough regions, though, because this enables D3D to fill whole cache lines in the texture before returning.

For efficiency, ensure the bounds and alignment of the extents within the box are ( 64 / [Bytes per pixel] ) pixels horizontally. Vertical bounds and alignment should be 2 rows, except when 1-byte-per-pixel formats are used, in which case 4 rows are recommended. Single depth slices per call are handled efficiently. It is recommended but not necessary to provide references and strides which are 128-byte aligned.

When reading from sub mipmap levels, it is recommended to use larger width and heights than described above. This is because small mipmap levels may actually be stored within a larger block of memory, with an opaque amount of offseting which can interfere with alignment to cache lines.

-
- - dn912873 - void ID3D11Device3::ReadFromSubresource([Out] void* pDstData,[In] unsigned int DstRowPitch,[In] unsigned int DstDepthPitch,[In] ID3D11Resource* pSrcResource,[In] unsigned int SrcSubresource,[In, Optional] const D3D11_BOX* pSrcBox) - ID3D11Device3::ReadFromSubresource -
- - -

The device interface represents a virtual adapter; it is used to create resources.

Note??The latest version of this interface is introduced in the Windows 10 Creators Update. Applications targetting Windows 10 Creators Update should use the interface instead of .? -
- -

A device is created using .

Windows?Phone?8: This API is supported.

-
- - ff476379 - ID3D11Device5 - ID3D11Device5 -
- - - Opens a handle for a shared fence by using resourceHandle. - - The handle that was returned by a call to ID3D11Fence::CreateSharedHandle or ID3D12Device::CreateSharedHandle - Fence - - - - Initializes a new instance of the 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 ID3D11Device5::OpenSharedFence([In] void* hFence,[In] const GUID& ReturnedInterface,[Out, Optional] void** ppFence) - ID3D11Device5::OpenSharedFence - - - -

The device interface represents a virtual adapter; it is used to create resources. adds new methods to those in .

Note??This interface, introduced in the Windows 10 Creators Update, is the latest version of the interface. Applications targetting Windows 10 Creators Update should use this interface instead of earlier versions.? -
- No documentation. - No documentation. - No documentation. - No documentation. - No documentation. - - mt492478 - HRESULT ID3D11Device5::CreateFence([In] unsigned longlong InitialValue,[In] D3D11_FENCE_FLAG Flags,[In] const GUID& ReturnedInterface,[Out, Fast] ID3D11Fence** ppFence) - ID3D11Device5::CreateFence -
- - -

A device-child interface accesses data used by a device.

-
- -

There are several types of device child interfaces, all of which inherit this interface. They include shaders, state objects, and input layouts.

Windows?Phone?8: This API is supported.

-
- - ff476380 - ID3D11DeviceChild - ID3D11DeviceChild -
- - - 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 reference to the device that created this interface.

-
- -

Any returned interfaces will have their reference count incremented by one, so be sure to call ::release() on the returned reference(s) before they are freed or else you will have a memory leak.

-
- - ff476381 - GetDevice - GetDevice - void ID3D11DeviceChild::GetDevice([Out] ID3D11Device** ppDevice) -
- - -

Get a reference to the device that created this interface.

-
-

Address of a reference to a device (see ).

- -

Any returned interfaces will have their reference count incremented by one, so be sure to call ::release() on the returned reference(s) before they are freed or else you will have a memory leak.

-
- - ff476381 - void ID3D11DeviceChild::GetDevice([Out] ID3D11Device** ppDevice) - ID3D11DeviceChild::GetDevice -
- - -

Get application-defined data from a device child.

-
-

Guid associated with the data.

-

A reference to a variable that on input contains the size, in bytes, of the buffer that pData points to, and on output contains the size, in bytes, of the amount of data that GetPrivateData retrieved.

-

A reference to a buffer that GetPrivateData fills with data from the device child if pDataSize points to a value that specifies a buffer large enough to hold the data.

-

This method returns one of the Direct3D 11 Return Codes.

- -

The data stored in the device child is set by calling .

Windows?Phone?8: This API is supported.

-
- - ff476382 - HRESULT ID3D11DeviceChild::GetPrivateData([In] const GUID& guid,[InOut] unsigned int* pDataSize,[Out, Buffer, Optional] void* pData) - ID3D11DeviceChild::GetPrivateData -
- - -

Set application-defined data to a device child and associate that data with an application-defined guid.

-
-

Guid associated with the data.

-

Size of the data.

-

Pointer to the data to be stored with this device child. If pData is null, DataSize must also be 0, and any data previously associated with the specified guid will be destroyed.

-

This method returns one of the following Direct3D 11 Return Codes.

- -

The data stored in the device child with this method can be retrieved with .

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 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 );	
-            
-
- - ff476383 - HRESULT ID3D11DeviceChild::SetPrivateData([In] const GUID& guid,[In] unsigned int DataSize,[In, Buffer, Optional] const void* pData) - ID3D11DeviceChild::SetPrivateData -
- - -

Associate an -derived interface with this device child and associate that interface with an application-defined guid.

-
-

Guid associated with the interface.

-

Pointer to an -derived interface to be associated with the device child.

-

This method returns one of the following Direct3D 11 Return Codes.

- -

When this method is called ::addref() will be called on the -derived interface, and when the device child is detroyed ::release() will be called on the -derived interface.

-
- - ff476384 - HRESULT ID3D11DeviceChild::SetPrivateDataInterface([In] const GUID& guid,[In, Optional] const IUnknown* pData) - ID3D11DeviceChild::SetPrivateDataInterface -
- - - Common Shader class. Provides a common set of methods for a Shader Stage. - TODO: check if usage of abstract is not introducing an unacceptable overhead... - - - Functions - - - - - - Initializes a new instance of the class. - - The pointer. - - - - Gets the constant buffers used by the shader stage. - - Index into the device's zero-based array from which to begin retrieving constant buffers. - Number of buffers to retrieve. - An array of constant buffers. - - - - Gets the sampler states used by the shader stage. - - Index into the device's zero-based array from which to begin retrieving samplers. - Number of samplers to retrieve. - An array of sampler states. - - - - Gets the shader resources used by the shader stage. - - Index into the device's zero-based array from which to begin retrieving shader resources. - Number of resources to retrieve. - An array of shader resources. - - - - Sets a single constant buffer to be used by the shader stage. - - Index into the device's zero-based array to which to set the constant buffer. - constant buffer to set - - - - Sets an array of constant buffers to be used by the shader stage. - - Index into the device's zero-based array to which to set the array of constant buffers. - An array of constant buffer to set - - - - Sets an array of constant buffers to be used by the shader stage. - - Index into the device's zero-based array to which to set the array of constant buffers. - An array of constant buffer to set - - - - Sets a single sampler to be used by the shader stage. - - Index into the device's zero-based array to which to set the sampler. - sampler state to set - - - - Sets an array of samplers to be used by the shader stage. - - Index into the device's zero-based array to which to set the array of sampler states. - An array of sampler state to set - - - - Sets an array of samplers to be used by the shader stage. - - Index into the device's zero-based array to which to set the array of sampler states. - An array of sampler state to set - - - - Sets a single shader resource to be used by the shader stage. - - Index into the device's zero-based array to which to set the resource. - Resource view to attach - - - - Bind an array of shader resources to the shader stage. - - - If an overlapping resource view is already bound to an output slot, such as a render target, then this API will fill the destination shader resource slot with NULL.For information about creating shader-resource views, see . The method will hold a reference to the interfaces passed in. This differs from the device state behavior in Direct3D 10. - - Index into the device's zero-based array to begin setting shader resources to (ranges from 0 to D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1). - Array of {{shader resource view}} interfaces to set to the device. - - - - Bind an array of shader resources to the shader stage. - - - If an overlapping resource view is already bound to an output slot, such as a render target, then this API will fill the destination shader resource slot with NULL.For information about creating shader-resource views, see . The method will hold a reference to the interfaces passed in. This differs from the device state behavior in Direct3D 10. - - Index into the device's zero-based array to begin setting shader resources to (ranges from 0 to D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1). - Array of {{shader resource view}} interfaces to set to the device. - - - - Get the shader resources. - - - Any returned interfaces will have their reference count incremented by one. Applications should call IUnknown::Release on the returned interfaces when they are no longer needed to avoid memory leaks. - - Index into the device's zero-based array to begin getting shader resources from (ranges from 0 to D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1). - The number of resources to get from the device. Up to a maximum of 128 slots are available for shader resources (ranges from 0 to D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot). - Array of {{shader resource view}} interfaces to be returned by the device. - void PSGetShaderResources([In] UINT StartSlot,[In] UINT NumViews,[Out, Buffer] ID3D11ShaderResourceView** ppShaderResourceViews) - - - - Get an array of sampler states from the shader pipeline stage. - - - Any returned interfaces will have their reference count incremented by one. Applications should call IUnknown::Release on the returned interfaces when they are no longer needed to avoid memory leaks. - - Index into a zero-based array to begin getting samplers from (ranges from 0 to D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - 1). - Number of samplers to get from a device context. Each pipeline stage has a total of 16 sampler slots available (ranges from 0 to D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot). - Array of sampler-state interface pointers (see ) to be returned by the device. - void PSGetSamplers([In] UINT StartSlot,[In] UINT NumSamplers,[Out, Buffer] ID3D11SamplerState** ppSamplers) - - - - Get the constant buffers used by the shader pipeline stage. - - - Any returned interfaces will have their reference count incremented by one. Applications should call IUnknown::Release on the returned interfaces when they are no longer needed to avoid memory leaks. - - Index into the device's zero-based array to begin retrieving constant buffers from (ranges from 0 to D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1). - Number of buffers to retrieve (ranges from 0 to D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot). - Array of constant buffer interface pointers (see ) to be returned by the method. - void PSGetConstantBuffers([In] UINT StartSlot,[In] UINT NumBuffers,[Out, Buffer] ID3D11Buffer** ppConstantBuffers) - - - - Bind an array of shader resources to the shader stage. - - - If an overlapping resource view is already bound to an output slot, such as a render target, then this API will fill the destination shader resource slot with NULL.For information about creating shader-resource views, see . The method will hold a reference to the interfaces passed in. This differs from the device state behavior in Direct3D 10. - - Index into the device's zero-based array to begin setting shader resources to (ranges from 0 to D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1). - Number of shader resources to set. Up to a maximum of 128 slots are available for shader resources (ranges from 0 to D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot). - Array of {{shader resource view}} interfaces to set to the device. - void PSSetShaderResources([In] UINT StartSlot,[In] UINT NumViews,[In, Buffer] const ID3D11ShaderResourceView** ppShaderResourceViews) - - - - Bind an array of shader resources to the shader stage. - - - If an overlapping resource view is already bound to an output slot, such as a render target, then this API will fill the destination shader resource slot with NULL.For information about creating shader-resource views, see . The method will hold a reference to the interfaces passed in. This differs from the device state behavior in Direct3D 10. - - Index into the device's zero-based array to begin setting shader resources to (ranges from 0 to D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1). - Number of shader resources to set. Up to a maximum of 128 slots are available for shader resources (ranges from 0 to D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot). - Array of {{shader resource view}} interfaces to set to the device. - void PSSetShaderResources([In] UINT StartSlot,[In] UINT NumViews,[In, Buffer] const ID3D11ShaderResourceView** ppShaderResourceViews) - - - - Bind an array of shader resources to the shader stage. - - - If an overlapping resource view is already bound to an output slot, such as a render target, then this API will fill the destination shader resource slot with NULL.For information about creating shader-resource views, see . The method will hold a reference to the interfaces passed in. This differs from the device state behavior in Direct3D 10. - - Index into the device's zero-based array to begin setting shader resources to (ranges from 0 to D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1). - Number of shader resources to set. Up to a maximum of 128 slots are available for shader resources (ranges from 0 to D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot). - Array of {{shader resource view}} interfaces to set to the device. - void PSSetShaderResources([In] UINT StartSlot,[In] UINT NumViews,[In, Buffer] const ID3D11ShaderResourceView** ppShaderResourceViews) - - - - Set an array of sampler states to the shader pipeline stage. - - - Any sampler may be set to NULL; this invokes the default state, which is defined to be the following.StateDefault ValueFilterD3D11_FILTER_MIN_MAG_MIP_LINEARAddressUD3D11_TEXTURE_ADDRESS_CLAMPAddressVD3D11_TEXTURE_ADDRESS_CLAMPAddressWD3D11_TEXTURE_ADDRESS_CLAMPMipLODBias0MaxAnisotropy1ComparisonFuncD3D11_COMPARISON_NEVERBorderColor[0]1.0fBorderColor[1]1.0fBorderColor[2]1.0fBorderColor[3]1.0fMinLOD-FLT_MAXMaxLODFLT_MAX The method will hold a reference to the interfaces passed in. This differs from the device state behavior in Direct3D 10. - - Index into the device's zero-based array to begin setting samplers to (ranges from 0 to D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - 1). - Number of samplers in the array. Each pipeline stage has a total of 16 sampler slots available (ranges from 0 to D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot). - Pointer to an array of sampler-state interfaces (see ). See Remarks. - void PSSetSamplers([In] UINT StartSlot,[In] UINT NumSamplers,[In, Buffer] const ID3D11SamplerState** ppSamplers) - - - - Set an array of sampler states to the shader pipeline stage. - - - Any sampler may be set to NULL; this invokes the default state, which is defined to be the following.StateDefault ValueFilterD3D11_FILTER_MIN_MAG_MIP_LINEARAddressUD3D11_TEXTURE_ADDRESS_CLAMPAddressVD3D11_TEXTURE_ADDRESS_CLAMPAddressWD3D11_TEXTURE_ADDRESS_CLAMPMipLODBias0MaxAnisotropy1ComparisonFuncD3D11_COMPARISON_NEVERBorderColor[0]1.0fBorderColor[1]1.0fBorderColor[2]1.0fBorderColor[3]1.0fMinLOD-FLT_MAXMaxLODFLT_MAX The method will hold a reference to the interfaces passed in. This differs from the device state behavior in Direct3D 10. - - Index into the device's zero-based array to begin setting samplers to (ranges from 0 to D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - 1). - Number of samplers in the array. Each pipeline stage has a total of 16 sampler slots available (ranges from 0 to D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot). - Pointer to an array of sampler-state interfaces (see ). See Remarks. - void PSSetSamplers([In] UINT StartSlot,[In] UINT NumSamplers,[In, Buffer] const ID3D11SamplerState** ppSamplers) - - - - Set the constant buffers used by the shader pipeline stage. - - - The method will hold a reference to the interfaces passed in. This differs from the device state behavior in Direct3D 10. - - Index into the device's zero-based array to begin setting constant buffers to (ranges from 0 to D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1). - Number of buffers to set (ranges from 0 to D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot). - Array of constant buffers (see ) being given to the device. - void PSSetConstantBuffers([In] UINT StartSlot,[In] UINT NumBuffers,[In, Buffer] const ID3D11Buffer** ppConstantBuffers) - - - - Set the constant buffers used by the shader pipeline stage. - - - The method will hold a reference to the interfaces passed in. This differs from the device state behavior in Direct3D 10. - - Index into the device's zero-based array to begin setting constant buffers to (ranges from 0 to D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1). - Number of buffers to set (ranges from 0 to D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot). - Array of constant buffers (see ) being given to the device. - void PSSetConstantBuffers([In] UINT StartSlot,[In] UINT NumBuffers,[In, Buffer] const ID3D11Buffer** ppConstantBuffers) - - - Constant ConstantBufferApiSlotCount. - D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - - - Constant ConstantBufferComponents. - D3D11_COMMONSHADER_CONSTANT_BUFFER_COMPONENTS - - - Constant ConstantBufferComponentBitCount. - D3D11_COMMONSHADER_CONSTANT_BUFFER_COMPONENT_BIT_COUNT - - - Constant ConstantBufferHwSlotCount. - D3D11_COMMONSHADER_CONSTANT_BUFFER_HW_SLOT_COUNT - - - Constant ConstantBufferPartialUpdateExtentsByteAlignment. - D3D11_COMMONSHADER_CONSTANT_BUFFER_PARTIAL_UPDATE_EXTENTS_BYTE_ALIGNMENT - - - Constant ConstantBufferRegisterComponents. - D3D11_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COMPONENTS - - - Constant ConstantBufferRegisterCount. - D3D11_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COUNT - - - Constant ConstantBufferRegisterReadsPerInst. - D3D11_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READS_PER_INST - - - Constant ConstantBufferRegisterReadPorts. - D3D11_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READ_PORTS - - - Constant FlowcontrolNestingLimit. - D3D11_COMMONSHADER_FLOWCONTROL_NESTING_LIMIT - - - Constant ImmediateConstantBufferRegisterComponents. - D3D11_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COMPONENTS - - - Constant ImmediateConstantBufferRegisterCount. - D3D11_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COUNT - - - Constant ImmediateConstantBufferRegisterReadsPerInst. - D3D11_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READS_PER_INST - - - Constant ImmediateConstantBufferRegisterReadPorts. - D3D11_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READ_PORTS - - - Constant ImmediateValueComponentBitCount. - D3D11_COMMONSHADER_IMMEDIATE_VALUE_COMPONENT_BIT_COUNT - - - Constant InputResourceRegisterComponents. - D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_COMPONENTS - - - Constant InputResourceRegisterCount. - D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_COUNT - - - Constant InputResourceRegisterReadsPerInst. - D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_READS_PER_INST - - - Constant InputResourceRegisterReadPorts. - D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_READ_PORTS - - - Constant InputResourceSlotCount. - D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - - - Constant SamplerRegisterComponents. - D3D11_COMMONSHADER_SAMPLER_REGISTER_COMPONENTS - - - Constant SamplerRegisterCount. - D3D11_COMMONSHADER_SAMPLER_REGISTER_COUNT - - - Constant SamplerRegisterReadsPerInst. - D3D11_COMMONSHADER_SAMPLER_REGISTER_READS_PER_INST - - - Constant SamplerRegisterReadPorts. - D3D11_COMMONSHADER_SAMPLER_REGISTER_READ_PORTS - - - Constant SamplerSlotCount. - D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - - - Constant SubRoutineNestingLimit. - D3D11_COMMONSHADER_SUBROUTINE_NESTING_LIMIT - - - Constant TempRegisterComponents. - D3D11_COMMONSHADER_TEMP_REGISTER_COMPONENTS - - - Constant TempRegisterComponentBitCount. - D3D11_COMMONSHADER_TEMP_REGISTER_COMPONENT_BIT_COUNT - - - Constant TempRegisterCount. - D3D11_COMMONSHADER_TEMP_REGISTER_COUNT - - - Constant TempRegisterReadsPerInst. - D3D11_COMMONSHADER_TEMP_REGISTER_READS_PER_INST - - - Constant TempRegisterReadPorts. - D3D11_COMMONSHADER_TEMP_REGISTER_READ_PORTS - - - Constant TextureCoordRangeReductionMaximum. - D3D11_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MAX - - - Constant TextureCoordRangeReductionMinimum. - D3D11_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MIN - - - Constant TextureElOffsetMaximumNegative. - D3D11_COMMONSHADER_TEXEL_OFFSET_MAX_NEGATIVE - - - Constant TextureElOffsetMaximumPositive. - D3D11_COMMONSHADER_TEXEL_OFFSET_MAX_POSITIVE - - - - Common Shader class. Provides a common set of methods for a Shader Stage. - TODO: check if usage of abstract is not introducing an unacceptable overhead... - - Type of the shader - - - - Initializes a new instance of the class. - - The pointer. - - - - Gets the shader currently assigned to the device. - - The shader (null if no shader is assigned). - - - - Gets the shader currently assigned to the device. - - An array that will be used to contain any class instances currently active. - The shader (null if no shader is assigned). - - - - Assigns a compute shader to the device. - - The shader to assign to the device. Assign null to disable the compute shader. - - - - Assigns a compute shader to the device. - - The shader to assign to the device. Assign null to disable the compute shader. - An array of class-instance interfaces. Each interface used by a shader must have a corresponding class instance or the shader will get disabled. - - - - Assigns a compute shader to the device. - - The shader to assign to the device. Assign null to disable the compute shader. - An array of class-instance interfaces. Each interface used by a shader must have a corresponding class instance or the shader will get disabled. - - - -

The interface represents a device context which generates rendering commands.

-
- - ff476385 - ID3D11DeviceContext - ID3D11DeviceContext -
- - - Gets an array of views for an unordered resource. - - - Any returned interfaces will have their reference count incremented by one. Applications should call IUnknown::Release on the returned interfaces when they are no longer needed to avoid memory leaks. - - Index of the first element in the zero-based array to return (ranges from 0 to D3D11_PS_CS_UAV_REGISTER_COUNT - 1). - Number of views to get (ranges from 0 to D3D11_PS_CS_UAV_REGISTER_COUNT - StartSlot). - void CSGetUnorderedAccessViews([In] int StartSlot,[In] int NumUAVs,[Out, Buffer] ID3D11UnorderedAccessView** ppUnorderedAccessViews) - - - - Sets an array of views for an unordered resource. - - - - Index of the first element in the zero-based array to begin setting. - A reference to an references to be set by the method. - void CSSetUnorderedAccessViews([In] int StartSlot,[In] int NumUAVs,[In, Buffer] const ID3D11UnorderedAccessView** ppUnorderedAccessViews,[In, Buffer] const int* pUAVInitialCounts) - - - - Sets an array of views for an unordered resource. - - - - Index of the first element in the zero-based array to begin setting. - A reference to an references to be set by the method. - An Append/Consume buffer offsets. A value of -1 indicates the current offset should be kept. Any other values set the hidden counter for that Appendable/Consumable UAV. uAVInitialCount is only relevant for UAVs which have the flag, otherwise the argument is ignored. - void CSSetUnorderedAccessViews([In] int StartSlot,[In] int NumUAVs,[In, Buffer] const ID3D11UnorderedAccessView** ppUnorderedAccessViews,[In, Buffer] const int* pUAVInitialCounts) - - - - Sets an array of views for an unordered resource. - - - - Index of the first element in the zero-based array to begin setting. - A reference to an array of references to be set by the method. - void CSSetUnorderedAccessViews([In] int StartSlot,[In] int NumUAVs,[In, Buffer] const ID3D11UnorderedAccessView** ppUnorderedAccessViews,[In, Buffer] const int* pUAVInitialCounts) - - - - Sets an array of views for an unordered resource. - - - - Index of the first element in the zero-based array to begin setting. - A reference to an array of references to be set by the method. - An array of Append/Consume buffer offsets. A value of -1 indicates the current offset should be kept. Any other values set the hidden counter for that Appendable/Consumable UAV. pUAVInitialCounts is only relevant for UAVs which have the flag, otherwise the argument is ignored. - void CSSetUnorderedAccessViews([In] int StartSlot,[In] int NumUAVs,[In, Buffer] const ID3D11UnorderedAccessView** ppUnorderedAccessViews,[In, Buffer] const int* pUAVInitialCounts) - - - - Initializes a new instance of the 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 UnorderedAccessViewSlotCount. - D3D11_PS_CS_UAV_REGISTER_COUNT - - - Constant DispatchMaximumThreadGroupsPerDimension. - D3D11_CS_DISPATCH_MAX_THREAD_GROUPS_PER_DIMENSION - - - Constant ThreadGroupSharedMemoryRegisterCount. - D3D11_CS_TGSM_REGISTER_COUNT - - - Constant ThreadGroupSharedMemoryRegisterReadsPerInst. - D3D11_CS_TGSM_REGISTER_READS_PER_INST - - - Constant ThreadGroupSharedMemoryResourceRegisterComponents. - D3D11_CS_TGSM_RESOURCE_REGISTER_COMPONENTS - - - Constant ThreadGroupSharedMemoryResourceRegisterReadPorts. - D3D11_CS_TGSM_RESOURCE_REGISTER_READ_PORTS - - - Constant ThreadgroupidRegisterComponents. - D3D11_CS_THREADGROUPID_REGISTER_COMPONENTS - - - Constant ThreadgroupidRegisterCount. - D3D11_CS_THREADGROUPID_REGISTER_COUNT - - - Constant ThreadidingroupflattenedRegisterComponents. - D3D11_CS_THREADIDINGROUPFLATTENED_REGISTER_COMPONENTS - - - Constant ThreadidingroupflattenedRegisterCount. - D3D11_CS_THREADIDINGROUPFLATTENED_REGISTER_COUNT - - - Constant ThreadidingroupRegisterComponents. - D3D11_CS_THREADIDINGROUP_REGISTER_COMPONENTS - - - Constant ThreadidingroupRegisterCount. - D3D11_CS_THREADIDINGROUP_REGISTER_COUNT - - - Constant ThreadidRegisterComponents. - D3D11_CS_THREADID_REGISTER_COMPONENTS - - - Constant ThreadidRegisterCount. - D3D11_CS_THREADID_REGISTER_COUNT - - - Constant ThreadGroupMaximumThreadsPerGroup. - D3D11_CS_THREAD_GROUP_MAX_THREADS_PER_GROUP - - - Constant ThreadGroupMaximumX. - D3D11_CS_THREAD_GROUP_MAX_X - - - Constant ThreadGroupMaximumY. - D3D11_CS_THREAD_GROUP_MAX_Y - - - Constant ThreadGroupMaximumZ. - D3D11_CS_THREAD_GROUP_MAX_Z - - - Constant ThreadGroupMinimumX. - D3D11_CS_THREAD_GROUP_MIN_X - - - Constant ThreadGroupMinimumY. - D3D11_CS_THREAD_GROUP_MIN_Y - - - Constant ThreadGroupMinimumZ. - D3D11_CS_THREAD_GROUP_MIN_Z - - - Constant ThreadLocalTempRegisterPool. - D3D11_CS_THREAD_LOCAL_TEMP_REGISTER_POOL - - - -

Bind an array of shader resources to the compute-shader stage.

-
-

Index into the device's zero-based array to begin setting shader resources to (ranges from 0 to - 1).

-

Number of shader resources to set. Up to a maximum of 128 slots are available for shader resources(ranges from 0 to - StartSlot).

-

Array of shader resource view interfaces to set to the device.

- -

If an overlapping resource view is already bound to an output slot, such as a render target, then the method will fill the destination shader resource slot with null.

For information about creating shader-resource views, see .

The method will hold a reference to the interfaces passed in. This differs from the device state behavior in Direct3D 10. -

-
- - ff476403 - void ID3D11DeviceContext::CSSetShaderResources([In] unsigned int StartSlot,[In] unsigned int NumViews,[In, Buffer, Optional] const void** ppShaderResourceViews) - ID3D11DeviceContext::CSSetShaderResources -
- - -

Sets an array of views for an unordered resource.

-
-

Index of the first element in the zero-based array to begin setting (ranges from 0 to D3D11_1_UAV_SLOT_COUNT - 1). D3D11_1_UAV_SLOT_COUNT is defined as 64.

-

Number of views to set (ranges from 0 to D3D11_1_UAV_SLOT_COUNT - StartSlot).

-

A reference to an array of references to be set by the method.

-

An array of append and consume buffer offsets. A value of -1 indicates to keep the current offset. Any other values set the hidden counter for that appendable and consumable UAV. pUAVInitialCounts is only relevant for UAVs that were created with either or specified when the UAV was created; otherwise, the argument is ignored.

- -

Windows?Phone?8: This API is supported.

-
- - ff476404 - void ID3D11DeviceContext::CSSetUnorderedAccessViews([In] unsigned int StartSlot,[In] unsigned int NumUAVs,[In, Buffer, Optional] const void** ppUnorderedAccessViews,[In, Buffer, Optional] const void* pUAVInitialCounts) - ID3D11DeviceContext::CSSetUnorderedAccessViews -
- - -

Set a compute shader to the device.

-
-

Pointer to a compute shader (see ). Passing in null disables the shader for this pipeline stage.

-

A reference to an array of class-instance interfaces (see ). Each interface used by a shader must have a corresponding class instance or the shader will get disabled. Set ppClassInstances to null if the shader does not use any interfaces.

-

The number of class-instance interfaces in the array.

- -

The method will hold a reference to the interfaces passed in. This differs from the device state behavior in Direct3D 10.

The maximum number of instances a shader can have is 256.

-
- - ff476402 - void ID3D11DeviceContext::CSSetShader([In, Optional] ID3D11ComputeShader* pComputeShader,[In, Buffer, Optional] const ID3D11ClassInstance** ppClassInstances,[In] unsigned int NumClassInstances) - ID3D11DeviceContext::CSSetShader -
- - -

Set a compute shader to the device.

-
-

Pointer to a compute shader (see ). Passing in null disables the shader for this pipeline stage.

-

A reference to an array of class-instance interfaces (see ). Each interface used by a shader must have a corresponding class instance or the shader will get disabled. Set ppClassInstances to null if the shader does not use any interfaces.

-

The number of class-instance interfaces in the array.

- -

The method will hold a reference to the interfaces passed in. This differs from the device state behavior in Direct3D 10.

The maximum number of instances a shader can have is 256.

-
- - ff476402 - void ID3D11DeviceContext::CSSetShader([In, Optional] ID3D11ComputeShader* pComputeShader,[In, Buffer, Optional] const ID3D11ClassInstance** ppClassInstances,[In] unsigned int NumClassInstances) - ID3D11DeviceContext::CSSetShader -
- - -

Set a compute shader to the device.

-
-

Pointer to a compute shader (see ). Passing in null disables the shader for this pipeline stage.

-

A reference to an array of class-instance interfaces (see ). Each interface used by a shader must have a corresponding class instance or the shader will get disabled. Set ppClassInstances to null if the shader does not use any interfaces.

-

The number of class-instance interfaces in the array.

- -

The method will hold a reference to the interfaces passed in. This differs from the device state behavior in Direct3D 10.

The maximum number of instances a shader can have is 256.

-
- - ff476402 - void ID3D11DeviceContext::CSSetShader([In, Optional] ID3D11ComputeShader* pComputeShader,[In, Buffer, Optional] const ID3D11ClassInstance** ppClassInstances,[In] unsigned int NumClassInstances) - ID3D11DeviceContext::CSSetShader -
- - -

Set an array of sampler states to the compute-shader stage.

-
-

Index into the device's zero-based array to begin setting samplers to (ranges from 0 to - 1).

-

Number of samplers in the array. Each pipeline stage has a total of 16 sampler slots available (ranges from 0 to - StartSlot).

-

Pointer to an array of sampler-state interfaces (see ). See Remarks.

- -

Any sampler may be set to null; this invokes the default state, which is defined to be the following.

//Default sampler state:	
-             SamplerDesc;	
-            SamplerDesc.Filter = ;	
-            SamplerDesc.AddressU = ;	
-            SamplerDesc.AddressV = ;	
-            SamplerDesc.AddressW = ;	
-            SamplerDesc.MipLODBias = 0;	
-            SamplerDesc.MaxAnisotropy = 1;	
-            SamplerDesc.ComparisonFunc = ;	
-            SamplerDesc.BorderColor[0] = 1.0f;	
-            SamplerDesc.BorderColor[1] = 1.0f;	
-            SamplerDesc.BorderColor[2] = 1.0f;	
-            SamplerDesc.BorderColor[3] = 1.0f;	
-            SamplerDesc.MinLOD = -FLT_MAX;	
-            SamplerDesc.MaxLOD = FLT_MAX; 

The method will hold a reference to the interfaces passed in. This differs from the device state behavior in Direct3D 10.

-
- - ff476401 - void ID3D11DeviceContext::CSSetSamplers([In] unsigned int StartSlot,[In] unsigned int NumSamplers,[In, Buffer, Optional] const void** ppSamplers) - ID3D11DeviceContext::CSSetSamplers -
- - -

Sets the constant buffers used by the compute-shader stage.

-
-

Index into the zero-based array to begin setting constant buffers to (ranges from 0 to - 1).

-

Number of buffers to set (ranges from 0 to - StartSlot).

-

Array of constant buffers (see ) being given to the device.

- -

The method will hold a reference to the interfaces passed in. This differs from the device state behavior in Direct3D 10.

The Direct3D 11.1 runtime, which is available starting with Windows?8, can bind a larger number of resources to the shader than the maximum constant buffer size that is supported by shaders (4096 constants ? 4*32-bit components each). When you bind such a large buffer, the shader can access only the first 4096 4*32-bit component constants in the buffer, as if 4096 constants is the full size of the buffer.

If the application wants the shader to access other parts of the buffer, it must call the CSSetConstantBuffers1 method instead.

-
- - ff476400 - void ID3D11DeviceContext::CSSetConstantBuffers([In] unsigned int StartSlot,[In] unsigned int NumBuffers,[In, Buffer, Optional] const void** ppConstantBuffers) - ID3D11DeviceContext::CSSetConstantBuffers -
- - -

Get the compute-shader resources.

-
-

Index into the device's zero-based array to begin getting shader resources from (ranges from 0 to - 1).

-

The number of resources to get from the device. Up to a maximum of 128 slots are available for shader resources (ranges from 0 to - StartSlot).

-

Array of shader resource view interfaces to be returned by the device.

- -

Any returned interfaces will have their reference count incremented by one. Applications should call IUnknown::Release on the returned interfaces when they are no longer needed to avoid memory leaks.

-
- - ff476398 - void ID3D11DeviceContext::CSGetShaderResources([In] unsigned int StartSlot,[In] unsigned int NumViews,[Out, Buffer, Optional] ID3D11ShaderResourceView** ppShaderResourceViews) - ID3D11DeviceContext::CSGetShaderResources -
- - -

Gets an array of views for an unordered resource.

-
-

Index of the first element in the zero-based array to return (ranges from 0 to D3D11_1_UAV_SLOT_COUNT - 1).

-

Number of views to get (ranges from 0 to D3D11_1_UAV_SLOT_COUNT - StartSlot).

-

A reference to an array of interface references (see ) to get.

- -

Any returned interfaces will have their reference count incremented by one. Applications should call IUnknown::Release on the returned interfaces when they are no longer needed to avoid memory leaks.

-
- - ff476399 - void ID3D11DeviceContext::CSGetUnorderedAccessViews([In] unsigned int StartSlot,[In] unsigned int NumUAVs,[Out, Buffer, Optional] ID3D11UnorderedAccessView** ppUnorderedAccessViews) - ID3D11DeviceContext::CSGetUnorderedAccessViews -
- - -

Get the compute shader currently set on the device.

-
-

Address of a reference to a Compute shader (see ) to be returned by the method.

-

Pointer to an array of class instance interfaces (see ).

-

The number of class-instance elements in the array.

- -

Any returned interfaces will have their reference count incremented by one. Applications should call IUnknown::Release on the returned interfaces when they are no longer needed to avoid memory leaks.

-
- - ff476397 - void ID3D11DeviceContext::CSGetShader([Out, Optional] ID3D11ComputeShader** ppComputeShader,[Out, Buffer, Optional] ID3D11ClassInstance** ppClassInstances,[InOut] unsigned int* pNumClassInstances) - ID3D11DeviceContext::CSGetShader -
- - -

Get an array of sampler state interfaces from the compute-shader stage.

-
-

Index into a zero-based array to begin getting samplers from (ranges from 0 to - 1).

-

Number of samplers to get from a device context. Each pipeline stage has a total of 16 sampler slots available (ranges from 0 to - StartSlot).

-

Pointer to an array of sampler-state interfaces (see ).

- -

Any returned interfaces will have their reference count incremented by one. Applications should call IUnknown::Release on the returned interfaces when they are no longer needed to avoid memory leaks.

-
- - ff476396 - void ID3D11DeviceContext::CSGetSamplers([In] unsigned int StartSlot,[In] unsigned int NumSamplers,[Out, Buffer, Optional] ID3D11SamplerState** ppSamplers) - ID3D11DeviceContext::CSGetSamplers -
- - -

Get the constant buffers used by the compute-shader stage.

-
-

Index into the device's zero-based array to begin retrieving constant buffers from (ranges from 0 to - 1).

-

Number of buffers to retrieve (ranges from 0 to - StartSlot).

-

Array of constant buffer interface references (see ) to be returned by the method.

- -

Any returned interfaces will have their reference count incremented by one. Applications should call IUnknown::Release on the returned interfaces when they are no longer needed to avoid memory leaks.

-
- - ff476395 - void ID3D11DeviceContext::CSGetConstantBuffers([In] unsigned int StartSlot,[In] unsigned int NumBuffers,[Out, Buffer, Optional] ID3D11Buffer** ppConstantBuffers) - ID3D11DeviceContext::CSGetConstantBuffers -
- - -

The interface represents a device context which generates rendering commands.

-
- - ff476385 - ID3D11DeviceContext - ID3D11DeviceContext -
- - - Constructs a new deferred context . - - The device with which to associate the state object. - The newly created object. - - - - Create a command list and record graphics commands into it. - - A flag indicating whether the immediate context state is saved (prior) and restored (after) the execution of a command list. - The created command list containing the queued rendering commands. - - - - Determines whether asynchronous query data is available. - - The data. - - true if asynchronous query data is available; otherwise, false. - - HRESULT ID3D11DeviceContext::GetData([In] ID3D11Asynchronous* pAsync,[Out, Buffer, Optional] void* pData,[In] unsigned int DataSize,[In] D3D11_ASYNC_GETDATA_FLAG GetDataFlags) - - - - Determines whether asynchronous query data is available. - - The data. - Optional flags - - true if asynchronous query data is available; otherwise, false. - - HRESULT ID3D11DeviceContext::GetData([In] ID3D11Asynchronous* pAsync,[Out, Buffer, Optional] void* pData,[In] unsigned int DataSize,[In] D3D11_ASYNC_GETDATA_FLAG GetDataFlags) - - - - Gets data from the GPU asynchronously. - - The asynchronous data provider. - The data retrieved from the GPU. - - - - Gets data from the GPU asynchronously. - - The asynchronous data provider. - The data retrieved from the GPU. - - - - Gets data from the GPU asynchronously. - - - The asynchronous data provider. - The data retrieved from the GPU. - - True if result contains valid data, false otherwise. - - - - - Gets data from the GPU asynchronously. - - The asynchronous data provider. - Flags specifying how the command should operate. - The data retrieved from the GPU. - - - - Gets data from the GPU asynchronously. - - The asynchronous data provider. - Flags specifying how the command should operate. - The data retrieved from the GPU. - - - - Gets data from the GPU asynchronously. - - - The asynchronous data provider. - Flags specifying how the command should operate. - The data retrieved from the GPU. - - True if result contains valid data, false otherwise. - - - - - Copy the entire contents of the source resource to the destination resource using the GPU. - - - This method is unusual in that it causes the GPU to perform the copy operation (similar to a memcpy by the CPU). As a result, it has a few restrictions designed for improving performance. For instance, the source and destination resources: Must be different resources. Must be the same type. Must have identical dimensions (including width, height, depth, and size as appropriate). Will only be copied. CopyResource does not support any stretch, color key, blend, or format conversions. Must have compatible DXGI formats, which means the formats must be identical or at least from the same type group. For example, a DXGI_FORMAT_R32G32B32_FLOAT texture can be copied to an DXGI_FORMAT_R32G32B32_UINT texture since both of these formats are in the DXGI_FORMAT_R32G32B32_TYPELESS group. Might not be currently mapped. You cannot use an {{Immutable}} resource as a destination. You can use a {{depth-stencil}} resource as either a source or a destination. Resources created with multisampling capability (see ) can be used as source and destination only if both source and destination have identical multisampled count and quality. If source and destination differ in multisampled count and quality or if one is multisampled and the other is not multisampled the call to ID3D11DeviceContext::CopyResource fails. The method is an asynchronous call which may be added to the command-buffer queue. This attempts to remove pipeline stalls that may occur when copying data. An application that only needs to copy a portion of the data in a resource should use instead. - - A reference to the source resource (see ). - A reference to the destination resource (see ). - void ID3D11DeviceContext::CopyResource([In] ID3D11Resource* pDstResource,[In] ID3D11Resource* pSrcResource) - ff476392 - void ID3D11DeviceContext::CopyResource([In] ID3D11Resource* pDstResource,[In] ID3D11Resource* pSrcResource) - ID3D11DeviceContext::CopyResource - - - - Copy a region from a source resource to a destination resource. - - - The source box must be within the size of the source resource. The destination offsets, (x, y, and z) allow the source box to be offset when writing into the destination resource; however, the dimensions of the source box and the offsets must be within the size of the resource. If the resources are buffers, all coordinates are in bytes; if the resources are textures, all coordinates are in texels. {{D3D11CalcSubresource}} is a helper function for calculating subresource indexes. CopySubresourceRegion performs the copy on the GPU (similar to a memcpy by the CPU). As a consequence, the source and destination resources: Must be different subresources (although they can be from the same resource). Must be the same type. Must have compatible DXGI formats (identical or from the same type group). For example, a DXGI_FORMAT_R32G32B32_FLOAT texture can be copied to an DXGI_FORMAT_R32G32B32_UINT texture since both of these formats are in the DXGI_FORMAT_R32G32B32_TYPELESS group. May not be currently mapped. CopySubresourceRegion only supports copy; it does not support any stretch, color key, blend, or format conversions. An application that needs to copy an entire resource should use instead. CopySubresourceRegion is an asynchronous call which may be added to the command-buffer queue, this attempts to remove pipeline stalls that may occur when copying data. See performance considerations for more details. Note??If you use CopySubresourceRegion with a depth-stencil buffer or a multisampled resource, you must copy the whole subresource. In this situation, you must pass 0 to the DstX, DstY, and DstZ parameters and NULL to the pSrcBox parameter. In addition, source and destination resources, which are represented by the pSrcResource and pDstResource parameters, should have identical sample count values. Example The following code snippet copies a box (located at (120,100),(200,220)) from a source texture into a region (10,20),(90,140) in a destination texture. - D3D11_BOX sourceRegion; - sourceRegion.left = 120; - sourceRegion.right = 200; - sourceRegion.top = 100; - sourceRegion.bottom = 220; - sourceRegion.front = 0; - sourceRegion.back = 1; pd3dDeviceContext->CopySubresourceRegion( pDestTexture, 0, 10, 20, 0, pSourceTexture, 0, &sourceRegion ); - - Notice, that for a 2D texture, front and back are set to 0 and 1 respectively. - - A reference to the source resource (see ). - Source subresource index. - A reference to a 3D box (see ) that defines the source subresources that can be copied. If NULL, the entire source subresource is copied. The box must fit within the source resource. - A reference to the destination resource (see ). - Destination subresource index. - The x-coordinate of the upper left corner of the destination region. - The y-coordinate of the upper left corner of the destination region. For a 1D subresource, this must be zero. - The z-coordinate of the upper left corner of the destination region. For a 1D or 2D subresource, this must be zero. - ff476394 - void ID3D11DeviceContext::CopySubresourceRegion([In] ID3D11Resource* pDstResource,[In] unsigned int DstSubresource,[In] unsigned int DstX,[In] unsigned int DstY,[In] unsigned int DstZ,[In] ID3D11Resource* pSrcResource,[In] unsigned int SrcSubresource,[In, Optional] const D3D11_BOX* pSrcBox) - ID3D11DeviceContext::CopySubresourceRegion - - - - Copy a multisampled resource into a non-multisampled resource. - - - This API is most useful when re-using the resulting render target of one render pass as an input to a second render pass. The source and destination resources must be the same resource type and have the same dimensions. In addition, they must have compatible formats. There are three scenarios for this: ScenarioRequirements Source and destination are prestructured and typedBoth the source and destination must have identical formats and that format must be specified in the Format parameter. One resource is prestructured and typed and the other is prestructured and typelessThe typed resource must have a format that is compatible with the typeless resource (i.e. the typed resource is DXGI_FORMAT_R32_FLOAT and the typeless resource is DXGI_FORMAT_R32_TYPELESS). The format of the typed resource must be specified in the Format parameter. Source and destination are prestructured and typelessBoth the source and destination must have the same typeless format (i.e. both must have DXGI_FORMAT_R32_TYPELESS), and the Format parameter must specify a format that is compatible with the source and destination (i.e. if both are DXGI_FORMAT_R32_TYPELESS then DXGI_FORMAT_R32_FLOAT could be specified in the Format parameter). For example, given the DXGI_FORMAT_R16G16B16A16_TYPELESS format: The source (or dest) format could be DXGI_FORMAT_R16G16B16A16_UNORM The dest (or source) format could be DXGI_FORMAT_R16G16B16A16_FLOAT ? - - Source resource. Must be multisampled. - >The source subresource of the source resource. - Destination resource. Must be a created with the flag and be single-sampled. See . - A zero-based index, that identifies the destination subresource. Use {{D3D11CalcSubresource}} to calculate the index. - A that indicates how the multisampled resource will be resolved to a single-sampled resource. See remarks. - void ID3D11DeviceContext::ResolveSubresource([In] ID3D11Resource* pDstResource,[In] int DstSubresource,[In] ID3D11Resource* pSrcResource,[In] int SrcSubresource,[In] DXGI_FORMAT Format) - - - - Maps the data contained in a subresource to a memory pointer, and denies the GPU access to that subresource. - - The resource. - The mip slice. - The array slice. - The mode. - The flags. - The output stream containing the pointer. - - The locked - - HRESULT ID3D11DeviceContext::Map([In] ID3D11Resource* pResource,[In] unsigned int Subresource,[In] D3D11_MAP MapType,[In] D3D11_MAP_FLAG MapFlags,[Out] D3D11_MAPPED_SUBRESOURCE* pMappedResource) - - - - Maps the data contained in a subresource to a memory pointer, and denies the GPU access to that subresource. - - The resource. - The mip slice. - The array slice. - The mode. - The flags. - The output stream containing the pointer. - - The locked - - HRESULT ID3D11DeviceContext::Map([In] ID3D11Resource* pResource,[In] unsigned int Subresource,[In] D3D11_MAP MapType,[In] D3D11_MAP_FLAG MapFlags,[Out] D3D11_MAPPED_SUBRESOURCE* pMappedResource) - - - - Maps the data contained in a subresource to a memory pointer, and denies the GPU access to that subresource. - - The resource. - The mip slice. - The array slice. - The mode. - The flags. - The output stream containing the pointer. - - The locked - - HRESULT ID3D11DeviceContext::Map([In] ID3D11Resource* pResource,[In] unsigned int Subresource,[In] D3D11_MAP MapType,[In] D3D11_MAP_FLAG MapFlags,[Out] D3D11_MAPPED_SUBRESOURCE* pMappedResource) - - - - Maps the data contained in a subresource to a memory pointer, and denies the GPU access to that subresource. - - The resource. - The mode. - The flags. - The output stream containing the pointer. - - The locked - - HRESULT ID3D11DeviceContext::Map([In] ID3D11Resource* pResource,[In] unsigned int Subresource,[In] D3D11_MAP MapType,[In] D3D11_MAP_FLAG MapFlags,[Out] D3D11_MAPPED_SUBRESOURCE* pMappedResource) - - - - Maps the data contained in a subresource to a memory pointer, and denies the GPU access to that subresource. - - The resource. - The mip slice. - The array slice. - The mode. - The flags. - Size of the selected miplevel. - - The locked - - HRESULT ID3D11DeviceContext::Map([In] ID3D11Resource* pResource,[In] unsigned int Subresource,[In] D3D11_MAP MapType,[In] D3D11_MAP_FLAG MapFlags,[Out] D3D11_MAPPED_SUBRESOURCE* pMappedResource) - - - - Maps the data contained in a subresource to a memory pointer, and denies the GPU access to that subresource. - - The resource. - The subresource. - The mode. - The flags. - The output stream containing the pointer. - The locked - HRESULT ID3D11DeviceContext::Map([In] ID3D11Resource* pResource,[In] unsigned int Subresource,[In] D3D11_MAP MapType,[In] D3D11_MAP_FLAG MapFlags,[Out] D3D11_MAPPED_SUBRESOURCE* pMappedResource) - - - -

Gets a reference to the data contained in a subresource, and denies the GPU access to that subresource.

-
-

A reference to a interface.

-

Index number of the subresource.

-

Specifies the CPU's read and write permissions for a resource. For possible values, see .

-

Flag that specifies what the CPU should do when the GPU is busy. This flag is optional.

-

A reference to the mapped subresource (see ).

- The mapped subresource (see ). If is used and the resource is still being used by the GPU, this method return an empty DataBox whose property returns true.

This method also throws an exception with the code if MapType allows any CPU read access and the video card has been removed.

For more information about these error codes, see DXGI_ERROR.

- -

If you call Map on a deferred context, you can only pass , , or both to the MapType parameter. Other -typed values are not supported for a deferred context.

The Direct3D 11.1 runtime, which is available starting with Windows Developer Preview, can map shader resource views (SRVs) of dynamic buffers with . The Direct3D 11 and earlier runtimes limited mapping to vertex or index buffers.

- If is used and the resource is still being used by the GPU, this method return an empty DataBox whose property returns true. -
- ff476457 - HRESULT ID3D11DeviceContext::Map([In] ID3D11Resource* pResource,[In] unsigned int Subresource,[In] D3D11_MAP MapType,[In] D3D11_MAP_FLAG MapFlags,[Out] D3D11_MAPPED_SUBRESOURCE* pMappedResource) - ID3D11DeviceContext::Map -
- - - Copies data from the CPU to to a non-mappable subresource region. - - Type of the data to upload - A reference to the data to upload. - The destination resource. - The destination subresource. - The row pitch. - The depth pitch. - The region - - This method is implementing the workaround for deferred context. - - ff476486 - void ID3D11DeviceContext::UpdateSubresource([In] ID3D11Resource* pDstResource,[In] unsigned int DstSubresource,[In, Optional] const D3D11_BOX* pDstBox,[In] const void* pSrcData,[In] unsigned int SrcRowPitch,[In] unsigned int SrcDepthPitch) - ID3D11DeviceContext::UpdateSubresource - - - - Copies data from the CPU to to a non-mappable subresource region. - - Type of the data to upload - A reference to the data to upload. - The destination resource. - The destination subresource. - The row pitch. - The depth pitch. - A region that defines the portion of the destination subresource to copy the resource data into. Coordinates are in bytes for buffers and in texels for textures. - ff476486 - void ID3D11DeviceContext::UpdateSubresource([In] ID3D11Resource* pDstResource,[In] unsigned int DstSubresource,[In, Optional] const D3D11_BOX* pDstBox,[In] const void* pSrcData,[In] unsigned int SrcRowPitch,[In] unsigned int SrcDepthPitch) - ID3D11DeviceContext::UpdateSubresource - This method is implementing the workaround for deferred context. - - - - Copies data from the CPU to to a non-mappable subresource region. - - The source data. - The destination resource. - The destination subresource. - - This method is implementing the workaround for deferred context. - - void ID3D11DeviceContext::UpdateSubresource([In] ID3D11Resource* pDstResource,[In] unsigned int DstSubresource,[In, Optional] const D3D11_BOX* pDstBox,[In] const void* pSrcData,[In] unsigned int SrcRowPitch,[In] unsigned int SrcDepthPitch) - - - - Copies data from the CPU to to a non-mappable subresource region. - - The source data. - The destination resource. - The destination subresource. - The destination region within the resource. - - This method is implementing the workaround for deferred context. - - void ID3D11DeviceContext::UpdateSubresource([In] ID3D11Resource* pDstResource,[In] unsigned int DstSubresource,[In, Optional] const D3D11_BOX* pDstBox,[In] const void* pSrcData,[In] unsigned int SrcRowPitch,[In] unsigned int SrcDepthPitch) - - - - Copies data from the CPU to to a non-mappable subresource region. - - Type of the data to upload - A reference to the data to upload. - The destination resource. - The size in bytes per pixel/block element. - The destination subresource. - The row pitch. - The depth pitch. - if set to true the resource is a block/compressed resource - void ID3D11DeviceContext::UpdateSubresource([In] ID3D11Resource* pDstResource,[In] unsigned int DstSubresource,[In, Optional] const D3D11_BOX* pDstBox,[In] const void* pSrcData,[In] unsigned int SrcRowPitch,[In] unsigned int SrcDepthPitch) - - This method is implementing the workaround for deferred context. - - - - - Copies data from the CPU to to a non-mappable subresource region. - - Type of the data to upload - A reference to the data to upload. - The destination resource. - The size in bytes per pixel/block element. - The destination subresource. - The row pitch. - The depth pitch. - if set to true the resource is a block/compressed resource - - This method is implementing the workaround for deferred context. - - void ID3D11DeviceContext::UpdateSubresource([In] ID3D11Resource* pDstResource,[In] unsigned int DstSubresource,[In, Optional] const D3D11_BOX* pDstBox,[In] const void* pSrcData,[In] unsigned int SrcRowPitch,[In] unsigned int SrcDepthPitch) - - - - Copies data from the CPU to to a non-mappable subresource region. - - The source data. - The destination resource. - The size in bytes per pixel/block element. - The destination subresource. - if set to true the resource is a block/compressed resource - - This method is implementing the workaround for deferred context. - - void ID3D11DeviceContext::UpdateSubresource([In] ID3D11Resource* pDstResource,[In] unsigned int DstSubresource,[In, Optional] const D3D11_BOX* pDstBox,[In] const void* pSrcData,[In] unsigned int SrcRowPitch,[In] unsigned int SrcDepthPitch) - - - - Copies data from the CPU to to a non-mappable subresource region. - - The source data. - The destination resource. - The size in bytes per pixel/block element. - The destination subresource. - The destination region within the resource. - if set to true the resource is a block/compressed resource - - This method is implementing the workaround for deferred context. - - void ID3D11DeviceContext::UpdateSubresource([In] ID3D11Resource* pDstResource,[In] unsigned int DstSubresource,[In, Optional] const D3D11_BOX* pDstBox,[In] const void* pSrcData,[In] unsigned int SrcRowPitch,[In] unsigned int SrcDepthPitch) - - - - Updates the subresource safe method. - - The DST resource ref. - The DST subresource. - The DST box ref. - The p SRC data. - The SRC row pitch. - The SRC depth pitch. - The size in bytes per pixel/block element. - if set to true the resource is a block/compressed resource - - - This method is implementing the workaround for deferred 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. - - - - Update nested inner interfaces pointer - - - Inner interface giving access to VertexShaderStage methods. - - - Inner interface giving access to PixelShaderStage methods. - - - Inner interface giving access to InputAssemblerStage methods. - - - Inner interface giving access to GeometryShaderStage methods. - - - Inner interface giving access to OutputMergerStage methods. - - - Inner interface giving access to StreamOutputStage methods. - - - Inner interface giving access to RasterizerStage methods. - - - Inner interface giving access to HullShaderStage methods. - - - Inner interface giving access to DomainShaderStage methods. - - - Inner interface giving access to ComputeShaderStage methods. - - - -

Gets the type of device context.

-
- - ff476431 - GetType - GetType - D3D11_DEVICE_CONTEXT_TYPE ID3D11DeviceContext::GetType() -
- - -

Gets the initialization flags associated with the current deferred context.

-
- -

The GetContextFlags method gets the flags that were supplied to the ContextFlags parameter of ; however, the context flag is reserved for future use.

-
- - ff476427 - GetContextFlags - GetContextFlags - unsigned int ID3D11DeviceContext::GetContextFlags() -
- - -

Draw indexed, non-instanced primitives.

-
-

Number of indices to draw.

-

The location of the first index read by the GPU from the index buffer.

-

A value added to each index before reading a vertex from the vertex buffer.

- -

A draw API submits work to the rendering pipeline.

If the sum of both indices is negative, the result of the function call is undefined.

-
- - ff476409 - void ID3D11DeviceContext::DrawIndexed([In] unsigned int IndexCount,[In] unsigned int StartIndexLocation,[In] int BaseVertexLocation) - ID3D11DeviceContext::DrawIndexed -
- - -

Draw non-indexed, non-instanced primitives.

-
-

Number of vertices to draw.

-

Index of the first vertex, which is usually an offset in a vertex buffer.

- -

Draw submits work to the rendering pipeline.

The vertex data for a draw call normally comes from a vertex buffer that is bound to the pipeline.

Even without any vertex buffer bound to the pipeline, you can generate your own vertex data in your vertex shader by using the SV_VertexID system-value semantic to determine the current vertex that the runtime is processing.

-
- - ff476407 - void ID3D11DeviceContext::Draw([In] unsigned int VertexCount,[In] unsigned int StartVertexLocation) - ID3D11DeviceContext::Draw -
- - -

Gets a reference to the data contained in a subresource, and denies the GPU access to that subresource.

-
- No documentation. - No documentation. - No documentation. - No documentation. - No documentation. -

This method returns one of the Direct3D 11 Return Codes.

This method also returns if MapFlags specifies and the GPU is not yet finished with the resource.

This method also returns if MapType allows any CPU read access and the video card has been removed.

For more information about these error codes, see DXGI_ERROR.

- -

If you call Map on a deferred context, you can only pass , , or both to the MapType parameter. Other -typed values are not supported for a deferred context.

Note?? The Direct3D 11.1 runtime, which is available starting with Windows?8, enables mapping dynamic constant buffers and shader resource views (SRVs) of dynamic buffers with . The Direct3D 11 and earlier runtimes limited mapping to vertex or index buffers. To determine if a Direct3D device supports these features, call with . CheckFeatureSupport fills members of a structure with the device's features. The relevant members here are MapNoOverwriteOnDynamicConstantBuffer and MapNoOverwriteOnDynamicBufferSRV.?

For info about how to use Map, see How to: Use dynamic resources.

-
- - ff476457 - HRESULT ID3D11DeviceContext::Map([In] ID3D11Resource* pResource,[In] unsigned int Subresource,[In] D3D11_MAP MapType,[In] D3D11_MAP_FLAG MapFlags,[Out, Optional] D3D11_MAPPED_SUBRESOURCE* pMappedResource) - ID3D11DeviceContext::Map -
- - -

Invalidate the reference to a resource and reenable the GPU's access to that resource.

-
-

A reference to a interface.

-

A subresource to be unmapped.

- -

For info about how to use Unmap, see How to: Use dynamic resources.

Windows?Phone?8: This API is supported.

-
- - ff476485 - void ID3D11DeviceContext::Unmap([In] ID3D11Resource* pResource,[In] unsigned int Subresource) - ID3D11DeviceContext::Unmap -
- - -

Draw indexed, instanced primitives.

-
-

Number of indices read from the index buffer for each instance.

-

Number of instances to draw.

-

The location of the first index read by the GPU from the index buffer.

-

A value added to each index before reading a vertex from the vertex buffer.

-

A value added to each index before reading per-instance data from a vertex buffer.

- -

A draw API submits work to the rendering pipeline.

Instancing may extend performance by reusing the same geometry to draw multiple objects in a scene. One example of instancing could be to draw the same object with different positions and colors. Instancing requires multiple vertex buffers: at least one for per-vertex data and a second buffer for per-instance data.

-
- - ff476410 - void ID3D11DeviceContext::DrawIndexedInstanced([In] unsigned int IndexCountPerInstance,[In] unsigned int InstanceCount,[In] unsigned int StartIndexLocation,[In] int BaseVertexLocation,[In] unsigned int StartInstanceLocation) - ID3D11DeviceContext::DrawIndexedInstanced -
- - -

Draw non-indexed, instanced primitives.

-
-

Number of vertices to draw.

-

Number of instances to draw.

-

Index of the first vertex.

-

A value added to each index before reading per-instance data from a vertex buffer.

- -

A draw API submits work to the rendering pipeline.

Instancing may extend performance by reusing the same geometry to draw multiple objects in a scene. One example of instancing could be to draw the same object with different positions and colors.

The vertex data for an instanced draw call normally comes from a vertex buffer that is bound to the pipeline. However, you could also provide the vertex data from a shader that has instanced data identified with a system-value semantic (SV_InstanceID).

-
- - ff476412 - void ID3D11DeviceContext::DrawInstanced([In] unsigned int VertexCountPerInstance,[In] unsigned int InstanceCount,[In] unsigned int StartVertexLocation,[In] unsigned int StartInstanceLocation) - ID3D11DeviceContext::DrawInstanced -
- - -

Mark the beginning of a series of commands.

-
-

A reference to an interface.

- -

Use to mark the ending of the series of commands.

-
- - ff476386 - void ID3D11DeviceContext::Begin([In] ID3D11Asynchronous* pAsync) - ID3D11DeviceContext::Begin -
- - -

Mark the end of a series of commands.

-
-

A reference to an interface.

- -

Use to mark the beginning of the series of commands.

-
- - ff476422 - void ID3D11DeviceContext::End([In] ID3D11Asynchronous* pAsync) - ID3D11DeviceContext::End -
- - -

Get data from the graphics processing unit (GPU) asynchronously.

-
-

A reference to an interface for the object about which GetData retrieves data.

-

Address of memory that will receive the data. If null, GetData will be used only to check status. The type of data output depends on the type of asynchronous interface.

-

Size of the data to retrieve or 0. Must be 0 when pData is null.

-

Optional flags. Can be 0 or any combination of the flags enumerated by .

-

This method returns one of the Direct3D 11 Return Codes. A return value of indicates that the data at pData is available for the calling application to access. A return value of S_FALSE indicates that the data is not yet available. If the data is not yet available, the application must call GetData until the data is available.

- -

Queries in a deferred context are limited to predicated drawing. That is, you cannot call on a deferred context to get data about a query; you can only call GetData on the immediate context to get data about a query. For predicated drawing, the results of a predication-type query are used by the GPU and not returned to an application. For more information about predication and predicated drawing, see D3D11DeviceContext::SetPredication.

GetData retrieves the data that the runtime collected between calls to and . Certain queries only require a call to in which case the data returned by GetData is accurate up to the last call to . For information about the queries that only require a call to and about the type of data that GetData retrieves for each query, see .

If DataSize is 0, GetData is only used to check status.

An application gathers counter data by calling , issuing some graphics commands, calling , and then calling to get data about what happened in between the Begin and End calls. For information about performance counter types, see .

-
- - ff476428 - HRESULT ID3D11DeviceContext::GetData([In] ID3D11Asynchronous* pAsync,[Out, Buffer, Optional] void* pData,[In] unsigned int DataSize,[In] D3D11_ASYNC_GETDATA_FLAG GetDataFlags) - ID3D11DeviceContext::GetData -
- - -

Set a rendering predicate.

-
-

A reference to the interface that represents the rendering predicate. A null value indicates "no" predication; in this case, the value of PredicateValue is irrelevant but will be preserved for .

-

If TRUE, rendering will be affected by when the predicate's conditions are met. If , rendering will be affected when the conditions are not met.

- -

The predicate must be in the "issued" or "signaled" state to be used for predication. While the predicate is set for predication, calls to and are invalid.

Use this method to denote that subsequent rendering and resource manipulation commands are not actually performed if the resulting predicate data of the predicate is equal to the PredicateValue. However, some predicates are only hints, so they may not actually prevent operations from being performed.

The primary usefulness of predication is to allow an application to issue rendering and resource manipulation commands without taking the performance hit of spinning, waiting for to return. So, predication can occur while returns S_FALSE. Another way to think of it: an application can also use predication as a fallback, if it is possible that returns S_FALSE. If returns , the application can skip calling the rendering and resource manipulation commands manually with it's own application logic.

Rendering and resource manipulation commands for Direct3D?11 include these Draw, Dispatch, Copy, Update, Clear, Generate, and Resolve operations.

  • Draw
  • DrawAuto
  • DrawIndexed
  • DrawIndexedInstanced
  • DrawIndexedInstancedIndirect
  • DrawInstanced
  • DrawInstancedIndirect
  • Dispatch
  • DispatchIndirect
  • CopyResource
  • CopyStructureCount
  • CopySubresourceRegion
  • CopySubresourceRegion1
  • CopyTiles
  • CopyTileMappings
  • UpdateSubresource
  • UpdateSubresource1
  • UpdateTiles
  • UpdateTileMappings
  • ClearRenderTargetView
  • ClearUnorderedAccessViewFloat
  • ClearUnorderedAccessViewUint
  • ClearView
  • ClearDepthStencilView
  • GenerateMips
  • ResolveSubresource

You can set a rendering predicate on an immediate or a deferred context. For info about immediate and deferred contexts, see Immediate and Deferred Rendering.

-
- - ff476481 - void ID3D11DeviceContext::SetPredication([In, Optional] ID3D11Predicate* pPredicate,[In] BOOL PredicateValue) - ID3D11DeviceContext::SetPredication -
- - -

Draw geometry of an unknown size.

-
- -

A draw API submits work to the rendering pipeline. This API submits work of an unknown size that was processed by the input assembler, vertex shader, and stream-output stages; the work may or may not have gone through the geometry-shader stage.

After data has been streamed out to stream-output stage buffers, those buffers can be again bound to the Input Assembler stage at input slot 0 and DrawAuto will draw them without the application needing to know the amount of data that was written to the buffers. A measurement of the amount of data written to the SO stage buffers is maintained internally when the data is streamed out. This means that the CPU does not need to fetch the measurement before re-binding the data that was streamed as input data. Although this amount is tracked internally, it is still the responsibility of applications to use input layouts to describe the format of the data in the SO stage buffers so that the layouts are available when the buffers are again bound to the input assembler.

The following diagram shows the DrawAuto process.

Calling DrawAuto does not change the state of the streaming-output buffers that were bound again as inputs.

DrawAuto only works when drawing with one input buffer bound as an input to the IA stage at slot 0. Applications must create the SO buffer resource with both binding flags, and .

This API does not support indexing or instancing.

If an application needs to retrieve the size of the streaming-output buffer, it can query for statistics on streaming output by using .

-
- - ff476408 - void ID3D11DeviceContext::DrawAuto() - ID3D11DeviceContext::DrawAuto -
- - -

Draw indexed, instanced, GPU-generated primitives.

-
-

A reference to an , which is a buffer containing the GPU generated primitives.

-

Offset in pBufferForArgs to the start of the GPU generated primitives.

- -

When an application creates a buffer that is associated with the interface that pBufferForArgs points to, the application must set the flag in the MiscFlags member of the structure that describes the buffer. To create the buffer, the application calls the method and in this call passes a reference to in the pDesc parameter.

Windows?Phone?8: This API is supported.

-
- - ff476411 - void ID3D11DeviceContext::DrawIndexedInstancedIndirect([In] ID3D11Buffer* pBufferForArgs,[In] unsigned int AlignedByteOffsetForArgs) - ID3D11DeviceContext::DrawIndexedInstancedIndirect -
- - -

Draw instanced, GPU-generated primitives.

-
-

A reference to an , which is a buffer containing the GPU generated primitives.

-

Offset in pBufferForArgs to the start of the GPU generated primitives.

- -

When an application creates a buffer that is associated with the interface that pBufferForArgs points to, the application must set the flag in the MiscFlags member of the structure that describes the buffer. To create the buffer, the application calls the method and in this call passes a reference to in the pDesc parameter.

-
- - ff476413 - void ID3D11DeviceContext::DrawInstancedIndirect([In] ID3D11Buffer* pBufferForArgs,[In] unsigned int AlignedByteOffsetForArgs) - ID3D11DeviceContext::DrawInstancedIndirect -
- - -

Execute a command list from a thread group.

-
-

The number of groups dispatched in the x direction. ThreadGroupCountX must be less than or equal to (65535).

-

The number of groups dispatched in the y direction. ThreadGroupCountY must be less than or equal to (65535).

-

The number of groups dispatched in the z direction. ThreadGroupCountZ must be less than or equal to (65535). In feature level 10 the value for ThreadGroupCountZ must be 1.

- -

You call the Dispatch method to execute commands in a compute shader. A compute shader can be run on many threads in parallel, within a thread group. Index a particular thread, within a thread group using a 3D vector given by (x,y,z).

In the following illustration, assume a thread group with 50 threads where the size of the group is given by (5,5,2). A single thread is identified from a thread group with 50 threads in it, using the vector (4,1,1).

The following illustration shows the relationship between the parameters passed to , Dispatch(5,3,2), the values specified in the numthreads attribute, numthreads(10,8,3), and values that will passed to the compute shader for the thread-related system values - (SV_GroupIndex,SV_DispatchThreadID,SV_GroupThreadID,SV_GroupID).

- - - ff476405 - void ID3D11DeviceContext::Dispatch([In] unsigned int ThreadGroupCountX,[In] unsigned int ThreadGroupCountY,[In] unsigned int ThreadGroupCountZ) - ID3D11DeviceContext::Dispatch - - -

-

Execute a command list over one or more thread groups.

-
-

A reference to an , which must be loaded with data that matches the argument list for .

-

A byte-aligned offset between the start of the buffer and the arguments.

- -

You call the DispatchIndirect method to execute commands in a compute shader.

When an application creates a buffer that is associated with the interface that pBufferForArgs points to, the application must set the flag in the MiscFlags member of the structure that describes the buffer. To create the buffer, the application calls the method and in this call passes a reference to in the pDesc parameter.

-
- - ff476406 - void ID3D11DeviceContext::DispatchIndirect([In] ID3D11Buffer* pBufferForArgs,[In] unsigned int AlignedByteOffsetForArgs) - ID3D11DeviceContext::DispatchIndirect -
- - -

Copy a region from a source resource to a destination resource.

-
-

A reference to the destination resource (see ).

-

Destination subresource index.

-

The x-coordinate of the upper left corner of the destination region.

-

The y-coordinate of the upper left corner of the destination region. For a 1D subresource, this must be zero.

-

The z-coordinate of the upper left corner of the destination region. For a 1D or 2D subresource, this must be zero.

-

A reference to the source resource (see ).

-

Source subresource index.

-

A reference to a 3D box (see ) that defines the source subresource that can be copied. If null, the entire source subresource is copied. The box must fit within the source resource.

An empty box results in a no-op. A box is empty if the top value is greater than or equal to the bottom value, or the left value is greater than or equal to the right value, or the front value is greater than or equal to the back value. When the box is empty, CopySubresourceRegion doesn't perform a copy operation.

- -

The source box must be within the size of the source resource. The destination offsets, (x, y, and z), allow the source box to be offset when writing into the destination resource; however, the dimensions of the source box and the offsets must be within the size of the resource. If you try and copy outside the destination resource or specify a source box that is larger than the source resource, the behavior of CopySubresourceRegion is undefined. If you created a device that supports the debug layer, the debug output reports an error on this invalid CopySubresourceRegion call. Invalid parameters to CopySubresourceRegion cause undefined behavior and might result in incorrect rendering, clipping, no copy, or even the removal of the rendering device.

If the resources are buffers, all coordinates are in bytes; if the resources are textures, all coordinates are in texels. D3D11CalcSubresource is a helper function for calculating subresource indexes.

CopySubresourceRegion performs the copy on the GPU (similar to a memcpy by the CPU). As a consequence, the source and destination resources:

  • Must be different subresources (although they can be from the same resource).
  • Must be the same type.
  • Must have compatible DXGI formats (identical or from the same type group). For example, a texture can be copied to an texture since both of these formats are in the group. CopySubresourceRegion can copy between a few format types. For more info, see Format Conversion using Direct3D 10.1.
  • May not be currently mapped.

CopySubresourceRegion only supports copy; it does not support any stretch, color key, or blend. CopySubresourceRegion can reinterpret the resource data between a few format types. For more info, see Format Conversion using Direct3D 10.1.

If your app needs to copy an entire resource, we recommend to use instead.

CopySubresourceRegion is an asynchronous call, which may be added to the command-buffer queue, this attempts to remove pipeline stalls that may occur when copying data. For more information about pipeline stalls, see performance considerations.

Note??Applies only to feature level 9_x hardware If you use or CopySubresourceRegion to copy from a staging resource to a default resource, you can corrupt the destination contents. This occurs if you pass a null source box and if the source resource has different dimensions from those of the destination resource or if you use destination offsets, (x, y, and z). In this situation, always pass a source box that is the full size of the source resource.?Note??Applies only to feature level 9_x hardware You can't use CopySubresourceRegion to copy mipmapped volume textures.?Note??Applies only to feature levels 9_x Subresources created with the flag can only be used as a source for CopySubresourceRegion.?Note??If you use CopySubresourceRegion with a depth-stencil buffer or a multisampled resource, you must copy the whole subresource. In this situation, you must pass 0 to the DstX, DstY, and DstZ parameters and null to the pSrcBox parameter. In addition, source and destination resources, which are represented by the pSrcResource and pDstResource parameters, should have identical sample count values.? -
- - ff476394 - void ID3D11DeviceContext::CopySubresourceRegion([In] ID3D11Resource* pDstResource,[In] unsigned int DstSubresource,[In] unsigned int DstX,[In] unsigned int DstY,[In] unsigned int DstZ,[In] ID3D11Resource* pSrcResource,[In] unsigned int SrcSubresource,[In, Optional] const D3D11_BOX* pSrcBox) - ID3D11DeviceContext::CopySubresourceRegion -
- - -

Copy the entire contents of the source resource to the destination resource using the GPU.

-
-

A reference to the interface that represents the destination resource.

-

A reference to the interface that represents the source resource.

- -

This method is unusual in that it causes the GPU to perform the copy operation (similar to a memcpy by the CPU). As a result, it has a few restrictions designed for improving performance. For instance, the source and destination resources:

  • Must be different resources.
  • Must be the same type.
  • Must have identical dimensions (including width, height, depth, and size as appropriate).
  • Must have compatible DXGI formats, which means the formats must be identical or at least from the same type group. For example, a texture can be copied to an texture since both of these formats are in the group. CopyResource can copy between a few format types. For more info, see Format Conversion using Direct3D 10.1.
  • Can't be currently mapped.

CopyResource only supports copy; it doesn't support any stretch, color key, or blend. CopyResource can reinterpret the resource data between a few format types. For more info, see Format Conversion using Direct3D 10.1.

You can't use an Immutable resource as a destination. You can use a depth-stencil resource as either a source or a destination provided that the feature level is or greater. For feature levels 9_x, resources created with the flag can only be used as a source for CopyResource. Resources created with multisampling capability (see ) can be used as source and destination only if both source and destination have identical multisampled count and quality. If source and destination differ in multisampled count and quality or if one is multisampled and the other is not multisampled, the call to fails. Use to resolve a multisampled resource to a resource that is not multisampled.

The method is an asynchronous call, which may be added to the command-buffer queue. This attempts to remove pipeline stalls that may occur when copying data. For more info, see performance considerations.

We recommend to use instead if you only need to copy a portion of the data in a resource.

-
- - ff476392 - void ID3D11DeviceContext::CopyResource([In] ID3D11Resource* pDstResource,[In] ID3D11Resource* pSrcResource) - ID3D11DeviceContext::CopyResource -
- - -

The CPU copies data from memory to a subresource created in non-mappable memory.

-
-

A reference to the destination resource (see ).

-

A zero-based index, that identifies the destination subresource. See D3D11CalcSubresource for more details.

-

A reference to a box that defines the portion of the destination subresource to copy the resource data into. Coordinates are in bytes for buffers and in texels for textures. If null, the data is written to the destination subresource with no offset. The dimensions of the source must fit the destination (see ).

An empty box results in a no-op. A box is empty if the top value is greater than or equal to the bottom value, or the left value is greater than or equal to the right value, or the front value is greater than or equal to the back value. When the box is empty, UpdateSubresource doesn't perform an update operation.

-

A reference to the source data in memory.

-

The size of one row of the source data.

-

The size of one depth slice of source data.

- -

For a shader-constant buffer; set pDstBox to null. It is not possible to use this method to partially update a shader-constant buffer.

A resource cannot be used as a destination if:

  • the resource is created with immutable or dynamic usage.
  • the resource is created as a depth-stencil resource.
  • the resource is created with multisampling capability (see ).

When UpdateSubresource returns, the application is free to change or even free the data pointed to by pSrcData because the method has already copied/snapped away the original contents.

The performance of UpdateSubresource depends on whether or not there is contention for the destination resource. For example, contention for a vertex buffer resource occurs when the application executes a Draw call and later calls UpdateSubresource on the same vertex buffer before the Draw call is actually executed by the GPU.

  • When there is contention for the resource, UpdateSubresource will perform 2 copies of the source data. First, the data is copied by the CPU to a temporary storage space accessible by the command buffer. This copy happens before the method returns. A second copy is then performed by the GPU to copy the source data into non-mappable memory. This second copy happens asynchronously because it is executed by GPU when the command buffer is flushed.
  • When there is no resource contention, the behavior of UpdateSubresource is dependent on which is faster (from the CPU's perspective): copying the data to the command buffer and then having a second copy execute when the command buffer is flushed, or having the CPU copy the data to the final resource location. This is dependent on the architecture of the underlying system.
Note??Applies only to feature level 9_x hardware If you use UpdateSubresource or to copy from a staging resource to a default resource, you can corrupt the destination contents. This occurs if you pass a null source box and if the source resource has different dimensions from those of the destination resource or if you use destination offsets, (x, y, and z). In this situation, always pass a source box that is the full size of the source resource.?

To better understand the source row pitch and source depth pitch parameters, the following illustration shows a 3D volume texture.

Each block in this visual represents an element of data, and the size of each element is dependent on the resource's format. For example, if the resource format is , the size of each element would be 128 bits, or 16 bytes. This 3D volume texture has a width of two, a height of three, and a depth of four.

To calculate the source row pitch and source depth pitch for a given resource, use the following formulas:

  • Source Row Pitch = [size of one element in bytes] * [number of elements in one row]
  • Source Depth Pitch = [Source Row Pitch] * [number of rows (height)]

In the case of this example 3D volume texture where the size of each element is 16 bytes, the formulas are as follows:

  • Source Row Pitch = 16 * 2 = 32
  • Source Depth Pitch = 16 * 2 * 3 = 96

The following illustration shows the resource as it is laid out in memory.

For example, the following code snippet shows how to specify a destination region in a 2D texture. Assume the destination texture is 512x512 and the operation will copy the data pointed to by pData to [(120,100)..(200,220)] in the destination texture. Also assume that rowPitch has been initialized with the proper value (as explained above). front and back are set to 0 and 1 respectively, because by having front equal to back, the box is technically empty.

  destRegion;	
-            destRegion.left = 120;	
-            destRegion.right = 200;	
-            destRegion.top = 100;	
-            destRegion.bottom = 220;	
-            destRegion.front = 0;	
-            destRegion.back = 1; pd3dDeviceContext->UpdateSubresource( pDestTexture, 0, &destRegion, pData, rowPitch, 0 );	
-            

The 1D case is similar. The following snippet shows how to specify a destination region in a 1D texture. Use the same assumptions as above, except that the texture is 512 in length.

  destRegion;	
-            destRegion.left = 120;	
-            destRegion.right = 200;	
-            destRegion.top = 0;	
-            destRegion.bottom = 1;	
-            destRegion.front = 0;	
-            destRegion.back = 1; pd3dDeviceContext->UpdateSubresource( pDestTexture, 0, &destRegion, pData, rowPitch, 0 );	
-            

For info about various resource types and how UpdateSubresource might work with each resource type, see Introduction to a Resource in Direct3D 11.

-
- - ff476486 - void ID3D11DeviceContext::UpdateSubresource([In] ID3D11Resource* pDstResource,[In] unsigned int DstSubresource,[In, Optional] const D3D11_BOX* pDstBox,[In] const void* pSrcData,[In] unsigned int SrcRowPitch,[In] unsigned int SrcDepthPitch) - ID3D11DeviceContext::UpdateSubresource -
- - -

Copies data from a buffer holding variable length data.

-
-

Pointer to . This can be any buffer resource that other copy commands, such as or , are able to write to.

-

Offset from the start of pDstBuffer to write 32-bit UINT structure (vertex) count from pSrcView.

-

Pointer to an of a Structured Buffer resource created with either or specified when the UAV was created. These types of resources have hidden counters tracking "how many" records have been written.

- - ff476393 - void ID3D11DeviceContext::CopyStructureCount([In] ID3D11Buffer* pDstBuffer,[In] unsigned int DstAlignedByteOffset,[In] ID3D11UnorderedAccessView* pSrcView) - ID3D11DeviceContext::CopyStructureCount -
- - -

Set all the elements in a render target to one value.

-
-

Pointer to the render target.

-

A 4-component array that represents the color to fill the render target with.

- -

Applications that wish to clear a render target to a specific integer value bit pattern should render a screen-aligned quad instead of using this method. The reason for this is because this method accepts as input a floating point value, which may not have the same bit pattern as the original integer.

Differences between Direct3D 9 and Direct3D 11/10:

Unlike Direct3D 9, the full extent of the resource view is always cleared. Viewport and scissor settings are not applied.

?

When using D3D_FEATURE_LEVEL_9_x, ClearRenderTargetView only clears the first array slice in the render target view. This can impact (for example) cube map rendering scenarios. Applications should create a render target view for each face or array slice, then clear each view individually.

-
- - ff476388 - void ID3D11DeviceContext::ClearRenderTargetView([In] ID3D11RenderTargetView* pRenderTargetView,[In] const SHARPDX_COLOR4* ColorRGBA) - ID3D11DeviceContext::ClearRenderTargetView -
- - -

Clears an unordered access resource with bit-precise values.

-
- No documentation. - No documentation. - -

This API copies the lower ni bits from each array element i to the corresponding channel, where ni is the number of bits in the ith channel of the resource format (for example, R8G8B8_FLOAT has 8 bits for the first 3 channels). This works on any UAV with no format conversion. For a raw or structured buffer view, only the first array element value is used.

-
- - ff476391 - void ID3D11DeviceContext::ClearUnorderedAccessViewUint([In] ID3D11UnorderedAccessView* pUnorderedAccessView,[In] const SHARPDX_INT4* Values) - ID3D11DeviceContext::ClearUnorderedAccessViewUint -
- - -

Clears an unordered access resource with a float value.

-
- No documentation. - No documentation. - -

This API works on FLOAT, UNORM, and SNORM unordered access views (UAVs), with format conversion from FLOAT to *NORM where appropriate. On other UAVs, the operation is invalid and the call will not reach the driver.

-
- - ff476390 - void ID3D11DeviceContext::ClearUnorderedAccessViewFloat([In] ID3D11UnorderedAccessView* pUnorderedAccessView,[In] const SHARPDX_VECTOR4* Values) - ID3D11DeviceContext::ClearUnorderedAccessViewFloat -
- - -

Clears the depth-stencil resource.

-
-

Pointer to the depth stencil to be cleared.

-

Identify the type of data to clear (see ).

-

Clear the depth buffer with this value. This value will be clamped between 0 and 1.

-

Clear the stencil buffer with this value.

- -

Differences between Direct3D 9 and Direct3D 11/10:

Unlike Direct3D 9, the full extent of the resource view is always cleared. Viewport and scissor settings are not applied.

?

-
- - ff476387 - void ID3D11DeviceContext::ClearDepthStencilView([In] ID3D11DepthStencilView* pDepthStencilView,[In] D3D11_CLEAR_FLAG ClearFlags,[In] float Depth,[In] unsigned char Stencil) - ID3D11DeviceContext::ClearDepthStencilView -
- - -

Generates mipmaps for the given shader resource.

-
-

A reference to an interface that represents the shader resource.

- -

You can call GenerateMips on any shader-resource view to generate the lower mipmap levels for the shader resource. GenerateMips uses the largest mipmap level of the view to recursively generate the lower levels of the mip and stops with the smallest level that is specified by the view. If the base resource wasn't created with , , and , the call to GenerateMips has no effect.

Feature levels 9.1, 9.2, and 9.3 can't support automatic generation of mipmaps for 3D (volume) textures.

Video adapters that support feature level 9.1 and higher support generating mipmaps if you use any of these formats:

 	
-            	
-            	
-            	
-            	
-            	
-            	
-            

Video adapters that support feature level 9.2 and higher support generating mipmaps if you use any of these formats in addition to any of the formats for feature level 9.1:

 	
-            	
-            	
-            	
-            	
-            

Video adapters that support feature level 9.3 and higher support generating mipmaps if you use any of these formats in addition to any of the formats for feature levels 9.1 and 9.2:

 	
-            DXGI_FORMAT_B4G4R4A4 (optional)	
-            

Video adapters that support feature level 10 and higher support generating mipmaps if you use any of these formats in addition to any of the formats for feature levels 9.1, 9.2, and 9.3:

  (optional)	
-            	
-            	
-            	
-            	
-            	
-            	
-            	
-            	
-            	
-            	
-            	
-            	
-            	
-            	
-             (optional)	
-            

For all other unsupported formats, GenerateMips will silently fail.

-
- - ff476426 - void ID3D11DeviceContext::GenerateMips([In] ID3D11ShaderResourceView* pShaderResourceView) - ID3D11DeviceContext::GenerateMips -
- - -

Sets the minimum level-of-detail (LOD) for a resource.

-
-

A reference to an that represents the resource.

-

The level-of-detail, which ranges between 0 and the maximum number of mipmap levels of the resource. For example, the maximum number of mipmap levels of a 1D texture is specified in the MipLevels member of the structure.

- -

To use a resource with SetResourceMinLOD, you must set the flag when you create that resource.

For Direct3D 10 and Direct3D 10.1, when sampling from a texture resource in a shader, the sampler can define a minimum LOD clamp to force sampling from less detailed mip levels. For Direct3D 11, this functionality is extended from the sampler to the entire resource. Therefore, the application can specify the highest-resolution mip level of a resource that is available for access. This restricts the set of mip levels that are required to be resident in GPU memory, thereby saving memory.

The set of mip levels resident per-resource in GPU memory can be specified by the user.

Minimum LOD affects all of the resident mip levels. Therefore, only the resident mip levels can be updated and read from.

All methods that access texture resources must adhere to minimum LOD clamps.

Empty-set accesses are handled as out-of-bounds cases.

-
- - ff476482 - void ID3D11DeviceContext::SetResourceMinLOD([In] ID3D11Resource* pResource,[In] float MinLOD) - ID3D11DeviceContext::SetResourceMinLOD -
- - -

Gets the minimum level-of-detail (LOD).

-
-

A reference to an which represents the resource.

-

Returns the minimum LOD.

- - ff476430 - float ID3D11DeviceContext::GetResourceMinLOD([In] ID3D11Resource* pResource) - ID3D11DeviceContext::GetResourceMinLOD -
- - -

Copy a multisampled resource into a non-multisampled resource.

-
-

Destination resource. Must be a created with the flag and be single-sampled. See .

-

A zero-based index, that identifies the destination subresource. Use D3D11CalcSubresource to calculate the index.

-

Source resource. Must be multisampled.

-

The source subresource of the source resource.

-

A that indicates how the multisampled resource will be resolved to a single-sampled resource. See remarks.

- -

This API is most useful when re-using the resulting rendertarget of one render pass as an input to a second render pass.

The source and destination resources must be the same resource type and have the same dimensions. In addition, they must have compatible formats. There are three scenarios for this:

ScenarioRequirements
Source and destination are prestructured and typedBoth the source and destination must have identical formats and that format must be specified in the Format parameter.
One resource is prestructured and typed and the other is prestructured and typelessThe typed resource must have a format that is compatible with the typeless resource (i.e. the typed resource is and the typeless resource is ). The format of the typed resource must be specified in the Format parameter.
Source and destination are prestructured and typelessBoth the source and desintation must have the same typeless format (i.e. both must have ), and the Format parameter must specify a format that is compatible with the source and destination (i.e. if both are then could be specified in the Format parameter).

For example, given the format:

  • The source (or dest) format could be
  • The dest (or source) format could be

?

-
- - ff476474 - void ID3D11DeviceContext::ResolveSubresource([In] ID3D11Resource* pDstResource,[In] unsigned int DstSubresource,[In] ID3D11Resource* pSrcResource,[In] unsigned int SrcSubresource,[In] DXGI_FORMAT Format) - ID3D11DeviceContext::ResolveSubresource -
- - -

Queues commands from a command list onto a device.

-
-

A reference to an interface that encapsulates a command list.

-

A Boolean flag that determines whether the target context state is saved prior to and restored after the execution of a command list. Use TRUE to indicate that the runtime needs to save and restore the state. Use to indicate that no state shall be saved or restored, which causes the target context to return to its default state after the command list executes. Applications should typically use unless they will restore the state to be nearly equivalent to the state that the runtime would restore if TRUE were passed. When applications use , they can avoid unnecessary and inefficient state transitions.

- -

Use this method to play back a command list that was recorded by a deferred context on any thread.

A call to ExecuteCommandList of a command list from a deferred context onto the immediate context is required for the recorded commands to be executed on the graphics processing unit (GPU). A call to ExecuteCommandList of a command list from a deferred context onto another deferred context can be used to merge recorded lists. But to run the commands from the merged deferred command list on the GPU, you need to execute them on the immediate context.

This method performs some runtime validation related to queries. Queries that are begun in a device context cannot be manipulated indirectly by executing a command list (that is, Begin or End was invoked against the same query by the deferred context which generated the command list). If such a condition occurs, the ExecuteCommandList method does not execute the command list. However, the state of the device context is still maintained, as would be expected ( is performed, unless the application indicates to preserve the device context state).

Windows?Phone?8: This API is supported.

-
- - ff476423 - void ID3D11DeviceContext::ExecuteCommandList([In] ID3D11CommandList* pCommandList,[In] BOOL RestoreContextState) - ID3D11DeviceContext::ExecuteCommandList -
- - -

Get the rendering predicate state.

-
-

Address of a boolean to fill with the predicate comparison value. upon device creation.

- -

Any returned interfaces will have their reference count incremented by one. Applications should call IUnknown::Release on the returned interfaces when they are no longer needed to avoid memory leaks.

-
- - ff476429 - void ID3D11DeviceContext::GetPredication([Out, Optional] ID3D11Predicate** ppPredicate,[Out, Optional] BOOL* pPredicateValue) - ID3D11DeviceContext::GetPredication -
- - -

Restore all default settings.

-
- -

This method resets any device context to the default settings. This sets all input/output resource slots, shaders, input layouts, predications, scissor rectangles, depth-stencil state, rasterizer state, blend state, sampler state, and viewports to null. The primitive topology is set to UNDEFINED.

For a scenario where you would like to clear a list of commands recorded so far, call and throw away the resulting .

-
- - ff476389 - void ID3D11DeviceContext::ClearState() - ID3D11DeviceContext::ClearState -
- - -

Sends queued-up commands in the command buffer to the graphics processing unit (GPU).

-
- -

Most applications don't need to call this method. If an application calls this method when not necessary, it incurs a performance penalty. Each call to Flush incurs a significant amount of overhead.

When Microsoft Direct3D state-setting, present, or draw commands are called by an application, those commands are queued into an internal command buffer. Flush sends those commands to the GPU for processing. Typically, the Direct3D runtime sends these commands to the GPU automatically whenever the runtime determines that they need to be sent, such as when the command buffer is full or when an application maps a resource. Flush sends the commands manually.

We recommend that you use Flush when the CPU waits for an arbitrary amount of time (such as when you call the Sleep function).

Because Flush operates asynchronously, it can return either before or after the GPU finishes executing the queued graphics commands. However, the graphics commands eventually always complete. You can call the method with the value to create an event query; you can then use that event query in a call to the method to determine when the GPU is finished processing the graphics commands. -

Microsoft Direct3D?11 defers the destruction of objects. Therefore, an application can't rely upon objects immediately being destroyed. By calling Flush, you destroy any objects whose destruction was deferred. If an application requires synchronous destruction of an object, we recommend that the application release all its references, call , and then call Flush.

-
- - ff476425 - void ID3D11DeviceContext::Flush() - ID3D11DeviceContext::Flush -
- - -

Gets the type of device context.

-
-

A member of that indicates the type of device context.

- - ff476431 - D3D11_DEVICE_CONTEXT_TYPE ID3D11DeviceContext::GetType() - ID3D11DeviceContext::GetType -
- - -

Gets the initialization flags associated with the current deferred context.

-
- No documentation. - -

The GetContextFlags method gets the flags that were supplied to the ContextFlags parameter of ; however, the context flag is reserved for future use.

-
- - ff476427 - unsigned int ID3D11DeviceContext::GetContextFlags() - ID3D11DeviceContext::GetContextFlags -
- - -

Create a command list and record graphics commands into it.

-
-

A Boolean flag that determines whether the runtime saves deferred context state before it executes FinishCommandList and restores it afterwards. Use TRUE to indicate that the runtime needs to save and restore the state. Use to indicate that the runtime will not save or restore any state. In this case, the deferred context will return to its default state after the call to FinishCommandList completes. For information about default state, see . Typically, use unless you restore the state to be nearly equivalent to the state that the runtime would restore if you passed TRUE. When you use , you can avoid unnecessary and inefficient state transitions.

Note?? This parameter does not affect the command list that the current call to FinishCommandList returns. However, this parameter affects the command list of the next call to FinishCommandList on the same deferred context. ?
-

Upon completion of the method, the passed reference to an interface reference is initialized with the recorded command list information. The resulting object is immutable and can only be used with .

-

Returns if successful; otherwise, returns one of the following:

  • Returns if the video card has been physically removed from the system, or a driver upgrade for the video card has occurred. If this error occurs, you should destroy and recreate the device.
  • Returns if FinishCommandList cannot be called from the current context. See remarks.
  • Returns E_OUTOFMEMORY if the application has exhausted available memory.
- -

Create a command list from a deferred context and record commands into it by calling FinishCommandList. Play back a command list with an immediate context by calling .

Immediate context state is cleared before and after a command list is executed. A command list has no concept of inheritance. Each call to FinishCommandList will record only the state set since any previous call to FinishCommandList.

For example, the state of a device context is its render state or pipeline state. To retrieve device context state, an application can call or .

For more information about how to use FinishCommandList, see How to: Record a Command List.

Windows?Phone?8: This API is supported.

-
- - ff476424 - HRESULT ID3D11DeviceContext::FinishCommandList([In] BOOL RestoreDeferredContextState,[Out, Optional] ID3D11CommandList** ppCommandList) - ID3D11DeviceContext::FinishCommandList -
- - -

The interface represents a device context which generates rendering commands.

-
- - ff476385 - ID3D11DeviceContext - ID3D11DeviceContext -
- - -

Bind a single vertex buffer to the input-assembler stage.

-
-

The first input slot for binding. The first vertex buffer is explicitly bound to the start slot; this causes each additional vertex buffer in the array to be implicitly bound to each subsequent input slot. The maximum of 16 or 32 input slots (ranges from 0 to - 1) are available; the maximum number of input slots depends on the feature level.

-

A . The vertex buffer must have been created with the flag.

/// -

For information about creating vertex buffers, see Create a Vertex Buffer.

Calling this method using a buffer that is currently bound for writing (i.e. bound to the stream output pipeline stage) will effectively bind null instead because a buffer cannot be bound as both an input and an output at the same time.

The debug layer will generate a warning whenever a resource is prevented from being bound simultaneously as an input and an output, but this will not prevent invalid data from being used by the runtime.

The method will hold a reference to the interfaces passed in. This differs from the device state behavior in Direct3D 10.

-
- ff476456 - void ID3D11DeviceContext::IASetVertexBuffers([In] unsigned int StartSlot,[In] unsigned int NumBuffers,[In, Buffer] const void* ppVertexBuffers,[In, Buffer] const void* pStrides,[In, Buffer] const void* pOffsets) - ID3D11DeviceContext::IASetVertexBuffers -
- - -

Bind an array of vertex buffers to the input-assembler stage.

-
-

The first input slot for binding. The first vertex buffer is explicitly bound to the start slot; this causes each additional vertex buffer in the array to be implicitly bound to each subsequent input slot. The maximum of 16 or 32 input slots (ranges from 0 to - 1) are available; the maximum number of input slots depends on the feature level.

-

A reference to an array of . The vertex buffers must have been created with the flag.

/// -

For information about creating vertex buffers, see Create a Vertex Buffer.

Calling this method using a buffer that is currently bound for writing (i.e. bound to the stream output pipeline stage) will effectively bind null instead because a buffer cannot be bound as both an input and an output at the same time.

The debug layer will generate a warning whenever a resource is prevented from being bound simultaneously as an input and an output, but this will not prevent invalid data from being used by the runtime.

The method will hold a reference to the interfaces passed in. This differs from the device state behavior in Direct3D 10.

-
- ff476456 - void ID3D11DeviceContext::IASetVertexBuffers([In] unsigned int StartSlot,[In] unsigned int NumBuffers,[In, Buffer] const void* ppVertexBuffers,[In, Buffer] const void* pStrides,[In, Buffer] const void* pOffsets) - ID3D11DeviceContext::IASetVertexBuffers -
- - -

Bind an array of vertex buffers to the input-assembler stage.

-
-

The first input slot for binding. The first vertex buffer is explicitly bound to the start slot; this causes each additional vertex buffer in the array to be implicitly bound to each subsequent input slot. The maximum of 16 or 32 input slots (ranges from 0 to - 1) are available; the maximum number of input slots depends on the feature level.

-

A reference to an array of vertex buffers (see ). The vertex buffers must have been created with the flag.

-

Pointer to an array of stride values; one stride value for each buffer in the vertex-buffer array. Each stride is the size (in bytes) of the elements that are to be used from that vertex buffer.

-

Pointer to an array of offset values; one offset value for each buffer in the vertex-buffer array. Each offset is the number of bytes between the first element of a vertex buffer and the first element that will be used.

- -

For information about creating vertex buffers, see Create a Vertex Buffer.

Calling this method using a buffer that is currently bound for writing (i.e. bound to the stream output pipeline stage) will effectively bind null instead because a buffer cannot be bound as both an input and an output at the same time.

The debug layer will generate a warning whenever a resource is prevented from being bound simultaneously as an input and an output, but this will not prevent invalid data from being used by the runtime.

The method will hold a reference to the interfaces passed in. This differs from the device state behavior in Direct3D 10.

-
- ff476456 - void ID3D11DeviceContext::IASetVertexBuffers([In] unsigned int StartSlot,[In] unsigned int NumBuffers,[In, Buffer] const void* ppVertexBuffers,[In, Buffer] const void* pStrides,[In, Buffer] const void* pOffsets) - ID3D11DeviceContext::IASetVertexBuffers -
- - - Initializes a new instance of the 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 DefaultIndexBufferOffsetInBytes. - D3D11_IA_DEFAULT_INDEX_BUFFER_OFFSET_IN_BYTES - - - Constant DefaultPrimitiveTopology. - D3D11_IA_DEFAULT_PRIMITIVE_TOPOLOGY - - - Constant DefaultVertexBufferOffsetInBytes. - D3D11_IA_DEFAULT_VERTEX_BUFFER_OFFSET_IN_BYTES - - - Constant IndexInputResourceSlotCount. - D3D11_IA_INDEX_INPUT_RESOURCE_SLOT_COUNT - - - Constant InstanceIdBitCount. - D3D11_IA_INSTANCE_ID_BIT_COUNT - - - Constant IntegerArithmeticBitCount. - D3D11_IA_INTEGER_ARITHMETIC_BIT_COUNT - - - Constant PatchMaximumControlPointCount. - D3D11_IA_PATCH_MAX_CONTROL_POINT_COUNT - - - Constant PrimitiveIdBitCount. - D3D11_IA_PRIMITIVE_ID_BIT_COUNT - - - Constant VertexIdBitCount. - D3D11_IA_VERTEX_ID_BIT_COUNT - - - Constant VertexInputResourceSlotCount. - D3D11_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT - - - Constant VertexInputStructureElementsComponents. - D3D11_IA_VERTEX_INPUT_STRUCTURE_ELEMENTS_COMPONENTS - - - Constant VertexInputStructureElementCount. - D3D11_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT - - - -

Get or sets a reference to the input-layout object that is bound to the input-assembler stage.

-
- -

For information about creating an input-layout object, see Creating the Input-Layout Object.

Any returned interfaces will have their reference count incremented by one. Applications should call IUnknown::Release on the returned interfaces when they are no longer needed to avoid memory leaks.

-
- - ff476450 - IAGetInputLayout / IASetInputLayout - IAGetInputLayout - void ID3D11DeviceContext::IAGetInputLayout([Out, Optional] ID3D11InputLayout** ppInputLayout) -
- - -

Get or sets information about the primitive type, and data order that describes input data for the input assembler stage.

-
- - ff476451 - IAGetPrimitiveTopology / IASetPrimitiveTopology - IAGetPrimitiveTopology - void ID3D11DeviceContext::IAGetPrimitiveTopology([Out] D3D_PRIMITIVE_TOPOLOGY* pTopology) -
- - -

Bind an input-layout object to the input-assembler stage.

-
-

A reference to the input-layout object (see ), which describes the input buffers that will be read by the IA stage.

- -

Input-layout objects describe how vertex buffer data is streamed into the IA pipeline stage. To create an input-layout object, call .

The method will hold a reference to the interfaces passed in. This differs from the device state behavior in Direct3D 10.

-
- - ff476454 - void ID3D11DeviceContext::IASetInputLayout([In, Optional] ID3D11InputLayout* pInputLayout) - ID3D11DeviceContext::IASetInputLayout -
- - -

Bind an array of vertex buffers to the input-assembler stage.

-
- No documentation. - No documentation. - No documentation. - No documentation. - No documentation. - -

For info about creating vertex buffers, see How to: Create a Vertex Buffer.

Calling this method using a buffer that is currently bound for writing (that is, bound to the stream output pipeline stage) will effectively bind null instead because a buffer can't be bound as both an input and an output at the same time.

The debug layer will generate a warning whenever a resource is prevented from being bound simultaneously as an input and an output, but this will not prevent invalid data from being used by the runtime.

The method will hold a reference to the interfaces passed in. This differs from the device state behavior in Direct3D 10.

Windows?Phone?8: This API is supported.

-
- - ff476456 - void ID3D11DeviceContext::IASetVertexBuffers([In] unsigned int StartSlot,[In] unsigned int NumBuffers,[In, Buffer, Optional] const void* ppVertexBuffers,[In, Buffer, Optional] const void* pStrides,[In, Buffer, Optional] const void* pOffsets) - ID3D11DeviceContext::IASetVertexBuffers -
- - -

Bind an index buffer to the input-assembler stage.

-
-

A reference to an object, that contains indices. The index buffer must have been created with the flag.

-

A that specifies the format of the data in the index buffer. The only formats allowed for index buffer data are 16-bit () and 32-bit () integers.

-

Offset (in bytes) from the start of the index buffer to the first index to use.

- -

For information about creating index buffers, see How to: Create an Index Buffer.

Calling this method using a buffer that is currently bound for writing (i.e. bound to the stream output pipeline stage) will effectively bind null instead because a buffer cannot be bound as both an input and an output at the same time.

The debug layer will generate a warning whenever a resource is prevented from being bound simultaneously as an input and an output, but this will not prevent invalid data from being used by the runtime.

The method will hold a reference to the interfaces passed in. This differs from the device state behavior in Direct3D 10.

Windows?Phone?8: This API is supported.

-
- - ff476453 - void ID3D11DeviceContext::IASetIndexBuffer([In, Optional] ID3D11Buffer* pIndexBuffer,[In] DXGI_FORMAT Format,[In] unsigned int Offset) - ID3D11DeviceContext::IASetIndexBuffer -
- - -

Bind information about the primitive type, and data order that describes input data for the input assembler stage.

-
-

The type of primitive and ordering of the primitive data (see D3D11_PRIMITIVE_TOPOLOGY).

- -

Windows?Phone?8: This API is supported.

-
- - ff476455 - void ID3D11DeviceContext::IASetPrimitiveTopology([In] D3D_PRIMITIVE_TOPOLOGY Topology) - ID3D11DeviceContext::IASetPrimitiveTopology -
- - -

Get a reference to the input-layout object that is bound to the input-assembler stage.

-
-

A reference to the input-layout object (see ), which describes the input buffers that will be read by the IA stage.

- -

For information about creating an input-layout object, see Creating the Input-Layout Object.

Any returned interfaces will have their reference count incremented by one. Applications should call IUnknown::Release on the returned interfaces when they are no longer needed to avoid memory leaks.

-
- - ff476450 - void ID3D11DeviceContext::IAGetInputLayout([Out, Optional] ID3D11InputLayout** ppInputLayout) - ID3D11DeviceContext::IAGetInputLayout -
- - -

Get the vertex buffers bound to the input-assembler stage.

-
-

The input slot of the first vertex buffer to get. The first vertex buffer is explicitly bound to the start slot; this causes each additional vertex buffer in the array to be implicitly bound to each subsequent input slot. The maximum of 16 or 32 input slots (ranges from 0 to - 1) are available; the maximum number of input slots depends on the feature level.

-

The number of vertex buffers to get starting at the offset. The number of buffers (plus the starting slot) cannot exceed the total number of IA-stage input slots.

-

A reference to an array of vertex buffers returned by the method (see ).

-

Pointer to an array of stride values returned by the method; one stride value for each buffer in the vertex-buffer array. Each stride value is the size (in bytes) of the elements that are to be used from that vertex buffer.

-

Pointer to an array of offset values returned by the method; one offset value for each buffer in the vertex-buffer array. Each offset is the number of bytes between the first element of a vertex buffer and the first element that will be used.

- -

Any returned interfaces will have their reference count incremented by one. Applications should call IUnknown::Release on the returned interfaces when they are no longer needed to avoid memory leaks.

-
- - ff476452 - void ID3D11DeviceContext::IAGetVertexBuffers([In] unsigned int StartSlot,[In] unsigned int NumBuffers,[Out, Buffer, Optional] ID3D11Buffer** ppVertexBuffers,[Out, Buffer, Optional] unsigned int* pStrides,[Out, Buffer, Optional] unsigned int* pOffsets) - ID3D11DeviceContext::IAGetVertexBuffers -
- - -

Get a reference to the index buffer that is bound to the input-assembler stage.

-
-

A reference to an index buffer returned by the method (see ).

-

Specifies format of the data in the index buffer (see ). These formats provide the size and type of the data in the buffer. The only formats allowed for index buffer data are 16-bit () and 32-bit () integers.

-

Offset (in bytes) from the start of the index buffer, to the first index to use.

- -

Any returned interfaces will have their reference count incremented by one. Applications should call IUnknown::Release on the returned interfaces when they are no longer needed to avoid memory leaks.

-
- - ff476449 - void ID3D11DeviceContext::IAGetIndexBuffer([Out, Optional] ID3D11Buffer** pIndexBuffer,[Out, Optional] DXGI_FORMAT* Format,[Out, Optional] unsigned int* Offset) - ID3D11DeviceContext::IAGetIndexBuffer -
- - -

Get information about the primitive type, and data order that describes input data for the input assembler stage.

-
-

A reference to the type of primitive, and ordering of the primitive data (see D3D11_PRIMITIVE_TOPOLOGY).

- - ff476451 - void ID3D11DeviceContext::IAGetPrimitiveTopology([Out] D3D_PRIMITIVE_TOPOLOGY* pTopology) - ID3D11DeviceContext::IAGetPrimitiveTopology -
- - -

The interface represents a device context which generates rendering commands.

-
- - ff476385 - ID3D11DeviceContext - ID3D11DeviceContext -
- - - Get references to the render targets that are available to the {{output-merger stage}}. - - - Any returned interfaces will have their reference count incremented by one. Applications should call {{IUnknown::Release}} on the returned interfaces when they are no longer needed to avoid memory leaks. - - a depth-stencil view (see ) to be filled with the depth-stencil information from the device. - void OMGetRenderTargets([In] int NumViews,[Out, Buffer, Optional] ID3D10RenderTargetView** ppRenderTargetViews,[Out, Optional] ID3D10DepthStencilView** ppDepthStencilView) - - - - Get references to the render targets that are available to the {{output-merger stage}}. - - - Any returned interfaces will have their reference count incremented by one. Applications should call {{IUnknown::Release}} on the returned interfaces when they are no longer needed to avoid memory leaks. - - Number of render targets to retrieve. - an array of render targets views (see ) to be filled with the render targets from the device. - void OMGetRenderTargets([In] int NumViews,[Out, Buffer, Optional] ID3D10RenderTargetView** ppRenderTargetViews,[Out, Optional] ID3D10DepthStencilView** ppDepthStencilView) - - - - Get references to the render targets and the depth-stencil buffer that are available to the {{output-merger stage}}. - - - Any returned interfaces will have their reference count incremented by one. Applications should call {{IUnknown::Release}} on the returned interfaces when they are no longer needed to avoid memory leaks. - - Number of render targets to retrieve. - Pointer to a depth-stencil view (see ) to be filled with the depth-stencil information from the device. - an array of render targets views (see ) to be filled with the render targets from the device. - void OMGetRenderTargets([In] int NumViews,[Out, Buffer, Optional] ID3D10RenderTargetView** ppRenderTargetViews,[Out, Optional] ID3D10DepthStencilView** ppDepthStencilView) - - - - Get the {{blend state}} of the output-merger stage. - - - The reference count of the returned interface will be incremented by one when the blend state is retrieved. Applications must release returned reference(s) when they are no longer needed, or else there will be a memory leak. - - Array of blend factors, one for each RGBA component. - Pointer to a {{sample mask}}. - a reference to a blend-state interface (see ). - void OMGetBlendState([Out, Optional] ID3D10BlendState** ppBlendState,[Out, Optional] float BlendFactor[4],[Out, Optional] int* pSampleMask) - - - - Gets the {{depth-stencil}} state of the output-merger stage. - - - Any returned interfaces will have their reference count incremented by one. Applications should call {{IUnknown::Release}} on the returned interfaces when they are no longer needed to avoid memory leaks. - - Pointer to the stencil reference value used in the {{depth-stencil}} test. - a reference to a depth-stencil state interface (see ) to be filled with information from the device. - void OMGetDepthStencilState([Out, Optional] ID3D10DepthStencilState** ppDepthStencilState,[Out, Optional] int* pStencilRef) - - - - Gets an array of views for an unordered resource. - - - Any returned interfaces will have their reference count incremented by one. Applications should call IUnknown::Release on the returned interfaces when they are no longer needed to avoid memory leaks. - - Index of the first element in the zero-based array to return (ranges from 0 to D3D11_PS_CS_UAV_REGISTER_COUNT - 1). - Number of views to get (ranges from 0 to D3D11_PS_CS_UAV_REGISTER_COUNT - StartSlot). - void OMGetRenderTargetsAndUnorderedAccessViews([In] int NumRTVs,[Out, Buffer, Optional] ID3D11RenderTargetView** ppRenderTargetViews,[Out, Optional] ID3D11DepthStencilView** ppDepthStencilView,[In] int UAVStartSlot,[In] int NumUAVs,[Out, Buffer, Optional] ID3D11UnorderedAccessView** ppUnorderedAccessViews) - - - - Unbinds all depth-stencil buffer and render targets from the output-merger stage. - - ff476464 - void ID3D11DeviceContext::OMSetRenderTargets([In] unsigned int NumViews,[In] const void** ppRenderTargetViews,[In, Optional] ID3D11DepthStencilView* pDepthStencilView) - ID3D11DeviceContext::OMSetRenderTargets - - - -

Bind one or more render targets atomically and the depth-stencil buffer to the output-merger stage.

-
- A set of render target views to bind. - -

The maximum number of active render targets a device can have active at any given time is set by a #define in D3D11.h called D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT. It is invalid to try to set the same subresource to multiple render target slots. Any render targets not defined by this call are set to null.

If any subresources are also currently bound for reading in a different stage or writing (perhaps in a different part of the pipeline), those bind points will be set to null, in order to prevent the same subresource from being read and written simultaneously in a single rendering operation.

The method will hold a reference to the interfaces passed in. This differs from the device state behavior in Direct3D 10.

If the render-target views were created from an array resource type, then all of the render-target views must have the same array size. This restriction also applies to the depth-stencil view, its array size must match that of the render-target views being bound.

The pixel shader must be able to simultaneously render to at least eight separate render targets. All of these render targets must access the same type of resource: Buffer, Texture1D, Texture1DArray, Texture2D, Texture2DArray, Texture3D, or TextureCube. All render targets must have the same size in all dimensions (width and height, and depth for 3D or array size for *Array types). If render targets use multisample anti-aliasing, all bound render targets and depth buffer must be the same form of multisample resource (that is, the sample counts must be the same). Each render target can have a different data format. These render target formats are not required to have identical bit-per-element counts.

Any combination of the eight slots for render targets can have a render target set or not set.

The same resource view cannot be bound to multiple render target slots simultaneously. However, you can set multiple non-overlapping resource views of a single resource as simultaneous multiple render targets.

-
- ff476464 - void ID3D11DeviceContext::OMSetRenderTargets([In] unsigned int NumViews,[In] const void** ppRenderTargetViews,[In, Optional] ID3D11DepthStencilView* pDepthStencilView) - ID3D11DeviceContext::OMSetRenderTargets -
- - - Binds a single render target to the output-merger stage. - - A view of the render target to bind. - -

The maximum number of active render targets a device can have active at any given time is set by a #define in D3D11.h called D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT. It is invalid to try to set the same subresource to multiple render target slots. Any render targets not defined by this call are set to null.

If any subresources are also currently bound for reading in a different stage or writing (perhaps in a different part of the pipeline), those bind points will be set to null, in order to prevent the same subresource from being read and written simultaneously in a single rendering operation.

The method will hold a reference to the interfaces passed in. This differs from the device state behavior in Direct3D 10.

If the render-target views were created from an array resource type, then all of the render-target views must have the same array size. This restriction also applies to the depth-stencil view, its array size must match that of the render-target views being bound.

The pixel shader must be able to simultaneously render to at least eight separate render targets. All of these render targets must access the same type of resource: Buffer, Texture1D, Texture1DArray, Texture2D, Texture2DArray, Texture3D, or TextureCube. All render targets must have the same size in all dimensions (width and height, and depth for 3D or array size for *Array types). If render targets use multisample anti-aliasing, all bound render targets and depth buffer must be the same form of multisample resource (that is, the sample counts must be the same). Each render target can have a different data format. These render target formats are not required to have identical bit-per-element counts.

Any combination of the eight slots for render targets can have a render target set or not set.

The same resource view cannot be bound to multiple render target slots simultaneously. However, you can set multiple non-overlapping resource views of a single resource as simultaneous multiple render targets.

-
- ff476464 - void ID3D11DeviceContext::OMSetRenderTargets([In] unsigned int NumViews,[In] const void** ppRenderTargetViews,[In, Optional] ID3D11DepthStencilView* pDepthStencilView) - ID3D11DeviceContext::OMSetRenderTargets -
- - - Binds a depth-stencil buffer and a set of render targets to the output-merger stage. - - A view of the depth-stencil buffer to bind. - A set of render target views to bind. - -

The maximum number of active render targets a device can have active at any given time is set by a #define in D3D11.h called D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT. It is invalid to try to set the same subresource to multiple render target slots. Any render targets not defined by this call are set to null.

If any subresources are also currently bound for reading in a different stage or writing (perhaps in a different part of the pipeline), those bind points will be set to null, in order to prevent the same subresource from being read and written simultaneously in a single rendering operation.

The method will hold a reference to the interfaces passed in. This differs from the device state behavior in Direct3D 10.

If the render-target views were created from an array resource type, then all of the render-target views must have the same array size. This restriction also applies to the depth-stencil view, its array size must match that of the render-target views being bound.

The pixel shader must be able to simultaneously render to at least eight separate render targets. All of these render targets must access the same type of resource: Buffer, Texture1D, Texture1DArray, Texture2D, Texture2DArray, Texture3D, or TextureCube. All render targets must have the same size in all dimensions (width and height, and depth for 3D or array size for *Array types). If render targets use multisample anti-aliasing, all bound render targets and depth buffer must be the same form of multisample resource (that is, the sample counts must be the same). Each render target can have a different data format. These render target formats are not required to have identical bit-per-element counts.

Any combination of the eight slots for render targets can have a render target set or not set.

The same resource view cannot be bound to multiple render target slots simultaneously. However, you can set multiple non-overlapping resource views of a single resource as simultaneous multiple render targets.

-
- ff476464 - void ID3D11DeviceContext::OMSetRenderTargets([In] unsigned int NumViews,[In] const void** ppRenderTargetViews,[In, Optional] ID3D11DepthStencilView* pDepthStencilView) - ID3D11DeviceContext::OMSetRenderTargets -
- - - Binds a depth-stencil buffer and a set of render targets to the output-merger stage. - - A view of the depth-stencil buffer to bind. - The render target count. - A set of render target views to bind. - ff476464 - void ID3D11DeviceContext::OMSetRenderTargets([In] unsigned int NumViews,[In] const void** ppRenderTargetViews,[In, Optional] ID3D11DepthStencilView* pDepthStencilView) - ID3D11DeviceContext::OMSetRenderTargets -

The maximum number of active render targets a device can have active at any given time is set by a #define in D3D11.h called D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT. It is invalid to try to set the same subresource to multiple render target slots. Any render targets not defined by this call are set to null.

If any subresources are also currently bound for reading in a different stage or writing (perhaps in a different part of the pipeline), those bind points will be set to null, in order to prevent the same subresource from being read and written simultaneously in a single rendering operation.

The method will hold a reference to the interfaces passed in. This differs from the device state behavior in Direct3D 10.

If the render-target views were created from an array resource type, then all of the render-target views must have the same array size. This restriction also applies to the depth-stencil view, its array size must match that of the render-target views being bound.

The pixel shader must be able to simultaneously render to at least eight separate render targets. All of these render targets must access the same type of resource: Buffer, Texture1D, Texture1DArray, Texture2D, Texture2DArray, Texture3D, or TextureCube. All render targets must have the same size in all dimensions (width and height, and depth for 3D or array size for *Array types). If render targets use multisample anti-aliasing, all bound render targets and depth buffer must be the same form of multisample resource (that is, the sample counts must be the same). Each render target can have a different data format. These render target formats are not required to have identical bit-per-element counts.

Any combination of the eight slots for render targets can have a render target set or not set.

The same resource view cannot be bound to multiple render target slots simultaneously. However, you can set multiple non-overlapping resource views of a single resource as simultaneous multiple render targets.

-
- - - Binds a depth-stencil buffer and a single render target to the output-merger stage. - - A view of the depth-stencil buffer to bind. - A view of the render target to bind. - -

The maximum number of active render targets a device can have active at any given time is set by a #define in D3D11.h called D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT. It is invalid to try to set the same subresource to multiple render target slots. Any render targets not defined by this call are set to null.

If any subresources are also currently bound for reading in a different stage or writing (perhaps in a different part of the pipeline), those bind points will be set to null, in order to prevent the same subresource from being read and written simultaneously in a single rendering operation.

The method will hold a reference to the interfaces passed in. This differs from the device state behavior in Direct3D 10.

If the render-target views were created from an array resource type, then all of the render-target views must have the same array size. This restriction also applies to the depth-stencil view, its array size must match that of the render-target views being bound.

The pixel shader must be able to simultaneously render to at least eight separate render targets. All of these render targets must access the same type of resource: Buffer, Texture1D, Texture1DArray, Texture2D, Texture2DArray, Texture3D, or TextureCube. All render targets must have the same size in all dimensions (width and height, and depth for 3D or array size for *Array types). If render targets use multisample anti-aliasing, all bound render targets and depth buffer must be the same form of multisample resource (that is, the sample counts must be the same). Each render target can have a different data format. These render target formats are not required to have identical bit-per-element counts.

Any combination of the eight slots for render targets can have a render target set or not set.

The same resource view cannot be bound to multiple render target slots simultaneously. However, you can set multiple non-overlapping resource views of a single resource as simultaneous multiple render targets.

-
- ff476464 - void ID3D11DeviceContext::OMSetRenderTargets([In] unsigned int NumViews,[In] const void** ppRenderTargetViews,[In, Optional] ID3D11DepthStencilView* pDepthStencilView) - ID3D11DeviceContext::OMSetRenderTargets -
- - - Binds a depth-stencil buffer and a set of render targets to the output-merger stage. - - A view of the depth-stencil buffer to bind. - A set of render target views to bind. - void ID3D11DeviceContext::OMSetRenderTargets([In] unsigned int NumViews,[In, Buffer, Optional] const ID3D11RenderTargetView** ppRenderTargetViews,[In, Optional] ID3D11DepthStencilView* pDepthStencilView) - -

The maximum number of active render targets a device can have active at any given time is set by a #define in D3D11.h called D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT. It is invalid to try to set the same subresource to multiple render target slots. Any render targets not defined by this call are set to null.

If any subresources are also currently bound for reading in a different stage or writing (perhaps in a different part of the pipeline), those bind points will be set to null, in order to prevent the same subresource from being read and written simultaneously in a single rendering operation.

The method will hold a reference to the interfaces passed in. This differs from the device state behavior in Direct3D 10.

If the render-target views were created from an array resource type, then all of the render-target views must have the same array size. This restriction also applies to the depth-stencil view, its array size must match that of the render-target views being bound.

The pixel shader must be able to simultaneously render to at least eight separate render targets. All of these render targets must access the same type of resource: Buffer, Texture1D, Texture1DArray, Texture2D, Texture2DArray, Texture3D, or TextureCube. All render targets must have the same size in all dimensions (width and height, and depth for 3D or array size for *Array types). If render targets use multisample anti-aliasing, all bound render targets and depth buffer must be the same form of multisample resource (that is, the sample counts must be the same). Each render target can have a different data format. These render target formats are not required to have identical bit-per-element counts.

Any combination of the eight slots for render targets can have a render target set or not set.

The same resource view cannot be bound to multiple render target slots simultaneously. However, you can set multiple non-overlapping resource views of a single resource as simultaneous multiple render targets.

-
- ff476464 - void ID3D11DeviceContext::OMSetRenderTargets([In] unsigned int NumViews,[In] const void** ppRenderTargetViews,[In, Optional] ID3D11DepthStencilView* pDepthStencilView) - ID3D11DeviceContext::OMSetRenderTargets -
- - - Binds a set of render targets to the output-merger stage and clear the depth stencil view. - - A set of render target views to bind. - void ID3D11DeviceContext::OMSetRenderTargets([In] unsigned int NumViews,[In, Buffer, Optional] const ID3D11RenderTargetView** ppRenderTargetViews,[In, Optional] ID3D11DepthStencilView* pDepthStencilView) - -

The maximum number of active render targets a device can have active at any given time is set by a #define in D3D11.h called D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT. It is invalid to try to set the same subresource to multiple render target slots. Any render targets not defined by this call are set to null.

If any subresources are also currently bound for reading in a different stage or writing (perhaps in a different part of the pipeline), those bind points will be set to null, in order to prevent the same subresource from being read and written simultaneously in a single rendering operation.

The method will hold a reference to the interfaces passed in. This differs from the device state behavior in Direct3D 10.

If the render-target views were created from an array resource type, then all of the render-target views must have the same array size. This restriction also applies to the depth-stencil view, its array size must match that of the render-target views being bound.

The pixel shader must be able to simultaneously render to at least eight separate render targets. All of these render targets must access the same type of resource: Buffer, Texture1D, Texture1DArray, Texture2D, Texture2DArray, Texture3D, or TextureCube. All render targets must have the same size in all dimensions (width and height, and depth for 3D or array size for *Array types). If render targets use multisample anti-aliasing, all bound render targets and depth buffer must be the same form of multisample resource (that is, the sample counts must be the same). Each render target can have a different data format. These render target formats are not required to have identical bit-per-element counts.

Any combination of the eight slots for render targets can have a render target set or not set.

The same resource view cannot be bound to multiple render target slots simultaneously. However, you can set multiple non-overlapping resource views of a single resource as simultaneous multiple render targets.

-
- ff476464 - void ID3D11DeviceContext::OMSetRenderTargets([In] unsigned int NumViews,[In] const void** ppRenderTargetViews,[In, Optional] ID3D11DepthStencilView* pDepthStencilView) - ID3D11DeviceContext::OMSetRenderTargets -
- - - Binds a set of unordered access views and a single render target to the output-merger stage. - - Index into a zero-based array to begin setting unordered access views. - A set of unordered access views to bind. - A view of the render target to bind. - ff476465 - void ID3D11DeviceContext::OMSetRenderTargetsAndUnorderedAccessViews([In] unsigned int NumRTVs,[In, Buffer, Optional] const ID3D11RenderTargetView** ppRenderTargetViews,[In, Optional] ID3D11DepthStencilView* pDepthStencilView,[In] unsigned int UAVStartSlot,[In] unsigned int NumUAVs,[In, Buffer, Optional] const ID3D11UnorderedAccessView** ppUnorderedAccessViews,[In, Buffer, Optional] const unsigned int* pUAVInitialCounts) - ID3D11DeviceContext::OMSetRenderTargetsAndUnorderedAccessViews - - - - Binds a set of unordered access views and a set of render targets to the output-merger stage. - - Index into a zero-based array to begin setting unordered access views. - A set of unordered access views to bind. - A set of render target views to bind. - ff476465 - void ID3D11DeviceContext::OMSetRenderTargetsAndUnorderedAccessViews([In] unsigned int NumRTVs,[In, Buffer, Optional] const ID3D11RenderTargetView** ppRenderTargetViews,[In, Optional] ID3D11DepthStencilView* pDepthStencilView,[In] unsigned int UAVStartSlot,[In] unsigned int NumUAVs,[In, Buffer, Optional] const ID3D11UnorderedAccessView** ppUnorderedAccessViews,[In, Buffer, Optional] const unsigned int* pUAVInitialCounts) - ID3D11DeviceContext::OMSetRenderTargetsAndUnorderedAccessViews - - - - Binds a depth-stencil buffer, a set of unordered access views, and a single render target to the output-merger stage. - - A view of the depth-stencil buffer to bind. - Index into a zero-based array to begin setting unordered access views. - A set of unordered access views to bind. - A view of the render target to bind. - ff476465 - void ID3D11DeviceContext::OMSetRenderTargetsAndUnorderedAccessViews([In] unsigned int NumRTVs,[In, Buffer, Optional] const ID3D11RenderTargetView** ppRenderTargetViews,[In, Optional] ID3D11DepthStencilView* pDepthStencilView,[In] unsigned int UAVStartSlot,[In] unsigned int NumUAVs,[In, Buffer, Optional] const ID3D11UnorderedAccessView** ppUnorderedAccessViews,[In, Buffer, Optional] const unsigned int* pUAVInitialCounts) - ID3D11DeviceContext::OMSetRenderTargetsAndUnorderedAccessViews - - - - Binds a depth-stencil buffer, a set of unordered access views, and a set of render targets to the output-merger stage. - - A view of the depth-stencil buffer to bind. - Index into a zero-based array to begin setting unordered access views. - A set of unordered access views to bind. - A set of render target views to bind. - ff476465 - void ID3D11DeviceContext::OMSetRenderTargetsAndUnorderedAccessViews([In] unsigned int NumRTVs,[In, Buffer, Optional] const ID3D11RenderTargetView** ppRenderTargetViews,[In, Optional] ID3D11DepthStencilView* pDepthStencilView,[In] unsigned int UAVStartSlot,[In] unsigned int NumUAVs,[In, Buffer, Optional] const ID3D11UnorderedAccessView** ppUnorderedAccessViews,[In, Buffer, Optional] const unsigned int* pUAVInitialCounts) - ID3D11DeviceContext::OMSetRenderTargetsAndUnorderedAccessViews - - - - Binds a set of unordered access views and a single render target to the output-merger stage. - - Index into a zero-based array to begin setting unordered access views. - A set of unordered access views to bind. - A view of the render target to bind. - An array of Append/Consume buffer offsets. A value of -1 indicates the current offset should be kept. Any other values set the hidden counter for that Appendable/Consumable UAV. - ff476465 - void ID3D11DeviceContext::OMSetRenderTargetsAndUnorderedAccessViews([In] unsigned int NumRTVs,[In, Buffer, Optional] const ID3D11RenderTargetView** ppRenderTargetViews,[In, Optional] ID3D11DepthStencilView* pDepthStencilView,[In] unsigned int UAVStartSlot,[In] unsigned int NumUAVs,[In, Buffer, Optional] const ID3D11UnorderedAccessView** ppUnorderedAccessViews,[In, Buffer, Optional] const unsigned int* pUAVInitialCounts) - ID3D11DeviceContext::OMSetRenderTargetsAndUnorderedAccessViews - - - - Binds a set of unordered access views and a set of render targets to the output-merger stage. - - Index into a zero-based array to begin setting unordered access views. - A set of unordered access views to bind. - A set of render target views to bind. - An array of Append/Consume buffer offsets. A value of -1 indicates the current offset should be kept. Any other values set the hidden counter for that Appendable/Consumable UAV. - ff476465 - void ID3D11DeviceContext::OMSetRenderTargetsAndUnorderedAccessViews([In] unsigned int NumRTVs,[In, Buffer, Optional] const ID3D11RenderTargetView** ppRenderTargetViews,[In, Optional] ID3D11DepthStencilView* pDepthStencilView,[In] unsigned int UAVStartSlot,[In] unsigned int NumUAVs,[In, Buffer, Optional] const ID3D11UnorderedAccessView** ppUnorderedAccessViews,[In, Buffer, Optional] const unsigned int* pUAVInitialCounts) - ID3D11DeviceContext::OMSetRenderTargetsAndUnorderedAccessViews - - - - Binds a depth-stencil buffer, a set of unordered access views, and a single render target to the output-merger stage. - - A view of the depth-stencil buffer to bind. - Index into a zero-based array to begin setting unordered access views. - A set of unordered access views to bind. - A view of the render target to bind. - An array of Append/Consume buffer offsets. A value of -1 indicates the current offset should be kept. Any other values set the hidden counter for that Appendable/Consumable UAV. - ff476465 - void ID3D11DeviceContext::OMSetRenderTargetsAndUnorderedAccessViews([In] unsigned int NumRTVs,[In, Buffer, Optional] const ID3D11RenderTargetView** ppRenderTargetViews,[In, Optional] ID3D11DepthStencilView* pDepthStencilView,[In] unsigned int UAVStartSlot,[In] unsigned int NumUAVs,[In, Buffer, Optional] const ID3D11UnorderedAccessView** ppUnorderedAccessViews,[In, Buffer, Optional] const unsigned int* pUAVInitialCounts) - ID3D11DeviceContext::OMSetRenderTargetsAndUnorderedAccessViews - - - - Binds a depth-stencil buffer, a set of unordered access views, and a set of render targets to the output-merger stage. - - A view of the depth-stencil buffer to bind. - Index into a zero-based array to begin setting unordered access views. - A set of unordered access views to bind. - A set of render target views to bind. - An array of Append/Consume buffer offsets. A value of -1 indicates the current offset should be kept. Any other values set the hidden counter for that Appendable/Consumable UAV. - ff476465 - void ID3D11DeviceContext::OMSetRenderTargetsAndUnorderedAccessViews([In] unsigned int NumRTVs,[In, Buffer, Optional] const ID3D11RenderTargetView** ppRenderTargetViews,[In, Optional] ID3D11DepthStencilView* pDepthStencilView,[In] unsigned int UAVStartSlot,[In] unsigned int NumUAVs,[In, Buffer, Optional] const ID3D11UnorderedAccessView** ppUnorderedAccessViews,[In, Buffer, Optional] const unsigned int* pUAVInitialCounts) - ID3D11DeviceContext::OMSetRenderTargetsAndUnorderedAccessViews - - - void ID3D11DeviceContext::OMSetRenderTargets([In] unsigned int NumViews,[In, Buffer, Optional] const ID3D11RenderTargetView** ppRenderTargetViews,[In, Optional] ID3D11DepthStencilView* pDepthStencilView) - - - - Binds a depth stencil view and a render target view to the output-merger stage keeping existing unordered access views bindings. - - A view of the depth-stencil buffer to bind. - A view to a render target to bind. - ff476465 - void ID3D11DeviceContext::OMSetRenderTargetsAndUnorderedAccessViews([In] unsigned int NumRTVs,[In, Buffer, Optional] const ID3D11RenderTargetView** ppRenderTargetViews,[In, Optional] ID3D11DepthStencilView* pDepthStencilView,[In] unsigned int UAVStartSlot,[In] unsigned int NumUAVs,[In, Buffer, Optional] const ID3D11UnorderedAccessView** ppUnorderedAccessViews,[In, Buffer, Optional] const unsigned int* pUAVInitialCounts) - ID3D11DeviceContext::OMSetRenderTargetsAndUnorderedAccessViews - - - - Binds a render target view to the output-merger stage keeping existing unordered access views bindings. - - A view to a render target to bind. - ff476465 - void ID3D11DeviceContext::OMSetRenderTargetsAndUnorderedAccessViews([In] unsigned int NumRTVs,[In, Buffer, Optional] const ID3D11RenderTargetView** ppRenderTargetViews,[In, Optional] ID3D11DepthStencilView* pDepthStencilView,[In] unsigned int UAVStartSlot,[In] unsigned int NumUAVs,[In, Buffer, Optional] const ID3D11UnorderedAccessView** ppUnorderedAccessViews,[In, Buffer, Optional] const unsigned int* pUAVInitialCounts) - ID3D11DeviceContext::OMSetRenderTargetsAndUnorderedAccessViews - - - - Binds a depth stencil view and a render target view to the output-merger stage keeping existing unordered access views bindings. - - A view of the depth-stencil buffer to bind. - A set of render target views to bind. - ff476465 - void ID3D11DeviceContext::OMSetRenderTargetsAndUnorderedAccessViews([In] unsigned int NumRTVs,[In, Buffer, Optional] const ID3D11RenderTargetView** ppRenderTargetViews,[In, Optional] ID3D11DepthStencilView* pDepthStencilView,[In] unsigned int UAVStartSlot,[In] unsigned int NumUAVs,[In, Buffer, Optional] const ID3D11UnorderedAccessView** ppUnorderedAccessViews,[In, Buffer, Optional] const unsigned int* pUAVInitialCounts) - ID3D11DeviceContext::OMSetRenderTargetsAndUnorderedAccessViews - - - - Sets an array of views for an unordered resource keeping existing render targets bindings. - - - - Index of the first element in the zero-based array to begin setting. - A reference to an references to be set by the method. - ff476465 - void ID3D11DeviceContext::OMSetRenderTargetsAndUnorderedAccessViews([In] unsigned int NumRTVs,[In, Buffer, Optional] const ID3D11RenderTargetView** ppRenderTargetViews,[In, Optional] ID3D11DepthStencilView* pDepthStencilView,[In] unsigned int UAVStartSlot,[In] unsigned int NumUAVs,[In, Buffer, Optional] const ID3D11UnorderedAccessView** ppUnorderedAccessViews,[In, Buffer, Optional] const unsigned int* pUAVInitialCounts) - ID3D11DeviceContext::OMSetRenderTargetsAndUnorderedAccessViews - - - - Sets an array of views for an unordered resource keeping existing render targets bindings. - - - - Index of the first element in the zero-based array to begin setting. - A reference to an references to be set by the method. - An Append/Consume buffer offsets. A value of -1 indicates the current offset should be kept. Any other values set the hidden counter for that Appendable/Consumable UAV. uAVInitialCount is only relevant for UAVs which have the flag, otherwise the argument is ignored. - ff476465 - void ID3D11DeviceContext::OMSetRenderTargetsAndUnorderedAccessViews([In] unsigned int NumRTVs,[In, Buffer, Optional] const ID3D11RenderTargetView** ppRenderTargetViews,[In, Optional] ID3D11DepthStencilView* pDepthStencilView,[In] unsigned int UAVStartSlot,[In] unsigned int NumUAVs,[In, Buffer, Optional] const ID3D11UnorderedAccessView** ppUnorderedAccessViews,[In, Buffer, Optional] const unsigned int* pUAVInitialCounts) - ID3D11DeviceContext::OMSetRenderTargetsAndUnorderedAccessViews - - - - Sets an array of views for an unordered resource keeping existing render targets bindings. - - - - Index of the first element in the zero-based array to begin setting. - A reference to an array of references to be set by the method. - ff476465 - void ID3D11DeviceContext::OMSetRenderTargetsAndUnorderedAccessViews([In] unsigned int NumRTVs,[In, Buffer, Optional] const ID3D11RenderTargetView** ppRenderTargetViews,[In, Optional] ID3D11DepthStencilView* pDepthStencilView,[In] unsigned int UAVStartSlot,[In] unsigned int NumUAVs,[In, Buffer, Optional] const ID3D11UnorderedAccessView** ppUnorderedAccessViews,[In, Buffer, Optional] const unsigned int* pUAVInitialCounts) - ID3D11DeviceContext::OMSetRenderTargetsAndUnorderedAccessViews - - - - Sets an array of views for an unordered resource keeping existing render targets bindings. - - - - Index of the first element in the zero-based array to begin setting. - A reference to an array of references to be set by the method. - An array of Append/Consume buffer offsets. A value of -1 indicates the current offset should be kept. Any other values set the hidden counter for that Appendable/Consumable UAV. pUAVInitialCounts is only relevant for UAVs which have the flag, otherwise the argument is ignored. - ff476465 - void ID3D11DeviceContext::OMSetRenderTargetsAndUnorderedAccessViews([In] unsigned int NumRTVs,[In, Buffer, Optional] const ID3D11RenderTargetView** ppRenderTargetViews,[In, Optional] ID3D11DepthStencilView* pDepthStencilView,[In] unsigned int UAVStartSlot,[In] unsigned int NumUAVs,[In, Buffer, Optional] const ID3D11UnorderedAccessView** ppUnorderedAccessViews,[In, Buffer, Optional] const unsigned int* pUAVInitialCounts) - ID3D11DeviceContext::OMSetRenderTargetsAndUnorderedAccessViews - - - -

Binds resources to the output-merger stage.

-
-

Number of render-target views (ppRenderTargetViews) and depth-stencil view (ppDepthStencilView) to bind. If you set NumViews to D3D11_KEEP_RENDER_TARGETS_AND_DEPTH_STENCIL (0xffffffff), this method does not modify the currently bound render-target views (RTVs) and also does not modify depth-stencil view (DSV).

-

Pointer to an array of s, which represent render-target views. Specify null to set none.

-

Pointer to a , which represents a depth-stencil view. Specify null to set none.

-

Index into a zero-based array to begin setting unordered-access views (ranges from 0 to - 1).

For the Direct3D 11.1 runtime, which is available starting with Windows Developer Preview, this value can range from 0 to D3D11_1_UAV_SLOT_COUNT - 1. D3D11_1_UAV_SLOT_COUNT is defined as 64.

For pixel shaders, UAVStartSlot should be equal to the number of render-target views being bound.

-

Number of unordered-access views (UAVs) in ppUnorderedAccessView. If you set NumUAVs to D3D11_KEEP_UNORDERED_ACCESS_VIEWS (0xffffffff), this method does not modify the currently bound unordered-access views.

For the Direct3D 11.1 runtime, which is available starting with Windows Developer Preview, this value can range from 0 to D3D11_1_UAV_SLOT_COUNT - UAVStartSlot.

-

Pointer to an array of s, which represent unordered-access views.

-

An array of append and consume buffer offsets. A value of -1 indicates to keep the current offset. Any other values set the hidden counter for that appendable and consumable UAV. pUAVInitialCounts is relevant only for UAVs that were created with either or specified when the UAV was created; otherwise, the argument is ignored.

- -

For pixel shaders, the render targets and unordered-access views share the same resource slots when being written out. This means that UAVs must be given an offset so that they are placed in the slots after the render target views that are being bound.

Note??RTVs, DSV, and UAVs cannot be set independently; they all need to be set at the same time.

Two RTVs conflict if they share a subresource (and therefore share the same resource).

Two UAVs conflict if they share a subresource (and therefore share the same resource).

An RTV conflicts with a UAV if they share a subresource or share a bind point.

OMSetRenderTargetsAndUnorderedAccessViews operates properly in the following situations:

  1. NumViews != D3D11_KEEP_RENDER_TARGETS_AND_DEPTH_STENCIL and NumUAVs != D3D11_KEEP_UNORDERED_ACCESS_VIEWS

    The following conditions must be true for OMSetRenderTargetsAndUnorderedAccessViews to succeed and for the runtime to pass the bind information to the driver:

    • NumViews <= 8
    • UAVStartSlot >= NumViews
    • UAVStartSlot + NumUAVs <= 8
    • There must be no conflicts in the set of all ppRenderTargetViews and ppUnorderedAccessView.
    • ppDepthStencilView must match the render-target views. For more information about resource views, see Introduction to a Resource in Direct3D 11.

    OMSetRenderTargetsAndUnorderedAccessViews performs the following tasks:

    • Unbinds all currently bound conflicting resources (stream-output target resources (SOTargets), compute shader (CS) UAVs, shader-resource views (SRVs)).
    • Binds ppRenderTargetViews, ppDepthStencilView, and ppUnorderedAccessView.
  2. NumViews == D3D11_KEEP_RENDER_TARGETS_AND_DEPTH_STENCIL

    In this situation, OMSetRenderTargetsAndUnorderedAccessViews binds only UAVs.

    The following conditions must be true for OMSetRenderTargetsAndUnorderedAccessViews to succeed and for the runtime to pass the bind information to the driver:

    • UAVStartSlot + NumUAVs <= 8
    • There must be no conflicts in ppUnorderedAccessView.

    OMSetRenderTargetsAndUnorderedAccessViews unbinds the following items:

    • All RTVs in slots >= UAVStartSlot
    • All RTVs that conflict with any UAVs in ppUnorderedAccessView
    • All currently bound resources (SOTargets, CS UAVs, SRVs) that conflict with ppUnorderedAccessView

    OMSetRenderTargetsAndUnorderedAccessViews binds ppUnorderedAccessView.

    OMSetRenderTargetsAndUnorderedAccessViews ignores ppDepthStencilView, and the current depth-stencil view remains bound.

  3. NumUAVs == D3D11_KEEP_UNORDERED_ACCESS_VIEWS

    In this situation, OMSetRenderTargetsAndUnorderedAccessViews binds only RTVs and DSV.

    The following conditions must be true for OMSetRenderTargetsAndUnorderedAccessViews to succeed and for the runtime to pass the bind information to the driver:

    • NumViews <= 8
    • There must be no conflicts in ppRenderTargetViews.
    • ppDepthStencilView must match the render-target views. For more information about resource views, see Introduction to a Resource in Direct3D 11.

    OMSetRenderTargetsAndUnorderedAccessViews unbinds the following items:

    • All UAVs in slots < NumViews
    • All UAVs that conflict with any RTVs in ppRenderTargetViews
    • All currently bound resources (SOTargets, CS UAVs, SRVs) that conflict with ppRenderTargetViews

    OMSetRenderTargetsAndUnorderedAccessViews binds ppRenderTargetViews and ppDepthStencilView.

    OMSetRenderTargetsAndUnorderedAccessViews ignores UAVStartSlot.

-
- ff476465 - void ID3D11DeviceContext::OMSetRenderTargetsAndUnorderedAccessViews([In] unsigned int NumRTVs,[In, Buffer, Optional] const ID3D11RenderTargetView** ppRenderTargetViews,[In, Optional] ID3D11DepthStencilView* pDepthStencilView,[In] unsigned int UAVStartSlot,[In] unsigned int NumUAVs,[In, Buffer, Optional] const ID3D11UnorderedAccessView** ppUnorderedAccessViews,[In, Buffer, Optional] const unsigned int* pUAVInitialCounts) - ID3D11DeviceContext::OMSetRenderTargetsAndUnorderedAccessViews -
- - -

Binds resources to the output-merger stage.

-
-

Number of render-target views (ppRenderTargetViews) and depth-stencil view (ppDepthStencilView) to bind. If you set NumViews to D3D11_KEEP_RENDER_TARGETS_AND_DEPTH_STENCIL (0xffffffff), this method does not modify the currently bound render-target views (RTVs) and also does not modify depth-stencil view (DSV).

-

Pointer to an array of s, which represent render-target views. Specify null to set none.

-

Pointer to a , which represents a depth-stencil view. Specify null to set none.

-

Index into a zero-based array to begin setting unordered-access views (ranges from 0 to - 1).

For the Direct3D 11.1 runtime, which is available starting with Windows Developer Preview, this value can range from 0 to D3D11_1_UAV_SLOT_COUNT - 1. D3D11_1_UAV_SLOT_COUNT is defined as 64.

For pixel shaders, UAVStartSlot should be equal to the number of render-target views being bound.

-

Number of unordered-access views (UAVs) in ppUnorderedAccessView. If you set NumUAVs to D3D11_KEEP_UNORDERED_ACCESS_VIEWS (0xffffffff), this method does not modify the currently bound unordered-access views.

For the Direct3D 11.1 runtime, which is available starting with Windows Developer Preview, this value can range from 0 to D3D11_1_UAV_SLOT_COUNT - UAVStartSlot.

-

Pointer to an array of s, which represent unordered-access views.

-

An array of append and consume buffer offsets. A value of -1 indicates to keep the current offset. Any other values set the hidden counter for that appendable and consumable UAV. pUAVInitialCounts is relevant only for UAVs that were created with either or specified when the UAV was created; otherwise, the argument is ignored.

- -

For pixel shaders, the render targets and unordered-access views share the same resource slots when being written out. This means that UAVs must be given an offset so that they are placed in the slots after the render target views that are being bound.

Note??RTVs, DSV, and UAVs cannot be set independently; they all need to be set at the same time.

Two RTVs conflict if they share a subresource (and therefore share the same resource).

Two UAVs conflict if they share a subresource (and therefore share the same resource).

An RTV conflicts with a UAV if they share a subresource or share a bind point.

OMSetRenderTargetsAndUnorderedAccessViews operates properly in the following situations:

  1. NumViews != D3D11_KEEP_RENDER_TARGETS_AND_DEPTH_STENCIL and NumUAVs != D3D11_KEEP_UNORDERED_ACCESS_VIEWS

    The following conditions must be true for OMSetRenderTargetsAndUnorderedAccessViews to succeed and for the runtime to pass the bind information to the driver:

    • NumViews <= 8
    • UAVStartSlot >= NumViews
    • UAVStartSlot + NumUAVs <= 8
    • There must be no conflicts in the set of all ppRenderTargetViews and ppUnorderedAccessView.
    • ppDepthStencilView must match the render-target views. For more information about resource views, see Introduction to a Resource in Direct3D 11.

    OMSetRenderTargetsAndUnorderedAccessViews performs the following tasks:

    • Unbinds all currently bound conflicting resources (stream-output target resources (SOTargets), compute shader (CS) UAVs, shader-resource views (SRVs)).
    • Binds ppRenderTargetViews, ppDepthStencilView, and ppUnorderedAccessView.
  2. NumViews == D3D11_KEEP_RENDER_TARGETS_AND_DEPTH_STENCIL

    In this situation, OMSetRenderTargetsAndUnorderedAccessViews binds only UAVs.

    The following conditions must be true for OMSetRenderTargetsAndUnorderedAccessViews to succeed and for the runtime to pass the bind information to the driver:

    • UAVStartSlot + NumUAVs <= 8
    • There must be no conflicts in ppUnorderedAccessView.

    OMSetRenderTargetsAndUnorderedAccessViews unbinds the following items:

    • All RTVs in slots >= UAVStartSlot
    • All RTVs that conflict with any UAVs in ppUnorderedAccessView
    • All currently bound resources (SOTargets, CS UAVs, SRVs) that conflict with ppUnorderedAccessView

    OMSetRenderTargetsAndUnorderedAccessViews binds ppUnorderedAccessView.

    OMSetRenderTargetsAndUnorderedAccessViews ignores ppDepthStencilView, and the current depth-stencil view remains bound.

  3. NumUAVs == D3D11_KEEP_UNORDERED_ACCESS_VIEWS

    In this situation, OMSetRenderTargetsAndUnorderedAccessViews binds only RTVs and DSV.

    The following conditions must be true for OMSetRenderTargetsAndUnorderedAccessViews to succeed and for the runtime to pass the bind information to the driver:

    • NumViews <= 8
    • There must be no conflicts in ppRenderTargetViews.
    • ppDepthStencilView must match the render-target views. For more information about resource views, see Introduction to a Resource in Direct3D 11.

    OMSetRenderTargetsAndUnorderedAccessViews unbinds the following items:

    • All UAVs in slots < NumViews
    • All UAVs that conflict with any RTVs in ppRenderTargetViews
    • All currently bound resources (SOTargets, CS UAVs, SRVs) that conflict with ppRenderTargetViews

    OMSetRenderTargetsAndUnorderedAccessViews binds ppRenderTargetViews and ppDepthStencilView.

    OMSetRenderTargetsAndUnorderedAccessViews ignores UAVStartSlot.

-
- ff476465 - void ID3D11DeviceContext::OMSetRenderTargetsAndUnorderedAccessViews([In] unsigned int NumRTVs,[In, Buffer, Optional] const ID3D11RenderTargetView** ppRenderTargetViews,[In, Optional] ID3D11DepthStencilView* pDepthStencilView,[In] unsigned int UAVStartSlot,[In] unsigned int NumUAVs,[In, Buffer, Optional] const ID3D11UnorderedAccessView** ppUnorderedAccessViews,[In, Buffer, Optional] const unsigned int* pUAVInitialCounts) - ID3D11DeviceContext::OMSetRenderTargetsAndUnorderedAccessViews -
- - - Set the blend state of the output-merger stage. - - Pointer to a blend-state interface (see ). Passing in null implies a default blend state. See remarks for further details. - Array of blend factors, one for each RGBA component. This requires a blend state object that specifies the option. - 32-bit sample coverage. The default value is 0xffffffff. See remarks. - - Blend state is used by the output-merger stage to determine how to blend together two pixel values. The two values are commonly the current pixel value and the pixel value already in the output render target. Use the blend operation to control where the two pixel values come from and how they are mathematically combined.To create a blend-state interface, call .Passing in null for the blend-state interface indicates to the runtime to set a default blending state. The following table indicates the default blending parameters.StateDefault Value AlphaToCoverageEnableFALSE BlendEnableFALSE[8] SrcBlendD3D11_BLEND_ONE DstBlendD3D11_BLEND_ZERO BlendOpD3D11_BLEND_OP_ADD SrcBlendAlphaD3D11_BLEND_ONE DstBlendAlphaD3D11_BLEND_ZERO BlendOpAlphaD3D11_BLEND_OP_ADD RenderTargetWriteMask[8][8]?A sample mask determines which samples get updated in all the active render targets. The mapping of bits in a sample mask to samples in a multisample render target is the responsibility of an individual application. A sample mask is always applied; it is independent of whether multisampling is enabled, and does not depend on whether an application uses multisample render targets.The method will hold a reference to the interfaces passed in. This differs from the device state behavior in Direct3D 10. - - void ID3D11DeviceContext::OMSetBlendState([In, Optional] ID3D11BlendState* pBlendState,[In, Optional] const SHARPDX_COLOR4* BlendFactor,[In] unsigned int SampleMask) - - - - Gets or sets the blend factor. - - The blend factor. - - - - Gets or sets the blend sample mask. - - The blend sample mask. - - - - Gets or sets the state of the blend. - - The state of the blend. - - - - Gets or sets the depth stencil reference. - - The depth stencil reference. - - - - Gets or sets the state of the depth stencil. - - The state of the depth stencil. - - - - Initializes a new instance of the 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 SimultaneousRenderTargetCount. - D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT - - - -

Bind one or more render targets atomically and the depth-stencil buffer to the output-merger stage.

-
- No documentation. - No documentation. - No documentation. - -

The maximum number of active render targets a device can have active at any given time is set by a #define in D3D11.h called . It is invalid to try to set the same subresource to multiple render target slots. Any render targets not defined by this call are set to null.

If any subresources are also currently bound for reading in a different stage or writing (perhaps in a different part of the pipeline), those bind points will be set to null, in order to prevent the same subresource from being read and written simultaneously in a single rendering operation.

The method will hold a reference to the interfaces passed in. This differs from the device state behavior in Direct3D 10.

If the render-target views were created from an array resource type, all of the render-target views must have the same array size. This restriction also applies to the depth-stencil view, its array size must match that of the render-target views being bound.

The pixel shader must be able to simultaneously render to at least eight separate render targets. All of these render targets must access the same type of resource: Buffer, Texture1D, Texture1DArray, Texture2D, Texture2DArray, Texture3D, or TextureCube. All render targets must have the same size in all dimensions (width and height, and depth for 3D or array size for *Array types). If render targets use multisample anti-aliasing, all bound render targets and depth buffer must be the same form of multisample resource (that is, the sample counts must be the same). Each render target can have a different data format. These render target formats are not required to have identical bit-per-element counts.

Any combination of the eight slots for render targets can have a render target set or not set.

The same resource view cannot be bound to multiple render target slots simultaneously. However, you can set multiple non-overlapping resource views of a single resource as simultaneous multiple render targets.

-
- - ff476464 - void ID3D11DeviceContext::OMSetRenderTargets([In] unsigned int NumViews,[In] const void** ppRenderTargetViews,[In, Optional] ID3D11DepthStencilView* pDepthStencilView) - ID3D11DeviceContext::OMSetRenderTargets -
- - -

Binds resources to the output-merger stage.

-
-

Number of render targets to bind (ranges between 0 and ). If this parameter is nonzero, the number of entries in the array to which ppRenderTargetViews points must equal the number in this parameter. If you set NumRTVs to D3D11_KEEP_RENDER_TARGETS_AND_DEPTH_STENCIL (0xffffffff), this method does not modify the currently bound render-target views (RTVs) and also does not modify depth-stencil view (DSV).

-

Pointer to an array of s that represent the render targets to bind to the device. If this parameter is null and NumRTVs is 0, no render targets are bound.

-

Pointer to a that represents the depth-stencil view to bind to the device. If this parameter is null, the depth-stencil state is not bound.

-

Index into a zero-based array to begin setting unordered-access views (ranges from 0 to - 1).

For the Direct3D 11.1 runtime, which is available starting with Windows?8, this value can range from 0 to D3D11_1_UAV_SLOT_COUNT - 1. D3D11_1_UAV_SLOT_COUNT is defined as 64.

For pixel shaders, UAVStartSlot should be equal to the number of render-target views being bound.

-

Number of unordered-access views (UAVs) in ppUnorderedAccessViews. If you set NumUAVs to D3D11_KEEP_UNORDERED_ACCESS_VIEWS (0xffffffff), this method does not modify the currently bound unordered-access views.

For the Direct3D 11.1 runtime, which is available starting with Windows?8, this value can range from 0 to D3D11_1_UAV_SLOT_COUNT - UAVStartSlot.

-

Pointer to an array of s that represent the unordered-access views to bind to the device. If this parameter is null and NumUAVs is 0, no unordered-access views are bound.

-

An array of append and consume buffer offsets. A value of -1 indicates to keep the current offset. Any other values set the hidden counter for that appendable and consumable UAV. pUAVInitialCounts is relevant only for UAVs that were created with either or specified when the UAV was created; otherwise, the argument is ignored.

- -

For pixel shaders, the render targets and unordered-access views share the same resource slots when being written out. This means that UAVs must be given an offset so that they are placed in the slots after the render target views that are being bound.

Note??RTVs, DSV, and UAVs cannot be set independently; they all need to be set at the same time.?

Two RTVs conflict if they share a subresource (and therefore share the same resource).

Two UAVs conflict if they share a subresource (and therefore share the same resource).

An RTV conflicts with a UAV if they share a subresource or share a bind point.

OMSetRenderTargetsAndUnorderedAccessViews operates properly in the following situations:

  1. NumRTVs != D3D11_KEEP_RENDER_TARGETS_AND_DEPTH_STENCIL and NumUAVs != D3D11_KEEP_UNORDERED_ACCESS_VIEWS

    The following conditions must be true for OMSetRenderTargetsAndUnorderedAccessViews to succeed and for the runtime to pass the bind information to the driver:

    • NumRTVs <= 8
    • UAVStartSlot >= NumRTVs
    • UAVStartSlot + NumUAVs <= 8
    • There must be no conflicts in the set of all ppRenderTargetViews and ppUnorderedAccessViews.
    • ppDepthStencilView must match the render-target views. For more information about resource views, see Introduction to a Resource in Direct3D 11.

    OMSetRenderTargetsAndUnorderedAccessViews performs the following tasks:

    • Unbinds all currently bound conflicting resources (stream-output target resources (SOTargets), compute shader (CS) UAVs, shader-resource views (SRVs)).
    • Binds ppRenderTargetViews, ppDepthStencilView, and ppUnorderedAccessViews.
  2. NumRTVs == D3D11_KEEP_RENDER_TARGETS_AND_DEPTH_STENCIL

    In this situation, OMSetRenderTargetsAndUnorderedAccessViews binds only UAVs.

    The following conditions must be true for OMSetRenderTargetsAndUnorderedAccessViews to succeed and for the runtime to pass the bind information to the driver:

    • UAVStartSlot + NumUAVs <= 8
    • There must be no conflicts in ppUnorderedAccessViews.

    OMSetRenderTargetsAndUnorderedAccessViews unbinds the following items:

    • All RTVs in slots >= UAVStartSlot
    • All RTVs that conflict with any UAVs in ppUnorderedAccessViews
    • All currently bound resources (SOTargets, CS UAVs, SRVs) that conflict with ppUnorderedAccessViews

    OMSetRenderTargetsAndUnorderedAccessViews binds ppUnorderedAccessViews.

    OMSetRenderTargetsAndUnorderedAccessViews ignores ppDepthStencilView, and the current depth-stencil view remains bound.

  3. NumUAVs == D3D11_KEEP_UNORDERED_ACCESS_VIEWS

    In this situation, OMSetRenderTargetsAndUnorderedAccessViews binds only RTVs and DSV.

    The following conditions must be true for OMSetRenderTargetsAndUnorderedAccessViews to succeed and for the runtime to pass the bind information to the driver:

    • NumRTVs <= 8
    • There must be no conflicts in ppRenderTargetViews.
    • ppDepthStencilView must match the render-target views. For more information about resource views, see Introduction to a Resource in Direct3D 11.

    OMSetRenderTargetsAndUnorderedAccessViews unbinds the following items:

    • All UAVs in slots < NumRTVs
    • All UAVs that conflict with any RTVs in ppRenderTargetViews
    • All currently bound resources (SOTargets, CS UAVs, SRVs) that conflict with ppRenderTargetViews

    OMSetRenderTargetsAndUnorderedAccessViews binds ppRenderTargetViews and ppDepthStencilView.

    OMSetRenderTargetsAndUnorderedAccessViews ignores UAVStartSlot.

Windows?Phone?8: This API is supported.

-
- - ff476465 - void ID3D11DeviceContext::OMSetRenderTargetsAndUnorderedAccessViews([In] unsigned int NumRTVs,[In, Buffer, Optional] const void** ppRenderTargetViews,[In, Optional] ID3D11DepthStencilView* pDepthStencilView,[In] unsigned int UAVStartSlot,[In] unsigned int NumUAVs,[In, Buffer, Optional] const void** ppUnorderedAccessViews,[In, Buffer, Optional] const void* pUAVInitialCounts) - ID3D11DeviceContext::OMSetRenderTargetsAndUnorderedAccessViews -
- - -

Set the blend state of the output-merger stage.

-
-

Pointer to a blend-state interface (see ). Pass null for a default blend state. For more info about default blend state, see Remarks.

-

Array of blend factors, one for each RGBA component. The blend factors modulate values for the pixel shader, render target, or both. If you created the blend-state object with or , the blending stage uses the non-null array of blend factors. If you didn't create the blend-state object with or , the blending stage does not use the non-null array of blend factors; the runtime stores the blend factors, and you can later call to retrieve the blend factors. If you pass null, the runtime uses or stores a blend factor equal to { 1, 1, 1, 1 }.

-

32-bit sample coverage. The default value is 0xffffffff. See remarks.

- -

Blend state is used by the output-merger stage to determine how to blend together two RGB pixel values and two alpha values. The two RGB pixel values and two alpha values are the RGB pixel value and alpha value that the pixel shader outputs and the RGB pixel value and alpha value already in the output render target. The blend option controls the data source that the blending stage uses to modulate values for the pixel shader, render target, or both. The blend operation controls how the blending stage mathematically combines these modulated values.

To create a blend-state interface, call .

Passing in null for the blend-state interface indicates to the runtime to set a default blending state. The following table indicates the default blending parameters.

StateDefault Value
AlphaToCoverageEnable
IndependentBlendEnable
RenderTarget[0].BlendEnable
RenderTarget[0].SrcBlend
RenderTarget[0].DestBlend
RenderTarget[0].BlendOp
RenderTarget[0].SrcBlendAlpha
RenderTarget[0].DestBlendAlpha
RenderTarget[0].BlendOpAlpha
RenderTarget[0].RenderTargetWriteMask

?

A sample mask determines which samples get updated in all the active render targets. The mapping of bits in a sample mask to samples in a multisample render target is the responsibility of an individual application. A sample mask is always applied; it is independent of whether multisampling is enabled, and does not depend on whether an application uses multisample render targets.

The method will hold a reference to the interfaces passed in. This differs from the device state behavior in Direct3D 10.

-
- - ff476462 - void ID3D11DeviceContext::OMSetBlendState([In, Optional] ID3D11BlendState* pBlendState,[In, Optional] const SHARPDX_COLOR4* BlendFactor,[In] unsigned int SampleMask) - ID3D11DeviceContext::OMSetBlendState -
- - -

Sets the depth-stencil state of the output-merger stage.

-
-

Pointer to a depth-stencil state interface (see ) to bind to the device. Set this to null to use the default state listed in .

-

Reference value to perform against when doing a depth-stencil test. See remarks.

- -

To create a depth-stencil state interface, call .

The method will hold a reference to the interfaces passed in. This differs from the device state behavior in Direct3D 10.

-
- - ff476463 - void ID3D11DeviceContext::OMSetDepthStencilState([In, Optional] ID3D11DepthStencilState* pDepthStencilState,[In] unsigned int StencilRef) - ID3D11DeviceContext::OMSetDepthStencilState -
- - -

Get references to the resources bound to the output-merger stage.

-
-

Number of render targets to retrieve.

-

Pointer to an array of s which represent render target views. Specify null for this parameter when retrieval of a render target is not needed.

-

Pointer to a , which represents a depth-stencil view. Specify null for this parameter when retrieval of the depth-stencil view is not needed.

- -

Any returned interfaces will have their reference count incremented by one. Applications should call IUnknown::Release on the returned interfaces when they are no longer needed to avoid memory leaks.

-
- - ff476460 - void ID3D11DeviceContext::OMGetRenderTargets([In] unsigned int NumViews,[Out, Buffer, Optional] ID3D11RenderTargetView** ppRenderTargetViews,[Out, Optional] ID3D11DepthStencilView** ppDepthStencilView) - ID3D11DeviceContext::OMGetRenderTargets -
- - -

Get references to the resources bound to the output-merger stage.

-
-

The number of render-target views to retrieve.

-

Pointer to an array of s, which represent render-target views. Specify null for this parameter when retrieval of render-target views is not required.

-

Pointer to a , which represents a depth-stencil view. Specify null for this parameter when retrieval of the depth-stencil view is not required.

-

Index into a zero-based array to begin retrieving unordered-access views (ranges from 0 to - 1). For pixel shaders UAVStartSlot should be equal to the number of render-target views that are bound.

-

Number of unordered-access views to return in ppUnorderedAccessViews. This number ranges from 0 to - UAVStartSlot.

-

Pointer to an array of s, which represent unordered-access views that are retrieved. Specify null for this parameter when retrieval of unordered-access views is not required.

- -

Any returned interfaces will have their reference count incremented by one. Applications should call IUnknown::Release on the returned interfaces when they are no longer needed to avoid memory leaks.

Windows?Phone?8: This API is supported.

-
- - ff476461 - void ID3D11DeviceContext::OMGetRenderTargetsAndUnorderedAccessViews([In] unsigned int NumRTVs,[Out, Buffer, Optional] ID3D11RenderTargetView** ppRenderTargetViews,[Out, Optional] ID3D11DepthStencilView** ppDepthStencilView,[In] unsigned int UAVStartSlot,[In] unsigned int NumUAVs,[Out, Buffer, Optional] ID3D11UnorderedAccessView** ppUnorderedAccessViews) - ID3D11DeviceContext::OMGetRenderTargetsAndUnorderedAccessViews -
- - -

Set the blend state of the output-merger stage.

-
-

Pointer to a blend-state interface (see ). Pass null for a default blend state. For more info about default blend state, see Remarks.

-

Array of blend factors, one for each RGBA component. The blend factors modulate values for the pixel shader, render target, or both. If you created the blend-state object with or , the blending stage uses the non-null array of blend factors. If you didn't create the blend-state object with or , the blending stage does not use the non-null array of blend factors; the runtime stores the blend factors, and you can later call to retrieve the blend factors. If you pass null, the runtime uses or stores a blend factor equal to { 1, 1, 1, 1 }.

-

32-bit sample coverage. The default value is 0xffffffff. See remarks.

- -

Blend state is used by the output-merger stage to determine how to blend together two RGB pixel values and two alpha values. The two RGB pixel values and two alpha values are the RGB pixel value and alpha value that the pixel shader outputs and the RGB pixel value and alpha value already in the output render target. The blend option controls the data source that the blending stage uses to modulate values for the pixel shader, render target, or both. The blend operation controls how the blending stage mathematically combines these modulated values.

To create a blend-state interface, call .

Passing in null for the blend-state interface indicates to the runtime to set a default blending state. The following table indicates the default blending parameters.

StateDefault Value
AlphaToCoverageEnable
IndependentBlendEnable
RenderTarget[0].BlendEnable
RenderTarget[0].SrcBlend
RenderTarget[0].DestBlend
RenderTarget[0].BlendOp
RenderTarget[0].SrcBlendAlpha
RenderTarget[0].DestBlendAlpha
RenderTarget[0].BlendOpAlpha
RenderTarget[0].RenderTargetWriteMask

?

A sample mask determines which samples get updated in all the active render targets. The mapping of bits in a sample mask to samples in a multisample render target is the responsibility of an individual application. A sample mask is always applied; it is independent of whether multisampling is enabled, and does not depend on whether an application uses multisample render targets.

The method will hold a reference to the interfaces passed in. This differs from the device state behavior in Direct3D 10.

-
- - ff476462 - void ID3D11DeviceContext::OMGetBlendState([Out, Optional] ID3D11BlendState** ppBlendState,[Out, Optional] SHARPDX_COLOR4* BlendFactor,[Out, Optional] unsigned int* pSampleMask) - ID3D11DeviceContext::OMGetBlendState -
- - -

Gets the depth-stencil state of the output-merger stage.

-
-

Address of a reference to a depth-stencil state interface (see ) to be filled with information from the device.

-

Pointer to the stencil reference value used in the depth-stencil test.

- -

Any returned interfaces will have their reference count incremented by one. Applications should call IUnknown::Release on the returned interfaces when they are no longer needed to avoid memory leaks.

Windows?Phone?8: This API is supported.

-
- - ff476459 - void ID3D11DeviceContext::OMGetDepthStencilState([Out, Optional] ID3D11DepthStencilState** ppDepthStencilState,[Out, Optional] unsigned int* pStencilRef) - ID3D11DeviceContext::OMGetDepthStencilState -
- - -

The interface represents a device context which generates rendering commands.

-
- - ff476385 - ID3D11DeviceContext - ID3D11DeviceContext -
- - - Get the array of {{viewports}} bound to the {{rasterizer stage}} - - An array of viewports (see ). - void RSGetViewports([InOut] int* NumViewports,[Out, Buffer, Optional] D3D10_VIEWPORT* pViewports) - ff476477 - void ID3D11DeviceContext::RSGetViewports([InOut] unsigned int* pNumViewports,[Out, Buffer, Optional] D3D11_VIEWPORT* pViewports) - ID3D11DeviceContext::RSGetViewports - - - - Get the array of {{viewports}} bound to the {{rasterizer stage}} - - An array of viewports (see ). - void RSGetViewports([InOut] int* NumViewports,[Out, Buffer, Optional] D3D10_VIEWPORT* pViewports) - ff476477 - void ID3D11DeviceContext::RSGetViewports([InOut] unsigned int* pNumViewports,[Out, Buffer, Optional] D3D11_VIEWPORT* pViewports) - ID3D11DeviceContext::RSGetViewports - - - - Get the array of {{scissor rectangles}} bound to the {{rasterizer stage}}. - - An array of scissor rectangles (see ). - void RSGetScissorRects([InOut] int* NumRects,[Out, Buffer, Optional] D3D10_RECT* pRects) - ff476475 - void ID3D11DeviceContext::RSGetScissorRects([InOut] unsigned int* pNumRects,[Out, Buffer, Optional] RECT* pRects) - ID3D11DeviceContext::RSGetScissorRects - - - - Get the array of {{scissor rectangles}} bound to the {{rasterizer stage}}. - - An array of scissor rectangles (see ). - void RSGetScissorRects([InOut] int* NumRects,[Out, Buffer, Optional] D3D10_RECT* pRects) - ff476475 - void ID3D11DeviceContext::RSGetScissorRects([InOut] unsigned int* pNumRects,[Out, Buffer, Optional] RECT* pRects) - ID3D11DeviceContext::RSGetScissorRects - - - - Binds a single scissor rectangle to the rasterizer stage. - - The left. - The top. - The right. - The bottom. - -

All scissor rects must be set atomically as one operation. Any scissor rects not defined by the call are disabled.

The scissor rectangles will only be used if ScissorEnable is set to true in the rasterizer state (see ).

Which scissor rectangle to use is determined by the SV_ViewportArrayIndex semantic output by a geometry shader (see shader semantic syntax). If a geometry shader does not make use of the SV_ViewportArrayIndex semantic then Direct3D will use the first scissor rectangle in the array.

Each scissor rectangle in the array corresponds to a viewport in an array of viewports (see ).

-
- ff476478 - void ID3D11DeviceContext::RSSetScissorRects([In] unsigned int NumRects,[In, Buffer, Optional] const void* pRects) - ID3D11DeviceContext::RSSetScissorRects -
- - - Binds a set of scissor rectangles to the rasterizer stage. - - The set of scissor rectangles to bind. - -

All scissor rects must be set atomically as one operation. Any scissor rects not defined by the call are disabled.

The scissor rectangles will only be used if ScissorEnable is set to true in the rasterizer state (see ).

Which scissor rectangle to use is determined by the SV_ViewportArrayIndex semantic output by a geometry shader (see shader semantic syntax). If a geometry shader does not make use of the SV_ViewportArrayIndex semantic then Direct3D will use the first scissor rectangle in the array.

Each scissor rectangle in the array corresponds to a viewport in an array of viewports (see ).

-
- ff476478 - void ID3D11DeviceContext::RSSetScissorRects([In] unsigned int NumRects,[In, Buffer, Optional] const void* pRects) - ID3D11DeviceContext::RSSetScissorRects -
- - - Binds a single viewport to the rasterizer stage. - - The x coordinate of the viewport. - The y coordinate of the viewport. - The width. - The height. - The min Z. - The max Z. - -

All viewports must be set atomically as one operation. Any viewports not defined by the call are disabled.

Which viewport to use is determined by the SV_ViewportArrayIndex semantic output by a geometry shader; if a geometry shader does not specify the semantic, Direct3D will use the first viewport in the array.

-
- ff476480 - void ID3D11DeviceContext::RSSetViewports([In] unsigned int NumViewports,[In, Buffer, Optional] const void* pViewports) - ID3D11DeviceContext::RSSetViewports -
- - - Binds a single viewport to the rasterizer stage. - - The viewport. - -

All viewports must be set atomically as one operation. Any viewports not defined by the call are disabled.

Which viewport to use is determined by the SV_ViewportArrayIndex semantic output by a geometry shader; if a geometry shader does not specify the semantic, Direct3D will use the first viewport in the array.

-
- ff476480 - void ID3D11DeviceContext::RSSetViewports([In] unsigned int NumViewports,[In, Buffer, Optional] const void* pViewports) - ID3D11DeviceContext::RSSetViewports -
- - - Binds a set of viewports to the rasterizer stage. - - The set of viewports to bind. - The number of viewport to set. - ff476480 - void ID3D11DeviceContext::RSSetViewports([In] unsigned int NumViewports,[In, Buffer, Optional] const void* pViewports) - ID3D11DeviceContext::RSSetViewports -

All viewports must be set atomically as one operation. Any viewports not defined by the call are disabled.

Which viewport to use is determined by the SV_ViewportArrayIndex semantic output by a geometry shader; if a geometry shader does not specify the semantic, Direct3D will use the first viewport in the array.

-
- - - Binds a set of viewports to the rasterizer stage. - - The set of viewports to bind. - The number of viewport to set. - ff476480 - void ID3D11DeviceContext::RSSetViewports([In] unsigned int NumViewports,[In, Buffer, Optional] const void* pViewports) - ID3D11DeviceContext::RSSetViewports -

All viewports must be set atomically as one operation. Any viewports not defined by the call are disabled.

Which viewport to use is determined by the SV_ViewportArrayIndex semantic output by a geometry shader; if a geometry shader does not specify the semantic, Direct3D will use the first viewport in the array.

-
- - - Initializes a new instance of the 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 or sets a reference to the data contained in a subresource, and denies the GPU access to that subresource.

-
- -

If you call Map on a deferred context, you can only pass , , or both to the MapType parameter. Other -typed values are not supported for a deferred context.

Note?? The Direct3D 11.1 runtime, which is available starting with Windows?8, enables mapping dynamic constant buffers and shader resource views (SRVs) of dynamic buffers with . The Direct3D 11 and earlier runtimes limited mapping to vertex or index buffers. To determine if a Direct3D device supports these features, call with . CheckFeatureSupport fills members of a structure with the device's features. The relevant members here are MapNoOverwriteOnDynamicConstantBuffer and MapNoOverwriteOnDynamicBufferSRV.?

For info about how to use Map, see How to: Use dynamic resources.

-
- - ff476457 - RSGetState / RSSetState - RSGetState - void ID3D11DeviceContext::RSGetState([Out, Optional] ID3D11RasterizerState** ppRasterizerState) -
- - -

Set the rasterizer state for the rasterizer stage of the pipeline.

-
- No documentation. - -

To create a rasterizer state interface, call .

The method will hold a reference to the interfaces passed in. This differs from the device state behavior in Direct3D 10.

-
- - ff476479 - void ID3D11DeviceContext::RSSetState([In, Optional] ID3D11RasterizerState* pRasterizerState) - ID3D11DeviceContext::RSSetState -
- - -

Bind an array of viewports to the rasterizer stage of the pipeline.

-
-

Number of viewports to bind.

-

An array of structures to bind to the device. See the structure page for details about how the viewport size is dependent on the device feature level which has changed between Direct3D 11 and Direct3D 10.

- -

All viewports must be set atomically as one operation. Any viewports not defined by the call are disabled.

Which viewport to use is determined by the SV_ViewportArrayIndex semantic output by a geometry shader; if a geometry shader does not specify the semantic, Direct3D will use the first viewport in the array.

Note??Even though you specify float values to the members of the structure for the pViewports array in a call to for feature levels 9_x, RSSetViewports uses DWORDs internally. Because of this behavior, when you use a negative top left corner for the viewport, the call to RSSetViewports for feature levels 9_x fails. This failure occurs because RSSetViewports for 9_x casts the floating point values into unsigned integers without validation, which results in integer overflow.? -
- - ff476480 - void ID3D11DeviceContext::RSSetViewports([In] unsigned int NumViewports,[In, Buffer, Optional] const void* pViewports) - ID3D11DeviceContext::RSSetViewports -
- - -

Bind an array of scissor rectangles to the rasterizer stage.

-
-

Number of scissor rectangles to bind.

-

An array of scissor rectangles (see D3D11_RECT).

- -

All scissor rects must be set atomically as one operation. Any scissor rects not defined by the call are disabled.

The scissor rectangles will only be used if ScissorEnable is set to true in the rasterizer state (see ).

Which scissor rectangle to use is determined by the SV_ViewportArrayIndex semantic output by a geometry shader (see shader semantic syntax). If a geometry shader does not make use of the SV_ViewportArrayIndex semantic then Direct3D will use the first scissor rectangle in the array.

Each scissor rectangle in the array corresponds to a viewport in an array of viewports (see ).

Windows?Phone?8: This API is supported.

-
- - ff476478 - void ID3D11DeviceContext::RSSetScissorRects([In] unsigned int NumRects,[In, Buffer, Optional] const void* pRects) - ID3D11DeviceContext::RSSetScissorRects -
- - -

Gets a reference to the data contained in a subresource, and denies the GPU access to that subresource.

-
- No documentation. - -

If you call Map on a deferred context, you can only pass , , or both to the MapType parameter. Other -typed values are not supported for a deferred context.

Note?? The Direct3D 11.1 runtime, which is available starting with Windows?8, enables mapping dynamic constant buffers and shader resource views (SRVs) of dynamic buffers with . The Direct3D 11 and earlier runtimes limited mapping to vertex or index buffers. To determine if a Direct3D device supports these features, call with . CheckFeatureSupport fills members of a structure with the device's features. The relevant members here are MapNoOverwriteOnDynamicConstantBuffer and MapNoOverwriteOnDynamicBufferSRV.?

For info about how to use Map, see How to: Use dynamic resources.

-
- - ff476457 - void ID3D11DeviceContext::RSGetState([Out, Optional] ID3D11RasterizerState** ppRasterizerState) - ID3D11DeviceContext::RSGetState -
- - -

Gets the array of viewports bound to the rasterizer stage.

-
-

A reference to a variable that, on input, specifies the number of viewports (ranges from 0 to D3D11_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) in the pViewports array; on output, the variable contains the actual number of viewports that are bound to the rasterizer stage. If pViewports is null, RSGetViewports fills the variable with the number of viewports currently bound.

Note?? In some versions of the Windows SDK, a debug device will raise an exception if the input value in the variable to which pNumViewports points is greater than D3D11_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE even if pViewports is null. The regular runtime ignores the value in the variable to which pNumViewports points when pViewports is null. This behavior of a debug device might be corrected in a future release of the Windows SDK. ?
-

An array of structures for the viewports that are bound to the rasterizer stage. If the number of viewports (in the variable to which pNumViewports points) is greater than the actual number of viewports currently bound, unused elements of the array contain 0. For info about how the viewport size depends on the device feature level, which has changed between Direct3D 11 and Direct3D 10, see .

- -

Windows?Phone?8: This API is supported.

-
- - ff476477 - void ID3D11DeviceContext::RSGetViewports([InOut] unsigned int* pNumViewports,[Out, Buffer, Optional] void* pViewports) - ID3D11DeviceContext::RSGetViewports -
- - -

Get the array of scissor rectangles bound to the rasterizer stage.

-
-

The number of scissor rectangles (ranges between 0 and D3D11_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) bound; set pRects to null to use pNumRects to see how many rectangles would be returned.

-

An array of scissor rectangles (see D3D11_RECT). If NumRects is greater than the number of scissor rects currently bound, then unused members of the array will contain 0.

- - ff476475 - void ID3D11DeviceContext::RSGetScissorRects([InOut] unsigned int* pNumRects,[Out, Buffer, Optional] void* pRects) - ID3D11DeviceContext::RSGetScissorRects -
- - -

The interface represents a device context which generates rendering commands.

-
- - ff476385 - ID3D11DeviceContext - ID3D11DeviceContext -
- - -

Set the target output buffers for the stream-output stage of the pipeline.

-
-

The number of buffer to bind to the device. A maximum of four output buffers can be set. If less than four are defined by the call, the remaining buffer slots are set to null. See Remarks.

-

The array of output buffers (see ) to bind to the device. The buffers must have been created with the flag.

-

Array of offsets to the output buffers from ppSOTargets, one offset for each buffer. The offset values must be in bytes.

- -

An offset of -1 will cause the stream output buffer to be appended, continuing after the last location written to the buffer in a previous stream output pass.

Calling this method using a buffer that is currently bound for writing will effectively bind null instead because a buffer cannot be bound as both an input and an output at the same time.

The debug layer will generate a warning whenever a resource is prevented from being bound simultaneously as an input and an output, but this will not prevent invalid data from being used by the runtime.

The method will hold a reference to the interfaces passed in. This differs from the device state behavior in Direct3D 10.

-
- ff476484 - void ID3D11DeviceContext::SOSetTargets([In] unsigned int NumBuffers,[In, Buffer, Optional] const ID3D11Buffer** ppSOTargets,[In, Buffer, Optional] const unsigned int* pOffsets) - ID3D11DeviceContext::SOSetTargets -
- - - Sets the stream output targets bound to the StreamOutput stage. - - The buffer to bind on the first stream output slot. - An offset of -1 will cause the stream output buffer to be appended, continuing after the last location written to the buffer in a previous stream output pass. - ff476484 - void ID3D11DeviceContext::SOSetTargets([In] unsigned int NumBuffers,[In, Buffer, Optional] const ID3D11Buffer** ppSOTargets,[In, Buffer, Optional] const unsigned int* pOffsets) - ID3D11DeviceContext::SOSetTargets - - - - Set the target output {{buffers}} for the {{StreamOutput}} stage, which enables/disables the pipeline to stream-out data. - - - Call ID3D10Device::SOSetTargets (before any draw calls) to stream data out; call SOSetTargets with NULL to stop streaming data out. For an example, see Exercise 01 from the GDC 2007 workshop, which sets the stream output render targets before calling draw methods in the RenderInstanceToStream function. An offset of -1 will cause the stream output buffer to be appended, continuing after the last location written to the buffer in a previous stream output pass. Calling this method using a buffer that is currently bound for writing will effectively bind NULL instead because a buffer cannot be bound as both an input and an output at the same time. The {{DeviceDebug Layer}} will generate a warning whenever a resource is prevented from being bound simultaneously as an input and an output, but this will not prevent invalid data from being used by the runtime. The method will not hold a reference to the interfaces passed in. For that reason, applications should be careful not to release an interface currently in use by the device. - - an array of output buffers (see ) to bind to the device. The buffers must have been created with the flag. - void SOSetTargets([In] int NumBuffers,[In, Buffer, Optional] const ID3D10Buffer** ppSOTargets,[In, Buffer, Optional] const int* pOffsets) - ff476484 - void ID3D11DeviceContext::SOSetTargets([In] unsigned int NumBuffers,[In, Buffer, Optional] const ID3D11Buffer** ppSOTargets,[In, Buffer, Optional] const unsigned int* pOffsets) - ID3D11DeviceContext::SOSetTargets - - - - Get the target output {{buffers}} for the {{StreamOutput}} stage of the pipeline. - - - Any returned interfaces will have their reference count incremented by one. Applications should call {{IUnknown::Release}} on the returned interfaces when they are no longer needed to avoid memory leaks. - - Number of buffers to get. A maximum of four output buffers can be retrieved. - an array of output buffers (see ) to bind to the device. - void SOGetTargets([In] int NumBuffers,[Out, Buffer, Optional] ID3D10Buffer** ppSOTargets,[Out, Buffer, Optional] int* pOffsets) - - - - Initializes a new instance of the class. - - The native pointer. - - - - Performs an explicit conversion from to . (This method is a shortcut to ) - - The native pointer. - - The result of the conversion. - - - - -

Set the target output buffers for the stream-output stage of the pipeline.

-
-

The number of buffer to bind to the device. A maximum of four output buffers can be set. If less than four are defined by the call, the remaining buffer slots are set to null. See Remarks.

-

The array of output buffers (see ) to bind to the device. The buffers must have been created with the flag.

-

Array of offsets to the output buffers from ppSOTargets, one offset for each buffer. The offset values must be in bytes.

- -

An offset of -1 will cause the stream output buffer to be appended, continuing after the last location written to the buffer in a previous stream output pass.

Calling this method using a buffer that is currently bound for writing will effectively bind null instead because a buffer cannot be bound as both an input and an output at the same time.

The debug layer will generate a warning whenever a resource is prevented from being bound simultaneously as an input and an output, but this will not prevent invalid data from being used by the runtime.

The method will hold a reference to the interfaces passed in. This differs from the device state behavior in Direct3D 10.

Windows?Phone?8: This API is supported.

-
- - ff476484 - void ID3D11DeviceContext::SOSetTargets([In] unsigned int NumBuffers,[In, Buffer, Optional] const void** ppSOTargets,[In, Buffer, Optional] const void* pOffsets) - ID3D11DeviceContext::SOSetTargets -
- - -

Get the target output buffers for the stream-output stage of the pipeline.

-
-

Number of buffers to get.

-

An array of output buffers (see ) to be retrieved from the device.

- -

A maximum of four output buffers can be retrieved.

The offsets to the output buffers pointed to in the returned ppSOTargets array may be assumed to be -1 (append), as defined for use in .

Any returned interfaces will have their reference count incremented by one. Applications should call IUnknown::Release on the returned interfaces when they are no longer needed to avoid memory leaks.

Windows?Phone?8: This API is supported.

-
- - ff476483 - void ID3D11DeviceContext::SOGetTargets([In] unsigned int NumBuffers,[Out, Buffer, Optional] ID3D11Buffer** ppSOTargets) - ID3D11DeviceContext::SOGetTargets -
- - -

The device context interface represents a device context; it is used to render commands. adds new methods to those in .

-
- - hh404598 - ID3D11DeviceContext1 - ID3D11DeviceContext1 -
- - - Initializes a new deferred context instance of class. - - - - - - Partially clears a view using an array of rectangles - - View to clear - Clear color - Rectangle areas - - - - Initializes a new instance of the 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 a region from a source resource to a destination resource.

-
-

A reference to the destination resource.

-

Destination subresource index.

-

The x-coordinate of the upper-left corner of the destination region.

-

The y-coordinate of the upper-left corner of the destination region. For a 1D subresource, this must be zero.

-

The z-coordinate of the upper-left corner of the destination region. For a 1D or 2D subresource, this must be zero.

-

A reference to the source resource.

-

Source subresource index.

-

A reference to a 3D box that defines the region of the source subresource that CopySubresourceRegion1 can copy. If null, CopySubresourceRegion1 copies the entire source subresource. The box must fit within the source resource.

An empty box results in a no-op. A box is empty if the top value is greater than or equal to the bottom value, or the left value is greater than or equal to the right value, or the front value is greater than or equal to the back value. When the box is empty, CopySubresourceRegion1 doesn't perform a copy operation.

-

A -typed value that specifies how to perform the copy operation. If you specify zero for no copy option, CopySubresourceRegion1 behaves like . For existing display drivers that can't process these flags, the runtime doesn't use them.

- -

If the display driver supports overlapping, the source and destination subresources can be identical, and the source and destination regions can overlap each other. For existing display drivers that don?t support overlapping, the runtime drops calls with identical source and destination subresources, regardless of whether the regions overlap. To determine whether the display driver supports overlapping, check the CopyWithOverlap member of . This overlapping support enables additional scroll functionality in a call to .

Note??Applies only to feature level 9_x hardware If you use or CopySubresourceRegion1 to copy from a staging resource to a default resource, you can corrupt the destination contents. This occurs if you pass a null source box and if the source resource has different dimensions from those of the destination resource or if you use destination offsets, (x, y, and z). In this situation, always pass a source box that is the full size of the source resource.? -
- - hh404604 - void ID3D11DeviceContext1::CopySubresourceRegion1([In] ID3D11Resource* pDstResource,[In] unsigned int DstSubresource,[In] unsigned int DstX,[In] unsigned int DstY,[In] unsigned int DstZ,[In] ID3D11Resource* pSrcResource,[In] unsigned int SrcSubresource,[In, Optional] const D3D11_BOX* pSrcBox,[In] unsigned int CopyFlags) - ID3D11DeviceContext1::CopySubresourceRegion1 -
- - -

The CPU copies data from memory to a subresource created in non-mappable memory.

-
-

A reference to the destination resource.

-

A zero-based index that identifies the destination subresource. See D3D11CalcSubresource for more details.

-

A reference to a box that defines the portion of the destination subresource to copy the resource data into. Coordinates are in bytes for buffers and in texels for textures. If null, UpdateSubresource1 writes the data to the destination subresource with no offset. The dimensions of the source must fit the destination.

An empty box results in a no-op. A box is empty if the top value is greater than or equal to the bottom value, or the left value is greater than or equal to the right value, or the front value is greater than or equal to the back value. When the box is empty, UpdateSubresource1 doesn't perform an update operation.

-

A reference to the source data in memory.

-

The size of one row of the source data.

-

The size of one depth slice of source data.

-

A -typed value that specifies how to perform the update operation. If you specify zero for no update option, UpdateSubresource1 behaves like . For existing display drivers that can't process these flags, the runtime doesn't use them.

- -

If you call UpdateSubresource1 to update a constant buffer, pass any region, and the driver has not been implemented to Windows?8, the runtime drops the call (except feature level 9.1, 9.2, and 9.3 where the runtime emulates support). The runtime also drops the call if you update a constant buffer with a partial region whose extent is not aligned to 16-byte granularity (16 bytes being a full constant). When the runtime drops the call, the runtime doesn't call the corresponding device driver interface (DDI).

When you record a call to UpdateSubresource with an offset pDstBox in a software command list, the offset in pDstBox is incorrectly applied to pSrcData when you play back the command list. The new-for-Windows?8UpdateSubresource1 fixes this issue. In a call to UpdateSubresource1, pDstBox does not affect pSrcData.

For info about various resource types and how UpdateSubresource1 might work with each resource type, see Introduction to a Resource in Direct3D 11.

Note??Applies only to feature level 9_x hardware If you use UpdateSubresource1 or to copy from a staging resource to a default resource, you can corrupt the destination contents. This occurs if you pass a null source box and if the source resource has different dimensions from those of the destination resource or if you use destination offsets, (x, y, and z). In this situation, always pass a source box that is the full size of the source resource.? -
- - hh446790 - void ID3D11DeviceContext1::UpdateSubresource1([In] ID3D11Resource* pDstResource,[In] unsigned int DstSubresource,[In, Optional] const D3D11_BOX* pDstBox,[In] const void* pSrcData,[In] unsigned int SrcRowPitch,[In] unsigned int SrcDepthPitch,[In] unsigned int CopyFlags) - ID3D11DeviceContext1::UpdateSubresource1 -
- - -

Discards a resource from the device context.

-
-

A reference to the interface for the resource to discard. The resource must have been created with usage or , otherwise the runtime drops the call to DiscardResource; if the debug layer is enabled, the runtime returns an error message.

- -

DiscardResource informs the graphics processing unit (GPU) that the existing content in the resource that pResource points to is no longer needed.

-
- - hh404613 - void ID3D11DeviceContext1::DiscardResource([In] ID3D11Resource* pResource) - ID3D11DeviceContext1::DiscardResource -
- - -

Discards a resource view from the device context.

-
-

A reference to the interface for the resource view to discard. The resource that underlies the view must have been created with usage or , otherwise the runtime drops the call to DiscardView; if the debug layer is enabled, the runtime returns an error message.

- -

DiscardView informs the graphics processing unit (GPU) that the existing content in the resource view that pResourceView points to is no longer needed. The view can be an SRV, RTV, UAV, or DSV. DiscardView is a variation on the DiscardResource method. DiscardView allows you to discard a subset of a resource that is in a view (such as a single miplevel). More importantly, DiscardView provides a convenience because often views are what are being bound and unbound at the pipeline. Some pipeline bindings do not have views, such as stream output. In that situation, DiscardResource can do the job for any resource.

-
- - hh404616 - void ID3D11DeviceContext1::DiscardView([In] ID3D11View* pResourceView) - ID3D11DeviceContext1::DiscardView -
- - -

Sets the constant buffers that the vertex shader pipeline stage uses.

-
-

Index into the device's zero-based array to begin setting constant buffers to (ranges from 0 to - 1).

-

Number of buffers to set (ranges from 0 to - StartSlot).

-

Array of constant buffers being given to the device.

-

An array that holds the offsets into the buffers that ppConstantBuffers specifies. Each offset specifies where, from the shader's point of view, each constant buffer starts. Each offset is measured in shader constants, which are 16 bytes (4*32-bit components). Therefore, an offset of 16 indicates that the start of the associated constant buffer is 256 bytes into the constant buffer. Each offset must be a multiple of 16 constants.

-

An array that holds the numbers of constants in the buffers that ppConstantBuffers specifies. Each number specifies the number of constants that are contained in the constant buffer that the shader uses. Each number of constants starts from its respective offset that is specified in the pFirstConstant array. Each number of constants must be a multiple of 16 constants, in the range [0..4096].

- -

The runtime drops the call to VSSetConstantBuffers1 if the number of constants to which pNumConstants points is larger than the maximum constant buffer size that is supported by shaders (4096 constants). The values in the elements of the pFirstConstant and pFirstConstant + pNumConstants arrays can exceed the length of each buffer; from the shader's point of view, the constant buffer is the intersection of the actual memory allocation for the buffer and the window [value in an element of pFirstConstant, value in an element of pFirstConstant + value in an element of pNumConstants]. The runtime also drops the call to VSSetConstantBuffers1 on existing drivers that don't support this offsetting.

The runtime will emulate this feature for feature level 9.1, 9.2, and 9.3; therefore, this feature is supported for feature level 9.1, 9.2, and 9.3. This feature is always available on new drivers for feature level 10 and higher.

From the shader?s point of view, element [0] in the constant buffers array is the constant at pFirstConstant.

Out of bounds access to the constant buffers from the shader to the range that is defined by pFirstConstant and pNumConstants returns 0.

If pFirstConstant and pNumConstants arrays are null, you get the same result as if you were binding the entire buffer into view. You get this same result if you call the VSSetConstantBuffers method. If the buffer is larger than the maximum constant buffer size that is supported by shaders (4096 elements), the shader can access only the first 4096 constants.

If either pFirstConstant or pNumConstants is null, the other parameter must also be null.

-
- - hh446795 - void ID3D11DeviceContext1::VSSetConstantBuffers1([In] unsigned int StartSlot,[In] unsigned int NumBuffers,[In, Buffer, Optional] const ID3D11Buffer** ppConstantBuffers,[In, Buffer, Optional] const unsigned int* pFirstConstant,[In, Buffer, Optional] const unsigned int* pNumConstants) - ID3D11DeviceContext1::VSSetConstantBuffers1 -
- - -

Sets the constant buffers that the vertex shader pipeline stage uses.

-
-

Index into the device's zero-based array to begin setting constant buffers to (ranges from 0 to - 1).

-

Number of buffers to set (ranges from 0 to - StartSlot).

-

Array of constant buffers being given to the device.

-

An array that holds the offsets into the buffers that ppConstantBuffers specifies. Each offset specifies where, from the shader's point of view, each constant buffer starts. Each offset is measured in shader constants, which are 16 bytes (4*32-bit components). Therefore, an offset of 16 indicates that the start of the associated constant buffer is 256 bytes into the constant buffer. Each offset must be a multiple of 16 constants.

-

An array that holds the numbers of constants in the buffers that ppConstantBuffers specifies. Each number specifies the number of constants that are contained in the constant buffer that the shader uses. Each number of constants starts from its respective offset that is specified in the pFirstConstant array. Each number of constants must be a multiple of 16 constants, in the range [0..4096].

- -

The runtime drops the call to VSSetConstantBuffers1 if the number of constants to which pNumConstants points is larger than the maximum constant buffer size that is supported by shaders (4096 constants). The values in the elements of the pFirstConstant and pFirstConstant + pNumConstants arrays can exceed the length of each buffer; from the shader's point of view, the constant buffer is the intersection of the actual memory allocation for the buffer and the window [value in an element of pFirstConstant, value in an element of pFirstConstant + value in an element of pNumConstants]. The runtime also drops the call to VSSetConstantBuffers1 on existing drivers that don't support this offsetting.

The runtime will emulate this feature for feature level 9.1, 9.2, and 9.3; therefore, this feature is supported for feature level 9.1, 9.2, and 9.3. This feature is always available on new drivers for feature level 10 and higher.

From the shader?s point of view, element [0] in the constant buffers array is the constant at pFirstConstant.

Out of bounds access to the constant buffers from the shader to the range that is defined by pFirstConstant and pNumConstants returns 0.

If pFirstConstant and pNumConstants arrays are null, you get the same result as if you were binding the entire buffer into view. You get this same result if you call the VSSetConstantBuffers method. If the buffer is larger than the maximum constant buffer size that is supported by shaders (4096 elements), the shader can access only the first 4096 constants.

If either pFirstConstant or pNumConstants is null, the other parameter must also be null.

-
- - hh446795 - void ID3D11DeviceContext1::VSSetConstantBuffers1([In] unsigned int StartSlot,[In] unsigned int NumBuffers,[In, Buffer, Optional] const ID3D11Buffer** ppConstantBuffers,[In, Buffer, Optional] const unsigned int* pFirstConstant,[In, Buffer, Optional] const unsigned int* pNumConstants) - ID3D11DeviceContext1::VSSetConstantBuffers1 -
- - -

Sets the constant buffers that the vertex shader pipeline stage uses.

-
-

Index into the device's zero-based array to begin setting constant buffers to (ranges from 0 to - 1).

-

Number of buffers to set (ranges from 0 to - StartSlot).

-

Array of constant buffers being given to the device.

-

An array that holds the offsets into the buffers that ppConstantBuffers specifies. Each offset specifies where, from the shader's point of view, each constant buffer starts. Each offset is measured in shader constants, which are 16 bytes (4*32-bit components). Therefore, an offset of 16 indicates that the start of the associated constant buffer is 256 bytes into the constant buffer. Each offset must be a multiple of 16 constants.

-

An array that holds the numbers of constants in the buffers that ppConstantBuffers specifies. Each number specifies the number of constants that are contained in the constant buffer that the shader uses. Each number of constants starts from its respective offset that is specified in the pFirstConstant array. Each number of constants must be a multiple of 16 constants, in the range [0..4096].

- -

The runtime drops the call to VSSetConstantBuffers1 if the number of constants to which pNumConstants points is larger than the maximum constant buffer size that is supported by shaders (4096 constants). The values in the elements of the pFirstConstant and pFirstConstant + pNumConstants arrays can exceed the length of each buffer; from the shader's point of view, the constant buffer is the intersection of the actual memory allocation for the buffer and the window [value in an element of pFirstConstant, value in an element of pFirstConstant + value in an element of pNumConstants]. The runtime also drops the call to VSSetConstantBuffers1 on existing drivers that don't support this offsetting.

The runtime will emulate this feature for feature level 9.1, 9.2, and 9.3; therefore, this feature is supported for feature level 9.1, 9.2, and 9.3. This feature is always available on new drivers for feature level 10 and higher.

From the shader?s point of view, element [0] in the constant buffers array is the constant at pFirstConstant.

Out of bounds access to the constant buffers from the shader to the range that is defined by pFirstConstant and pNumConstants returns 0.

If pFirstConstant and pNumConstants arrays are null, you get the same result as if you were binding the entire buffer into view. You get this same result if you call the VSSetConstantBuffers method. If the buffer is larger than the maximum constant buffer size that is supported by shaders (4096 elements), the shader can access only the first 4096 constants.

If either pFirstConstant or pNumConstants is null, the other parameter must also be null.

-
- - hh446795 - void ID3D11DeviceContext1::VSSetConstantBuffers1([In] unsigned int StartSlot,[In] unsigned int NumBuffers,[In, Buffer, Optional] const ID3D11Buffer** ppConstantBuffers,[In, Buffer, Optional] const unsigned int* pFirstConstant,[In, Buffer, Optional] const unsigned int* pNumConstants) - ID3D11DeviceContext1::VSSetConstantBuffers1 -
- - -

Sets the constant buffers that the hull-shader stage of the pipeline uses.

-
- No documentation. - No documentation. - No documentation. - No documentation. - No documentation. - -

The runtime drops the call to HSSetConstantBuffers1 if the number of constants to which pNumConstants points is larger than the maximum constant buffer size that is supported by shaders (4096 constants). The values in the elements of the pFirstConstant and pFirstConstant + pNumConstants arrays can exceed the length of each buffer; from the shader's point of view, the constant buffer is the intersection of the actual memory allocation for the buffer and the window [value in an element of pFirstConstant, value in an element of pFirstConstant + value in an element of pNumConstants]. The runtime also drops the call to HSSetConstantBuffers1 on existing drivers that don't support this offsetting.

The runtime will emulate this feature for feature level 9.1, 9.2, and 9.3; therefore, this feature is supported for feature level 9.1, 9.2, and 9.3. This feature is always available on new drivers for feature level 10 and higher.

From the shader?s point of view, element [0] in the constant buffers array is the constant at pFirstConstant.

Out of bounds access to the constant buffers from the shader to the range that is defined by pFirstConstant and pNumConstants returns 0.

If the pFirstConstant and pNumConstants arrays are null, you get the same result as if you were binding the entire buffer into view. You get this same result if you call the HSSetConstantBuffers method. If the buffer is larger than the maximum constant buffer size that is supported by shaders (4096 elements), the shader can access only the first 4096 constants.

If either pFirstConstant or pNumConstants is null, the other parameter must also be null.

-
- - hh404642 - void ID3D11DeviceContext1::HSSetConstantBuffers1([In] unsigned int StartSlot,[In] unsigned int NumBuffers,[In, Buffer, Optional] const ID3D11Buffer** ppConstantBuffers,[In, Buffer, Optional] const unsigned int* pFirstConstant,[In, Buffer, Optional] const unsigned int* pNumConstants) - ID3D11DeviceContext1::HSSetConstantBuffers1 -
- - -

Sets the constant buffers that the hull-shader stage of the pipeline uses.

-
- No documentation. - No documentation. - No documentation. - No documentation. - No documentation. - -

The runtime drops the call to HSSetConstantBuffers1 if the number of constants to which pNumConstants points is larger than the maximum constant buffer size that is supported by shaders (4096 constants). The values in the elements of the pFirstConstant and pFirstConstant + pNumConstants arrays can exceed the length of each buffer; from the shader's point of view, the constant buffer is the intersection of the actual memory allocation for the buffer and the window [value in an element of pFirstConstant, value in an element of pFirstConstant + value in an element of pNumConstants]. The runtime also drops the call to HSSetConstantBuffers1 on existing drivers that don't support this offsetting.

The runtime will emulate this feature for feature level 9.1, 9.2, and 9.3; therefore, this feature is supported for feature level 9.1, 9.2, and 9.3. This feature is always available on new drivers for feature level 10 and higher.

From the shader?s point of view, element [0] in the constant buffers array is the constant at pFirstConstant.

Out of bounds access to the constant buffers from the shader to the range that is defined by pFirstConstant and pNumConstants returns 0.

If the pFirstConstant and pNumConstants arrays are null, you get the same result as if you were binding the entire buffer into view. You get this same result if you call the HSSetConstantBuffers method. If the buffer is larger than the maximum constant buffer size that is supported by shaders (4096 elements), the shader can access only the first 4096 constants.

If either pFirstConstant or pNumConstants is null, the other parameter must also be null.

-
- - hh404642 - void ID3D11DeviceContext1::HSSetConstantBuffers1([In] unsigned int StartSlot,[In] unsigned int NumBuffers,[In, Buffer, Optional] const ID3D11Buffer** ppConstantBuffers,[In, Buffer, Optional] const unsigned int* pFirstConstant,[In, Buffer, Optional] const unsigned int* pNumConstants) - ID3D11DeviceContext1::HSSetConstantBuffers1 -
- - -

Sets the constant buffers that the hull-shader stage of the pipeline uses.

-
- No documentation. - No documentation. - No documentation. - No documentation. - No documentation. - -

The runtime drops the call to HSSetConstantBuffers1 if the number of constants to which pNumConstants points is larger than the maximum constant buffer size that is supported by shaders (4096 constants). The values in the elements of the pFirstConstant and pFirstConstant + pNumConstants arrays can exceed the length of each buffer; from the shader's point of view, the constant buffer is the intersection of the actual memory allocation for the buffer and the window [value in an element of pFirstConstant, value in an element of pFirstConstant + value in an element of pNumConstants]. The runtime also drops the call to HSSetConstantBuffers1 on existing drivers that don't support this offsetting.

The runtime will emulate this feature for feature level 9.1, 9.2, and 9.3; therefore, this feature is supported for feature level 9.1, 9.2, and 9.3. This feature is always available on new drivers for feature level 10 and higher.

From the shader?s point of view, element [0] in the constant buffers array is the constant at pFirstConstant.

Out of bounds access to the constant buffers from the shader to the range that is defined by pFirstConstant and pNumConstants returns 0.

If the pFirstConstant and pNumConstants arrays are null, you get the same result as if you were binding the entire buffer into view. You get this same result if you call the HSSetConstantBuffers method. If the buffer is larger than the maximum constant buffer size that is supported by shaders (4096 elements), the shader can access only the first 4096 constants.

If either pFirstConstant or pNumConstants is null, the other parameter must also be null.

-
- - hh404642 - void ID3D11DeviceContext1::HSSetConstantBuffers1([In] unsigned int StartSlot,[In] unsigned int NumBuffers,[In, Buffer, Optional] const ID3D11Buffer** ppConstantBuffers,[In, Buffer, Optional] const unsigned int* pFirstConstant,[In, Buffer, Optional] const unsigned int* pNumConstants) - ID3D11DeviceContext1::HSSetConstantBuffers1 -
- - -

Sets the constant buffers that the domain-shader stage uses.

-
-

Index into the zero-based array to begin setting constant buffers to (ranges from 0 to - 1).

-

Number of buffers to set (ranges from 0 to - StartSlot).

-

Array of constant buffers being given to the device.

-

An array that holds the offsets into the buffers that ppConstantBuffers specifies. Each offset specifies where, from the shader's point of view, each constant buffer starts. Each offset is measured in shader constants, which are 16 bytes (4*32-bit components). Therefore, an offset of 16 indicates that the start of the associated constant buffer is 256 bytes into the constant buffer. Each offset must be a multiple of 16 constants.

-

An array that holds the numbers of constants in the buffers that ppConstantBuffers specifies. Each number specifies the number of constants that are contained in the constant buffer that the shader uses. Each number of constants starts from its respective offset that is specified in the pFirstConstant array. Each number of constants must be a multiple of 16 constants, in the range [0..4096].

- -

The runtime drops the call to DSSetConstantBuffers1 if the number of constants to which pNumConstants points is larger than the maximum constant buffer size that is supported by shaders (4096 constants). The values in the elements of the pFirstConstant and pFirstConstant + pNumConstants arrays can exceed the length of each buffer; from the shader's point of view, the constant buffer is the intersection of the actual memory allocation for the buffer and the window [value in an element of pFirstConstant, value in an element of pFirstConstant + value in an element of pNumConstants]. The runtime also drops the call to DSSetConstantBuffers1 on existing drivers that don't support this offsetting.

The runtime will emulate this feature for feature level 9.1, 9.2, and 9.3; therefore, this feature is supported for feature level 9.1, 9.2, and 9.3. This feature is always available on new drivers for feature level 10 and higher.

From the shader?s point of view, element [0] in the constant buffers array is the constant at pFirstConstant.

Out of bounds access to the constant buffers from the shader to the range that is defined by pFirstConstant and pNumConstants returns 0.

If pFirstConstant and pNumConstants arrays are null, you get the same result as if you were binding the entire buffer into view. You get this same result if you call the DSSetConstantBuffers method. If the buffer is larger than the maximum constant buffer size that is supported by shaders (4096 elements), the shader can access only the first 4096 constants.

If either pFirstConstant or pNumConstants is null, the other parameter must also be null.

-
- - hh404632 - void ID3D11DeviceContext1::DSSetConstantBuffers1([In] unsigned int StartSlot,[In] unsigned int NumBuffers,[In, Buffer, Optional] const ID3D11Buffer** ppConstantBuffers,[In, Buffer, Optional] const unsigned int* pFirstConstant,[In, Buffer, Optional] const unsigned int* pNumConstants) - ID3D11DeviceContext1::DSSetConstantBuffers1 -
- - -

Sets the constant buffers that the domain-shader stage uses.

-
-

Index into the zero-based array to begin setting constant buffers to (ranges from 0 to - 1).

-

Number of buffers to set (ranges from 0 to - StartSlot).

-

Array of constant buffers being given to the device.

-

An array that holds the offsets into the buffers that ppConstantBuffers specifies. Each offset specifies where, from the shader's point of view, each constant buffer starts. Each offset is measured in shader constants, which are 16 bytes (4*32-bit components). Therefore, an offset of 16 indicates that the start of the associated constant buffer is 256 bytes into the constant buffer. Each offset must be a multiple of 16 constants.

-

An array that holds the numbers of constants in the buffers that ppConstantBuffers specifies. Each number specifies the number of constants that are contained in the constant buffer that the shader uses. Each number of constants starts from its respective offset that is specified in the pFirstConstant array. Each number of constants must be a multiple of 16 constants, in the range [0..4096].

- -

The runtime drops the call to DSSetConstantBuffers1 if the number of constants to which pNumConstants points is larger than the maximum constant buffer size that is supported by shaders (4096 constants). The values in the elements of the pFirstConstant and pFirstConstant + pNumConstants arrays can exceed the length of each buffer; from the shader's point of view, the constant buffer is the intersection of the actual memory allocation for the buffer and the window [value in an element of pFirstConstant, value in an element of pFirstConstant + value in an element of pNumConstants]. The runtime also drops the call to DSSetConstantBuffers1 on existing drivers that don't support this offsetting.

The runtime will emulate this feature for feature level 9.1, 9.2, and 9.3; therefore, this feature is supported for feature level 9.1, 9.2, and 9.3. This feature is always available on new drivers for feature level 10 and higher.

From the shader?s point of view, element [0] in the constant buffers array is the constant at pFirstConstant.

Out of bounds access to the constant buffers from the shader to the range that is defined by pFirstConstant and pNumConstants returns 0.

If pFirstConstant and pNumConstants arrays are null, you get the same result as if you were binding the entire buffer into view. You get this same result if you call the DSSetConstantBuffers method. If the buffer is larger than the maximum constant buffer size that is supported by shaders (4096 elements), the shader can access only the first 4096 constants.

If either pFirstConstant or pNumConstants is null, the other parameter must also be null.

-
- - hh404632 - void ID3D11DeviceContext1::DSSetConstantBuffers1([In] unsigned int StartSlot,[In] unsigned int NumBuffers,[In, Buffer, Optional] const ID3D11Buffer** ppConstantBuffers,[In, Buffer, Optional] const unsigned int* pFirstConstant,[In, Buffer, Optional] const unsigned int* pNumConstants) - ID3D11DeviceContext1::DSSetConstantBuffers1 -
- - -

Sets the constant buffers that the domain-shader stage uses.

-
-

Index into the zero-based array to begin setting constant buffers to (ranges from 0 to - 1).

-

Number of buffers to set (ranges from 0 to - StartSlot).

-

Array of constant buffers being given to the device.

-

An array that holds the offsets into the buffers that ppConstantBuffers specifies. Each offset specifies where, from the shader's point of view, each constant buffer starts. Each offset is measured in shader constants, which are 16 bytes (4*32-bit components). Therefore, an offset of 16 indicates that the start of the associated constant buffer is 256 bytes into the constant buffer. Each offset must be a multiple of 16 constants.

-

An array that holds the numbers of constants in the buffers that ppConstantBuffers specifies. Each number specifies the number of constants that are contained in the constant buffer that the shader uses. Each number of constants starts from its respective offset that is specified in the pFirstConstant array. Each number of constants must be a multiple of 16 constants, in the range [0..4096].

- -

The runtime drops the call to DSSetConstantBuffers1 if the number of constants to which pNumConstants points is larger than the maximum constant buffer size that is supported by shaders (4096 constants). The values in the elements of the pFirstConstant and pFirstConstant + pNumConstants arrays can exceed the length of each buffer; from the shader's point of view, the constant buffer is the intersection of the actual memory allocation for the buffer and the window [value in an element of pFirstConstant, value in an element of pFirstConstant + value in an element of pNumConstants]. The runtime also drops the call to DSSetConstantBuffers1 on existing drivers that don't support this offsetting.

The runtime will emulate this feature for feature level 9.1, 9.2, and 9.3; therefore, this feature is supported for feature level 9.1, 9.2, and 9.3. This feature is always available on new drivers for feature level 10 and higher.

From the shader?s point of view, element [0] in the constant buffers array is the constant at pFirstConstant.

Out of bounds access to the constant buffers from the shader to the range that is defined by pFirstConstant and pNumConstants returns 0.

If pFirstConstant and pNumConstants arrays are null, you get the same result as if you were binding the entire buffer into view. You get this same result if you call the DSSetConstantBuffers method. If the buffer is larger than the maximum constant buffer size that is supported by shaders (4096 elements), the shader can access only the first 4096 constants.

If either pFirstConstant or pNumConstants is null, the other parameter must also be null.

-
- - hh404632 - void ID3D11DeviceContext1::DSSetConstantBuffers1([In] unsigned int StartSlot,[In] unsigned int NumBuffers,[In, Buffer, Optional] const ID3D11Buffer** ppConstantBuffers,[In, Buffer, Optional] const unsigned int* pFirstConstant,[In, Buffer, Optional] const unsigned int* pNumConstants) - ID3D11DeviceContext1::DSSetConstantBuffers1 -
- - -

Sets the constant buffers that the geometry shader pipeline stage uses.

-
-

Index into the device's zero-based array to begin setting constant buffers to (ranges from 0 to - 1).

-

Number of buffers to set (ranges from 0 to - StartSlot).

-

Array of constant buffers (see ) being given to the device.

-

An array that holds the offsets into the buffers that ppConstantBuffers specifies. Each offset specifies where, from the shader's point of view, each constant buffer starts. Each offset is measured in shader constants, which are 16 bytes (4*32-bit components). Therefore, an offset of 16 indicates that the start of the associated constant buffer is 256 bytes into the constant buffer. Each offset must be a multiple of 16 constants.

-

An array that holds the numbers of constants in the buffers that ppConstantBuffers specifies. Each number specifies the number of constants that are contained in the constant buffer that the shader uses. Each number of constants starts from its respective offset that is specified in the pFirstConstant array. Each number of constants must be a multiple of 16 constants, in the range [0..4096].

- -

The runtime drops the call to GSSetConstantBuffers1 if the number of constants to which pNumConstants points is larger than the maximum constant buffer size that is supported by shaders (4096 constants). The values in the elements of the pFirstConstant and pFirstConstant + pNumConstants arrays can exceed the length of each buffer; from the shader's point of view, the constant buffer is the intersection of the actual memory allocation for the buffer and the window [value in an element of pFirstConstant, value in an element of pFirstConstant + value in an element of pNumConstants]. The runtime also drops the call to GSSetConstantBuffers1 on existing drivers that don't support this offsetting.

The runtime will emulate this feature for feature level 9.1, 9.2, and 9.3; therefore, this feature is supported for feature level 9.1, 9.2, and 9.3. This feature is always available on new drivers for feature level 10 and higher.

From the shader?s point of view, element [0] in the constant buffers array is the constant at pFirstConstant.

Out of bounds access to the constant buffers from the shader to the range that is defined by pFirstConstant and pNumConstants returns 0.

If pFirstConstant and pNumConstants arrays are null, you get the same result as if you were binding the entire buffer into view. You get this same result if you call the GSSetConstantBuffers method. If the buffer is larger than the maximum constant buffer size that is supported by shaders (4096 elements), the shader can access only the first 4096 constants.

If either pFirstConstant or pNumConstants is null, the other parameter must also be null.

-
- - hh404638 - void ID3D11DeviceContext1::GSSetConstantBuffers1([In] unsigned int StartSlot,[In] unsigned int NumBuffers,[In, Buffer, Optional] const ID3D11Buffer** ppConstantBuffers,[In, Buffer, Optional] const unsigned int* pFirstConstant,[In, Buffer, Optional] const unsigned int* pNumConstants) - ID3D11DeviceContext1::GSSetConstantBuffers1 -
- - -

Sets the constant buffers that the geometry shader pipeline stage uses.

-
-

Index into the device's zero-based array to begin setting constant buffers to (ranges from 0 to - 1).

-

Number of buffers to set (ranges from 0 to - StartSlot).

-

Array of constant buffers (see ) being given to the device.

-

An array that holds the offsets into the buffers that ppConstantBuffers specifies. Each offset specifies where, from the shader's point of view, each constant buffer starts. Each offset is measured in shader constants, which are 16 bytes (4*32-bit components). Therefore, an offset of 16 indicates that the start of the associated constant buffer is 256 bytes into the constant buffer. Each offset must be a multiple of 16 constants.

-

An array that holds the numbers of constants in the buffers that ppConstantBuffers specifies. Each number specifies the number of constants that are contained in the constant buffer that the shader uses. Each number of constants starts from its respective offset that is specified in the pFirstConstant array. Each number of constants must be a multiple of 16 constants, in the range [0..4096].

- -

The runtime drops the call to GSSetConstantBuffers1 if the number of constants to which pNumConstants points is larger than the maximum constant buffer size that is supported by shaders (4096 constants). The values in the elements of the pFirstConstant and pFirstConstant + pNumConstants arrays can exceed the length of each buffer; from the shader's point of view, the constant buffer is the intersection of the actual memory allocation for the buffer and the window [value in an element of pFirstConstant, value in an element of pFirstConstant + value in an element of pNumConstants]. The runtime also drops the call to GSSetConstantBuffers1 on existing drivers that don't support this offsetting.

The runtime will emulate this feature for feature level 9.1, 9.2, and 9.3; therefore, this feature is supported for feature level 9.1, 9.2, and 9.3. This feature is always available on new drivers for feature level 10 and higher.

From the shader?s point of view, element [0] in the constant buffers array is the constant at pFirstConstant.

Out of bounds access to the constant buffers from the shader to the range that is defined by pFirstConstant and pNumConstants returns 0.

If pFirstConstant and pNumConstants arrays are null, you get the same result as if you were binding the entire buffer into view. You get this same result if you call the GSSetConstantBuffers method. If the buffer is larger than the maximum constant buffer size that is supported by shaders (4096 elements), the shader can access only the first 4096 constants.

If either pFirstConstant or pNumConstants is null, the other parameter must also be null.

-
- - hh404638 - void ID3D11DeviceContext1::GSSetConstantBuffers1([In] unsigned int StartSlot,[In] unsigned int NumBuffers,[In, Buffer, Optional] const ID3D11Buffer** ppConstantBuffers,[In, Buffer, Optional] const unsigned int* pFirstConstant,[In, Buffer, Optional] const unsigned int* pNumConstants) - ID3D11DeviceContext1::GSSetConstantBuffers1 -
- - -

Sets the constant buffers that the geometry shader pipeline stage uses.

-
-

Index into the device's zero-based array to begin setting constant buffers to (ranges from 0 to - 1).

-

Number of buffers to set (ranges from 0 to - StartSlot).

-

Array of constant buffers (see ) being given to the device.

-

An array that holds the offsets into the buffers that ppConstantBuffers specifies. Each offset specifies where, from the shader's point of view, each constant buffer starts. Each offset is measured in shader constants, which are 16 bytes (4*32-bit components). Therefore, an offset of 16 indicates that the start of the associated constant buffer is 256 bytes into the constant buffer. Each offset must be a multiple of 16 constants.

-

An array that holds the numbers of constants in the buffers that ppConstantBuffers specifies. Each number specifies the number of constants that are contained in the constant buffer that the shader uses. Each number of constants starts from its respective offset that is specified in the pFirstConstant array. Each number of constants must be a multiple of 16 constants, in the range [0..4096].

- -

The runtime drops the call to GSSetConstantBuffers1 if the number of constants to which pNumConstants points is larger than the maximum constant buffer size that is supported by shaders (4096 constants). The values in the elements of the pFirstConstant and pFirstConstant + pNumConstants arrays can exceed the length of each buffer; from the shader's point of view, the constant buffer is the intersection of the actual memory allocation for the buffer and the window [value in an element of pFirstConstant, value in an element of pFirstConstant + value in an element of pNumConstants]. The runtime also drops the call to GSSetConstantBuffers1 on existing drivers that don't support this offsetting.

The runtime will emulate this feature for feature level 9.1, 9.2, and 9.3; therefore, this feature is supported for feature level 9.1, 9.2, and 9.3. This feature is always available on new drivers for feature level 10 and higher.

From the shader?s point of view, element [0] in the constant buffers array is the constant at pFirstConstant.

Out of bounds access to the constant buffers from the shader to the range that is defined by pFirstConstant and pNumConstants returns 0.

If pFirstConstant and pNumConstants arrays are null, you get the same result as if you were binding the entire buffer into view. You get this same result if you call the GSSetConstantBuffers method. If the buffer is larger than the maximum constant buffer size that is supported by shaders (4096 elements), the shader can access only the first 4096 constants.

If either pFirstConstant or pNumConstants is null, the other parameter must also be null.

-
- - hh404638 - void ID3D11DeviceContext1::GSSetConstantBuffers1([In] unsigned int StartSlot,[In] unsigned int NumBuffers,[In, Buffer, Optional] const ID3D11Buffer** ppConstantBuffers,[In, Buffer, Optional] const unsigned int* pFirstConstant,[In, Buffer, Optional] const unsigned int* pNumConstants) - ID3D11DeviceContext1::GSSetConstantBuffers1 -
- - -

Sets the constant buffers that the pixel shader pipeline stage uses, and enables the shader to access other parts of the buffer.

-
-

Index into the device's zero-based array to begin setting constant buffers to (ranges from 0 to - 1).

-

Number of buffers to set (ranges from 0 to - StartSlot).

-

Array of constant buffers being given to the device.

-

An array that holds the offsets into the buffers that ppConstantBuffers specifies. Each offset specifies where, from the shader's point of view, each constant buffer starts. Each offset is measured in shader constants, which are 16 bytes (4*32-bit components). Therefore, an offset of 16 indicates that the start of the associated constant buffer is 256 bytes into the constant buffer. Each offset must be a multiple of 16 constants.

-

An array that holds the numbers of constants in the buffers that ppConstantBuffers specifies. Each number specifies the number of constants that are contained in the constant buffer that the shader uses. Each number of constants starts from its respective offset that is specified in the pFirstConstant array. Each number of constants must be a multiple of 16 constants, in the range [0..4096].

- -

To enable the shader to access other parts of the buffer, call PSSetConstantBuffers1 instead of PSSetConstantBuffers. PSSetConstantBuffers1 has additional parameters pFirstConstant and pNumConstants.

The runtime drops the call to PSSetConstantBuffers1 if the numbers of constants to which pNumConstants points is larger than the maximum constant buffer size that is supported by shaders. The maximum constant buffer size that is supported by shaders holds 4096 constants, where each constant has four 32-bit components.

The values in the elements of the pFirstConstant and pFirstConstant + pNumConstants arrays can exceed the length of each buffer; from the shader's point of view, the constant buffer is the intersection of the actual memory allocation for the buffer and the following window (range):

[value in an element of pFirstConstant, value in an element of pFirstConstant + value in an element of pNumConstants]

That is, the window is the range is from (value in an element of pFirstConstant) to (value in an element of pFirstConstant + value in an element of pNumConstants).

The runtime also drops the call to PSSetConstantBuffers1 on existing drivers that do not support this offsetting.

The runtime will emulate this feature for feature level 9.1, 9.2, and 9.3; therefore, this feature is supported for feature level 9.1, 9.2, and 9.3. This feature is always available on new drivers for feature level 10 and higher.

From the shader?s point of view, element [0] in the constant buffers array is the constant at pFirstConstant.

Out of bounds access to the constant buffers from the shader to the range that is defined by pFirstConstant and pNumConstants returns 0.

If pFirstConstant and pNumConstants arrays are null, you get the same result as if you were binding the entire buffer into view. You get this same result if you call the PSSetConstantBuffers method. If the buffer is larger than the maximum constant buffer size that is supported by shaders (4096 elements), the shader can access only the first 4096 constants.

If either pFirstConstant or pNumConstants is null, the other parameter must also be null.

-
- - hh404649 - void ID3D11DeviceContext1::PSSetConstantBuffers1([In] unsigned int StartSlot,[In] unsigned int NumBuffers,[In, Buffer, Optional] const ID3D11Buffer** ppConstantBuffers,[In, Buffer, Optional] const unsigned int* pFirstConstant,[In, Buffer, Optional] const unsigned int* pNumConstants) - ID3D11DeviceContext1::PSSetConstantBuffers1 -
- - -

Sets the constant buffers that the pixel shader pipeline stage uses, and enables the shader to access other parts of the buffer.

-
-

Index into the device's zero-based array to begin setting constant buffers to (ranges from 0 to - 1).

-

Number of buffers to set (ranges from 0 to - StartSlot).

-

Array of constant buffers being given to the device.

-

An array that holds the offsets into the buffers that ppConstantBuffers specifies. Each offset specifies where, from the shader's point of view, each constant buffer starts. Each offset is measured in shader constants, which are 16 bytes (4*32-bit components). Therefore, an offset of 16 indicates that the start of the associated constant buffer is 256 bytes into the constant buffer. Each offset must be a multiple of 16 constants.

-

An array that holds the numbers of constants in the buffers that ppConstantBuffers specifies. Each number specifies the number of constants that are contained in the constant buffer that the shader uses. Each number of constants starts from its respective offset that is specified in the pFirstConstant array. Each number of constants must be a multiple of 16 constants, in the range [0..4096].

- -

To enable the shader to access other parts of the buffer, call PSSetConstantBuffers1 instead of PSSetConstantBuffers. PSSetConstantBuffers1 has additional parameters pFirstConstant and pNumConstants.

The runtime drops the call to PSSetConstantBuffers1 if the numbers of constants to which pNumConstants points is larger than the maximum constant buffer size that is supported by shaders. The maximum constant buffer size that is supported by shaders holds 4096 constants, where each constant has four 32-bit components.

The values in the elements of the pFirstConstant and pFirstConstant + pNumConstants arrays can exceed the length of each buffer; from the shader's point of view, the constant buffer is the intersection of the actual memory allocation for the buffer and the following window (range):

[value in an element of pFirstConstant, value in an element of pFirstConstant + value in an element of pNumConstants]

That is, the window is the range is from (value in an element of pFirstConstant) to (value in an element of pFirstConstant + value in an element of pNumConstants).

The runtime also drops the call to PSSetConstantBuffers1 on existing drivers that do not support this offsetting.

The runtime will emulate this feature for feature level 9.1, 9.2, and 9.3; therefore, this feature is supported for feature level 9.1, 9.2, and 9.3. This feature is always available on new drivers for feature level 10 and higher.

From the shader?s point of view, element [0] in the constant buffers array is the constant at pFirstConstant.

Out of bounds access to the constant buffers from the shader to the range that is defined by pFirstConstant and pNumConstants returns 0.

If pFirstConstant and pNumConstants arrays are null, you get the same result as if you were binding the entire buffer into view. You get this same result if you call the PSSetConstantBuffers method. If the buffer is larger than the maximum constant buffer size that is supported by shaders (4096 elements), the shader can access only the first 4096 constants.

If either pFirstConstant or pNumConstants is null, the other parameter must also be null.

-
- - hh404649 - void ID3D11DeviceContext1::PSSetConstantBuffers1([In] unsigned int StartSlot,[In] unsigned int NumBuffers,[In, Buffer, Optional] const ID3D11Buffer** ppConstantBuffers,[In, Buffer, Optional] const unsigned int* pFirstConstant,[In, Buffer, Optional] const unsigned int* pNumConstants) - ID3D11DeviceContext1::PSSetConstantBuffers1 -
- - -

Sets the constant buffers that the pixel shader pipeline stage uses, and enables the shader to access other parts of the buffer.

-
-

Index into the device's zero-based array to begin setting constant buffers to (ranges from 0 to - 1).

-

Number of buffers to set (ranges from 0 to - StartSlot).

-

Array of constant buffers being given to the device.

-

An array that holds the offsets into the buffers that ppConstantBuffers specifies. Each offset specifies where, from the shader's point of view, each constant buffer starts. Each offset is measured in shader constants, which are 16 bytes (4*32-bit components). Therefore, an offset of 16 indicates that the start of the associated constant buffer is 256 bytes into the constant buffer. Each offset must be a multiple of 16 constants.

-

An array that holds the numbers of constants in the buffers that ppConstantBuffers specifies. Each number specifies the number of constants that are contained in the constant buffer that the shader uses. Each number of constants starts from its respective offset that is specified in the pFirstConstant array. Each number of constants must be a multiple of 16 constants, in the range [0..4096].

- -

To enable the shader to access other parts of the buffer, call PSSetConstantBuffers1 instead of PSSetConstantBuffers. PSSetConstantBuffers1 has additional parameters pFirstConstant and pNumConstants.

The runtime drops the call to PSSetConstantBuffers1 if the numbers of constants to which pNumConstants points is larger than the maximum constant buffer size that is supported by shaders. The maximum constant buffer size that is supported by shaders holds 4096 constants, where each constant has four 32-bit components.

The values in the elements of the pFirstConstant and pFirstConstant + pNumConstants arrays can exceed the length of each buffer; from the shader's point of view, the constant buffer is the intersection of the actual memory allocation for the buffer and the following window (range):

[value in an element of pFirstConstant, value in an element of pFirstConstant + value in an element of pNumConstants]

That is, the window is the range is from (value in an element of pFirstConstant) to (value in an element of pFirstConstant + value in an element of pNumConstants).

The runtime also drops the call to PSSetConstantBuffers1 on existing drivers that do not support this offsetting.

The runtime will emulate this feature for feature level 9.1, 9.2, and 9.3; therefore, this feature is supported for feature level 9.1, 9.2, and 9.3. This feature is always available on new drivers for feature level 10 and higher.

From the shader?s point of view, element [0] in the constant buffers array is the constant at pFirstConstant.

Out of bounds access to the constant buffers from the shader to the range that is defined by pFirstConstant and pNumConstants returns 0.

If pFirstConstant and pNumConstants arrays are null, you get the same result as if you were binding the entire buffer into view. You get this same result if you call the PSSetConstantBuffers method. If the buffer is larger than the maximum constant buffer size that is supported by shaders (4096 elements), the shader can access only the first 4096 constants.

If either pFirstConstant or pNumConstants is null, the other parameter must also be null.

-
- - hh404649 - void ID3D11DeviceContext1::PSSetConstantBuffers1([In] unsigned int StartSlot,[In] unsigned int NumBuffers,[In, Buffer, Optional] const ID3D11Buffer** ppConstantBuffers,[In, Buffer, Optional] const unsigned int* pFirstConstant,[In, Buffer, Optional] const unsigned int* pNumConstants) - ID3D11DeviceContext1::PSSetConstantBuffers1 -
- - -

Sets the constant buffers that the compute-shader stage uses.

-
-

Index into the zero-based array to begin setting constant buffers to (ranges from 0 to - 1).

-

Number of buffers to set (ranges from 0 to - StartSlot).

-

Array of constant buffers (see ) being given to the device.

-

An array that holds the offsets into the buffers that ppConstantBuffers specifies. Each offset specifies where, from the shader's point of view, each constant buffer starts. Each offset is measured in shader constants, which are 16 bytes (4*32-bit components). Therefore, an offset of 16 indicates that the start of the associated constant buffer is 256 bytes into the constant buffer. Each offset must be a multiple of 16 constants.

-

An array that holds the numbers of constants in the buffers that ppConstantBuffers specifies. Each number specifies the number of constants that are contained in the constant buffer that the shader uses. Each number of constants starts from its respective offset that is specified in the pFirstConstant array. Each number of constants must be a multiple of 16 constants, in the range [0..4096].

- -

The runtime drops the call to CSSetConstantBuffers1 if the number of constants to which pNumConstants points is larger than the maximum constant buffer size that is supported by shaders (4096 constants). The values in the elements of the pFirstConstant and pFirstConstant + pNumConstants arrays can exceed the length of each buffer; from the shader's point of view, the constant buffer is the intersection of the actual memory allocation for the buffer and the window [value in an element of pFirstConstant, value in an element of pFirstConstant + value in an element of pNumConstants]. The runtime also drops the call to CSSetConstantBuffers1 on existing drivers that don't support this offsetting.

The runtime will emulate this feature for feature level 9.1, 9.2, and 9.3; therefore, this feature is supported for feature level 9.1, 9.2, and 9.3. This feature is always available on new drivers for feature level 10 and higher.

From the shader?s point of view, element [0] in the constant buffers array is the constant at pFirstConstant.

Out of bounds access to the constant buffers from the shader to the range that is defined by pFirstConstant and pNumConstants returns 0.

If pFirstConstant and pNumConstants arrays are null, you get the same result as if you were binding the entire buffer into view. You get this same result if you call the CSSetConstantBuffers method. If the buffer is larger than the maximum constant buffer size that is supported by shaders (4096 elements), the shader can access only the first 4096 constants.

If either pFirstConstant or pNumConstants is null, the other parameter must also be null.

-
- - hh404610 - void ID3D11DeviceContext1::CSSetConstantBuffers1([In] unsigned int StartSlot,[In] unsigned int NumBuffers,[In, Buffer, Optional] const ID3D11Buffer** ppConstantBuffers,[In, Buffer, Optional] const unsigned int* pFirstConstant,[In, Buffer, Optional] const unsigned int* pNumConstants) - ID3D11DeviceContext1::CSSetConstantBuffers1 -
- - -

Sets the constant buffers that the compute-shader stage uses.

-
-

Index into the zero-based array to begin setting constant buffers to (ranges from 0 to - 1).

-

Number of buffers to set (ranges from 0 to - StartSlot).

-

Array of constant buffers (see ) being given to the device.

-

An array that holds the offsets into the buffers that ppConstantBuffers specifies. Each offset specifies where, from the shader's point of view, each constant buffer starts. Each offset is measured in shader constants, which are 16 bytes (4*32-bit components). Therefore, an offset of 16 indicates that the start of the associated constant buffer is 256 bytes into the constant buffer. Each offset must be a multiple of 16 constants.

-

An array that holds the numbers of constants in the buffers that ppConstantBuffers specifies. Each number specifies the number of constants that are contained in the constant buffer that the shader uses. Each number of constants starts from its respective offset that is specified in the pFirstConstant array. Each number of constants must be a multiple of 16 constants, in the range [0..4096].

- -

The runtime drops the call to CSSetConstantBuffers1 if the number of constants to which pNumConstants points is larger than the maximum constant buffer size that is supported by shaders (4096 constants). The values in the elements of the pFirstConstant and pFirstConstant + pNumConstants arrays can exceed the length of each buffer; from the shader's point of view, the constant buffer is the intersection of the actual memory allocation for the buffer and the window [value in an element of pFirstConstant, value in an element of pFirstConstant + value in an element of pNumConstants]. The runtime also drops the call to CSSetConstantBuffers1 on existing drivers that don't support this offsetting.

The runtime will emulate this feature for feature level 9.1, 9.2, and 9.3; therefore, this feature is supported for feature level 9.1, 9.2, and 9.3. This feature is always available on new drivers for feature level 10 and higher.

From the shader?s point of view, element [0] in the constant buffers array is the constant at pFirstConstant.

Out of bounds access to the constant buffers from the shader to the range that is defined by pFirstConstant and pNumConstants returns 0.

If pFirstConstant and pNumConstants arrays are null, you get the same result as if you were binding the entire buffer into view. You get this same result if you call the CSSetConstantBuffers method. If the buffer is larger than the maximum constant buffer size that is supported by shaders (4096 elements), the shader can access only the first 4096 constants.

If either pFirstConstant or pNumConstants is null, the other parameter must also be null.

-
- - hh404610 - void ID3D11DeviceContext1::CSSetConstantBuffers1([In] unsigned int StartSlot,[In] unsigned int NumBuffers,[In, Buffer, Optional] const ID3D11Buffer** ppConstantBuffers,[In, Buffer, Optional] const unsigned int* pFirstConstant,[In, Buffer, Optional] const unsigned int* pNumConstants) - ID3D11DeviceContext1::CSSetConstantBuffers1 -
- - -

Sets the constant buffers that the compute-shader stage uses.

-
-

Index into the zero-based array to begin setting constant buffers to (ranges from 0 to - 1).

-

Number of buffers to set (ranges from 0 to - StartSlot).

-

Array of constant buffers (see ) being given to the device.

-

An array that holds the offsets into the buffers that ppConstantBuffers specifies. Each offset specifies where, from the shader's point of view, each constant buffer starts. Each offset is measured in shader constants, which are 16 bytes (4*32-bit components). Therefore, an offset of 16 indicates that the start of the associated constant buffer is 256 bytes into the constant buffer. Each offset must be a multiple of 16 constants.

-

An array that holds the numbers of constants in the buffers that ppConstantBuffers specifies. Each number specifies the number of constants that are contained in the constant buffer that the shader uses. Each number of constants starts from its respective offset that is specified in the pFirstConstant array. Each number of constants must be a multiple of 16 constants, in the range [0..4096].

- -

The runtime drops the call to CSSetConstantBuffers1 if the number of constants to which pNumConstants points is larger than the maximum constant buffer size that is supported by shaders (4096 constants). The values in the elements of the pFirstConstant and pFirstConstant + pNumConstants arrays can exceed the length of each buffer; from the shader's point of view, the constant buffer is the intersection of the actual memory allocation for the buffer and the window [value in an element of pFirstConstant, value in an element of pFirstConstant + value in an element of pNumConstants]. The runtime also drops the call to CSSetConstantBuffers1 on existing drivers that don't support this offsetting.

The runtime will emulate this feature for feature level 9.1, 9.2, and 9.3; therefore, this feature is supported for feature level 9.1, 9.2, and 9.3. This feature is always available on new drivers for feature level 10 and higher.

From the shader?s point of view, element [0] in the constant buffers array is the constant at pFirstConstant.

Out of bounds access to the constant buffers from the shader to the range that is defined by pFirstConstant and pNumConstants returns 0.

If pFirstConstant and pNumConstants arrays are null, you get the same result as if you were binding the entire buffer into view. You get this same result if you call the CSSetConstantBuffers method. If the buffer is larger than the maximum constant buffer size that is supported by shaders (4096 elements), the shader can access only the first 4096 constants.

If either pFirstConstant or pNumConstants is null, the other parameter must also be null.

-
- - hh404610 - void ID3D11DeviceContext1::CSSetConstantBuffers1([In] unsigned int StartSlot,[In] unsigned int NumBuffers,[In, Buffer, Optional] const ID3D11Buffer** ppConstantBuffers,[In, Buffer, Optional] const unsigned int* pFirstConstant,[In, Buffer, Optional] const unsigned int* pNumConstants) - ID3D11DeviceContext1::CSSetConstantBuffers1 -
- - -

Gets the constant buffers that the vertex shader pipeline stage uses.

-
-

Index into the device's zero-based array to begin retrieving constant buffers from (ranges from 0 to - 1).

-

Number of buffers to retrieve (ranges from 0 to - StartSlot).

-

Array of constant buffer interface references to be returned by the method.

-

A reference to an array that receives the offsets into the buffers that ppConstantBuffers specifies. Each offset specifies where, from the shader's point of view, each constant buffer starts. Each offset is measured in shader constants, which are 16 bytes (4*32-bit components). Therefore, an offset of 2 indicates that the start of the associated constant buffer is 32 bytes into the constant buffer. The runtime sets pFirstConstant to null if the buffers do not have offsets.

-

A reference to an array that receives the numbers of constants in the buffers that ppConstantBuffers specifies. Each number specifies the number of constants that are contained in the constant buffer that the shader uses. Each number of constants starts from its respective offset that is specified in the pFirstConstant array. The runtime sets pNumConstants to null if it doesn't specify the numbers of constants in each buffer.

- -

If no buffer is bound at a slot, pFirstConstant and pNumConstants are null for that slot.

-
- - hh446793 - void ID3D11DeviceContext1::VSGetConstantBuffers1([In] unsigned int StartSlot,[In] unsigned int NumBuffers,[Out, Buffer, Optional] ID3D11Buffer** ppConstantBuffers,[Out, Buffer, Optional] unsigned int* pFirstConstant,[Out, Buffer, Optional] unsigned int* pNumConstants) - ID3D11DeviceContext1::VSGetConstantBuffers1 -
- - -

Gets the constant buffers that the hull-shader stage uses.

-
- No documentation. - No documentation. - No documentation. - No documentation. - No documentation. - -

If no buffer is bound at a slot, pFirstConstant and pNumConstants are null for that slot.

-
- - hh404641 - void ID3D11DeviceContext1::HSGetConstantBuffers1([In] unsigned int StartSlot,[In] unsigned int NumBuffers,[Out, Buffer, Optional] ID3D11Buffer** ppConstantBuffers,[Out, Buffer, Optional] unsigned int* pFirstConstant,[Out, Buffer, Optional] unsigned int* pNumConstants) - ID3D11DeviceContext1::HSGetConstantBuffers1 -
- - -

Gets the constant buffers that the domain-shader stage uses.

-
-

Index into the device's zero-based array to begin retrieving constant buffers from (ranges from 0 to - 1).

-

Number of buffers to retrieve (ranges from 0 to - StartSlot).

-

Array of constant buffer interface references to be returned by the method.

-

A reference to an array that receives the offsets into the buffers that ppConstantBuffers specifies. Each offset specifies where, from the shader's point of view, each constant buffer starts. Each offset is measured in shader constants, which are 16 bytes (4*32-bit components). Therefore, an offset of 2 indicates that the start of the associated constant buffer is 32 bytes into the constant buffer. The runtime sets pFirstConstant to null if the buffers do not have offsets.

-

A reference to an array that receives the numbers of constants in the buffers that ppConstantBuffers specifies. Each number specifies the number of constants that are contained in the constant buffer that the shader uses. Each number of constants starts from its respective offset that is specified in the pFirstConstant array. The runtime sets pNumConstants to null if it doesn't specify the numbers of constants in each buffer.

- -

If no buffer is bound at a slot, pFirstConstant and pNumConstants are null for that slot.

-
- - hh404630 - void ID3D11DeviceContext1::DSGetConstantBuffers1([In] unsigned int StartSlot,[In] unsigned int NumBuffers,[Out, Buffer, Optional] ID3D11Buffer** ppConstantBuffers,[Out, Buffer, Optional] unsigned int* pFirstConstant,[Out, Buffer, Optional] unsigned int* pNumConstants) - ID3D11DeviceContext1::DSGetConstantBuffers1 -
- - -

Gets the constant buffers that the geometry shader pipeline stage uses.

-
-

Index into the device's zero-based array to begin retrieving constant buffers from (ranges from 0 to - 1).

-

Number of buffers to retrieve (ranges from 0 to - StartSlot).

-

Array of constant buffer interface references to be returned by the method.

-

A reference to an array that receives the offsets into the buffers that ppConstantBuffers specifies. Each offset specifies where, from the shader's point of view, each constant buffer starts. Each offset is measured in shader constants, which are 16 bytes (4*32-bit components). Therefore, an offset of 2 indicates that the start of the associated constant buffer is 32 bytes into the constant buffer. The runtime sets pFirstConstant to null if the buffers do not have offsets.

-

A reference to an array that receives the numbers of constants in the buffers that ppConstantBuffers specifies. Each number specifies the number of constants that are contained in the constant buffer that the shader uses. Each number of constants starts from its respective offset that is specified in the pFirstConstant array. The runtime sets pNumConstants to null if it doesn't specify the numbers of constants in each buffer.

- -

If no buffer is bound at a slot, pFirstConstant and pNumConstants are null for that slot.

-
- - hh404635 - void ID3D11DeviceContext1::GSGetConstantBuffers1([In] unsigned int StartSlot,[In] unsigned int NumBuffers,[Out, Buffer, Optional] ID3D11Buffer** ppConstantBuffers,[Out, Buffer, Optional] unsigned int* pFirstConstant,[Out, Buffer, Optional] unsigned int* pNumConstants) - ID3D11DeviceContext1::GSGetConstantBuffers1 -
- - -

Gets the constant buffers that the pixel shader pipeline stage uses.

-
-

Index into the device's zero-based array to begin retrieving constant buffers from (ranges from 0 to - 1).

-

Number of buffers to retrieve (ranges from 0 to - StartSlot).

-

Array of constant buffer interface references to be returned by the method.

-

A reference to an array that receives the offsets into the buffers that ppConstantBuffers specifies. Each offset specifies where, from the shader's point of view, each constant buffer starts. Each offset is measured in shader constants, which are 16 bytes (4*32-bit components). Therefore, an offset of 2 indicates that the start of the associated constant buffer is 32 bytes into the constant buffer. The runtime sets pFirstConstant to null if the buffers do not have offsets.

-

A reference to an array that receives the numbers of constants in the buffers that ppConstantBuffers specifies. Each number specifies the number of constants that are contained in the constant buffer that the shader uses. Each number of constants starts from its respective offset that is specified in the pFirstConstant array. The runtime sets pNumConstants to null if it doesn't specify the numbers of constants in each buffer.

- -

If no buffer is bound at a slot, pFirstConstant and pNumConstants are null for that slot.

-
- - hh404645 - void ID3D11DeviceContext1::PSGetConstantBuffers1([In] unsigned int StartSlot,[In] unsigned int NumBuffers,[Out, Buffer, Optional] ID3D11Buffer** ppConstantBuffers,[Out, Buffer, Optional] unsigned int* pFirstConstant,[Out, Buffer, Optional] unsigned int* pNumConstants) - ID3D11DeviceContext1::PSGetConstantBuffers1 -
- - -

Gets the constant buffers that the compute-shader stage uses.

-
-

Index into the device's zero-based array to begin retrieving constant buffers from (ranges from 0 to - 1).

-

Number of buffers to retrieve (ranges from 0 to - StartSlot).

-

Array of constant buffer interface references to be returned by the method.

-

A reference to an array that receives the offsets into the buffers that ppConstantBuffers specifies. Each offset specifies where, from the shader's point of view, each constant buffer starts. Each offset is measured in shader constants, which are 16 bytes (4*32-bit components). Therefore, an offset of 2 indicates that the start of the associated constant buffer is 32 bytes into the constant buffer. The runtime sets pFirstConstant to null if the buffers do not have offsets.

-

A reference to an array that receives the numbers of constants in the buffers that ppConstantBuffers specifies. Each number specifies the number of constants that are contained in the constant buffer that the shader uses. Each number of constants starts from its respective offset that is specified in the pFirstConstant array. The runtime sets pNumConstants to null if it doesn't specify the numbers of constants in each buffer.

- -

If no buffer is bound at a slot, pFirstConstant and pNumConstants are null for that slot.

-
- - hh404607 - void ID3D11DeviceContext1::CSGetConstantBuffers1([In] unsigned int StartSlot,[In] unsigned int NumBuffers,[Out, Buffer, Optional] ID3D11Buffer** ppConstantBuffers,[Out, Buffer, Optional] unsigned int* pFirstConstant,[Out, Buffer, Optional] unsigned int* pNumConstants) - ID3D11DeviceContext1::CSGetConstantBuffers1 -
- - -

Activates the given context state object and changes the current device behavior to Direct3D?11, Direct3D?10.1, or Direct3D?10.

-
-

A reference to the interface for the context state object that was previously created through the method. If SwapDeviceContextState is called with pState set to null, the call has no effect.

-

A reference to a variable that receives a reference to the interface for the previously-activated context state object.

- -

SwapDeviceContextState changes device behavior. This device behavior depends on the emulated interface that you passed to the EmulatedInterface parameter of the method when you created the context state object.

SwapDeviceContextState is not supported on a deferred context.

SwapDeviceContextState disables the incompatible device interfaces ID3D10Device, ID3D10Device1, , and . When a context state object is active, the runtime disables certain methods on the device and context interfaces. A context state object that is created with __uuidof() or __uuidof() turns off most of the Direct3D?10 device interfaces. A context state object that is created with __uuidof(ID3D10Device1) or __uuidof(ID3D10Device) turns off most of the methods. - For more information about this behavior, see .

SwapDeviceContextState activates the context state object specified by pState. This means that the device behaviors that are associated with the context state object's feature level and compatible interface are activated on the Direct3D device until the next call to SwapDeviceContextState. In addition, any state that was saved when this context state object was last active is now reactivated, so that the previous state is replaced.

SwapDeviceContextState sets ppPreviousState to the most recently activated context state object. The object allows the caller to save and then later restore the previous device state. This behavior is useful in a plug-in architecture such as Direct2D that shares a Direct3D device with its plug-ins. A Direct2D interface can use context state objects to save and restore the application's state.

If the caller did not previously call the method to create a previous context state object, SwapDeviceContextState sets ppPreviousState to the default context state object. In either case, usage of SwapDeviceContextState is the same.

The feature level that is specified by the application, and that is chosen by the context state object from the acceptable list that the application supplies to , controls the feature level of the immediate context whenever the context state object is active. Because the Direct3D?11 device is free-threaded, the device methods cannot query the current immediate context feature level. Instead, the device runs at a feature level that is the maximum of all previously created context state objects' feature levels. This means that the device's feature level can increase dynamically.

The feature level of the context state object controls the functionality available from the immediate context. However, to maintain the free-threaded contract of the Direct3D?11 device methods?the resource-creation methods in particular?the upper-bound feature level of all created context state objects controls the set of resources that the device creates.

Because the context state object interface is published by the immediate context, the interface requires the same threading model as the immediate context. Specifically, SwapDeviceContextState is single-threaded with respect to the other immediate context methods and with respect to the equivalent methods of ID3D10Device.

Crucially, because only one of the Direct3D?10 or Direct3D?11 ref-count behaviors can be available at a time, one of the Direct3D?10 and Direct3D?11 interfaces must break its ref-count contract. To avoid this situation, the activation of a context state object turns off the incompatible version interface. Also, if you call a method of an incompatible version interface, the call silently fails if the method has return type void, returns an value of E_INVALIDARG, or sets any out parameter to null.

When you switch from Direct3D?11 mode to either Direct3D?10 mode or Direct3D?10.1 mode, the binding behavior of the device changes. Specifically, the final release of a resource induces unbind in Direct3D?10 mode or Direct3D?10.1 mode. During final release an application releases all of the resource's references, including indirect references such as the linkage from view to resource, and the linkage from context state object to any of the context state object's bound resources. Any bound resource to which the application has no reference is unbound and destroyed, in order to maintain the Direct3D?10 behavior.

SwapDeviceContextState does not affect any state that sets.

Command lists that are generated by deferred contexts do not hold a reference to context state objects and are not affected by future updates to context state objects.

No asynchronous objects are affected by SwapDeviceContextState. For example, if a query is active before a call to SwapDeviceContextState, it is still active after the call.

-
- - hh446787 - void ID3D11DeviceContext1::SwapDeviceContextState([In] ID3DDeviceContextState* pState,[Out, Optional] ID3DDeviceContextState** ppPreviousState) - ID3D11DeviceContext1::SwapDeviceContextState -
- - -

Sets all the elements in a resource view to one value.

-
-

A reference to the interface that represents the resource view to clear.

-

A 4-component array that represents the color to use to clear the resource view.

-

An array of D3D11_RECT structures for the rectangles in the resource view to clear. If null, ClearView clears the entire surface.

-

Number of rectangles in the array that the pRect parameter specifies.

- -

ClearView works only on render-target views (RTVs), depth/stencil views (DSVs) on depth-only resources (resources with no stencil component), unordered-access views (UAVs), or any video view of a Texture2D surface. The runtime drops invalid calls. Empty rectangles in the pRect array are a no-op. A rectangle is empty if the top value equals the bottom value or the left value equals the right value.

ClearView doesn?t support 3D textures.

ClearView applies the same color value to all array slices in a view; all rectangles in the pRect array correspond to each array slice. The pRect array of rectangles is a set of areas to clear on a single surface. If the view is an array, ClearView clears all the rectangles on each array slice individually.

When you apply rectangles to buffers, set the top value to 0 and the bottom value to 1 and set the left value and right value to describe the extent within the buffer. When the top value equals the bottom value or the left value equals the right value, the rectangle is empty and a no-op is achieved.

The driver converts and clamps color values to the destination format as appropriate per Direct3D conversion rules. For example, if the format of the view is , the driver clamps inputs to 0.0f to 1.0f (+INF -> 1.0f (0XFF)/NaN -> 0.0f).

If the format is integer, such as , the runtime interprets inputs as integral floats. Therefore, 235.0f maps to 235 (rounds to zero, out of range/INF values clamp to target range, and NaN to 0).

Here are the color mappings:

  • Color[0]: R (or Y for video)
  • Color[1]: G (or U/Cb for video)
  • Color[2]: B (or V/Cr for video)
  • Color[3]: A

For video views with YUV or YCbBr formats, ClearView doesn't convert color values. In situations where the format name doesn?t indicate _UNORM, _UINT, and so on, ClearView assumes _UINT. Therefore, 235.0f maps to 235 (rounds to zero, out of range/INF values clamp to target range, and NaN to 0).

-
- - hh404601 - void ID3D11DeviceContext1::ClearView([In] ID3D11View* pView,[In] const SHARPDX_COLOR4* Color,[In, Buffer, Optional] const RECT* pRect,[In] unsigned int NumRects) - ID3D11DeviceContext1::ClearView -
- - -

Discards the specified elements in a resource view from the device context.

-
-

A reference to the interface for the resource view to discard. The resource that underlies the view must have been created with usage or , otherwise the runtime drops the call to DiscardView1; if the debug layer is enabled, the runtime returns an error message.

-

An array of D3D11_RECT structures for the rectangles in the resource view to discard. If null, DiscardView1 discards the entire view and behaves the same as DiscardView.

-

Number of rectangles in the array that the pRects parameter specifies.

- -

DiscardView1 informs the graphics processing unit (GPU) that the existing content in the specified elements in the resource view that pResourceView points to is no longer needed. The view can be an SRV, RTV, UAV, or DSV. DiscardView1 is a variation on the DiscardResource method. DiscardView1 allows you to discard elements of a subset of a resource that is in a view (such as elements of a single miplevel). More importantly, DiscardView1 provides a convenience because often views are what are being bound and unbound at the pipeline. Some pipeline bindings do not have views, such as stream output. In that situation, DiscardResource can do the job for any resource.

-
- - jj247573 - void ID3D11DeviceContext1::DiscardView1([In] ID3D11View* pResourceView,[In, Buffer, Optional] const RECT* pRects,[In] unsigned int NumRects) - ID3D11DeviceContext1::DiscardView1 -
- - -

The device context interface represents a device context; it is used to render commands. adds new methods to those in .

-
- - dn280498 - ID3D11DeviceContext2 - ID3D11DeviceContext2 -
- - - Initializes a new deferred context 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. - - - - -

Allows apps to determine when either a capture or profiling request is enabled.

-
- -

Returns TRUE if the capture tool is present and capturing or the app is being profiled such that SetMarkerInt or BeginEventInt will be logged to ETW. Otherwise, it returns . Apps can use this to turn off self-throttling mechanisms in order to accurately capture what is currently being seen as app output. Apps can also avoid generating event markers and the associated overhead it may entail when there is no benefit to do so.

If apps detect that capture is being performed, they can prevent the Direct3D debugging tools, such as Microsoft Visual Studio?2013, from capturing them. The purpose of the flag prior to Windows?8.1 was to allow the Direct3D runtime to prevent debugging tools from capturing apps.

-
- - dn280504 - IsAnnotationEnabled - IsAnnotationEnabled - BOOL ID3D11DeviceContext2::IsAnnotationEnabled() -
- - -

Updates mappings of tile locations in tiled resources to memory locations in a tile pool.

-
-

A reference to the tiled resource.

-

The number of tiled resource regions.

-

An array of structures that describe the starting coordinates of the tiled resource regions. The NumTiledResourceRegions parameter specifies the number of structures in the array.

-

An array of structures that describe the sizes of the tiled resource regions. The NumTiledResourceRegions parameter specifies the number of structures in the array.

-

A reference to the tile pool.

-

The number of tile-pool ranges.

-

An array of values that describe each tile-pool range. The NumRanges parameter specifies the number of values in the array.

-

An array of offsets into the tile pool. These are 0-based tile offsets, counting in tiles (not bytes).

-

An array of tiles.

An array of values that specify the number of tiles in each tile-pool range. The NumRanges parameter specifies the number of values in the array.

-

A combination of D3D11_TILE_MAPPING_FLAGS values that are combined by using a bitwise OR operation.

-

Returns if successful; otherwise, returns one of the following:

  • Returns E_INVALIDARG if various conditions such as invalid flags result in the call being dropped.

    The debug layer will emit an error.

  • Returns E_OUTOFMEMORY if the call results in the driver having to allocate space for new page table mappings but running out of memory.

    If out of memory occurs when this is called in a commandlist and the commandlist is being executed, the device will be removed. Apps can avoid this situation by only doing update calls that change existing mappings from tiled resources within commandlists (so drivers will not have to allocate page table memory, only change the mapping).

  • Returns if the video card has been physically removed from the system, or a driver upgrade for the video card has occurred.
- -

In a single call to UpdateTileMappings, you can map one or more ranges of resource tiles to one or more ranges of tile-pool tiles.

You can organize the parameters of UpdateTileMappings in these ways to perform an update:

  • Tiled resource whose mappings are updated. This is a resource that was created with the flag. Mappings start off all null when a resource is initially created.
  • Set of tile regions on the tiled resource whose mappings are updated. You can make one UpdateTileMappings call to update many mappings or multiple calls with a bit more API call overhead as well if that is more convenient. NumTiledResourceRegions specifies how many regions there are, pTiledResourceRegionStartCoordinates and pTiledResourceRegionSizes are each arrays that identify the start location and extend of each region. If NumTiledResourceRegions is 1, for convenience either or both of the arrays that describe the regions can be null. null for pTiledResourceRegionStartCoordinates means the start coordinate is all 0s, and null for pTiledResourceRegionSizes identifies a default region that is the full set of tiles for the entire tiled resource, including all mipmaps, array slices, or both.

    If pTiledResourceRegionStartCoordinates isn't null and pTiledResourceRegionSizes is null, the region size defaults to 1 tile for all regions. This makes it easy to define mappings for a set of individual tiles each at disparate locations by providing an array of locations in pTiledResourceRegionStartCoordinates without having to send an array of pTiledResourceRegionSizes all set to 1.

    The updates are applied from first region to last; so, if regions overlap in a single call, the updates later in the list overwrite the areas that overlap with previous updates.

  • Tile pool that provides memory where tile mappings can go. A tiled resource can point to a single tile pool at a time. If a new tile pool is specified (for the first time or different from the last time a tile pool was specified), all existing tile mappings for the tiled resource are cleared and the new set of mappings in the current UpdateTileMappings call are applied for the new tile pool. If no tile pool is specified (null) or the same tile pool as a previous UpdateTileMappings call is provided, the UpdateTileMappings call just adds the new mappings to existing ones (overwriting on overlap). If UpdateTileMappings only defines null mappings, you don't need to specify a tile pool because it is irrelevant. But if you specify a tile pool anyway, it takes the same behavior as previously described when providing a tile pool.
  • Set of tile ranges where mappings are going. Each given tile range can specify one of a few types of ranges: a range of tiles in a tile pool (default), a count of tiles in the tiled resource to map to a single tile in a tile pool (sharing the tile), a count of tile mappings in the tiled resource to skip and leave as they are, or a count of tiles in the tile pool to map to null.

    NumRanges specifies the number of tile ranges, where the total tiles identified across all ranges must match the total number of tiles in the tile regions from the previously described tiled resource. Mappings are defined by iterating through the tiles in the tile regions in sequential order - x then y then z order for box regions - while walking through the set of tile ranges in sequential order. The breakdown of tile regions doesn't have to line up with the breakdown of tile ranges, but the total number of tiles on both sides must be equal so that each tiled resource tile specified has a mapping specified.

    pRangeFlags, pTilePoolStartOffsets, and pRangeTileCounts are all arrays, of size NumRanges, that describe the tile ranges. If pRangeFlags is null, all ranges are sequential tiles in the tile pool; otherwise, for each range i, pRangeFlags[i] identifies how the mappings in that range of tiles work:

    • If pRangeFlags[i] is 0, that range defines sequential tiles in the tile pool, with the number of tiles being pRangeTileCounts[i] and the starting location pTilePoolStartOffsets[i]. If NumRanges is 1, pRangeTileCounts can be null and defaults to the total number of tiles specified by all the tile regions.
    • If pRangeFlags[i] is , pTilePoolStartOffsets[i] identifies the single tile in the tile pool to map to, and pRangeTileCounts[i] specifies how many tiles from the tile regions to map to that tile pool location. If NumRanges is 1, pRangeTileCounts can be null and defaults to the total number of tiles specified by all the tile regions.
    • If pRangeFlags[i] is , pRangeTileCounts[i] specifies how many tiles from the tile regions to map to null. If NumRanges is 1, pRangeTileCounts can be null and defaults to the total number of tiles specified by all the tile regions. pTilePoolStartOffsets[i] is ignored for null mappings.
    • If pRangeFlags[i] is , pRangeTileCounts[i] specifies how many tiles from the tile regions to skip over and leave existing mappings unchanged for. This can be useful if a tile region conveniently bounds an area of tile mappings to update except with some exceptions that need to be left the same as whatever they were mapped to before. pTilePoolStartOffsets[i] is ignored for SKIP mappings.
  • Flags parameter for overall options. means the caller promises that previously submitted commands to the device that may still be executing do not reference any of the tile region being updated. This allows the device to avoid having to flush previously submitted work in order to do the tile mapping update. If the app violates this promise by updating tile mappings for locations in tiled resources still being referenced by outstanding commands, undefined rendering behavior results, which includes the potential for significant slowdowns on some architectures. This is like the "no overwrite" concept that exists elsewhere in the Direct3D API, except applied to tile mapping data structure itself, which in hardware is a page table. The absence of this flag requires that tile mapping updates specified by this UpdateTileMappings call must be completed before any subsequent Direct3D command can proceed.

If tile mappings have changed on a tiled resource that the app will render via RenderTargetView or DepthStencilView, the app must clear, by using the fixed function Clear APIs, the tiles that have changed within the area being rendered (mapped or not). If an app doesn't clear in these situations, the app receives undefined values when it reads from the tiled resource. -

Note??In Direct3D 11.2, hardware can now support ClearView on depth-only formats. For more info, see .?

If an app needs to preserve existing memory contents of areas in a tiled resource where mappings have changed, the app can first save the contents where tile mappings have changed, by copying them to a temporary surface, for example using CopyTiles, issuing the required Clear, and then copying the contents back. -

Suppose a tile is mapped into multiple tiled resources at the same time and tile contents are manipulated by any means (render, copy, and so on) via one of the tiled resources. Then, if the same tile is to be rendered via any other tiled resource, the tile must be cleared first as previously described. -

For more info about tiled resources, see Tiled resources.

Here are some examples of common UpdateTileMappings cases:

-
- - dn280508 - HRESULT ID3D11DeviceContext2::UpdateTileMappings([In] ID3D11Resource* pTiledResource,[In] unsigned int NumTiledResourceRegions,[In, Buffer, Optional] const D3D11_TILED_RESOURCE_COORDINATE* pTiledResourceRegionStartCoordinates,[In, Buffer, Optional] const D3D11_TILE_REGION_SIZE* pTiledResourceRegionSizes,[In, Optional] ID3D11Buffer* pTilePool,[In] unsigned int NumRanges,[In, Buffer, Optional] const D3D11_TILE_RANGE_FLAG* pRangeFlags,[In, Buffer, Optional] const unsigned int* pTilePoolStartOffsets,[In, Buffer, Optional] const unsigned int* pRangeTileCounts,[In] D3D11_TILE_MAPPING_FLAG Flags) - ID3D11DeviceContext2::UpdateTileMappings -
- - -

Copies mappings from a source tiled resource to a destination tiled resource.

-
-

A reference to the destination tiled resource.

-

A reference to a structure that describes the starting coordinates of the destination tiled resource.

-

A reference to the source tiled resource.

-

A reference to a structure that describes the starting coordinates of the source tiled resource.

-

A reference to a structure that describes the size of the tiled region.

-

A combination of D3D11_TILE_MAPPING_FLAGS values that are combined by using a bitwise OR operation. The only valid value is , which indicates that previously submitted commands to the device that may still be executing do not reference any of the tile region being updated. The device can then avoid having to flush previously submitted work to perform the tile mapping update. If the app violates this promise by updating tile mappings for locations in tiled resources that are still being referenced by outstanding commands, undefined rendering behavior results, including the potential for significant slowdowns on some architectures. This is like the "no overwrite" concept that exists elsewhere in the Direct3D API, except applied to the tile mapping data structure itself (which in hardware is a page table). The absence of the value requires that tile mapping updates that CopyTileMappings specifies must be completed before any subsequent Direct3D command can proceed.

-

Returns if successful; otherwise, returns one of the following:

  • Returns E_INVALIDARG if various conditions such as invalid flags or passing in non Tiled Resources result in the call being dropped.

    The dest and the source regions must each entirely fit in their resource or behavior is undefined (debug layer will emit an error).

  • Returns E_OUTOFMEMORY if the call results in the driver having to allocate space for new page table mappings but running out of memory.

    If out of memory occurs when this is called in a commandlist and the commandlist is being executed, the device will be removed. Applications can avoid this situation by only doing update calls that change existing mappings from Tiled Resources within commandlists (so drivers will not have to allocate page table memory, only change the mapping).

- -

CopyTileMappings helps with tasks such as shifting mappings around within and across tiled resources, for example, scrolling tiles. The source and destination regions can overlap; the result of the copy in this situation is as if the source was saved to a temp location and then from there written to the destination.

For more info about tiled resources, see Tiled resources.

-
- - dn280500 - HRESULT ID3D11DeviceContext2::CopyTileMappings([In] ID3D11Resource* pDestTiledResource,[In] const D3D11_TILED_RESOURCE_COORDINATE* pDestRegionStartCoordinate,[In] ID3D11Resource* pSourceTiledResource,[In] const D3D11_TILED_RESOURCE_COORDINATE* pSourceRegionStartCoordinate,[In] const D3D11_TILE_REGION_SIZE* pTileRegionSize,[In] D3D11_TILE_MAPPING_FLAG Flags) - ID3D11DeviceContext2::CopyTileMappings -
- - -

Copies tiles from buffer to tiled resource or vice versa.

-
-

A reference to a tiled resource.

-

A reference to a structure that describes the starting coordinates of the tiled resource.

-

A reference to a structure that describes the size of the tiled region.

-

A reference to an that represents a default, dynamic, or staging buffer.

-

The offset in bytes into the buffer at pBuffer to start the operation.

-

A combination of -typed values that are combined by using a bitwise OR operation and that identifies how to copy tiles.

- -

CopyTiles drops write operations to unmapped areas and handles read operations from unmapped areas (except on Tier_1 tiled resources, where reading and writing unmapped areas is invalid).

If a copy operation involves writing to the same memory location multiple times because multiple locations in the destination resource are mapped to the same tile memory, the resulting write operations to multi-mapped tiles are non-deterministic and non-repeatable; that is, accesses to the tile memory happen in whatever order the hardware happens to execute the copy operation.

The tiles involved in the copy operation can't include tiles that contain packed mipmaps or results of the copy operation are undefined. To transfer data to and from mipmaps that the hardware packs into one tile, you must use the standard (that is, non-tile specific) copy and update APIs (like and ) or for the whole mipmap chain.

The memory layout of the tiles in the non-tiled buffer resource side of the copy operation is linear in memory within 64 KB tiles, which the hardware and driver swizzle and deswizzle per tile as appropriate when they transfer to and from a tiled resource. For multisample antialiasing (MSAA) surfaces, the hardware and driver traverse each pixel's samples in sample-index order before they move to the next pixel. For tiles that are partially filled on the right side (for a surface that has a width not a multiple of tile width in pixels), the pitch and stride to move down a row is the full size in bytes of the number pixels that would fit across the tile if the tile was full. So, there can be a gap between each row of pixels in memory. Mipmaps that are smaller than a tile are not packed together in the linear layout, which might seem to be a waste of memory space, but as mentioned you can't use CopyTiles or to copy to mipmaps that the hardware packs together. You can just use generic copy and update APIs (like and ) to copy small mipmaps individually. Although in the case of a generic copy API (like ), the linear memory must be the same dimension as the tiled resource; can't copy from a buffer resource to a Texture2D for instance.

For more info about tiled resources, see Tiled resources.

-
- - dn280501 - void ID3D11DeviceContext2::CopyTiles([In] ID3D11Resource* pTiledResource,[In] const D3D11_TILED_RESOURCE_COORDINATE* pTileRegionStartCoordinate,[In] const D3D11_TILE_REGION_SIZE* pTileRegionSize,[In] ID3D11Buffer* pBuffer,[In] unsigned longlong BufferStartOffsetInBytes,[In] D3D11_TILE_MAPPING_FLAG Flags) - ID3D11DeviceContext2::CopyTiles -
- - -

Updates tiles by copying from app memory to the tiled resource.

-
-

A reference to a tiled resource to update.

-

A reference to a structure that describes the starting coordinates of the tiled resource.

-

A reference to a structure that describes the size of the tiled region.

-

A reference to memory that contains the source tile data that UpdateTiles uses to update the tiled resource.

-

A combination of -typed values that are combined by using a bitwise OR operation. The only valid value is . The other values aren't meaningful here, thoughby definition the value is basically what UpdateTiles does, but sources from app memory.

- -

UpdateTiles drops write operations to unmapped areas (except on Tier_1 tiled resources, where writing to unmapped areas is invalid).

If a copy operation involves writing to the same memory location multiple times because multiple locations in the destination resource are mapped to the same tile memory, the resulting write operations to multi-mapped tiles are non-deterministic and non-repeatable; that is, accesses to the tile memory happen in whatever order the hardware happens to execute the copy operation.

The tiles involved in the copy operation can't include tiles that contain packed mipmaps or results of the copy operation are undefined. To transfer data to and from mipmaps that the hardware packs into one tile, you must use the standard (that is, non-tile specific) copy and update APIs (like and ) or for the whole mipmap chain.

The memory layout of the data on the source side of the copy operation is linear in memory within 64 KB tiles, which the hardware and driver swizzle and deswizzle per tile as appropriate when they transfer to and from a tiled resource. For multisample antialiasing (MSAA) surfaces, the hardware and driver traverse each pixel's samples in sample-index order before they move to the next pixel. For tiles that are partially filled on the right side (for a surface that has a width not a multiple of tile width in pixels), the pitch and stride to move down a row is the full size in bytes of the number pixels that would fit across the tile if the tile was full. So, there can be a gap between each row of pixels in memory. Mipmaps that are smaller than a tile are not packed together in the linear layout, which might seem to be a waste of memory space, but as mentioned you can't use or UpdateTiles to copy to mipmaps that the hardware packs together. You can just use generic copy and update APIs (like and ) to copy small mipmaps individually. Although in the case of a generic copy API (like ), the linear memory must be the same dimension as the tiled resource; can't copy from a buffer resource to a Texture2D for instance.

For more info about tiled resources, see Tiled resources.

-
- - dn280509 - void ID3D11DeviceContext2::UpdateTiles([In] ID3D11Resource* pDestTiledResource,[In] const D3D11_TILED_RESOURCE_COORDINATE* pDestTileRegionStartCoordinate,[In] const D3D11_TILE_REGION_SIZE* pDestTileRegionSize,[In] const void* pSourceTileData,[In] D3D11_TILE_MAPPING_FLAG Flags) - ID3D11DeviceContext2::UpdateTiles -
- - -

Resizes a tile pool.

-
-

A reference to an for the tile pool to resize.

-

The new size in bytes of the tile pool. The size must be a multiple of 64 KB or 0.

-

Returns if successful; otherwise, returns one of the following:

  • Returns E_INVALIDARG if the new tile pool size isn't a multiple of 64 KB or 0.
  • Returns E_OUTOFMEMORY if the call results in the driver having to allocate space for new page table mappings but running out of memory.
  • Returns if the video card has been physically removed from the system, or a driver upgrade for the video card has occurred.

For E_INVALIDARG or E_OUTOFMEMORY, the existing tile pool remains unchanged, which includes existing mappings.

- -

ResizeTilePool increases or decreases the size of the tile pool depending on whether the app needs more or less working set for the tiled resources that are mapped into it. An app can allocate additional tile pools for new tiled resources, but if any single tiled resource needs more space than initially available in its tile pool, the app can increase the size of the resource's tile pool. A tiled resource can't have mappings into multiple tile pools simultaneously.

When you increase the size of a tile pool, additional tiles are added to the end of the tile pool via one or more new allocations by the driver; your app can't detect the breakdown into the new allocations. Existing memory in the tile pool is left untouched, and existing tiled resource mappings into that memory remain intact.

When you decrease the size of a tile pool, tiles are removed from the end (this is allowed even below the initial allocation size, down to 0). This means that new mappings can't be made past the new size. But, existing mappings past the end of the new size remain intact and useable. The memory is kept active as long as mappings to any part of the allocations that are being used for the tile pool memory remains. If after decreasing, some memory has been kept active because tile mappings are pointing to it and the tile pool is increased again (by any amount), the existing memory is reused first before any additional allocations occur to service the size of the increase.

To be able to save memory, an app has to not only decrease a tile pool but also remove and remap existing mappings past the end of the new smaller tile pool size.

The act of decreasing (and removing mappings) doesn't necessarily produce immediate memory savings. Freeing of memory depends on how granular the driver's underlying allocations for the tile pool are. When a decrease in the size of a tile pool happens to be enough to make a driver allocation unused, the driver can free the allocation. If a tile pool was increased and if you then decrease to previous sizes (and remove and remap tile mappings correspondingly), you will most likely yield memory savings. But, this scenario isn't guaranteed in the case that the sizes don't exactly align with the underlying allocation sizes chosen by the driver.

For more info about tiled resources, see Tiled resources.

-
- - dn280505 - HRESULT ID3D11DeviceContext2::ResizeTilePool([In] ID3D11Buffer* pTilePool,[In] unsigned longlong NewSizeInBytes) - ID3D11DeviceContext2::ResizeTilePool -
- - -

Specifies a data access ordering constraint between multiple tiled resources. For more info about this constraint, see Remarks.

-
-

A reference to an or for a resource that was created with the flag. Access operations on this object must complete before the access operations on the object that pTiledResourceOrViewAccessAfterBarrier specifies.

-

A reference to an or for a resource that was created with the flag. Access operations on this object must begin after the access operations on the object that pTiledResourceOrViewAccessBeforeBarrier specifies.

- -

Apps can use tiled resources to reuse tiles in different resources. But, a device and driver might not be able to determine whether some memory in a tile pool that was just rendered to is now being used for reading. -

For example, an app can render to some tiles in a tile pool with one tiled resource but then read from the same tiles by using a different tiled resource. These tiled-resource operations are different from using one resource and then just switching from writing with to reading with . The runtime already tracks and handles these one resource operations using and . -

When an app transitions from accessing (reading or writing) some location in a tile pool with one resource to accessing the same memory (read or write) via another tiled resource (with mappings to the same memory), the app must call TiledResourceBarrier after the first use of the resource and before the second. The parameters are the pTiledResourceOrViewAccessBeforeBarrier for accesses before the barrier (via rendering, copying), and the pTiledResourceOrViewAccessAfterBarrier for accesses after the barrier by using the same tile pool memory. If the resources are identical, the app doesn't need to call TiledResourceBarrier because this kind of hazard is already tracked and handled. -

The barrier call informs the driver that operations issued to the resource before the call must complete before any accesses that occur after the call via a different tiled resource that shares the same memory. -

Either or both of the parameters (before or after the barrier) can be null. null before the barrier means all tiled resource accesses before the barrier must complete before the resource specified after the barrier can be referenced by the graphics processing unit (GPU). null after the barrier means that any tiled resources accessed after the barrier can only be executed by the GPU after accesses to the tiled resources before the barrier are finished. Both null means all previous tiled resource accesses are complete before any subsequent tiled resource access can proceed. -

An app can pass a view reference, a resource, or null for each parameter. Views are allowed not only for convenience but also to allow the app to scope the barrier effect to a relevant portion of a resource. -

For more info about tiled resources, see Tiled resources.

-
- - dn280507 - void ID3D11DeviceContext2::TiledResourceBarrier([In, Optional] ID3D11DeviceChild* pTiledResourceOrViewAccessBeforeBarrier,[In, Optional] ID3D11DeviceChild* pTiledResourceOrViewAccessAfterBarrier) - ID3D11DeviceContext2::TiledResourceBarrier -
- - -

Allows apps to determine when either a capture or profiling request is enabled.

-
-

Returns TRUE if capture or profiling is enabled and otherwise.

- -

Returns TRUE if the capture tool is present and capturing or the app is being profiled such that SetMarkerInt or BeginEventInt will be logged to ETW. Otherwise, it returns . Apps can use this to turn off self-throttling mechanisms in order to accurately capture what is currently being seen as app output. Apps can also avoid generating event markers and the associated overhead it may entail when there is no benefit to do so.

If apps detect that capture is being performed, they can prevent the Direct3D debugging tools, such as Microsoft Visual Studio?2013, from capturing them. The purpose of the flag prior to Windows?8.1 was to allow the Direct3D runtime to prevent debugging tools from capturing apps.

-
- - dn280504 - BOOL ID3D11DeviceContext2::IsAnnotationEnabled() - ID3D11DeviceContext2::IsAnnotationEnabled -
- - -

Allows applications to annotate graphics commands.

-
-

An optional string that will be logged to ETW when ETW logging is active. If ?#d? appears in the string, it will be replaced by the value of the Data parameter similar to the way printf works.

-

A signed data value that will be logged to ETW when ETW logging is active.

- -

SetMarkerInt allows applications to annotate graphics commands, in order to provide more context to what the GPU is executing. When ETW logging or a support tool is enabled, an additional marker is correlated between the CPU and GPU timelines. The pLabel and Data value are logged to ETW. When the appropriate ETW logging is not enabled, this method does nothing.

-
- - dn280506 - void ID3D11DeviceContext2::SetMarkerInt([In] const wchar_t* pLabel,[In] int Data) - ID3D11DeviceContext2::SetMarkerInt -
- - -

Allows applications to annotate the beginning of a range of graphics commands.

-
-

An optional string that will be logged to ETW when ETW logging is active. If ?#d? appears in the string, it will be replaced by the value of the Data parameter similar to the way printf works.

-

A signed data value that will be logged to ETW when ETW logging is active.

- -

BeginEventInt allows applications to annotate the beginning of a range of graphics commands, in order to provide more context to what the GPU is executing. When ETW logging (or a supported tool) is enabled, an additional marker is correlated between the CPU and GPU timelines. The pLabel and Data value are logged to ETW. When the appropriate ETW logging is not enabled, this method does nothing.

-
- - dn280499 - void ID3D11DeviceContext2::BeginEventInt([In] const wchar_t* pLabel,[In] int Data) - ID3D11DeviceContext2::BeginEventInt -
- - -

Allows applications to annotate the end of a range of graphics commands.

-
- -

EndEvent allows applications to annotate the end of a range of graphics commands, in order to provide more context to what the GPU is executing. When the appropriate ETW logging is not enabled, this method does nothing. When ETW logging is enabled, an additional marker is correlated between the CPU and GPU timelines.

-
- - dn280502 - void ID3D11DeviceContext2::EndEvent() - ID3D11DeviceContext2::EndEvent -
- - -

The device context interface represents a device context; it is used to render commands. adds new methods to those in .

-
- - dn912875 - ID3D11DeviceContext3 - ID3D11DeviceContext3 -
- - - Initializes a new deferred context 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. - - - - -

Gets or sets whether hardware protection is enabled.

-
- - mt158224 - GetHardwareProtectionState / SetHardwareProtectionState - GetHardwareProtectionState - void ID3D11DeviceContext3::GetHardwareProtectionState([Out] BOOL* pHwProtectionEnable) -
- - -

Sends queued-up commands in the command buffer to the graphics processing unit (GPU), with a specified context type and an optional event handle to create an event query.

-
-

A that specifies the context in which a query occurs, such as a 3D command queue, 3D compute queue, 3D copy queue, video, or image.

-

An optional event handle. When specified, this method creates an event query.

Flush1 operates asynchronously, therefore it can return either before or after the GPU finishes executing the queued graphics commands, which will eventually complete. To create an event query, you can call with the value value. To determine when the GPU is finished processing the graphics commands, you can then use that event query in a call to .

- -

Flush1 has parameters. For more information, see , which doesn't have parameters.

-
- - dn912876 - void ID3D11DeviceContext3::Flush1([In] D3D11_CONTEXT_TYPE ContextType,[In, Optional] void* hEvent) - ID3D11DeviceContext3::Flush1 -
- - -

Sets the hardware protection state.

-
-

Specifies whether to enable hardware protection.

- - mt158225 - void ID3D11DeviceContext3::SetHardwareProtectionState([In] BOOL HwProtectionEnable) - ID3D11DeviceContext3::SetHardwareProtectionState -
- - -

Gets whether hardware protection is enabled.

-
-

After this method returns, points to a that indicates whether hardware protection is enabled.

- - mt158224 - void ID3D11DeviceContext3::GetHardwareProtectionState([Out] BOOL* pHwProtectionEnable) - ID3D11DeviceContext3::GetHardwareProtectionState -
- - -

A debug interface controls debug settings, validates pipeline state and can only be used if the debug layer is turned on.

-
- -

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

For more information about the debug layer, see Debug Layer.

Windows?Phone?8: This API is supported.

-
- - ff476366 - ID3D11Debug - ID3D11Debug -
- - - Initializes a new instance of the class. - - The device. - - - - Gets or sets the feature flags that indicates which debug features are on or off. - - The feature flags. - - - - Initializes a new instance of the 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 or sets the number of milliseconds to sleep after is called.

-
- -

Value is set with .

-
- - ff476368 - GetPresentPerRenderOpDelay / SetPresentPerRenderOpDelay - GetPresentPerRenderOpDelay - unsigned int ID3D11Debug::GetPresentPerRenderOpDelay() -
- - -

Get or sets the swap chain that the runtime will use for automatically calling .

-
- -

The swap chain retrieved by this method will only be used if is set in the feature mask.

-
- - ff476369 - GetSwapChain / SetSwapChain - GetSwapChain - HRESULT ID3D11Debug::GetSwapChain([Out] IDXGISwapChain** ppSwapChain) -
- - -

Set a bit field of flags that will turn debug features on and off.

-
-

A combination of feature-mask flags that are combined by using a bitwise OR operation. If a flag is present, that feature will be set to on, otherwise the feature will be set to off. For descriptions of the feature-mask flags, see Remarks.

-

This method returns one of the Direct3D 11 Return Codes.

- - Note??If you call this API in a Session 0 process, it returns .?

Setting one of the following feature-mask flags will cause a rendering-operation method (listed below) to do some extra task when called.

(0x2)Application will wait for the GPU to finish processing the rendering operation before continuing.
(0x1)Runtime will additionally call .
(0x4)Runtime will call . Presentation of render buffers will occur according to the settings established by prior calls to and .

?

These feature-mask flags apply to the following rendering-operation methods:

By setting one of the following feature-mask flags, you can control the behavior of the and methods to aid in testing and debugging.

Note??These flags are supported by the Direct3D 11.1 runtime, which is available starting with Windows?8.?
(0x8)When you call to offer resources while this flag is enabled, their content is always discarded. Use this flag to test code paths that regenerate resource content on reclaim. You cannot use this flag in combination with .
(0x10)When you call to offer resources while this flag is enabled, their content is never discarded. Use this flag to test code paths that do not need to regenerate resource content on reclaim. You cannot use this flag in combination with .

?

The behavior of the and methods depends on system-wide memory pressure. Therefore, the scenario where content is lost and must be regenerated is uncommon for most applications. The preceding new options in the Direct3D debug layer let you simulate that scenario consistently and test code paths.

The following flag is supported by the Direct3D 11.1 runtime.

(0x40)Disables the following default debugging behavior.

?

When the debug layer is enabled, it performs certain actions to reveal application problems. By setting the feature-mask flag, you can enable the debug layer without getting the following default debugging behavior:

  • If an application calls , the runtime fills in the resource with a random color.
  • If an application calls with partial presentation parameters, the runtime ignores the partial presentation information.

The following flag is supported by the Direct3D 11.2 runtime.

(0x80)Disables the following default debugging behavior.

?

By default (that is, without set), the debug layer validates the proper usage of all tile mappings for tiled resources for bound resources for every operation performed on the device context (for example, draw, copy, and so on). Depending on the size of the tiled resources used (if any), this validation can be processor intensive and slow. Apps might want to initially run with tiled resource tile mapping validation on; then, when they determine that the calling pattern is safe, they can disable the validation by setting .

If is set when a tiled resource is created, the debug layer never performs the tracking of tile mapping for that resource for its entire lifetime. Alternatively, if is set for any given device context method call (like draw or copy calls) involving tiled resources, the debug layer skips all tile mapping validation for the call.

-
- - ff476371 - HRESULT ID3D11Debug::SetFeatureMask([In] unsigned int Mask) - ID3D11Debug::SetFeatureMask -
- - -

Get a bitfield of flags that indicates which debug features are on or off.

-
-

Mask of feature-mask flags bitwise ORed together. If a flag is present, then that feature will be set to on, otherwise the feature will be set to off. See for a list of possible feature-mask flags.

- - ff476367 - unsigned int ID3D11Debug::GetFeatureMask() - ID3D11Debug::GetFeatureMask -
- - -

Set the number of milliseconds to sleep after is called.

-
- No documentation. -

This method returns one of the following Direct3D 11 Return Codes.

- - Note??If you call this API in a Session 0 process, it returns .?

The application will only sleep if is a set in the feature mask. If that flag is not set the number of milliseconds is set but ignored and the application does not sleep. 10ms is used as a default value if this method is never called.

-
- - ff476372 - HRESULT ID3D11Debug::SetPresentPerRenderOpDelay([In] unsigned int Milliseconds) - ID3D11Debug::SetPresentPerRenderOpDelay -
- - -

Get the number of milliseconds to sleep after is called.

-
-

Number of milliseconds to sleep after Present is called.

- -

Value is set with .

-
- - ff476368 - unsigned int ID3D11Debug::GetPresentPerRenderOpDelay() - ID3D11Debug::GetPresentPerRenderOpDelay -
- - -

Sets a swap chain that the runtime will use for automatically calling .

-
- No documentation. -

This method returns one of the following Direct3D 11 Return Codes.

- - Note??If you call this API in a Session 0 process, it returns .?

The swap chain set by this method will only be used if is set in the feature mask.

-
- - ff476373 - HRESULT ID3D11Debug::SetSwapChain([In, Optional] IDXGISwapChain* pSwapChain) - ID3D11Debug::SetSwapChain -
- - -

Get the swap chain that the runtime will use for automatically calling .

-
- No documentation. -

This method returns one of the following Direct3D 11 Return Codes.

- -

The swap chain retrieved by this method will only be used if is set in the feature mask.

-
- - ff476369 - HRESULT ID3D11Debug::GetSwapChain([Out] IDXGISwapChain** ppSwapChain) - ID3D11Debug::GetSwapChain -
- - -

Check to see if the draw pipeline state is valid.

-
-

A reference to the , that represents a device context.

-

This method returns one of the following Direct3D 11 Return Codes.

- -

Use validate prior to calling a draw method (for example, ); validation requires the debug layer.

-
- - ff476374 - HRESULT ID3D11Debug::ValidateContext([In] ID3D11DeviceContext* pContext) - ID3D11Debug::ValidateContext -
- - -

Report information about a device object's lifetime.

-
-

A value from the enumeration.

-

This method returns one of the following Direct3D 11 Return Codes.

- -

ReportLiveDeviceObjects uses the value in Flags to determine the amount of information to report about a device object's lifetime.

-
- - ff476370 - HRESULT ID3D11Debug::ReportLiveDeviceObjects([In] D3D11_RLDO_FLAGS Flags) - ID3D11Debug::ReportLiveDeviceObjects -
- - -

Verifies whether the dispatch pipeline state is valid.

-
-

A reference to the that represents a device context.

-

This method returns one of the return codes described in the topic Direct3D 11 Return Codes.

- -

Use this method before you call a dispatch method (for example, ). Validation requires the debug layer.

-
- - ff728740 - HRESULT ID3D11Debug::ValidateContextForDispatch([In] ID3D11DeviceContext* pContext) - ID3D11Debug::ValidateContextForDispatch -
- - -

A domain-shader interface manages an executable program (a domain shader) that controls the domain-shader stage.

-
- -

The domain-shader interface has no methods; use HLSL to implement your shader functionality. All shaders are implemented from a common set of features referred to as the common-shader core..

To create a domain-shader interface, call . Before using a domain shader you must bind it to the device by calling .

This interface is defined in D3D11.h.

-
- - ff476535 - ID3D11DomainShader - ID3D11DomainShader -
- - - Initializes a new instance of the class. - - The device used to create the shader. - The compiled shader bytecode. - A dynamic class linkage interface. - - - - Initializes a new instance of the 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 device context interface represents a device context; it is used to render commands. adds new methods to those in .

-
- - hh404598 - ID3D11Fence - ID3D11Fence -
- - - Constructs a new - - The device with which to associate the state object. - The initial value for the fence. - A combination of FenceFlags values that are combined by using a bitwise OR operation. The resulting value specifies options for the fence. - The newly created 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. - - - - - No documentation. - - - GetCompletedValue - GetCompletedValue - unsigned longlong ID3D11Fence::GetCompletedValue() - - - - No documentation. - - No documentation. - No documentation. - No documentation. - No documentation. - - HRESULT ID3D11Fence::CreateSharedHandle([In, Optional] const SECURITY_ATTRIBUTES* pAttributes,[In] unsigned int dwAccess,[In, Optional] const wchar_t* lpName,[Out] void** pHandle) - ID3D11Fence::CreateSharedHandle - - - - No documentation. - - No documentation. - - unsigned longlong ID3D11Fence::GetCompletedValue() - ID3D11Fence::GetCompletedValue - - - - No documentation. - - No documentation. - No documentation. - No documentation. - - HRESULT ID3D11Fence::SetEventOnCompletion([In] unsigned longlong Value,[In] void* hEvent) - ID3D11Fence::SetEventOnCompletion - - - -

Optional flags that control the behavior of .

-
- - ff476084 - D3D11_ASYNC_GETDATA_FLAG - D3D11_ASYNC_GETDATA_FLAG -
- - - No documentation. - - - ff476084 - D3D11_ASYNC_GETDATA_DONOTFLUSH - D3D11_ASYNC_GETDATA_DONOTFLUSH - - - - None. - - - None - None - - - -

Specifies the type of Microsoft Direct3D authenticated channel.

-
- - hh447599 - D3D11_AUTHENTICATED_CHANNEL_TYPE - D3D11_AUTHENTICATED_CHANNEL_TYPE -
- - -

Direct3D?11 channel. This channel provides communication with the Direct3D runtime.

-
- - hh447599 - D3D11_AUTHENTICATED_CHANNEL_D3D11 - D3D11_AUTHENTICATED_CHANNEL_D3D11 -
- - -

Software driver channel. This channel provides communication with a driver that implements content protection mechanisms in software.

-
- - hh447599 - D3D11_AUTHENTICATED_CHANNEL_DRIVER_SOFTWARE - D3D11_AUTHENTICATED_CHANNEL_DRIVER_SOFTWARE -
- - -

Hardware driver channel. This channel provides communication with a driver that implements content protection mechanisms in the GPU hardware.

-
- - hh447599 - D3D11_AUTHENTICATED_CHANNEL_DRIVER_HARDWARE - D3D11_AUTHENTICATED_CHANNEL_DRIVER_HARDWARE -
- - -

Specifies the type of process that is identified in the structure.

-
- - hh447606 - D3D11_AUTHENTICATED_PROCESS_IDENTIFIER_TYPE - D3D11_AUTHENTICATED_PROCESS_IDENTIFIER_TYPE -
- - - No documentation. - - - hh447606 - D3D11_PROCESSIDTYPE_UNKNOWN - D3D11_PROCESSIDTYPE_UNKNOWN - - - - No documentation. - - - hh447606 - D3D11_PROCESSIDTYPE_DWM - D3D11_PROCESSIDTYPE_DWM - - - - No documentation. - - - hh447606 - D3D11_PROCESSIDTYPE_HANDLE - D3D11_PROCESSIDTYPE_HANDLE - - - -

Identifies how to bind a resource to the pipeline.

-
- -

In general, binding flags can be combined using a logical OR (except the constant-buffer flag); however, you should use a single flag to allow the device to optimize the resource usage.

This enumeration is used by a:

  • Buffer description when creating a buffer.
  • Texture description when creating a texture (see or or ).

A shader-resource buffer is NOT a constant buffer; rather, it is a texture or buffer resource that is bound to a shader, that contains texture or buffer data (it is not limited to a single element type in the buffer). A shader-resource buffer is created with the flag and is bound to the pipeline using one of these APIs: , , or . Furthermore, a shader-resource buffer cannot use the flag.

Note??The Direct3D 11.1 runtime, which is available starting with Windows?8, enables mapping dynamic constant buffers and shader resource views (SRVs) of dynamic buffers with . The Direct3D 11 and earlier runtimes limited mapping to vertex or index buffers. To determine if a Direct3D device supports these features, call with . CheckFeatureSupport fills members of a structure with the device's features. The relevant members here are MapNoOverwriteOnDynamicConstantBuffer and MapNoOverwriteOnDynamicBufferSRV.? -
- - ff476085 - D3D11_BIND_FLAG - D3D11_BIND_FLAG -
- - -

Bind a buffer as a vertex buffer to the input-assembler stage.

-
- - ff476085 - D3D11_BIND_VERTEX_BUFFER - D3D11_BIND_VERTEX_BUFFER -
- - -

Bind a buffer as an index buffer to the input-assembler stage.

-
- - ff476085 - D3D11_BIND_INDEX_BUFFER - D3D11_BIND_INDEX_BUFFER -
- - -

Bind a buffer as a constant buffer to a shader stage; this flag may NOT be combined with any other bind flag.

-
- - ff476085 - D3D11_BIND_CONSTANT_BUFFER - D3D11_BIND_CONSTANT_BUFFER -
- - -

Bind a buffer or texture to a shader stage; this flag cannot be used with the flag.

Note??The Direct3D 11.1 runtime, which is available starting with Windows?8, enables mapping dynamic constant buffers and shader resource views (SRVs) of dynamic buffers with . The Direct3D 11 and earlier runtimes limited mapping to vertex or index buffers. To determine if a Direct3D device supports these features, call with . CheckFeatureSupport fills members of a structure with the device's features. The relevant members here are MapNoOverwriteOnDynamicConstantBuffer and MapNoOverwriteOnDynamicBufferSRV. ?
-
- - ff476085 - D3D11_BIND_SHADER_RESOURCE - D3D11_BIND_SHADER_RESOURCE -
- - -

Bind an output buffer for the stream-output stage.

-
- - ff476085 - D3D11_BIND_STREAM_OUTPUT - D3D11_BIND_STREAM_OUTPUT -
- - -

Bind a texture as a render target for the output-merger stage.

-
- - ff476085 - D3D11_BIND_RENDER_TARGET - D3D11_BIND_RENDER_TARGET -
- - -

Bind a texture as a depth-stencil target for the output-merger stage.

-
- - ff476085 - D3D11_BIND_DEPTH_STENCIL - D3D11_BIND_DEPTH_STENCIL -
- - -

Bind an unordered access resource.

-
- - ff476085 - D3D11_BIND_UNORDERED_ACCESS - D3D11_BIND_UNORDERED_ACCESS -
- - -

Set this flag to indicate that a 2D texture is used to receive output from the decoder API. The common way to create resources for a decoder output is by calling the method to create an array of 2D textures. However, you cannot use texture arrays that are created with this flag in calls to .

Direct3D 11:??This value is not supported until Direct3D 11.1.

-
- - ff476085 - D3D11_BIND_DECODER - D3D11_BIND_DECODER -
- - -

Set this flag to indicate that a 2D texture is used to receive input from the video encoder API. The common way to create resources for a video encoder is by calling the method to create an array of 2D textures. However, you cannot use texture arrays that are created with this flag in calls to .

Direct3D 11:??This value is not supported until Direct3D 11.1.

-
- - ff476085 - D3D11_BIND_VIDEO_ENCODER - D3D11_BIND_VIDEO_ENCODER -
- - - None. - - - None - None - - - -

RGB or alpha blending operation.

-
- -

The runtime implements RGB blending and alpha blending separately. Therefore, blend state requires separate blend operations for RGB data and alpha data. These blend operations are specified in a blend description. The two sources ?source 1 and source 2? are shown in the blending block diagram.

Blend state is used by the output-merger stage to determine how to blend together two RGB pixel values and two alpha values. The two RGB pixel values and two alpha values are the RGB pixel value and alpha value that the pixel shader outputs and the RGB pixel value and alpha value already in the output render target. The blend option controls the data source that the blending stage uses to modulate values for the pixel shader, render target, or both. The blend operation controls how the blending stage mathematically combines these modulated values.

-
- - ff476088 - D3D11_BLEND_OP - D3D11_BLEND_OP -
- - -

Add source 1 and source 2.

-
- - ff476088 - D3D11_BLEND_OP_ADD - D3D11_BLEND_OP_ADD -
- - -

Subtract source 1 from source 2.

-
- - ff476088 - D3D11_BLEND_OP_SUBTRACT - D3D11_BLEND_OP_SUBTRACT -
- - -

Subtract source 2 from source 1.

-
- - ff476088 - D3D11_BLEND_OP_REV_SUBTRACT - D3D11_BLEND_OP_REV_SUBTRACT -
- - -

Find the minimum of source 1 and source 2.

-
- - ff476088 - D3D11_BLEND_OP_MIN - D3D11_BLEND_OP_MIN -
- - -

Find the maximum of source 1 and source 2.

-
- - ff476088 - D3D11_BLEND_OP_MAX - D3D11_BLEND_OP_MAX -
- - -

Blend factors, which modulate values for the pixel shader and render target.

-
- -

Blend operations are specified in a blend description.

-
- - ff476086 - D3D11_BLEND - D3D11_BLEND -
- - -

The blend factor is (0, 0, 0, 0). No pre-blend operation.

-
- - ff476086 - D3D11_BLEND_ZERO - D3D11_BLEND_ZERO -
- - -

The blend factor is (1, 1, 1, 1). No pre-blend operation.

-
- - ff476086 - D3D11_BLEND_ONE - D3D11_BLEND_ONE -
- - -

The blend factor is (R?, G?, B?, A?), that is color data (RGB) from a pixel shader. No pre-blend operation.

-
- - ff476086 - D3D11_BLEND_SRC_COLOR - D3D11_BLEND_SRC_COLOR -
- - -

The blend factor is (1 - R?, 1 - G?, 1 - B?, 1 - A?), that is color data (RGB) from a pixel shader. The pre-blend operation inverts the data, generating 1 - RGB.

-
- - ff476086 - D3D11_BLEND_INV_SRC_COLOR - D3D11_BLEND_INV_SRC_COLOR -
- - -

The blend factor is (A?, A?, A?, A?), that is alpha data (A) from a pixel shader. No pre-blend operation.

-
- - ff476086 - D3D11_BLEND_SRC_ALPHA - D3D11_BLEND_SRC_ALPHA -
- - -

The blend factor is ( 1 - A?, 1 - A?, 1 - A?, 1 - A?), that is alpha data (A) from a pixel shader. The pre-blend operation inverts the data, generating 1 - A.

-
- - ff476086 - D3D11_BLEND_INV_SRC_ALPHA - D3D11_BLEND_INV_SRC_ALPHA -
- - -

The blend factor is (Ad Ad Ad Ad), that is alpha data from a render target. No pre-blend operation.

-
- - ff476086 - D3D11_BLEND_DEST_ALPHA - D3D11_BLEND_DEST_ALPHA -
- - -

The blend factor is (1 - Ad 1 - Ad 1 - Ad 1 - Ad), that is alpha data from a render target. The pre-blend operation inverts the data, generating 1 - A.

-
- - ff476086 - D3D11_BLEND_INV_DEST_ALPHA - D3D11_BLEND_INV_DEST_ALPHA -
- - -

The blend factor is (Rd, Gd, Bd, Ad), that is color data from a render target. No pre-blend operation.

-
- - ff476086 - D3D11_BLEND_DEST_COLOR - D3D11_BLEND_DEST_COLOR -
- - -

The blend factor is (1 - Rd, 1 - Gd, 1 - Bd, 1 - Ad), that is color data from a render target. The pre-blend operation inverts the data, generating 1 - RGB.

-
- - ff476086 - D3D11_BLEND_INV_DEST_COLOR - D3D11_BLEND_INV_DEST_COLOR -
- - -

The blend factor is (f, f, f, 1); where f = min(A?, 1 - Ad). The pre-blend operation clamps the data to 1 or less. -

-
- - ff476086 - D3D11_BLEND_SRC_ALPHA_SAT - D3D11_BLEND_SRC_ALPHA_SAT -
- - -

The blend factor is the blend factor set with . No pre-blend operation.

-
- - ff476086 - D3D11_BLEND_BLEND_FACTOR - D3D11_BLEND_BLEND_FACTOR -
- - -

The blend factor is the blend factor set with . The pre-blend operation inverts the blend factor, generating 1 - blend_factor.

-
- - ff476086 - D3D11_BLEND_INV_BLEND_FACTOR - D3D11_BLEND_INV_BLEND_FACTOR -
- - -

The blend factor is data sources both as color data output by a pixel shader. There is no pre-blend operation. This blend factor supports dual-source color blending.

-
- - ff476086 - D3D11_BLEND_SRC1_COLOR - D3D11_BLEND_SRC1_COLOR -
- - -

The blend factor is data sources both as color data output by a pixel shader. The pre-blend operation inverts the data, generating 1 - RGB. This blend factor supports dual-source color blending.

-
- - ff476086 - D3D11_BLEND_INV_SRC1_COLOR - D3D11_BLEND_INV_SRC1_COLOR -
- - -

The blend factor is data sources as alpha data output by a pixel shader. There is no pre-blend operation. This blend factor supports dual-source color blending.

-
- - ff476086 - D3D11_BLEND_SRC1_ALPHA - D3D11_BLEND_SRC1_ALPHA -
- - -

The blend factor is data sources as alpha data output by a pixel shader. The pre-blend operation inverts the data, generating 1 - A. This blend factor supports dual-source color blending.

-
- - ff476086 - D3D11_BLEND_INV_SRC1_ALPHA - D3D11_BLEND_INV_SRC1_ALPHA -
- - -

Specifies the type of I/O bus that is used by the graphics adapter.

-
- - hh447628 - D3D11_BUS_TYPE - D3D11_BUS_TYPE -
- - -

Indicates a type of bus other than the types listed here. -

-
- - hh447628 - D3D11_BUS_TYPE_OTHER - D3D11_BUS_TYPE_OTHER -
- - -

PCI bus. -

-
- - hh447628 - D3D11_BUS_TYPE_PCI - D3D11_BUS_TYPE_PCI -
- - -

PCI-X bus. -

-
- - hh447628 - D3D11_BUS_TYPE_PCIX - D3D11_BUS_TYPE_PCIX -
- - -

PCI Express bus. -

-
- - hh447628 - D3D11_BUS_TYPE_PCIEXPRESS - D3D11_BUS_TYPE_PCIEXPRESS -
- - -

Accelerated Graphics Port (AGP) bus. -

-
- - hh447628 - D3D11_BUS_TYPE_AGP - D3D11_BUS_TYPE_AGP -
- - -

The implementation for the graphics adapter is in a motherboard chipset's north bridge. This flag implies that data never goes over an expansion bus (such as PCI or AGP) when it is transferred from main memory to the graphics adapter.

-
- - hh447628 - D3D11_BUS_IMPL_MODIFIER_INSIDE_OF_CHIPSET - D3D11_BUS_IMPL_MODIFIER_INSIDE_OF_CHIPSET -
- - -

Indicates that the graphics adapter is connected to a motherboard chipset's north bridge by tracks on the motherboard, and all of the graphics adapter's chips are soldered to the motherboard. This flag implies that data never goes over an expansion bus (such as PCI or AGP) when it is transferred from main memory to the graphics adapter.

-
- - hh447628 - D3D11_BUS_IMPL_MODIFIER_TRACKS_ON_MOTHER_BOARD_TO_CHIP - D3D11_BUS_IMPL_MODIFIER_TRACKS_ON_MOTHER_BOARD_TO_CHIP -
- - -

The graphics adapter is connected to a motherboard chipset's north bridge by tracks on the motherboard, and all of the graphics adapter's chips are connected through sockets to the motherboard. -

-
- - hh447628 - D3D11_BUS_IMPL_MODIFIER_TRACKS_ON_MOTHER_BOARD_TO_SOCKET - D3D11_BUS_IMPL_MODIFIER_TRACKS_ON_MOTHER_BOARD_TO_SOCKET -
- - -

The graphics adapter is connected to the motherboard through a daughterboard connector. -

-
- - hh447628 - D3D11_BUS_IMPL_MODIFIER_DAUGHTER_BOARD_CONNECTOR - D3D11_BUS_IMPL_MODIFIER_DAUGHTER_BOARD_CONNECTOR -
- - -

The graphics adapter is connected to the motherboard through a daughterboard connector, and the graphics adapter is inside an enclosure that is not user accessible. -

-
- - hh447628 - D3D11_BUS_IMPL_MODIFIER_DAUGHTER_BOARD_CONNECTOR_INSIDE_OF_NUAE - D3D11_BUS_IMPL_MODIFIER_DAUGHTER_BOARD_CONNECTOR_INSIDE_OF_NUAE -
- - -

One of the D3D11_BUS_IMPL_MODIFIER_Xxx flags is set. -

-
- - hh447628 - D3D11_BUS_IMPL_MODIFIER_NON_STANDARD - D3D11_BUS_IMPL_MODIFIER_NON_STANDARD -
- - -

Identifies how to check multisample quality levels.

-
- - dn280374 - D3D11_CHECK_MULTISAMPLE_QUALITY_LEVELS_FLAG - D3D11_CHECK_MULTISAMPLE_QUALITY_LEVELS_FLAG -
- - -

Indicates to check the multisample quality levels of a tiled resource.

-
- - dn280374 - D3D11_CHECK_MULTISAMPLE_QUALITY_LEVELS_TILED_RESOURCE - D3D11_CHECK_MULTISAMPLE_QUALITY_LEVELS_TILED_RESOURCE -
- - - None. - - - None - None - - - -

Identify which components of each pixel of a render target are writable during blending.

-
- -

These flags can be combined with a bitwise OR.

-
- - ff476100 - D3D11_COLOR_WRITE_ENABLE - D3D11_COLOR_WRITE_ENABLE -
- - -

Allow data to be stored in the red component.

-
- - ff476100 - D3D11_COLOR_WRITE_ENABLE_RED - D3D11_COLOR_WRITE_ENABLE_RED -
- - -

Allow data to be stored in the green component.

-
- - ff476100 - D3D11_COLOR_WRITE_ENABLE_GREEN - D3D11_COLOR_WRITE_ENABLE_GREEN -
- - -

Allow data to be stored in the blue component.

-
- - ff476100 - D3D11_COLOR_WRITE_ENABLE_BLUE - D3D11_COLOR_WRITE_ENABLE_BLUE -
- - -

Allow data to be stored in the alpha component.

-
- - ff476100 - D3D11_COLOR_WRITE_ENABLE_ALPHA - D3D11_COLOR_WRITE_ENABLE_ALPHA -
- - -

Allow data to be stored in all components.

-
- - ff476100 - D3D11_COLOR_WRITE_ENABLE_ALL - D3D11_COLOR_WRITE_ENABLE_ALL -
- - -

Comparison options.

-
- -

A comparison option determines whether how the runtime compares source (new) data against destination (existing) data before storing the new data. The comparison option is declared in a description before an object is created. The API allows you to set a comparison option for a depth-stencil buffer (see ), depth-stencil operations (see ), or sampler state (see ).

-
- - ff476101 - D3D11_COMPARISON_FUNC - D3D11_COMPARISON_FUNC -
- - -

Never pass the comparison.

-
- - ff476101 - D3D11_COMPARISON_NEVER - D3D11_COMPARISON_NEVER -
- - -

If the source data is less than the destination data, the comparison passes.

-
- - ff476101 - D3D11_COMPARISON_LESS - D3D11_COMPARISON_LESS -
- - -

If the source data is equal to the destination data, the comparison passes.

-
- - ff476101 - D3D11_COMPARISON_EQUAL - D3D11_COMPARISON_EQUAL -
- - -

If the source data is less than or equal to the destination data, the comparison passes.

-
- - ff476101 - D3D11_COMPARISON_LESS_EQUAL - D3D11_COMPARISON_LESS_EQUAL -
- - -

If the source data is greater than the destination data, the comparison passes.

-
- - ff476101 - D3D11_COMPARISON_GREATER - D3D11_COMPARISON_GREATER -
- - -

If the source data is not equal to the destination data, the comparison passes.

-
- - ff476101 - D3D11_COMPARISON_NOT_EQUAL - D3D11_COMPARISON_NOT_EQUAL -
- - -

If the source data is greater than or equal to the destination data, the comparison passes.

-
- - ff476101 - D3D11_COMPARISON_GREATER_EQUAL - D3D11_COMPARISON_GREATER_EQUAL -
- - -

Always pass the comparison.

-
- - ff476101 - D3D11_COMPARISON_ALWAYS - D3D11_COMPARISON_ALWAYS -
- - -

Unordered resource support options for a compute shader resource (see ).

-
- - ff476135 - D3D11_FORMAT_SUPPORT2 - D3D11_FORMAT_SUPPORT2 -
- - - No documentation. - - - ff476135 - D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_ADD - D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_ADD - - - - No documentation. - - - ff476135 - D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_BITWISE_OPS - D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_BITWISE_OPS - - - - No documentation. - - - ff476135 - D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_COMPARE_STORE_OR_COMPARE_EXCHANGE - D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_COMPARE_STORE_OR_COMPARE_EXCHANGE - - - - No documentation. - - - ff476135 - D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_EXCHANGE - D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_EXCHANGE - - - - No documentation. - - - ff476135 - D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_SIGNED_MIN_OR_MAX - D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_SIGNED_MIN_OR_MAX - - - - No documentation. - - - ff476135 - D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_UNSIGNED_MIN_OR_MAX - D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_UNSIGNED_MIN_OR_MAX - - - - No documentation. - - - ff476135 - D3D11_FORMAT_SUPPORT2_UAV_TYPED_LOAD - D3D11_FORMAT_SUPPORT2_UAV_TYPED_LOAD - - - - No documentation. - - - ff476135 - D3D11_FORMAT_SUPPORT2_UAV_TYPED_STORE - D3D11_FORMAT_SUPPORT2_UAV_TYPED_STORE - - - - No documentation. - - - ff476135 - D3D11_FORMAT_SUPPORT2_OUTPUT_MERGER_LOGIC_OP - D3D11_FORMAT_SUPPORT2_OUTPUT_MERGER_LOGIC_OP - - - - No documentation. - - - ff476135 - D3D11_FORMAT_SUPPORT2_TILED - D3D11_FORMAT_SUPPORT2_TILED - - - - No documentation. - - - ff476135 - D3D11_FORMAT_SUPPORT2_SHAREABLE - D3D11_FORMAT_SUPPORT2_SHAREABLE - - - - No documentation. - - - ff476135 - D3D11_FORMAT_SUPPORT2_MULTIPLANE_OVERLAY - D3D11_FORMAT_SUPPORT2_MULTIPLANE_OVERLAY - - - - None. - - - None - None - - - -

Identifies whether conservative rasterization is on or off.

-
- - dn859360 - D3D11_CONSERVATIVE_RASTERIZATION_MODE - D3D11_CONSERVATIVE_RASTERIZATION_MODE -
- - -

Conservative rasterization is off.

-
- - dn859360 - D3D11_CONSERVATIVE_RASTERIZATION_MODE_OFF - D3D11_CONSERVATIVE_RASTERIZATION_MODE_OFF -
- - -

Conservative rasterization is on.

-
- - dn859360 - D3D11_CONSERVATIVE_RASTERIZATION_MODE_ON - D3D11_CONSERVATIVE_RASTERIZATION_MODE_ON -
- - -

Specifies if the hardware and driver support conservative rasterization and at what tier level.

-
- - dn859364 - D3D11_CONSERVATIVE_RASTERIZATION_TIER - D3D11_CONSERVATIVE_RASTERIZATION_TIER -
- - -

Conservative rasterization isn't supported.

-
- - dn859364 - D3D11_CONSERVATIVE_RASTERIZATION_NOT_SUPPORTED - D3D11_CONSERVATIVE_RASTERIZATION_NOT_SUPPORTED -
- - -

Tier_1 conservative rasterization is supported.

-
- - dn859364 - D3D11_CONSERVATIVE_RASTERIZATION_TIER_1 - D3D11_CONSERVATIVE_RASTERIZATION_TIER_1 -
- - -

Tier_2 conservative rasterization is supported.

-
- - dn859364 - D3D11_CONSERVATIVE_RASTERIZATION_TIER_2 - D3D11_CONSERVATIVE_RASTERIZATION_TIER_2 -
- - -

Tier_3 conservative rasterization is supported.

-
- - dn859364 - D3D11_CONSERVATIVE_RASTERIZATION_TIER_3 - D3D11_CONSERVATIVE_RASTERIZATION_TIER_3 -
- - -

Contains flags that describe content-protection capabilities.

-
- - hh447629 - D3D11_CONTENT_PROTECTION_CAPS - D3D11_CONTENT_PROTECTION_CAPS -
- - -

The content protection is implemented in software by the driver.

-
- - hh447629 - D3D11_CONTENT_PROTECTION_CAPS_SOFTWARE - D3D11_CONTENT_PROTECTION_CAPS_SOFTWARE -
- - -

The content protection is implemented in hardware by the GPU. -

-
- - hh447629 - D3D11_CONTENT_PROTECTION_CAPS_HARDWARE - D3D11_CONTENT_PROTECTION_CAPS_HARDWARE -
- - -

Content protection is always applied to a protected surface, regardless of whether the application explicitly enables protection.

-
- - hh447629 - D3D11_CONTENT_PROTECTION_CAPS_PROTECTION_ALWAYS_ON - D3D11_CONTENT_PROTECTION_CAPS_PROTECTION_ALWAYS_ON -
- - -

The driver can use partially encrypted buffers. If this capability is not present, the entire buffer must be either encrypted or clear.

-
- - hh447629 - D3D11_CONTENT_PROTECTION_CAPS_PARTIAL_DECRYPTION - D3D11_CONTENT_PROTECTION_CAPS_PARTIAL_DECRYPTION -
- - -

The driver can encrypt data using a separate content key that is encrypted using the session key.

-
- - hh447629 - D3D11_CONTENT_PROTECTION_CAPS_CONTENT_KEY - D3D11_CONTENT_PROTECTION_CAPS_CONTENT_KEY -
- - -

The driver can refresh the session key without renegotiating the key.

-
- - hh447629 - D3D11_CONTENT_PROTECTION_CAPS_FRESHEN_SESSION_KEY - D3D11_CONTENT_PROTECTION_CAPS_FRESHEN_SESSION_KEY -
- - -

The driver can read back encrypted data from a protected surface. For more information, see .

-
- - hh447629 - D3D11_CONTENT_PROTECTION_CAPS_ENCRYPTED_READ_BACK - D3D11_CONTENT_PROTECTION_CAPS_ENCRYPTED_READ_BACK -
- - -

The driver requires a separate key to read encrypted data from a protected surface.

-
- - hh447629 - D3D11_CONTENT_PROTECTION_CAPS_ENCRYPTED_READ_BACK_KEY - D3D11_CONTENT_PROTECTION_CAPS_ENCRYPTED_READ_BACK_KEY -
- - -

If the encryption type is D3DCRYPTOTYPE_AES128_CTR, the application must use a sequential count in the structure.

-
- - hh447629 - D3D11_CONTENT_PROTECTION_CAPS_SEQUENTIAL_CTR_IV - D3D11_CONTENT_PROTECTION_CAPS_SEQUENTIAL_CTR_IV -
- - -

The driver supports encrypted slice data, but does not support any other encrypted data in the compressed buffer. The caller should not encrypt any data within the buffer other than the slice data.

Note??The driver should only report this flag for the specific profiles that have this limitation. ?
-
- - hh447629 - D3D11_CONTENT_PROTECTION_CAPS_ENCRYPT_SLICEDATA_ONLY - D3D11_CONTENT_PROTECTION_CAPS_ENCRYPT_SLICEDATA_ONLY -
- - -

The driver can copy encrypted data from one resource to another, decrypting the data as part of the process.

-
- - hh447629 - D3D11_CONTENT_PROTECTION_CAPS_DECRYPTION_BLT - D3D11_CONTENT_PROTECTION_CAPS_DECRYPTION_BLT -
- - -

The hardware supports the protection of specific resources. This means that:

  • The contents of a protected allocation can never be read by the CPU.
  • The hardware can ensure a protected resource cannot be copied to an unprotected resource.

Note??This enumeration value is supported starting with Windows?10.

-
- - hh447629 - D3D11_CONTENT_PROTECTION_CAPS_HARDWARE_PROTECT_UNCOMPRESSED - D3D11_CONTENT_PROTECTION_CAPS_HARDWARE_PROTECT_UNCOMPRESSED -
- - -

Physical pages of a protected resource can be evicted and potentially paged to disk in low memory conditions without losing the contents of the resource when paged back in.

Note??This enumeration value is supported starting with Windows?10.

-
- - hh447629 - D3D11_CONTENT_PROTECTION_CAPS_HARDWARE_PROTECTED_MEMORY_PAGEABLE - D3D11_CONTENT_PROTECTION_CAPS_HARDWARE_PROTECTED_MEMORY_PAGEABLE -
- - -

The hardware supports an automatic teardown mechanism that could trigger hardware keys or protected content to become lost in some conditions. The application can register to be notified when these events occur.

Note??This enumeration value is supported starting with Windows?10.

-
- - hh447629 - D3D11_CONTENT_PROTECTION_CAPS_HARDWARE_TEARDOWN - D3D11_CONTENT_PROTECTION_CAPS_HARDWARE_TEARDOWN -
- - -

The secure environment is tightly coupled with the GPU and an should be used for communication between the user mode DRM component and the secure execution environment.

Note??This enumeration value is supported starting with Windows?10.

-
- - hh447629 - D3D11_CONTENT_PROTECTION_CAPS_HARDWARE_DRM_COMMUNICATION - D3D11_CONTENT_PROTECTION_CAPS_HARDWARE_DRM_COMMUNICATION -
- - -

Specifies the context in which a query occurs.

-
- -

This enum is used by the following:

  • structure
  • A CD3D11_QUERY_DESC1 constructor.
  • method
-
- - dn859366 - D3D11_CONTEXT_TYPE - D3D11_CONTEXT_TYPE -
- - -

The query can occur in all contexts.

-
- - dn859366 - D3D11_CONTEXT_TYPE_ALL - D3D11_CONTEXT_TYPE_ALL -
- - -

The query occurs in the context of a 3D command queue.

-
- - dn859366 - D3D11_CONTEXT_TYPE_3D - D3D11_CONTEXT_TYPE_3D -
- - -

The query occurs in the context of a 3D compute queue.

-
- - dn859366 - D3D11_CONTEXT_TYPE_COMPUTE - D3D11_CONTEXT_TYPE_COMPUTE -
- - -

The query occurs in the context of a 3D copy queue.

-
- - dn859366 - D3D11_CONTEXT_TYPE_COPY - D3D11_CONTEXT_TYPE_COPY -
- - -

The query occurs in the context of video.

-
- - dn859366 - D3D11_CONTEXT_TYPE_VIDEO - D3D11_CONTEXT_TYPE_VIDEO -
- - - Note??This enumeration is supported by the Direct3D 11.1 runtime, which is available on Windows?8 and later operating systems.?

Specifies how to handle the existing contents of a resource during a copy or update operation of a region within that resource.

-
- - hh404451 - D3D11_COPY_FLAGS - D3D11_COPY_FLAGS -
- - -

The existing contents of the resource cannot be overwritten.

-
- - hh404451 - D3D11_COPY_NO_OVERWRITE - D3D11_COPY_NO_OVERWRITE -
- - -

The existing contents of the resource are undefined and can be discarded.

-
- - hh404451 - D3D11_COPY_DISCARD - D3D11_COPY_DISCARD -
- - - None. - - - None - None - - - -

Options for performance counters.

-
- -

Independent hardware vendors may define their own set of performance counters for their devices, by giving the enumeration value a number that is greater than the value for .

This enumeration is used by and .

-
- - ff476102 - D3D11_COUNTER - D3D11_COUNTER -
- - -

Define a performance counter that is dependent on the hardware device.

-
- - ff476102 - D3D11_COUNTER_DEVICE_DEPENDENT_0 - D3D11_COUNTER_DEVICE_DEPENDENT_0 -
- - -

Data type of a performance counter.

-
- -

These flags are an output parameter in .

-
- - ff476105 - D3D11_COUNTER_TYPE - D3D11_COUNTER_TYPE -
- - -

32-bit floating point.

-
- - ff476105 - D3D11_COUNTER_TYPE_FLOAT32 - D3D11_COUNTER_TYPE_FLOAT32 -
- - -

16-bit unsigned integer.

-
- - ff476105 - D3D11_COUNTER_TYPE_UINT16 - D3D11_COUNTER_TYPE_UINT16 -
- - -

32-bit unsigned integer.

-
- - ff476105 - D3D11_COUNTER_TYPE_UINT32 - D3D11_COUNTER_TYPE_UINT32 -
- - -

64-bit unsigned integer.

-
- - ff476105 - D3D11_COUNTER_TYPE_UINT64 - D3D11_COUNTER_TYPE_UINT64 -
- - -

Specifies the types of CPU access allowed for a resource.

-
- -

This enumeration is used in , , , .

Applications may combine one or more of these flags with a logical OR. When possible, create resources with no CPU access flags, as this enables better resource optimization.

The cannot be used when creating resources with D3D11_CPU_ACCESS flags.

-
- - ff476106 - D3D11_CPU_ACCESS_FLAG - D3D11_CPU_ACCESS_FLAG -
- - -

The resource is to be mappable so that the CPU can change its contents. Resources created with this flag cannot be set as outputs of the pipeline and must be created with either dynamic or staging usage (see ).

-
- - ff476106 - D3D11_CPU_ACCESS_WRITE - D3D11_CPU_ACCESS_WRITE -
- - -

The resource is to be mappable so that the CPU can read its contents. Resources created with this flag cannot be set as either inputs or outputs to the pipeline and must be created with staging usage (see ).

-
- - ff476106 - D3D11_CPU_ACCESS_READ - D3D11_CPU_ACCESS_READ -
- - - None. - - - None - None - - - -

Describes flags that are used to create a device context state object () with the method.

-
- - hh404432 - D3D11_1_CREATE_DEVICE_CONTEXT_STATE_FLAG - D3D11_1_CREATE_DEVICE_CONTEXT_STATE_FLAG -
- - - No documentation. - - - hh404432 - D3D11_1_CREATE_DEVICE_CONTEXT_STATE_SINGLETHREADED - D3D11_1_CREATE_DEVICE_CONTEXT_STATE_SINGLETHREADED - - - - None. - - - None - None - - - -

Represents the status of an interface.

-
- - dn894114 - D3D11_CRYPTO_SESSION_STATUS - D3D11_CRYPTO_SESSION_STATUS -
- - - No documentation. - - - dn894114 - D3D11_CRYPTO_SESSION_STATUS_OK - D3D11_CRYPTO_SESSION_STATUS_OK - - - - No documentation. - - - dn894114 - D3D11_CRYPTO_SESSION_STATUS_KEY_LOST - D3D11_CRYPTO_SESSION_STATUS_KEY_LOST - - - - No documentation. - - - dn894114 - D3D11_CRYPTO_SESSION_STATUS_KEY_AND_CONTENT_LOST - D3D11_CRYPTO_SESSION_STATUS_KEY_AND_CONTENT_LOST - - - -

Indicates triangles facing a particular direction are not drawn.

-
- -

This enumeration is part of a rasterizer-state object description (see ).

-
- - ff476108 - D3D11_CULL_MODE - D3D11_CULL_MODE -
- - -

Always draw all triangles.

-
- - ff476108 - D3D11_CULL_NONE - D3D11_CULL_NONE -
- - -

Do not draw triangles that are front-facing.

-
- - ff476108 - D3D11_CULL_FRONT - D3D11_CULL_FRONT -
- - -

Do not draw triangles that are back-facing.

-
- - ff476108 - D3D11_CULL_BACK - D3D11_CULL_BACK -
- - - No documentation. - - - D3D11_DEBUG_FEATURE_FLAGS - D3D11_DEBUG_FEATURE_FLAGS - - - - No documentation. - - - D3D11_DEBUG_FEATURE_FLUSH_PER_RENDER_OP - D3D11_DEBUG_FEATURE_FLUSH_PER_RENDER_OP - - - - No documentation. - - - D3D11_DEBUG_FEATURE_FINISH_PER_RENDER_OP - D3D11_DEBUG_FEATURE_FINISH_PER_RENDER_OP - - - - No documentation. - - - D3D11_DEBUG_FEATURE_PRESENT_PER_RENDER_OP - D3D11_DEBUG_FEATURE_PRESENT_PER_RENDER_OP - - - - No documentation. - - - D3D11_DEBUG_FEATURE_ALWAYS_DISCARD_OFFERED_RESOURCE - D3D11_DEBUG_FEATURE_ALWAYS_DISCARD_OFFERED_RESOURCE - - - - No documentation. - - - D3D11_DEBUG_FEATURE_NEVER_DISCARD_OFFERED_RESOURCE - D3D11_DEBUG_FEATURE_NEVER_DISCARD_OFFERED_RESOURCE - - - - No documentation. - - - D3D11_DEBUG_FEATURE_AVOID_BEHAVIOR_CHANGING_DEBUG_AIDS - D3D11_DEBUG_FEATURE_AVOID_BEHAVIOR_CHANGING_DEBUG_AIDS - - - - No documentation. - - - D3D11_DEBUG_FEATURE_DISABLE_TILED_RESOURCE_MAPPING_TRACKING_AND_VALIDATION - D3D11_DEBUG_FEATURE_DISABLE_TILED_RESOURCE_MAPPING_TRACKING_AND_VALIDATION - - - -

Specifies the parts of the depth stencil to clear.

-
- -

These flags are used when calling ; the flags can be combined with a bitwise OR.

-
- - ff476099 - D3D11_CLEAR_FLAG - D3D11_CLEAR_FLAG -
- - -

Clear the depth buffer, using fast clear if possible, then place the resource in a compressed state.

-
- - ff476099 - D3D11_CLEAR_DEPTH - D3D11_CLEAR_DEPTH -
- - -

Clear the stencil buffer, using fast clear if possible, then place the resource in a compressed state.

-
- - ff476099 - D3D11_CLEAR_STENCIL - D3D11_CLEAR_STENCIL -
- - -

Specifies how to access a resource used in a depth-stencil view.

-
- -

This enumeration is used in to create a depth-stencil view.

-
- - ff476115 - D3D11_DSV_DIMENSION - D3D11_DSV_DIMENSION -
- - -

is not a valid value for and is not used.

-
- - ff476115 - D3D11_DSV_DIMENSION_UNKNOWN - D3D11_DSV_DIMENSION_UNKNOWN -
- - -

The resource will be accessed as a 1D texture.

-
- - ff476115 - D3D11_DSV_DIMENSION_TEXTURE1D - D3D11_DSV_DIMENSION_TEXTURE1D -
- - -

The resource will be accessed as an array of 1D textures.

-
- - ff476115 - D3D11_DSV_DIMENSION_TEXTURE1DARRAY - D3D11_DSV_DIMENSION_TEXTURE1DARRAY -
- - -

The resource will be accessed as a 2D texture.

-
- - ff476115 - D3D11_DSV_DIMENSION_TEXTURE2D - D3D11_DSV_DIMENSION_TEXTURE2D -
- - -

The resource will be accessed as an array of 2D textures.

-
- - ff476115 - D3D11_DSV_DIMENSION_TEXTURE2DARRAY - D3D11_DSV_DIMENSION_TEXTURE2DARRAY -
- - -

The resource will be accessed as a 2D texture with multisampling.

-
- - ff476115 - D3D11_DSV_DIMENSION_TEXTURE2DMS - D3D11_DSV_DIMENSION_TEXTURE2DMS -
- - -

The resource will be accessed as an array of 2D textures with multisampling.

-
- - ff476115 - D3D11_DSV_DIMENSION_TEXTURE2DMSARRAY - D3D11_DSV_DIMENSION_TEXTURE2DMSARRAY -
- - -

Depth-stencil view options.

-
- -

This enumeration is used by .

Limiting a depth-stencil buffer to read-only access allows more than one depth-stencil view to be bound to the pipeline simultaneously, since it is not possible to have a read/write conflicts between separate views.

-
- - ff476116 - D3D11_DSV_FLAG - D3D11_DSV_FLAG -
- - -

Indicates that depth values are read only.

-
- - ff476116 - D3D11_DSV_READ_ONLY_DEPTH - D3D11_DSV_READ_ONLY_DEPTH -
- - -

Indicates that stencil values are read only.

-
- - ff476116 - D3D11_DSV_READ_ONLY_STENCIL - D3D11_DSV_READ_ONLY_STENCIL -
- - - None. - - - None - None - - - -

Identify the portion of a depth-stencil buffer for writing depth data.

-
- - ff476113 - D3D11_DEPTH_WRITE_MASK - D3D11_DEPTH_WRITE_MASK -
- - -

Turn off writes to the depth-stencil buffer.

-
- - ff476113 - D3D11_DEPTH_WRITE_MASK_ZERO - D3D11_DEPTH_WRITE_MASK_ZERO -
- - -

Turn on writes to the depth-stencil buffer.

-
- - ff476113 - D3D11_DEPTH_WRITE_MASK_ALL - D3D11_DEPTH_WRITE_MASK_ALL -
- - -

Device context options.

-
- -

This enumeration is used by .

-
- - ff476114 - D3D11_DEVICE_CONTEXT_TYPE - D3D11_DEVICE_CONTEXT_TYPE -
- - -

The device context is an immediate context.

-
- - ff476114 - D3D11_DEVICE_CONTEXT_IMMEDIATE - D3D11_DEVICE_CONTEXT_IMMEDIATE -
- - -

The device context is a deferred context.

-
- - ff476114 - D3D11_DEVICE_CONTEXT_DEFERRED - D3D11_DEVICE_CONTEXT_DEFERRED -
- - -

Describes parameters that are used to create a device.

-
- -

Device creation flags are used by and D3D11CreateDeviceAndSwapChain.

An application might dynamically create (and destroy) threads to improve performance especially on a machine with multiple CPU cores. There may be cases, however, when an application needs to prevent extra threads from being created. This can happen when you want to simplify debugging, profile code or develop a tool for instance. For these cases, use to request that the runtime and video driver not create any additional threads that might interfere with the application.

-
- - ff476107 - D3D11_CREATE_DEVICE_FLAG - D3D11_CREATE_DEVICE_FLAG -
- - -

Use this flag if your application will only call methods of Direct3D?11 interfaces from a single thread. By default, the object is thread-safe. By using this flag, you can increase performance. However, if you use this flag and your application calls methods of Direct3D?11 interfaces from multiple threads, undefined behavior might result.

-
- - ff476107 - D3D11_CREATE_DEVICE_SINGLETHREADED - D3D11_CREATE_DEVICE_SINGLETHREADED -
- - -

Creates a device that supports the debug layer.

To use this flag, you must have D3D11*SDKLayers.dll installed; otherwise, device creation fails. To get D3D11_1SDKLayers.dll, install the SDK for Windows?8.

-
- - ff476107 - D3D11_CREATE_DEVICE_DEBUG - D3D11_CREATE_DEVICE_DEBUG -
- - -
Note??This flag is not supported in Direct3D?11. ?
-
- - ff476107 - D3D11_CREATE_DEVICE_SWITCH_TO_REF - D3D11_CREATE_DEVICE_SWITCH_TO_REF -
- - -

Prevents multiple threads from being created. When this flag is used with a Windows Advanced Rasterization Platform (WARP) device, no additional threads will be created by WARP and all rasterization will occur on the calling thread. This flag is not recommended for general use. See remarks.

-
- - ff476107 - D3D11_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS - D3D11_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS -
- - -

Creates a device that supports BGRA formats ( and ). All 10level9 and higher hardware with WDDM 1.1+ drivers support BGRA formats.

Note??Required for Direct2D interoperability with Direct3D resources. ?
-
- - ff476107 - D3D11_CREATE_DEVICE_BGRA_SUPPORT - D3D11_CREATE_DEVICE_BGRA_SUPPORT -
- - -

Causes the device and driver to keep information that you can use for shader debugging. The exact impact from this flag will vary from driver to driver.

To use this flag, you must have D3D11_1SDKLayers.dll installed; otherwise, device creation fails. The created device supports the debug layer. To get D3D11_1SDKLayers.dll, install the SDK for Windows?8.

If you use this flag and the current driver does not support shader debugging, device creation fails. Shader debugging requires a driver that is implemented to the WDDM for Windows?8 (WDDM 1.2).

Direct3D 11:??This value is not supported until Direct3D 11.1.

-
- - ff476107 - D3D11_CREATE_DEVICE_DEBUGGABLE - D3D11_CREATE_DEVICE_DEBUGGABLE -
- - -

Causes the Direct3D runtime to ignore registry settings that turn on the debug layer. You can turn on the debug layer by using the DirectX Control Panel that was included as part of the DirectX SDK. We shipped the last version of the DirectX SDK in June 2010; you can download it from the Microsoft Download Center. You can set this flag in your app, typically in release builds only, to prevent end users from using the DirectX Control Panel to monitor how the app uses Direct3D.

Note??You can also set this flag in your app to prevent Direct3D debugging tools, such as Visual Studio Ultimate?2012, from hooking your app. ?

Windows?8.1:??This flag doesn't prevent Visual Studio?2013 and later running on Windows?8.1 and later from hooking your app; instead use . This flag still prevents Visual Studio?2013 and later running on Windows?8 and earlier from hooking your app.

Direct3D 11:??This value is not supported until Direct3D 11.1.

-
- - ff476107 - D3D11_CREATE_DEVICE_PREVENT_ALTERING_LAYER_SETTINGS_FROM_REGISTRY - D3D11_CREATE_DEVICE_PREVENT_ALTERING_LAYER_SETTINGS_FROM_REGISTRY -
- - -

Use this flag if the device will produce GPU workloads that take more than two seconds to complete, and you want the operating system to allow them to successfully finish. If this flag is not set, the operating system performs timeout detection and recovery when it detects a GPU packet that took more than two seconds to execute. If this flag is set, the operating system allows such a long running packet to execute without resetting the GPU. We recommend not to set this flag if your device needs to be highly responsive so that the operating system can detect and recover from GPU timeouts. We recommend to set this flag if your device needs to perform time consuming background tasks such as compute, image recognition, and video encoding to allow such tasks to successfully finish.

Direct3D 11:??This value is not supported until Direct3D 11.1.

-
- - ff476107 - D3D11_CREATE_DEVICE_DISABLE_GPU_TIMEOUT - D3D11_CREATE_DEVICE_DISABLE_GPU_TIMEOUT -
- - -

Forces the creation of the Direct3D device to fail if the display driver is not implemented to the WDDM for Windows?8 (WDDM 1.2). When the display driver is not implemented to WDDM 1.2, only a Direct3D device that is created with feature level 9.1, 9.2, or 9.3 supports video; therefore, if this flag is set, the runtime creates the Direct3D device only for feature level 9.1, 9.2, or 9.3. We recommend not to specify this flag for applications that want to favor Direct3D capability over video. If feature level 10 and higher is available, the runtime will use that feature level regardless of video support.

If this flag is set, device creation on the Basic Render Device (BRD) will succeed regardless of the BRD's missing support for video decode. This is because the Media Foundation video stack operates in software mode on BRD. In this situation, if you force the video stack to create the Direct3D device twice (create the device once with this flag, next discover BRD, then again create the device without the flag), you actually degrade performance.

If you attempt to create a Direct3D device with driver type , , or , device creation fails at any feature level because none of the associated drivers provide video capability. If you attempt to create a Direct3D device with driver type , device creation succeeds to allow software fallback for video.

Direct3D 11:??This value is not supported until Direct3D 11.1.

-
- - ff476107 - D3D11_CREATE_DEVICE_VIDEO_SUPPORT - D3D11_CREATE_DEVICE_VIDEO_SUPPORT -
- - - None. - - - None - None - - - -

Direct3D 11 feature options.

-
- -

This enumeration is used when querying a driver about support for these features by calling . Each value in this enumeration has a corresponding data structure that is required to be passed to the pFeatureSupportData parameter of .

-
- - ff476124 - D3D11_FEATURE - D3D11_FEATURE -
- - -

The driver supports multithreading. To see an example of testing a driver for multithread support, see How To: Check for Driver Support. Refer to .

-
- - ff476124 - D3D11_FEATURE_THREADING - D3D11_FEATURE_THREADING -
- - -

Supports the use of the double-precision shaders in HLSL. Refer to .

-
- - ff476124 - D3D11_FEATURE_DOUBLES - D3D11_FEATURE_DOUBLES -
- - -

Supports the formats in . Refer to .

-
- - ff476124 - D3D11_FEATURE_FORMAT_SUPPORT - D3D11_FEATURE_FORMAT_SUPPORT -
- - -

Supports the formats in . Refer to .

-
- - ff476124 - D3D11_FEATURE_FORMAT_SUPPORT2 - D3D11_FEATURE_FORMAT_SUPPORT2 -
- - -

Supports compute shaders and raw and structured buffers. Refer to .

-
- - ff476124 - D3D11_FEATURE_D3D10_X_HARDWARE_OPTIONS - D3D11_FEATURE_D3D10_X_HARDWARE_OPTIONS -
- - -

Supports Direct3D 11.1 feature options. Refer to .

Direct3D 11:??This value is not supported until Direct3D 11.1.

-
- - ff476124 - D3D11_FEATURE_D3D11_OPTIONS - D3D11_FEATURE_D3D11_OPTIONS -
- - -

Supports specific adapter architecture. Refer to .

Direct3D 11:??This value is not supported until Direct3D 11.1.

-
- - ff476124 - D3D11_FEATURE_ARCHITECTURE_INFO - D3D11_FEATURE_ARCHITECTURE_INFO -
- - -

Supports Direct3D?9 feature options. Refer to .

Direct3D 11:??This value is not supported until Direct3D 11.1.

-
- - ff476124 - D3D11_FEATURE_D3D9_OPTIONS - D3D11_FEATURE_D3D9_OPTIONS -
- - -

Supports minimum precision of shaders. For more info about HLSL minimum precision, see using HLSL minimum precision. Refer to .

Direct3D 11:??This value is not supported until Direct3D 11.1.

-
- - ff476124 - D3D11_FEATURE_SHADER_MIN_PRECISION_SUPPORT - D3D11_FEATURE_SHADER_MIN_PRECISION_SUPPORT -
- - -

Supports Direct3D?9 shadowing feature. Refer to .

Direct3D 11:??This value is not supported until Direct3D 11.1.

-
- - ff476124 - D3D11_FEATURE_D3D9_SHADOW_SUPPORT - D3D11_FEATURE_D3D9_SHADOW_SUPPORT -
- - -

Supports Direct3D 11.2 feature options. Refer to .

Direct3D 11:??This value is not supported until Direct3D 11.2.

-
- - ff476124 - D3D11_FEATURE_D3D11_OPTIONS1 - D3D11_FEATURE_D3D11_OPTIONS1 -
- - -

Supports Direct3D 11.2 instancing options. Refer to .

Direct3D 11:??This value is not supported until Direct3D 11.2.

-
- - ff476124 - D3D11_FEATURE_D3D9_SIMPLE_INSTANCING_SUPPORT - D3D11_FEATURE_D3D9_SIMPLE_INSTANCING_SUPPORT -
- - -

Supports Direct3D 11.2 marker options. Refer to .

Direct3D 11:??This value is not supported until Direct3D 11.2.

-
- - ff476124 - D3D11_FEATURE_MARKER_SUPPORT - D3D11_FEATURE_MARKER_SUPPORT -
- - -

Supports Direct3D?9 feature options, which includes the Direct3D?9 shadowing feature and instancing support. Refer to .

Direct3D 11:??This value is not supported until Direct3D 11.2.

-
- - ff476124 - D3D11_FEATURE_D3D9_OPTIONS1 - D3D11_FEATURE_D3D9_OPTIONS1 -
- - -

Supports Direct3D 11.3 conservative rasterization feature options. Refer to .

Direct3D 11:??This value is not supported until Direct3D 11.3.

-
- - ff476124 - D3D11_FEATURE_D3D11_OPTIONS2 - D3D11_FEATURE_D3D11_OPTIONS2 -
- - -

Supports Direct3D 11.4 conservative rasterization feature options. Refer to .

Direct3D 11:??This value is not supported until Direct3D 11.4.

-
- - ff476124 - D3D11_FEATURE_D3D11_OPTIONS3 - D3D11_FEATURE_D3D11_OPTIONS3 -
- - -

Supports GPU virtual addresses. Refer to .

-
- - ff476124 - D3D11_FEATURE_GPU_VIRTUAL_ADDRESS_SUPPORT - D3D11_FEATURE_GPU_VIRTUAL_ADDRESS_SUPPORT -
- - -

Supports a single boolean for NV12 shared textures. Refer to .

Direct3D 11:??This value is not supported until Direct3D 11.4.

-
- - ff476124 - D3D11_FEATURE_D3D11_OPTIONS4 - D3D11_FEATURE_D3D11_OPTIONS4 -
- - - No documentation. - - - ff476124 - D3D11_FEATURE_SHADER_CACHE - D3D11_FEATURE_SHADER_CACHE - - - -

Device context options.

-
- -

This enumeration is used by .

-
- - ff476114 - D3D11_FENCE_FLAG - D3D11_FENCE_FLAG -
- - -

The device context is an immediate context.

-
- - ff476114 - D3D11_FENCE_FLAG_NONE - D3D11_FENCE_FLAG_NONE -
- - -

The device context is a deferred context.

-
- - ff476114 - D3D11_FENCE_FLAG_SHARED - D3D11_FENCE_FLAG_SHARED -
- - - No documentation. - - - ff476114 - D3D11_FENCE_FLAG_SHARED_CROSS_ADAPTER - D3D11_FENCE_FLAG_SHARED_CROSS_ADAPTER - - - -

Determines the fill mode to use when rendering triangles.

-
- -

This enumeration is part of a rasterizer-state object description (see ).

-
- - ff476131 - D3D11_FILL_MODE - D3D11_FILL_MODE -
- - -

Draw lines connecting the vertices. Adjacent vertices are not drawn.

-
- - ff476131 - D3D11_FILL_WIREFRAME - D3D11_FILL_WIREFRAME -
- - -

Fill the triangles formed by the vertices. Adjacent vertices are not drawn.

-
- - ff476131 - D3D11_FILL_SOLID - D3D11_FILL_SOLID -
- - -

Filtering options during texture sampling.

-
- - Note??If you use different filter types for min versus mag filter, undefined behavior occurs in certain cases where the choice between whether magnification or minification happens is ambiguous. To prevent this undefined behavior, use filter modes that use similar filter operations for both min and mag (or use anisotropic filtering, which avoids the issue as well).?

During texture sampling, one or more texels are read and combined (this is calling filtering) to produce a single value. Point sampling reads a single texel while linear sampling reads two texels (endpoints) and linearly interpolates a third value between the endpoints.

HLSL texture-sampling functions also support comparison filtering during texture sampling. Comparison filtering compares each sampled texel against a comparison value. The boolean result is blended the same way that normal texture filtering is blended.

You can use HLSL intrinsic texture-sampling functions that implement texture filtering only or companion functions that use texture filtering with comparison filtering.

Texture Sampling FunctionTexture Sampling Function with Comparison Filtering
samplesamplecmp or samplecmplevelzero

?

Comparison filters only work with textures that have the following DXGI formats: R32_FLOAT_X8X24_TYPELESS, R32_FLOAT, R24_UNORM_X8_TYPELESS, R16_UNORM.

-
- - ff476132 - D3D11_FILTER - D3D11_FILTER -
- - -

Use point sampling for minification, magnification, and mip-level sampling.

-
- - ff476132 - D3D11_FILTER_MIN_MAG_MIP_POINT - D3D11_FILTER_MIN_MAG_MIP_POINT -
- - -

Use point sampling for minification and magnification; use linear interpolation for mip-level sampling.

-
- - ff476132 - D3D11_FILTER_MIN_MAG_POINT_MIP_LINEAR - D3D11_FILTER_MIN_MAG_POINT_MIP_LINEAR -
- - -

Use point sampling for minification; use linear interpolation for magnification; use point sampling for mip-level sampling.

-
- - ff476132 - D3D11_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT - D3D11_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT -
- - -

Use point sampling for minification; use linear interpolation for magnification and mip-level sampling.

-
- - ff476132 - D3D11_FILTER_MIN_POINT_MAG_MIP_LINEAR - D3D11_FILTER_MIN_POINT_MAG_MIP_LINEAR -
- - -

Use linear interpolation for minification; use point sampling for magnification and mip-level sampling.

-
- - ff476132 - D3D11_FILTER_MIN_LINEAR_MAG_MIP_POINT - D3D11_FILTER_MIN_LINEAR_MAG_MIP_POINT -
- - -

Use linear interpolation for minification; use point sampling for magnification; use linear interpolation for mip-level sampling.

-
- - ff476132 - D3D11_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR - D3D11_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR -
- - -

Use linear interpolation for minification and magnification; use point sampling for mip-level sampling.

-
- - ff476132 - D3D11_FILTER_MIN_MAG_LINEAR_MIP_POINT - D3D11_FILTER_MIN_MAG_LINEAR_MIP_POINT -
- - -

Use linear interpolation for minification, magnification, and mip-level sampling.

-
- - ff476132 - D3D11_FILTER_MIN_MAG_MIP_LINEAR - D3D11_FILTER_MIN_MAG_MIP_LINEAR -
- - -

Use anisotropic interpolation for minification, magnification, and mip-level sampling.

-
- - ff476132 - D3D11_FILTER_ANISOTROPIC - D3D11_FILTER_ANISOTROPIC -
- - -

Use point sampling for minification, magnification, and mip-level sampling. Compare the result to the comparison value.

-
- - ff476132 - D3D11_FILTER_COMPARISON_MIN_MAG_MIP_POINT - D3D11_FILTER_COMPARISON_MIN_MAG_MIP_POINT -
- - -

Use point sampling for minification and magnification; use linear interpolation for mip-level sampling. Compare the result to the comparison value.

-
- - ff476132 - D3D11_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR - D3D11_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR -
- - -

Use point sampling for minification; use linear interpolation for magnification; use point sampling for mip-level sampling. Compare the result to the comparison value.

-
- - ff476132 - D3D11_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT - D3D11_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT -
- - -

Use point sampling for minification; use linear interpolation for magnification and mip-level sampling. Compare the result to the comparison value.

-
- - ff476132 - D3D11_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR - D3D11_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR -
- - -

Use linear interpolation for minification; use point sampling for magnification and mip-level sampling. Compare the result to the comparison value.

-
- - ff476132 - D3D11_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT - D3D11_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT -
- - -

Use linear interpolation for minification; use point sampling for magnification; use linear interpolation for mip-level sampling. Compare the result to the comparison value.

-
- - ff476132 - D3D11_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR - D3D11_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR -
- - -

Use linear interpolation for minification and magnification; use point sampling for mip-level sampling. Compare the result to the comparison value.

-
- - ff476132 - D3D11_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT - D3D11_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT -
- - -

Use linear interpolation for minification, magnification, and mip-level sampling. Compare the result to the comparison value.

-
- - ff476132 - D3D11_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR - D3D11_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR -
- - -

Use anisotropic interpolation for minification, magnification, and mip-level sampling. Compare the result to the comparison value.

-
- - ff476132 - D3D11_FILTER_COMPARISON_ANISOTROPIC - D3D11_FILTER_COMPARISON_ANISOTROPIC -
- - -

Fetch the same set of texels as and instead of filtering them return the minimum of the texels. Texels that are weighted 0 during filtering aren't counted towards the minimum. You can query support for this filter type from the MinMaxFiltering member in the structure.

-
- - ff476132 - D3D11_FILTER_MINIMUM_MIN_MAG_MIP_POINT - D3D11_FILTER_MINIMUM_MIN_MAG_MIP_POINT -
- - -

Fetch the same set of texels as and instead of filtering them return the minimum of the texels. Texels that are weighted 0 during filtering aren't counted towards the minimum. You can query support for this filter type from the MinMaxFiltering member in the structure.

-
- - ff476132 - D3D11_FILTER_MINIMUM_MIN_MAG_POINT_MIP_LINEAR - D3D11_FILTER_MINIMUM_MIN_MAG_POINT_MIP_LINEAR -
- - -

Fetch the same set of texels as and instead of filtering them return the minimum of the texels. Texels that are weighted 0 during filtering aren't counted towards the minimum. You can query support for this filter type from the MinMaxFiltering member in the structure.

-
- - ff476132 - D3D11_FILTER_MINIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT - D3D11_FILTER_MINIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT -
- - -

Fetch the same set of texels as and instead of filtering them return the minimum of the texels. Texels that are weighted 0 during filtering aren't counted towards the minimum. You can query support for this filter type from the MinMaxFiltering member in the structure.

-
- - ff476132 - D3D11_FILTER_MINIMUM_MIN_POINT_MAG_MIP_LINEAR - D3D11_FILTER_MINIMUM_MIN_POINT_MAG_MIP_LINEAR -
- - -

Fetch the same set of texels as and instead of filtering them return the minimum of the texels. Texels that are weighted 0 during filtering aren't counted towards the minimum. You can query support for this filter type from the MinMaxFiltering member in the structure.

-
- - ff476132 - D3D11_FILTER_MINIMUM_MIN_LINEAR_MAG_MIP_POINT - D3D11_FILTER_MINIMUM_MIN_LINEAR_MAG_MIP_POINT -
- - -

Fetch the same set of texels as and instead of filtering them return the minimum of the texels. Texels that are weighted 0 during filtering aren't counted towards the minimum. You can query support for this filter type from the MinMaxFiltering member in the structure.

-
- - ff476132 - D3D11_FILTER_MINIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR - D3D11_FILTER_MINIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR -
- - -

Fetch the same set of texels as and instead of filtering them return the minimum of the texels. Texels that are weighted 0 during filtering aren't counted towards the minimum. You can query support for this filter type from the MinMaxFiltering member in the structure.

-
- - ff476132 - D3D11_FILTER_MINIMUM_MIN_MAG_LINEAR_MIP_POINT - D3D11_FILTER_MINIMUM_MIN_MAG_LINEAR_MIP_POINT -
- - -

Fetch the same set of texels as and instead of filtering them return the minimum of the texels. Texels that are weighted 0 during filtering aren't counted towards the minimum. You can query support for this filter type from the MinMaxFiltering member in the structure.

-
- - ff476132 - D3D11_FILTER_MINIMUM_MIN_MAG_MIP_LINEAR - D3D11_FILTER_MINIMUM_MIN_MAG_MIP_LINEAR -
- - -

Fetch the same set of texels as and instead of filtering them return the minimum of the texels. Texels that are weighted 0 during filtering aren't counted towards the minimum. You can query support for this filter type from the MinMaxFiltering member in the structure.

-
- - ff476132 - D3D11_FILTER_MINIMUM_ANISOTROPIC - D3D11_FILTER_MINIMUM_ANISOTROPIC -
- - -

Fetch the same set of texels as and instead of filtering them return the maximum of the texels. Texels that are weighted 0 during filtering aren't counted towards the maximum. You can query support for this filter type from the MinMaxFiltering member in the structure.

-
- - ff476132 - D3D11_FILTER_MAXIMUM_MIN_MAG_MIP_POINT - D3D11_FILTER_MAXIMUM_MIN_MAG_MIP_POINT -
- - -

Fetch the same set of texels as and instead of filtering them return the maximum of the texels. Texels that are weighted 0 during filtering aren't counted towards the maximum. You can query support for this filter type from the MinMaxFiltering member in the structure.

-
- - ff476132 - D3D11_FILTER_MAXIMUM_MIN_MAG_POINT_MIP_LINEAR - D3D11_FILTER_MAXIMUM_MIN_MAG_POINT_MIP_LINEAR -
- - -

Fetch the same set of texels as and instead of filtering them return the maximum of the texels. Texels that are weighted 0 during filtering aren't counted towards the maximum. You can query support for this filter type from the MinMaxFiltering member in the structure.

-
- - ff476132 - D3D11_FILTER_MAXIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT - D3D11_FILTER_MAXIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT -
- - -

Fetch the same set of texels as and instead of filtering them return the maximum of the texels. Texels that are weighted 0 during filtering aren't counted towards the maximum. You can query support for this filter type from the MinMaxFiltering member in the structure.

-
- - ff476132 - D3D11_FILTER_MAXIMUM_MIN_POINT_MAG_MIP_LINEAR - D3D11_FILTER_MAXIMUM_MIN_POINT_MAG_MIP_LINEAR -
- - -

Fetch the same set of texels as and instead of filtering them return the maximum of the texels. Texels that are weighted 0 during filtering aren't counted towards the maximum. You can query support for this filter type from the MinMaxFiltering member in the structure.

-
- - ff476132 - D3D11_FILTER_MAXIMUM_MIN_LINEAR_MAG_MIP_POINT - D3D11_FILTER_MAXIMUM_MIN_LINEAR_MAG_MIP_POINT -
- - -

Fetch the same set of texels as and instead of filtering them return the maximum of the texels. Texels that are weighted 0 during filtering aren't counted towards the maximum. You can query support for this filter type from the MinMaxFiltering member in the structure.

-
- - ff476132 - D3D11_FILTER_MAXIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR - D3D11_FILTER_MAXIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR -
- - -

Fetch the same set of texels as and instead of filtering them return the maximum of the texels. Texels that are weighted 0 during filtering aren't counted towards the maximum. You can query support for this filter type from the MinMaxFiltering member in the structure.

-
- - ff476132 - D3D11_FILTER_MAXIMUM_MIN_MAG_LINEAR_MIP_POINT - D3D11_FILTER_MAXIMUM_MIN_MAG_LINEAR_MIP_POINT -
- - -

Fetch the same set of texels as and instead of filtering them return the maximum of the texels. Texels that are weighted 0 during filtering aren't counted towards the maximum. You can query support for this filter type from the MinMaxFiltering member in the structure.

-
- - ff476132 - D3D11_FILTER_MAXIMUM_MIN_MAG_MIP_LINEAR - D3D11_FILTER_MAXIMUM_MIN_MAG_MIP_LINEAR -
- - -

Fetch the same set of texels as and instead of filtering them return the maximum of the texels. Texels that are weighted 0 during filtering aren't counted towards the maximum. You can query support for this filter type from the MinMaxFiltering member in the structure.

-
- - ff476132 - D3D11_FILTER_MAXIMUM_ANISOTROPIC - D3D11_FILTER_MAXIMUM_ANISOTROPIC -
- - -

Specifies the type of sampler filter reduction.

-
- -

This enum is used by the structure.

-
- - dn912870 - D3D11_FILTER_REDUCTION_TYPE - D3D11_FILTER_REDUCTION_TYPE -
- - -

Indicates standard (default) filter reduction.

-
- - dn912870 - D3D11_FILTER_REDUCTION_TYPE_STANDARD - D3D11_FILTER_REDUCTION_TYPE_STANDARD -
- - -

Indicates a comparison filter reduction.

-
- - dn912870 - D3D11_FILTER_REDUCTION_TYPE_COMPARISON - D3D11_FILTER_REDUCTION_TYPE_COMPARISON -
- - -

Indicates minimum filter reduction.

-
- - dn912870 - D3D11_FILTER_REDUCTION_TYPE_MINIMUM - D3D11_FILTER_REDUCTION_TYPE_MINIMUM -
- - -

Indicates maximum filter reduction.

-
- - dn912870 - D3D11_FILTER_REDUCTION_TYPE_MAXIMUM - D3D11_FILTER_REDUCTION_TYPE_MAXIMUM -
- - -

Types of magnification or minification sampler filters.

-
- - ff476133 - D3D11_FILTER_TYPE - D3D11_FILTER_TYPE -
- - -

Point filtering used as a texture magnification or minification filter. The texel with coordinates nearest to the desired pixel value is used. The texture filter to be used between mipmap levels is nearest-point mipmap filtering. The rasterizer uses the color from the texel of the nearest mipmap texture.

-
- - ff476133 - D3D11_FILTER_TYPE_POINT - D3D11_FILTER_TYPE_POINT -
- - -

Bilinear interpolation filtering used as a texture magnification or minification filter. A weighted average of a 2 x 2 area of texels surrounding the desired pixel is used. The texture filter to use between mipmap levels is trilinear mipmap interpolation. The rasterizer linearly interpolates pixel color, using the texels of the two nearest mipmap textures.

-
- - ff476133 - D3D11_FILTER_TYPE_LINEAR - D3D11_FILTER_TYPE_LINEAR -
- - -

Which resources are supported for a given format and given device (see and ).

-
- - ff476134 - D3D11_FORMAT_SUPPORT - D3D11_FORMAT_SUPPORT -
- - - No documentation. - - - ff476134 - D3D11_FORMAT_SUPPORT_BUFFER - D3D11_FORMAT_SUPPORT_BUFFER - - - - No documentation. - - - ff476134 - D3D11_FORMAT_SUPPORT_IA_VERTEX_BUFFER - D3D11_FORMAT_SUPPORT_IA_VERTEX_BUFFER - - - - No documentation. - - - ff476134 - D3D11_FORMAT_SUPPORT_IA_INDEX_BUFFER - D3D11_FORMAT_SUPPORT_IA_INDEX_BUFFER - - - - No documentation. - - - ff476134 - D3D11_FORMAT_SUPPORT_SO_BUFFER - D3D11_FORMAT_SUPPORT_SO_BUFFER - - - - No documentation. - - - ff476134 - D3D11_FORMAT_SUPPORT_TEXTURE1D - D3D11_FORMAT_SUPPORT_TEXTURE1D - - - - No documentation. - - - ff476134 - D3D11_FORMAT_SUPPORT_TEXTURE2D - D3D11_FORMAT_SUPPORT_TEXTURE2D - - - - No documentation. - - - ff476134 - D3D11_FORMAT_SUPPORT_TEXTURE3D - D3D11_FORMAT_SUPPORT_TEXTURE3D - - - - No documentation. - - - ff476134 - D3D11_FORMAT_SUPPORT_TEXTURECUBE - D3D11_FORMAT_SUPPORT_TEXTURECUBE - - - - No documentation. - - - ff476134 - D3D11_FORMAT_SUPPORT_SHADER_LOAD - D3D11_FORMAT_SUPPORT_SHADER_LOAD - - - - No documentation. - - - ff476134 - D3D11_FORMAT_SUPPORT_SHADER_SAMPLE - D3D11_FORMAT_SUPPORT_SHADER_SAMPLE - - - - No documentation. - - - ff476134 - D3D11_FORMAT_SUPPORT_SHADER_SAMPLE_COMPARISON - D3D11_FORMAT_SUPPORT_SHADER_SAMPLE_COMPARISON - - - - No documentation. - - - ff476134 - D3D11_FORMAT_SUPPORT_SHADER_SAMPLE_MONO_TEXT - D3D11_FORMAT_SUPPORT_SHADER_SAMPLE_MONO_TEXT - - - - No documentation. - - - ff476134 - D3D11_FORMAT_SUPPORT_MIP - D3D11_FORMAT_SUPPORT_MIP - - - - No documentation. - - - ff476134 - D3D11_FORMAT_SUPPORT_MIP_AUTOGEN - D3D11_FORMAT_SUPPORT_MIP_AUTOGEN - - - - No documentation. - - - ff476134 - D3D11_FORMAT_SUPPORT_RENDER_TARGET - D3D11_FORMAT_SUPPORT_RENDER_TARGET - - - - No documentation. - - - ff476134 - D3D11_FORMAT_SUPPORT_BLENDABLE - D3D11_FORMAT_SUPPORT_BLENDABLE - - - - No documentation. - - - ff476134 - D3D11_FORMAT_SUPPORT_DEPTH_STENCIL - D3D11_FORMAT_SUPPORT_DEPTH_STENCIL - - - - No documentation. - - - ff476134 - D3D11_FORMAT_SUPPORT_CPU_LOCKABLE - D3D11_FORMAT_SUPPORT_CPU_LOCKABLE - - - - No documentation. - - - ff476134 - D3D11_FORMAT_SUPPORT_MULTISAMPLE_RESOLVE - D3D11_FORMAT_SUPPORT_MULTISAMPLE_RESOLVE - - - - No documentation. - - - ff476134 - D3D11_FORMAT_SUPPORT_DISPLAY - D3D11_FORMAT_SUPPORT_DISPLAY - - - - No documentation. - - - ff476134 - D3D11_FORMAT_SUPPORT_CAST_WITHIN_BIT_LAYOUT - D3D11_FORMAT_SUPPORT_CAST_WITHIN_BIT_LAYOUT - - - - No documentation. - - - ff476134 - D3D11_FORMAT_SUPPORT_MULTISAMPLE_RENDERTARGET - D3D11_FORMAT_SUPPORT_MULTISAMPLE_RENDERTARGET - - - - No documentation. - - - ff476134 - D3D11_FORMAT_SUPPORT_MULTISAMPLE_LOAD - D3D11_FORMAT_SUPPORT_MULTISAMPLE_LOAD - - - - No documentation. - - - ff476134 - D3D11_FORMAT_SUPPORT_SHADER_GATHER - D3D11_FORMAT_SUPPORT_SHADER_GATHER - - - - No documentation. - - - ff476134 - D3D11_FORMAT_SUPPORT_BACK_BUFFER_CAST - D3D11_FORMAT_SUPPORT_BACK_BUFFER_CAST - - - - No documentation. - - - ff476134 - D3D11_FORMAT_SUPPORT_TYPED_UNORDERED_ACCESS_VIEW - D3D11_FORMAT_SUPPORT_TYPED_UNORDERED_ACCESS_VIEW - - - - No documentation. - - - ff476134 - D3D11_FORMAT_SUPPORT_SHADER_GATHER_COMPARISON - D3D11_FORMAT_SUPPORT_SHADER_GATHER_COMPARISON - - - - No documentation. - - - ff476134 - D3D11_FORMAT_SUPPORT_DECODER_OUTPUT - D3D11_FORMAT_SUPPORT_DECODER_OUTPUT - - - - No documentation. - - - ff476134 - D3D11_FORMAT_SUPPORT_VIDEO_PROCESSOR_OUTPUT - D3D11_FORMAT_SUPPORT_VIDEO_PROCESSOR_OUTPUT - - - - No documentation. - - - ff476134 - D3D11_FORMAT_SUPPORT_VIDEO_PROCESSOR_INPUT - D3D11_FORMAT_SUPPORT_VIDEO_PROCESSOR_INPUT - - - - No documentation. - - - ff476134 - D3D11_FORMAT_SUPPORT_VIDEO_ENCODER - D3D11_FORMAT_SUPPORT_VIDEO_ENCODER - - - - None. - - - None - None - - - -

Type of data contained in an input slot.

-
- -

Use these values to specify the type of data for a particular input element (see ) of an input-layout object.

-
- - ff476179 - D3D11_INPUT_CLASSIFICATION - D3D11_INPUT_CLASSIFICATION -
- - -

Input data is per-vertex data.

-
- - ff476179 - D3D11_INPUT_PER_VERTEX_DATA - D3D11_INPUT_PER_VERTEX_DATA -
- - -

Input data is per-instance data.

-
- - ff476179 - D3D11_INPUT_PER_INSTANCE_DATA - D3D11_INPUT_PER_INSTANCE_DATA -
- - - Note??This enumeration is supported by the Direct3D 11.1 runtime, which is available on Windows?8 and later operating systems.?

Specifies logical operations to configure for a render target.

-
- - hh404484 - D3D11_LOGIC_OP - D3D11_LOGIC_OP -
- - -

Clears the render target.

-
- - hh404484 - D3D11_LOGIC_OP_CLEAR - D3D11_LOGIC_OP_CLEAR -
- - -

Sets the render target.

-
- - hh404484 - D3D11_LOGIC_OP_SET - D3D11_LOGIC_OP_SET -
- - -

Copys the render target.

-
- - hh404484 - D3D11_LOGIC_OP_COPY - D3D11_LOGIC_OP_COPY -
- - -

Performs an inverted-copy of the render target.

-
- - hh404484 - D3D11_LOGIC_OP_COPY_INVERTED - D3D11_LOGIC_OP_COPY_INVERTED -
- - -

No operation is performed on the render target.

-
- - hh404484 - D3D11_LOGIC_OP_NOOP - D3D11_LOGIC_OP_NOOP -
- - -

Inverts the render target.

-
- - hh404484 - D3D11_LOGIC_OP_INVERT - D3D11_LOGIC_OP_INVERT -
- - -

Performs a logical AND operation on the render target.

-
- - hh404484 - D3D11_LOGIC_OP_AND - D3D11_LOGIC_OP_AND -
- - -

Performs a logical NAND operation on the render target.

-
- - hh404484 - D3D11_LOGIC_OP_NAND - D3D11_LOGIC_OP_NAND -
- - -

Performs a logical OR operation on the render target.

-
- - hh404484 - D3D11_LOGIC_OP_OR - D3D11_LOGIC_OP_OR -
- - -

Performs a logical NOR operation on the render target.

-
- - hh404484 - D3D11_LOGIC_OP_NOR - D3D11_LOGIC_OP_NOR -
- - -

Performs a logical XOR operation on the render target.

-
- - hh404484 - D3D11_LOGIC_OP_XOR - D3D11_LOGIC_OP_XOR -
- - -

Performs a logical equal operation on the render target.

-
- - hh404484 - D3D11_LOGIC_OP_EQUIV - D3D11_LOGIC_OP_EQUIV -
- - -

Performs a logical AND and reverse operation on the render target.

-
- - hh404484 - D3D11_LOGIC_OP_AND_REVERSE - D3D11_LOGIC_OP_AND_REVERSE -
- - -

Performs a logical AND and invert operation on the render target.

-
- - hh404484 - D3D11_LOGIC_OP_AND_INVERTED - D3D11_LOGIC_OP_AND_INVERTED -
- - -

Performs a logical OR and reverse operation on the render target.

-
- - hh404484 - D3D11_LOGIC_OP_OR_REVERSE - D3D11_LOGIC_OP_OR_REVERSE -
- - -

Performs a logical OR and invert operation on the render target.

-
- - hh404484 - D3D11_LOGIC_OP_OR_INVERTED - D3D11_LOGIC_OP_OR_INVERTED -
- - -

Specifies how the CPU should respond when an application calls the method on a resource that is being used by the GPU.

-
- -

This enumeration is used by .

cannot be used with or D3D11_MAP_WRITE_NOOVERWRITE.

-
- - ff476183 - D3D11_MAP_FLAG - D3D11_MAP_FLAG -
- - - No documentation. - - - ff476183 - D3D11_MAP_FLAG_DO_NOT_WAIT - D3D11_MAP_FLAG_DO_NOT_WAIT - - - - None. - - - None - None - - - -

Identifies a resource to be accessed for reading and writing by the CPU. Applications may combine one or more of these flags.

-
- -

This enumeration is used in .

These remarks are divided into the following topics:

  • Meaning
  • Common
-
- - ff476181 - D3D11_MAP - D3D11_MAP -
- - -

Resource is mapped for reading. The resource must have been created with read access (see ).

-
- - ff476181 - D3D11_MAP_READ - D3D11_MAP_READ -
- - -

Resource is mapped for writing. The resource must have been created with write access (see ).

-
- - ff476181 - D3D11_MAP_WRITE - D3D11_MAP_WRITE -
- - -

Resource is mapped for reading and writing. The resource must have been created with read and write access (see and ).

-
- - ff476181 - D3D11_MAP_READ_WRITE - D3D11_MAP_READ_WRITE -
- - -

Resource is mapped for writing; the previous contents of the resource will be undefined. The resource must have been created with write access and dynamic usage (See and ).

-
- - ff476181 - D3D11_MAP_WRITE_DISCARD - D3D11_MAP_WRITE_DISCARD -
- - -

Resource is mapped for writing; the existing contents of the resource cannot be overwritten (see Remarks). This flag is only valid on vertex and index buffers. The resource must have been created with write access (see ). Cannot be used on a resource created with the flag.

Note??The Direct3D 11.1 runtime, which is available starting with Windows?8, enables mapping dynamic constant buffers and shader resource views (SRVs) of dynamic buffers with . The Direct3D 11 and earlier runtimes limited mapping to vertex or index buffers. To determine if a Direct3D device supports these features, call with . CheckFeatureSupport fills members of a structure with the device's features. The relevant members here are MapNoOverwriteOnDynamicConstantBuffer and MapNoOverwriteOnDynamicBufferSRV. ?
-
- - ff476181 - D3D11_MAP_WRITE_NO_OVERWRITE - D3D11_MAP_WRITE_NO_OVERWRITE -
- - -

Categories of debug messages. This will identify the category of a message when retrieving a message with and when adding a message with . When creating an info queue filter, these values can be used to allow or deny any categories of messages to pass through the storage and retrieval filters.

-
- -

This is part of the Information Queue feature. See Interface.

-
- - ff476185 - D3D11_MESSAGE_CATEGORY - D3D11_MESSAGE_CATEGORY -
- - - No documentation. - - - ff476185 - D3D11_MESSAGE_CATEGORY_APPLICATION_DEFINED - D3D11_MESSAGE_CATEGORY_APPLICATION_DEFINED - - - - No documentation. - - - ff476185 - D3D11_MESSAGE_CATEGORY_MISCELLANEOUS - D3D11_MESSAGE_CATEGORY_MISCELLANEOUS - - - - No documentation. - - - ff476185 - D3D11_MESSAGE_CATEGORY_INITIALIZATION - D3D11_MESSAGE_CATEGORY_INITIALIZATION - - - - No documentation. - - - ff476185 - D3D11_MESSAGE_CATEGORY_CLEANUP - D3D11_MESSAGE_CATEGORY_CLEANUP - - - - No documentation. - - - ff476185 - D3D11_MESSAGE_CATEGORY_COMPILATION - D3D11_MESSAGE_CATEGORY_COMPILATION - - - - No documentation. - - - ff476185 - D3D11_MESSAGE_CATEGORY_STATE_CREATION - D3D11_MESSAGE_CATEGORY_STATE_CREATION - - - - No documentation. - - - ff476185 - D3D11_MESSAGE_CATEGORY_STATE_SETTING - D3D11_MESSAGE_CATEGORY_STATE_SETTING - - - - No documentation. - - - ff476185 - D3D11_MESSAGE_CATEGORY_STATE_GETTING - D3D11_MESSAGE_CATEGORY_STATE_GETTING - - - - No documentation. - - - ff476185 - D3D11_MESSAGE_CATEGORY_RESOURCE_MANIPULATION - D3D11_MESSAGE_CATEGORY_RESOURCE_MANIPULATION - - - - No documentation. - - - ff476185 - D3D11_MESSAGE_CATEGORY_EXECUTION - D3D11_MESSAGE_CATEGORY_EXECUTION - - - - No documentation. - - - ff476185 - D3D11_MESSAGE_CATEGORY_SHADER - D3D11_MESSAGE_CATEGORY_SHADER - - - - No documentation. - - - D3D11_MESSAGE_ID - D3D11_MESSAGE_ID - - - - No documentation. - - - D3D11_MESSAGE_ID_UNKNOWN - D3D11_MESSAGE_ID_UNKNOWN - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_IASETVERTEXBUFFERS_HAZARD - D3D11_MESSAGE_ID_DEVICE_IASETVERTEXBUFFERS_HAZARD - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_IASETINDEXBUFFER_HAZARD - D3D11_MESSAGE_ID_DEVICE_IASETINDEXBUFFER_HAZARD - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_VSSETSHADERRESOURCES_HAZARD - D3D11_MESSAGE_ID_DEVICE_VSSETSHADERRESOURCES_HAZARD - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_VSSETCONSTANTBUFFERS_HAZARD - D3D11_MESSAGE_ID_DEVICE_VSSETCONSTANTBUFFERS_HAZARD - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_GSSETSHADERRESOURCES_HAZARD - D3D11_MESSAGE_ID_DEVICE_GSSETSHADERRESOURCES_HAZARD - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_GSSETCONSTANTBUFFERS_HAZARD - D3D11_MESSAGE_ID_DEVICE_GSSETCONSTANTBUFFERS_HAZARD - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_PSSETSHADERRESOURCES_HAZARD - D3D11_MESSAGE_ID_DEVICE_PSSETSHADERRESOURCES_HAZARD - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_PSSETCONSTANTBUFFERS_HAZARD - D3D11_MESSAGE_ID_DEVICE_PSSETCONSTANTBUFFERS_HAZARD - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_OMSETRENDERTARGETS_HAZARD - D3D11_MESSAGE_ID_DEVICE_OMSETRENDERTARGETS_HAZARD - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_SOSETTARGETS_HAZARD - D3D11_MESSAGE_ID_DEVICE_SOSETTARGETS_HAZARD - - - - No documentation. - - - D3D11_MESSAGE_ID_STRING_FROM_APPLICATION - D3D11_MESSAGE_ID_STRING_FROM_APPLICATION - - - - No documentation. - - - D3D11_MESSAGE_ID_CORRUPTED_THIS - D3D11_MESSAGE_ID_CORRUPTED_THIS - - - - No documentation. - - - D3D11_MESSAGE_ID_CORRUPTED_PARAMETER1 - D3D11_MESSAGE_ID_CORRUPTED_PARAMETER1 - - - - No documentation. - - - D3D11_MESSAGE_ID_CORRUPTED_PARAMETER2 - D3D11_MESSAGE_ID_CORRUPTED_PARAMETER2 - - - - No documentation. - - - D3D11_MESSAGE_ID_CORRUPTED_PARAMETER3 - D3D11_MESSAGE_ID_CORRUPTED_PARAMETER3 - - - - No documentation. - - - D3D11_MESSAGE_ID_CORRUPTED_PARAMETER4 - D3D11_MESSAGE_ID_CORRUPTED_PARAMETER4 - - - - No documentation. - - - D3D11_MESSAGE_ID_CORRUPTED_PARAMETER5 - D3D11_MESSAGE_ID_CORRUPTED_PARAMETER5 - - - - No documentation. - - - D3D11_MESSAGE_ID_CORRUPTED_PARAMETER6 - D3D11_MESSAGE_ID_CORRUPTED_PARAMETER6 - - - - No documentation. - - - D3D11_MESSAGE_ID_CORRUPTED_PARAMETER7 - D3D11_MESSAGE_ID_CORRUPTED_PARAMETER7 - - - - No documentation. - - - D3D11_MESSAGE_ID_CORRUPTED_PARAMETER8 - D3D11_MESSAGE_ID_CORRUPTED_PARAMETER8 - - - - No documentation. - - - D3D11_MESSAGE_ID_CORRUPTED_PARAMETER9 - D3D11_MESSAGE_ID_CORRUPTED_PARAMETER9 - - - - No documentation. - - - D3D11_MESSAGE_ID_CORRUPTED_PARAMETER10 - D3D11_MESSAGE_ID_CORRUPTED_PARAMETER10 - - - - No documentation. - - - D3D11_MESSAGE_ID_CORRUPTED_PARAMETER11 - D3D11_MESSAGE_ID_CORRUPTED_PARAMETER11 - - - - No documentation. - - - D3D11_MESSAGE_ID_CORRUPTED_PARAMETER12 - D3D11_MESSAGE_ID_CORRUPTED_PARAMETER12 - - - - No documentation. - - - D3D11_MESSAGE_ID_CORRUPTED_PARAMETER13 - D3D11_MESSAGE_ID_CORRUPTED_PARAMETER13 - - - - No documentation. - - - D3D11_MESSAGE_ID_CORRUPTED_PARAMETER14 - D3D11_MESSAGE_ID_CORRUPTED_PARAMETER14 - - - - No documentation. - - - D3D11_MESSAGE_ID_CORRUPTED_PARAMETER15 - D3D11_MESSAGE_ID_CORRUPTED_PARAMETER15 - - - - No documentation. - - - D3D11_MESSAGE_ID_CORRUPTED_MULTITHREADING - D3D11_MESSAGE_ID_CORRUPTED_MULTITHREADING - - - - No documentation. - - - D3D11_MESSAGE_ID_MESSAGE_REPORTING_OUTOFMEMORY - D3D11_MESSAGE_ID_MESSAGE_REPORTING_OUTOFMEMORY - - - - No documentation. - - - D3D11_MESSAGE_ID_IASETINPUTLAYOUT_UNBINDDELETINGOBJECT - D3D11_MESSAGE_ID_IASETINPUTLAYOUT_UNBINDDELETINGOBJECT - - - - No documentation. - - - D3D11_MESSAGE_ID_IASETVERTEXBUFFERS_UNBINDDELETINGOBJECT - D3D11_MESSAGE_ID_IASETVERTEXBUFFERS_UNBINDDELETINGOBJECT - - - - No documentation. - - - D3D11_MESSAGE_ID_IASETINDEXBUFFER_UNBINDDELETINGOBJECT - D3D11_MESSAGE_ID_IASETINDEXBUFFER_UNBINDDELETINGOBJECT - - - - No documentation. - - - D3D11_MESSAGE_ID_VSSETSHADER_UNBINDDELETINGOBJECT - D3D11_MESSAGE_ID_VSSETSHADER_UNBINDDELETINGOBJECT - - - - No documentation. - - - D3D11_MESSAGE_ID_VSSETSHADERRESOURCES_UNBINDDELETINGOBJECT - D3D11_MESSAGE_ID_VSSETSHADERRESOURCES_UNBINDDELETINGOBJECT - - - - No documentation. - - - D3D11_MESSAGE_ID_VSSETCONSTANTBUFFERS_UNBINDDELETINGOBJECT - D3D11_MESSAGE_ID_VSSETCONSTANTBUFFERS_UNBINDDELETINGOBJECT - - - - No documentation. - - - D3D11_MESSAGE_ID_VSSETSAMPLERS_UNBINDDELETINGOBJECT - D3D11_MESSAGE_ID_VSSETSAMPLERS_UNBINDDELETINGOBJECT - - - - No documentation. - - - D3D11_MESSAGE_ID_GSSETSHADER_UNBINDDELETINGOBJECT - D3D11_MESSAGE_ID_GSSETSHADER_UNBINDDELETINGOBJECT - - - - No documentation. - - - D3D11_MESSAGE_ID_GSSETSHADERRESOURCES_UNBINDDELETINGOBJECT - D3D11_MESSAGE_ID_GSSETSHADERRESOURCES_UNBINDDELETINGOBJECT - - - - No documentation. - - - D3D11_MESSAGE_ID_GSSETCONSTANTBUFFERS_UNBINDDELETINGOBJECT - D3D11_MESSAGE_ID_GSSETCONSTANTBUFFERS_UNBINDDELETINGOBJECT - - - - No documentation. - - - D3D11_MESSAGE_ID_GSSETSAMPLERS_UNBINDDELETINGOBJECT - D3D11_MESSAGE_ID_GSSETSAMPLERS_UNBINDDELETINGOBJECT - - - - No documentation. - - - D3D11_MESSAGE_ID_SOSETTARGETS_UNBINDDELETINGOBJECT - D3D11_MESSAGE_ID_SOSETTARGETS_UNBINDDELETINGOBJECT - - - - No documentation. - - - D3D11_MESSAGE_ID_PSSETSHADER_UNBINDDELETINGOBJECT - D3D11_MESSAGE_ID_PSSETSHADER_UNBINDDELETINGOBJECT - - - - No documentation. - - - D3D11_MESSAGE_ID_PSSETSHADERRESOURCES_UNBINDDELETINGOBJECT - D3D11_MESSAGE_ID_PSSETSHADERRESOURCES_UNBINDDELETINGOBJECT - - - - No documentation. - - - D3D11_MESSAGE_ID_PSSETCONSTANTBUFFERS_UNBINDDELETINGOBJECT - D3D11_MESSAGE_ID_PSSETCONSTANTBUFFERS_UNBINDDELETINGOBJECT - - - - No documentation. - - - D3D11_MESSAGE_ID_PSSETSAMPLERS_UNBINDDELETINGOBJECT - D3D11_MESSAGE_ID_PSSETSAMPLERS_UNBINDDELETINGOBJECT - - - - No documentation. - - - D3D11_MESSAGE_ID_RSSETSTATE_UNBINDDELETINGOBJECT - D3D11_MESSAGE_ID_RSSETSTATE_UNBINDDELETINGOBJECT - - - - No documentation. - - - D3D11_MESSAGE_ID_OMSETBLENDSTATE_UNBINDDELETINGOBJECT - D3D11_MESSAGE_ID_OMSETBLENDSTATE_UNBINDDELETINGOBJECT - - - - No documentation. - - - D3D11_MESSAGE_ID_OMSETDEPTHSTENCILSTATE_UNBINDDELETINGOBJECT - D3D11_MESSAGE_ID_OMSETDEPTHSTENCILSTATE_UNBINDDELETINGOBJECT - - - - No documentation. - - - D3D11_MESSAGE_ID_OMSETRENDERTARGETS_UNBINDDELETINGOBJECT - D3D11_MESSAGE_ID_OMSETRENDERTARGETS_UNBINDDELETINGOBJECT - - - - No documentation. - - - D3D11_MESSAGE_ID_SETPREDICATION_UNBINDDELETINGOBJECT - D3D11_MESSAGE_ID_SETPREDICATION_UNBINDDELETINGOBJECT - - - - No documentation. - - - D3D11_MESSAGE_ID_GETPRIVATEDATA_MOREDATA - D3D11_MESSAGE_ID_GETPRIVATEDATA_MOREDATA - - - - No documentation. - - - D3D11_MESSAGE_ID_SETPRIVATEDATA_INVALIDFREEDATA - D3D11_MESSAGE_ID_SETPRIVATEDATA_INVALIDFREEDATA - - - - No documentation. - - - D3D11_MESSAGE_ID_SETPRIVATEDATA_INVALIDIUNKNOWN - D3D11_MESSAGE_ID_SETPRIVATEDATA_INVALIDIUNKNOWN - - - - No documentation. - - - D3D11_MESSAGE_ID_SETPRIVATEDATA_INVALIDFLAGS - D3D11_MESSAGE_ID_SETPRIVATEDATA_INVALIDFLAGS - - - - No documentation. - - - D3D11_MESSAGE_ID_SETPRIVATEDATA_CHANGINGPARAMS - D3D11_MESSAGE_ID_SETPRIVATEDATA_CHANGINGPARAMS - - - - No documentation. - - - D3D11_MESSAGE_ID_SETPRIVATEDATA_OUTOFMEMORY - D3D11_MESSAGE_ID_SETPRIVATEDATA_OUTOFMEMORY - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEBUFFER_UNRECOGNIZEDFORMAT - D3D11_MESSAGE_ID_CREATEBUFFER_UNRECOGNIZEDFORMAT - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDSAMPLES - D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDSAMPLES - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEBUFFER_UNRECOGNIZEDUSAGE - D3D11_MESSAGE_ID_CREATEBUFFER_UNRECOGNIZEDUSAGE - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEBUFFER_UNRECOGNIZEDBINDFLAGS - D3D11_MESSAGE_ID_CREATEBUFFER_UNRECOGNIZEDBINDFLAGS - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEBUFFER_UNRECOGNIZEDCPUACCESSFLAGS - D3D11_MESSAGE_ID_CREATEBUFFER_UNRECOGNIZEDCPUACCESSFLAGS - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEBUFFER_UNRECOGNIZEDMISCFLAGS - D3D11_MESSAGE_ID_CREATEBUFFER_UNRECOGNIZEDMISCFLAGS - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDCPUACCESSFLAGS - D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDCPUACCESSFLAGS - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDBINDFLAGS - D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDBINDFLAGS - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDINITIALDATA - D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDINITIALDATA - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDDIMENSIONS - D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDDIMENSIONS - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDMIPLEVELS - D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDMIPLEVELS - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDMISCFLAGS - D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDMISCFLAGS - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDARG_RETURN - D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDARG_RETURN - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEBUFFER_OUTOFMEMORY_RETURN - D3D11_MESSAGE_ID_CREATEBUFFER_OUTOFMEMORY_RETURN - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEBUFFER_NULLDESC - D3D11_MESSAGE_ID_CREATEBUFFER_NULLDESC - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDCONSTANTBUFFERBINDINGS - D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDCONSTANTBUFFERBINDINGS - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEBUFFER_LARGEALLOCATION - D3D11_MESSAGE_ID_CREATEBUFFER_LARGEALLOCATION - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATETEXTURE1D_UNRECOGNIZEDFORMAT - D3D11_MESSAGE_ID_CREATETEXTURE1D_UNRECOGNIZEDFORMAT - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATETEXTURE1D_UNSUPPORTEDFORMAT - D3D11_MESSAGE_ID_CREATETEXTURE1D_UNSUPPORTEDFORMAT - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATETEXTURE1D_INVALIDSAMPLES - D3D11_MESSAGE_ID_CREATETEXTURE1D_INVALIDSAMPLES - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATETEXTURE1D_UNRECOGNIZEDUSAGE - D3D11_MESSAGE_ID_CREATETEXTURE1D_UNRECOGNIZEDUSAGE - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATETEXTURE1D_UNRECOGNIZEDBINDFLAGS - D3D11_MESSAGE_ID_CREATETEXTURE1D_UNRECOGNIZEDBINDFLAGS - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATETEXTURE1D_UNRECOGNIZEDCPUACCESSFLAGS - D3D11_MESSAGE_ID_CREATETEXTURE1D_UNRECOGNIZEDCPUACCESSFLAGS - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATETEXTURE1D_UNRECOGNIZEDMISCFLAGS - D3D11_MESSAGE_ID_CREATETEXTURE1D_UNRECOGNIZEDMISCFLAGS - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATETEXTURE1D_INVALIDCPUACCESSFLAGS - D3D11_MESSAGE_ID_CREATETEXTURE1D_INVALIDCPUACCESSFLAGS - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATETEXTURE1D_INVALIDBINDFLAGS - D3D11_MESSAGE_ID_CREATETEXTURE1D_INVALIDBINDFLAGS - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATETEXTURE1D_INVALIDINITIALDATA - D3D11_MESSAGE_ID_CREATETEXTURE1D_INVALIDINITIALDATA - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATETEXTURE1D_INVALIDDIMENSIONS - D3D11_MESSAGE_ID_CREATETEXTURE1D_INVALIDDIMENSIONS - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATETEXTURE1D_INVALIDMIPLEVELS - D3D11_MESSAGE_ID_CREATETEXTURE1D_INVALIDMIPLEVELS - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATETEXTURE1D_INVALIDMISCFLAGS - D3D11_MESSAGE_ID_CREATETEXTURE1D_INVALIDMISCFLAGS - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATETEXTURE1D_INVALIDARG_RETURN - D3D11_MESSAGE_ID_CREATETEXTURE1D_INVALIDARG_RETURN - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATETEXTURE1D_OUTOFMEMORY_RETURN - D3D11_MESSAGE_ID_CREATETEXTURE1D_OUTOFMEMORY_RETURN - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATETEXTURE1D_NULLDESC - D3D11_MESSAGE_ID_CREATETEXTURE1D_NULLDESC - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATETEXTURE1D_LARGEALLOCATION - D3D11_MESSAGE_ID_CREATETEXTURE1D_LARGEALLOCATION - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATETEXTURE2D_UNRECOGNIZEDFORMAT - D3D11_MESSAGE_ID_CREATETEXTURE2D_UNRECOGNIZEDFORMAT - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATETEXTURE2D_UNSUPPORTEDFORMAT - D3D11_MESSAGE_ID_CREATETEXTURE2D_UNSUPPORTEDFORMAT - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATETEXTURE2D_INVALIDSAMPLES - D3D11_MESSAGE_ID_CREATETEXTURE2D_INVALIDSAMPLES - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATETEXTURE2D_UNRECOGNIZEDUSAGE - D3D11_MESSAGE_ID_CREATETEXTURE2D_UNRECOGNIZEDUSAGE - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATETEXTURE2D_UNRECOGNIZEDBINDFLAGS - D3D11_MESSAGE_ID_CREATETEXTURE2D_UNRECOGNIZEDBINDFLAGS - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATETEXTURE2D_UNRECOGNIZEDCPUACCESSFLAGS - D3D11_MESSAGE_ID_CREATETEXTURE2D_UNRECOGNIZEDCPUACCESSFLAGS - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATETEXTURE2D_UNRECOGNIZEDMISCFLAGS - D3D11_MESSAGE_ID_CREATETEXTURE2D_UNRECOGNIZEDMISCFLAGS - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATETEXTURE2D_INVALIDCPUACCESSFLAGS - D3D11_MESSAGE_ID_CREATETEXTURE2D_INVALIDCPUACCESSFLAGS - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATETEXTURE2D_INVALIDBINDFLAGS - D3D11_MESSAGE_ID_CREATETEXTURE2D_INVALIDBINDFLAGS - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATETEXTURE2D_INVALIDINITIALDATA - D3D11_MESSAGE_ID_CREATETEXTURE2D_INVALIDINITIALDATA - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATETEXTURE2D_INVALIDDIMENSIONS - D3D11_MESSAGE_ID_CREATETEXTURE2D_INVALIDDIMENSIONS - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATETEXTURE2D_INVALIDMIPLEVELS - D3D11_MESSAGE_ID_CREATETEXTURE2D_INVALIDMIPLEVELS - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATETEXTURE2D_INVALIDMISCFLAGS - D3D11_MESSAGE_ID_CREATETEXTURE2D_INVALIDMISCFLAGS - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATETEXTURE2D_INVALIDARG_RETURN - D3D11_MESSAGE_ID_CREATETEXTURE2D_INVALIDARG_RETURN - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATETEXTURE2D_OUTOFMEMORY_RETURN - D3D11_MESSAGE_ID_CREATETEXTURE2D_OUTOFMEMORY_RETURN - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATETEXTURE2D_NULLDESC - D3D11_MESSAGE_ID_CREATETEXTURE2D_NULLDESC - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATETEXTURE2D_LARGEALLOCATION - D3D11_MESSAGE_ID_CREATETEXTURE2D_LARGEALLOCATION - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATETEXTURE3D_UNRECOGNIZEDFORMAT - D3D11_MESSAGE_ID_CREATETEXTURE3D_UNRECOGNIZEDFORMAT - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATETEXTURE3D_UNSUPPORTEDFORMAT - D3D11_MESSAGE_ID_CREATETEXTURE3D_UNSUPPORTEDFORMAT - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATETEXTURE3D_INVALIDSAMPLES - D3D11_MESSAGE_ID_CREATETEXTURE3D_INVALIDSAMPLES - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATETEXTURE3D_UNRECOGNIZEDUSAGE - D3D11_MESSAGE_ID_CREATETEXTURE3D_UNRECOGNIZEDUSAGE - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATETEXTURE3D_UNRECOGNIZEDBINDFLAGS - D3D11_MESSAGE_ID_CREATETEXTURE3D_UNRECOGNIZEDBINDFLAGS - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATETEXTURE3D_UNRECOGNIZEDCPUACCESSFLAGS - D3D11_MESSAGE_ID_CREATETEXTURE3D_UNRECOGNIZEDCPUACCESSFLAGS - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATETEXTURE3D_UNRECOGNIZEDMISCFLAGS - D3D11_MESSAGE_ID_CREATETEXTURE3D_UNRECOGNIZEDMISCFLAGS - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATETEXTURE3D_INVALIDCPUACCESSFLAGS - D3D11_MESSAGE_ID_CREATETEXTURE3D_INVALIDCPUACCESSFLAGS - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATETEXTURE3D_INVALIDBINDFLAGS - D3D11_MESSAGE_ID_CREATETEXTURE3D_INVALIDBINDFLAGS - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATETEXTURE3D_INVALIDINITIALDATA - D3D11_MESSAGE_ID_CREATETEXTURE3D_INVALIDINITIALDATA - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATETEXTURE3D_INVALIDDIMENSIONS - D3D11_MESSAGE_ID_CREATETEXTURE3D_INVALIDDIMENSIONS - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATETEXTURE3D_INVALIDMIPLEVELS - D3D11_MESSAGE_ID_CREATETEXTURE3D_INVALIDMIPLEVELS - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATETEXTURE3D_INVALIDMISCFLAGS - D3D11_MESSAGE_ID_CREATETEXTURE3D_INVALIDMISCFLAGS - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATETEXTURE3D_INVALIDARG_RETURN - D3D11_MESSAGE_ID_CREATETEXTURE3D_INVALIDARG_RETURN - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATETEXTURE3D_OUTOFMEMORY_RETURN - D3D11_MESSAGE_ID_CREATETEXTURE3D_OUTOFMEMORY_RETURN - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATETEXTURE3D_NULLDESC - D3D11_MESSAGE_ID_CREATETEXTURE3D_NULLDESC - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATETEXTURE3D_LARGEALLOCATION - D3D11_MESSAGE_ID_CREATETEXTURE3D_LARGEALLOCATION - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_UNRECOGNIZEDFORMAT - D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_UNRECOGNIZEDFORMAT - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDDESC - D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDDESC - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDFORMAT - D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDFORMAT - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDDIMENSIONS - D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDDIMENSIONS - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDRESOURCE - D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDRESOURCE - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_TOOMANYOBJECTS - D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_TOOMANYOBJECTS - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDARG_RETURN - D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDARG_RETURN - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_OUTOFMEMORY_RETURN - D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_OUTOFMEMORY_RETURN - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_UNRECOGNIZEDFORMAT - D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_UNRECOGNIZEDFORMAT - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_UNSUPPORTEDFORMAT - D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_UNSUPPORTEDFORMAT - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDDESC - D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDDESC - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDFORMAT - D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDFORMAT - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDDIMENSIONS - D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDDIMENSIONS - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDRESOURCE - D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDRESOURCE - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_TOOMANYOBJECTS - D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_TOOMANYOBJECTS - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDARG_RETURN - D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDARG_RETURN - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_OUTOFMEMORY_RETURN - D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_OUTOFMEMORY_RETURN - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_UNRECOGNIZEDFORMAT - D3D11_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_UNRECOGNIZEDFORMAT - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDDESC - D3D11_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDDESC - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDFORMAT - D3D11_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDFORMAT - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDDIMENSIONS - D3D11_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDDIMENSIONS - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDRESOURCE - D3D11_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDRESOURCE - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_TOOMANYOBJECTS - D3D11_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_TOOMANYOBJECTS - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDARG_RETURN - D3D11_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDARG_RETURN - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_OUTOFMEMORY_RETURN - D3D11_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_OUTOFMEMORY_RETURN - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_OUTOFMEMORY - D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_OUTOFMEMORY - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_TOOMANYELEMENTS - D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_TOOMANYELEMENTS - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDFORMAT - D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDFORMAT - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_INCOMPATIBLEFORMAT - D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_INCOMPATIBLEFORMAT - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDSLOT - D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDSLOT - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDINPUTSLOTCLASS - D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDINPUTSLOTCLASS - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_STEPRATESLOTCLASSMISMATCH - D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_STEPRATESLOTCLASSMISMATCH - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDSLOTCLASSCHANGE - D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDSLOTCLASSCHANGE - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDSTEPRATECHANGE - D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDSTEPRATECHANGE - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDALIGNMENT - D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDALIGNMENT - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_DUPLICATESEMANTIC - D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_DUPLICATESEMANTIC - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_UNPARSEABLEINPUTSIGNATURE - D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_UNPARSEABLEINPUTSIGNATURE - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_NULLSEMANTIC - D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_NULLSEMANTIC - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_MISSINGELEMENT - D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_MISSINGELEMENT - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_NULLDESC - D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_NULLDESC - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEVERTEXSHADER_OUTOFMEMORY - D3D11_MESSAGE_ID_CREATEVERTEXSHADER_OUTOFMEMORY - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEVERTEXSHADER_INVALIDSHADERBYTECODE - D3D11_MESSAGE_ID_CREATEVERTEXSHADER_INVALIDSHADERBYTECODE - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEVERTEXSHADER_INVALIDSHADERTYPE - D3D11_MESSAGE_ID_CREATEVERTEXSHADER_INVALIDSHADERTYPE - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADER_OUTOFMEMORY - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADER_OUTOFMEMORY - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADER_INVALIDSHADERBYTECODE - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADER_INVALIDSHADERBYTECODE - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADER_INVALIDSHADERTYPE - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADER_INVALIDSHADERTYPE - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTOFMEMORY - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTOFMEMORY - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSHADERBYTECODE - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSHADERBYTECODE - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSHADERTYPE - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSHADERTYPE - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDNUMENTRIES - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDNUMENTRIES - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTPUTSTREAMSTRIDEUNUSED - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTPUTSTREAMSTRIDEUNUSED - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UNEXPECTEDDECL - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UNEXPECTEDDECL - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_EXPECTEDDECL - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_EXPECTEDDECL - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTPUTSLOT0EXPECTED - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTPUTSLOT0EXPECTED - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDOUTPUTSLOT - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDOUTPUTSLOT - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_ONLYONEELEMENTPERSLOT - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_ONLYONEELEMENTPERSLOT - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDCOMPONENTCOUNT - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDCOMPONENTCOUNT - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTARTCOMPONENTANDCOMPONENTCOUNT - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTARTCOMPONENTANDCOMPONENTCOUNT - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDGAPDEFINITION - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDGAPDEFINITION - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_REPEATEDOUTPUT - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_REPEATEDOUTPUT - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDOUTPUTSTREAMSTRIDE - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDOUTPUTSTREAMSTRIDE - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MISSINGSEMANTIC - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MISSINGSEMANTIC - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MASKMISMATCH - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MASKMISMATCH - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_CANTHAVEONLYGAPS - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_CANTHAVEONLYGAPS - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DECLTOOCOMPLEX - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DECLTOOCOMPLEX - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MISSINGOUTPUTSIGNATURE - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MISSINGOUTPUTSIGNATURE - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEPIXELSHADER_OUTOFMEMORY - D3D11_MESSAGE_ID_CREATEPIXELSHADER_OUTOFMEMORY - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEPIXELSHADER_INVALIDSHADERBYTECODE - D3D11_MESSAGE_ID_CREATEPIXELSHADER_INVALIDSHADERBYTECODE - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEPIXELSHADER_INVALIDSHADERTYPE - D3D11_MESSAGE_ID_CREATEPIXELSHADER_INVALIDSHADERTYPE - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDFILLMODE - D3D11_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDFILLMODE - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDCULLMODE - D3D11_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDCULLMODE - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDDEPTHBIASCLAMP - D3D11_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDDEPTHBIASCLAMP - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDSLOPESCALEDDEPTHBIAS - D3D11_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDSLOPESCALEDDEPTHBIAS - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATERASTERIZERSTATE_TOOMANYOBJECTS - D3D11_MESSAGE_ID_CREATERASTERIZERSTATE_TOOMANYOBJECTS - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATERASTERIZERSTATE_NULLDESC - D3D11_MESSAGE_ID_CREATERASTERIZERSTATE_NULLDESC - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDDEPTHWRITEMASK - D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDDEPTHWRITEMASK - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDDEPTHFUNC - D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDDEPTHFUNC - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILFAILOP - D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILFAILOP - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILZFAILOP - D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILZFAILOP - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILPASSOP - D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILPASSOP - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILFUNC - D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILFUNC - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILFAILOP - D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILFAILOP - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILZFAILOP - D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILZFAILOP - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILPASSOP - D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILPASSOP - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILFUNC - D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILFUNC - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_TOOMANYOBJECTS - D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_TOOMANYOBJECTS - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_NULLDESC - D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_NULLDESC - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEBLENDSTATE_INVALIDSRCBLEND - D3D11_MESSAGE_ID_CREATEBLENDSTATE_INVALIDSRCBLEND - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEBLENDSTATE_INVALIDDESTBLEND - D3D11_MESSAGE_ID_CREATEBLENDSTATE_INVALIDDESTBLEND - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEBLENDSTATE_INVALIDBLENDOP - D3D11_MESSAGE_ID_CREATEBLENDSTATE_INVALIDBLENDOP - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEBLENDSTATE_INVALIDSRCBLENDALPHA - D3D11_MESSAGE_ID_CREATEBLENDSTATE_INVALIDSRCBLENDALPHA - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEBLENDSTATE_INVALIDDESTBLENDALPHA - D3D11_MESSAGE_ID_CREATEBLENDSTATE_INVALIDDESTBLENDALPHA - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEBLENDSTATE_INVALIDBLENDOPALPHA - D3D11_MESSAGE_ID_CREATEBLENDSTATE_INVALIDBLENDOPALPHA - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEBLENDSTATE_INVALIDRENDERTARGETWRITEMASK - D3D11_MESSAGE_ID_CREATEBLENDSTATE_INVALIDRENDERTARGETWRITEMASK - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEBLENDSTATE_TOOMANYOBJECTS - D3D11_MESSAGE_ID_CREATEBLENDSTATE_TOOMANYOBJECTS - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEBLENDSTATE_NULLDESC - D3D11_MESSAGE_ID_CREATEBLENDSTATE_NULLDESC - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDFILTER - D3D11_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDFILTER - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDADDRESSU - D3D11_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDADDRESSU - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDADDRESSV - D3D11_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDADDRESSV - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDADDRESSW - D3D11_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDADDRESSW - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDMIPLODBIAS - D3D11_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDMIPLODBIAS - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDMAXANISOTROPY - D3D11_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDMAXANISOTROPY - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDCOMPARISONFUNC - D3D11_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDCOMPARISONFUNC - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDMINLOD - D3D11_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDMINLOD - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDMAXLOD - D3D11_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDMAXLOD - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATESAMPLERSTATE_TOOMANYOBJECTS - D3D11_MESSAGE_ID_CREATESAMPLERSTATE_TOOMANYOBJECTS - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATESAMPLERSTATE_NULLDESC - D3D11_MESSAGE_ID_CREATESAMPLERSTATE_NULLDESC - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEQUERYORPREDICATE_INVALIDQUERY - D3D11_MESSAGE_ID_CREATEQUERYORPREDICATE_INVALIDQUERY - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEQUERYORPREDICATE_INVALIDMISCFLAGS - D3D11_MESSAGE_ID_CREATEQUERYORPREDICATE_INVALIDMISCFLAGS - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEQUERYORPREDICATE_UNEXPECTEDMISCFLAG - D3D11_MESSAGE_ID_CREATEQUERYORPREDICATE_UNEXPECTEDMISCFLAG - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEQUERYORPREDICATE_NULLDESC - D3D11_MESSAGE_ID_CREATEQUERYORPREDICATE_NULLDESC - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_IASETPRIMITIVETOPOLOGY_TOPOLOGY_UNRECOGNIZED - D3D11_MESSAGE_ID_DEVICE_IASETPRIMITIVETOPOLOGY_TOPOLOGY_UNRECOGNIZED - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_IASETPRIMITIVETOPOLOGY_TOPOLOGY_UNDEFINED - D3D11_MESSAGE_ID_DEVICE_IASETPRIMITIVETOPOLOGY_TOPOLOGY_UNDEFINED - - - - No documentation. - - - D3D11_MESSAGE_ID_IASETVERTEXBUFFERS_INVALIDBUFFER - D3D11_MESSAGE_ID_IASETVERTEXBUFFERS_INVALIDBUFFER - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_IASETVERTEXBUFFERS_OFFSET_TOO_LARGE - D3D11_MESSAGE_ID_DEVICE_IASETVERTEXBUFFERS_OFFSET_TOO_LARGE - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_IASETVERTEXBUFFERS_BUFFERS_EMPTY - D3D11_MESSAGE_ID_DEVICE_IASETVERTEXBUFFERS_BUFFERS_EMPTY - - - - No documentation. - - - D3D11_MESSAGE_ID_IASETINDEXBUFFER_INVALIDBUFFER - D3D11_MESSAGE_ID_IASETINDEXBUFFER_INVALIDBUFFER - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_IASETINDEXBUFFER_FORMAT_INVALID - D3D11_MESSAGE_ID_DEVICE_IASETINDEXBUFFER_FORMAT_INVALID - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_IASETINDEXBUFFER_OFFSET_TOO_LARGE - D3D11_MESSAGE_ID_DEVICE_IASETINDEXBUFFER_OFFSET_TOO_LARGE - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_IASETINDEXBUFFER_OFFSET_UNALIGNED - D3D11_MESSAGE_ID_DEVICE_IASETINDEXBUFFER_OFFSET_UNALIGNED - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_VSSETSHADERRESOURCES_VIEWS_EMPTY - D3D11_MESSAGE_ID_DEVICE_VSSETSHADERRESOURCES_VIEWS_EMPTY - - - - No documentation. - - - D3D11_MESSAGE_ID_VSSETCONSTANTBUFFERS_INVALIDBUFFER - D3D11_MESSAGE_ID_VSSETCONSTANTBUFFERS_INVALIDBUFFER - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_VSSETCONSTANTBUFFERS_BUFFERS_EMPTY - D3D11_MESSAGE_ID_DEVICE_VSSETCONSTANTBUFFERS_BUFFERS_EMPTY - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_VSSETSAMPLERS_SAMPLERS_EMPTY - D3D11_MESSAGE_ID_DEVICE_VSSETSAMPLERS_SAMPLERS_EMPTY - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_GSSETSHADERRESOURCES_VIEWS_EMPTY - D3D11_MESSAGE_ID_DEVICE_GSSETSHADERRESOURCES_VIEWS_EMPTY - - - - No documentation. - - - D3D11_MESSAGE_ID_GSSETCONSTANTBUFFERS_INVALIDBUFFER - D3D11_MESSAGE_ID_GSSETCONSTANTBUFFERS_INVALIDBUFFER - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_GSSETCONSTANTBUFFERS_BUFFERS_EMPTY - D3D11_MESSAGE_ID_DEVICE_GSSETCONSTANTBUFFERS_BUFFERS_EMPTY - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_GSSETSAMPLERS_SAMPLERS_EMPTY - D3D11_MESSAGE_ID_DEVICE_GSSETSAMPLERS_SAMPLERS_EMPTY - - - - No documentation. - - - D3D11_MESSAGE_ID_SOSETTARGETS_INVALIDBUFFER - D3D11_MESSAGE_ID_SOSETTARGETS_INVALIDBUFFER - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_SOSETTARGETS_OFFSET_UNALIGNED - D3D11_MESSAGE_ID_DEVICE_SOSETTARGETS_OFFSET_UNALIGNED - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_PSSETSHADERRESOURCES_VIEWS_EMPTY - D3D11_MESSAGE_ID_DEVICE_PSSETSHADERRESOURCES_VIEWS_EMPTY - - - - No documentation. - - - D3D11_MESSAGE_ID_PSSETCONSTANTBUFFERS_INVALIDBUFFER - D3D11_MESSAGE_ID_PSSETCONSTANTBUFFERS_INVALIDBUFFER - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_PSSETCONSTANTBUFFERS_BUFFERS_EMPTY - D3D11_MESSAGE_ID_DEVICE_PSSETCONSTANTBUFFERS_BUFFERS_EMPTY - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_PSSETSAMPLERS_SAMPLERS_EMPTY - D3D11_MESSAGE_ID_DEVICE_PSSETSAMPLERS_SAMPLERS_EMPTY - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_RSSETVIEWPORTS_INVALIDVIEWPORT - D3D11_MESSAGE_ID_DEVICE_RSSETVIEWPORTS_INVALIDVIEWPORT - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_RSSETSCISSORRECTS_INVALIDSCISSOR - D3D11_MESSAGE_ID_DEVICE_RSSETSCISSORRECTS_INVALIDSCISSOR - - - - No documentation. - - - D3D11_MESSAGE_ID_CLEARRENDERTARGETVIEW_DENORMFLUSH - D3D11_MESSAGE_ID_CLEARRENDERTARGETVIEW_DENORMFLUSH - - - - No documentation. - - - D3D11_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_DENORMFLUSH - D3D11_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_DENORMFLUSH - - - - No documentation. - - - D3D11_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_INVALID - D3D11_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_INVALID - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_IAGETVERTEXBUFFERS_BUFFERS_EMPTY - D3D11_MESSAGE_ID_DEVICE_IAGETVERTEXBUFFERS_BUFFERS_EMPTY - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_VSGETSHADERRESOURCES_VIEWS_EMPTY - D3D11_MESSAGE_ID_DEVICE_VSGETSHADERRESOURCES_VIEWS_EMPTY - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_VSGETCONSTANTBUFFERS_BUFFERS_EMPTY - D3D11_MESSAGE_ID_DEVICE_VSGETCONSTANTBUFFERS_BUFFERS_EMPTY - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_VSGETSAMPLERS_SAMPLERS_EMPTY - D3D11_MESSAGE_ID_DEVICE_VSGETSAMPLERS_SAMPLERS_EMPTY - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_GSGETSHADERRESOURCES_VIEWS_EMPTY - D3D11_MESSAGE_ID_DEVICE_GSGETSHADERRESOURCES_VIEWS_EMPTY - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_GSGETCONSTANTBUFFERS_BUFFERS_EMPTY - D3D11_MESSAGE_ID_DEVICE_GSGETCONSTANTBUFFERS_BUFFERS_EMPTY - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_GSGETSAMPLERS_SAMPLERS_EMPTY - D3D11_MESSAGE_ID_DEVICE_GSGETSAMPLERS_SAMPLERS_EMPTY - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_SOGETTARGETS_BUFFERS_EMPTY - D3D11_MESSAGE_ID_DEVICE_SOGETTARGETS_BUFFERS_EMPTY - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_PSGETSHADERRESOURCES_VIEWS_EMPTY - D3D11_MESSAGE_ID_DEVICE_PSGETSHADERRESOURCES_VIEWS_EMPTY - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_PSGETCONSTANTBUFFERS_BUFFERS_EMPTY - D3D11_MESSAGE_ID_DEVICE_PSGETCONSTANTBUFFERS_BUFFERS_EMPTY - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_PSGETSAMPLERS_SAMPLERS_EMPTY - D3D11_MESSAGE_ID_DEVICE_PSGETSAMPLERS_SAMPLERS_EMPTY - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_RSGETVIEWPORTS_VIEWPORTS_EMPTY - D3D11_MESSAGE_ID_DEVICE_RSGETVIEWPORTS_VIEWPORTS_EMPTY - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_RSGETSCISSORRECTS_RECTS_EMPTY - D3D11_MESSAGE_ID_DEVICE_RSGETSCISSORRECTS_RECTS_EMPTY - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_GENERATEMIPS_RESOURCE_INVALID - D3D11_MESSAGE_ID_DEVICE_GENERATEMIPS_RESOURCE_INVALID - - - - No documentation. - - - D3D11_MESSAGE_ID_COPYSUBRESOURCEREGION_INVALIDDESTINATIONSUBRESOURCE - D3D11_MESSAGE_ID_COPYSUBRESOURCEREGION_INVALIDDESTINATIONSUBRESOURCE - - - - No documentation. - - - D3D11_MESSAGE_ID_COPYSUBRESOURCEREGION_INVALIDSOURCESUBRESOURCE - D3D11_MESSAGE_ID_COPYSUBRESOURCEREGION_INVALIDSOURCESUBRESOURCE - - - - No documentation. - - - D3D11_MESSAGE_ID_COPYSUBRESOURCEREGION_INVALIDSOURCEBOX - D3D11_MESSAGE_ID_COPYSUBRESOURCEREGION_INVALIDSOURCEBOX - - - - No documentation. - - - D3D11_MESSAGE_ID_COPYSUBRESOURCEREGION_INVALIDSOURCE - D3D11_MESSAGE_ID_COPYSUBRESOURCEREGION_INVALIDSOURCE - - - - No documentation. - - - D3D11_MESSAGE_ID_COPYSUBRESOURCEREGION_INVALIDDESTINATIONSTATE - D3D11_MESSAGE_ID_COPYSUBRESOURCEREGION_INVALIDDESTINATIONSTATE - - - - No documentation. - - - D3D11_MESSAGE_ID_COPYSUBRESOURCEREGION_INVALIDSOURCESTATE - D3D11_MESSAGE_ID_COPYSUBRESOURCEREGION_INVALIDSOURCESTATE - - - - No documentation. - - - D3D11_MESSAGE_ID_COPYRESOURCE_INVALIDSOURCE - D3D11_MESSAGE_ID_COPYRESOURCE_INVALIDSOURCE - - - - No documentation. - - - D3D11_MESSAGE_ID_COPYRESOURCE_INVALIDDESTINATIONSTATE - D3D11_MESSAGE_ID_COPYRESOURCE_INVALIDDESTINATIONSTATE - - - - No documentation. - - - D3D11_MESSAGE_ID_COPYRESOURCE_INVALIDSOURCESTATE - D3D11_MESSAGE_ID_COPYRESOURCE_INVALIDSOURCESTATE - - - - No documentation. - - - D3D11_MESSAGE_ID_UPDATESUBRESOURCE_INVALIDDESTINATIONSUBRESOURCE - D3D11_MESSAGE_ID_UPDATESUBRESOURCE_INVALIDDESTINATIONSUBRESOURCE - - - - No documentation. - - - D3D11_MESSAGE_ID_UPDATESUBRESOURCE_INVALIDDESTINATIONBOX - D3D11_MESSAGE_ID_UPDATESUBRESOURCE_INVALIDDESTINATIONBOX - - - - No documentation. - - - D3D11_MESSAGE_ID_UPDATESUBRESOURCE_INVALIDDESTINATIONSTATE - D3D11_MESSAGE_ID_UPDATESUBRESOURCE_INVALIDDESTINATIONSTATE - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_RESOLVESUBRESOURCE_DESTINATION_INVALID - D3D11_MESSAGE_ID_DEVICE_RESOLVESUBRESOURCE_DESTINATION_INVALID - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_RESOLVESUBRESOURCE_DESTINATION_SUBRESOURCE_INVALID - D3D11_MESSAGE_ID_DEVICE_RESOLVESUBRESOURCE_DESTINATION_SUBRESOURCE_INVALID - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_RESOLVESUBRESOURCE_SOURCE_INVALID - D3D11_MESSAGE_ID_DEVICE_RESOLVESUBRESOURCE_SOURCE_INVALID - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_RESOLVESUBRESOURCE_SOURCE_SUBRESOURCE_INVALID - D3D11_MESSAGE_ID_DEVICE_RESOLVESUBRESOURCE_SOURCE_SUBRESOURCE_INVALID - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_RESOLVESUBRESOURCE_FORMAT_INVALID - D3D11_MESSAGE_ID_DEVICE_RESOLVESUBRESOURCE_FORMAT_INVALID - - - - No documentation. - - - D3D11_MESSAGE_ID_BUFFER_MAP_INVALIDMAPTYPE - D3D11_MESSAGE_ID_BUFFER_MAP_INVALIDMAPTYPE - - - - No documentation. - - - D3D11_MESSAGE_ID_BUFFER_MAP_INVALIDFLAGS - D3D11_MESSAGE_ID_BUFFER_MAP_INVALIDFLAGS - - - - No documentation. - - - D3D11_MESSAGE_ID_BUFFER_MAP_ALREADYMAPPED - D3D11_MESSAGE_ID_BUFFER_MAP_ALREADYMAPPED - - - - No documentation. - - - D3D11_MESSAGE_ID_BUFFER_MAP_DEVICEREMOVED_RETURN - D3D11_MESSAGE_ID_BUFFER_MAP_DEVICEREMOVED_RETURN - - - - No documentation. - - - D3D11_MESSAGE_ID_BUFFER_UNMAP_NOTMAPPED - D3D11_MESSAGE_ID_BUFFER_UNMAP_NOTMAPPED - - - - No documentation. - - - D3D11_MESSAGE_ID_TEXTURE1D_MAP_INVALIDMAPTYPE - D3D11_MESSAGE_ID_TEXTURE1D_MAP_INVALIDMAPTYPE - - - - No documentation. - - - D3D11_MESSAGE_ID_TEXTURE1D_MAP_INVALIDSUBRESOURCE - D3D11_MESSAGE_ID_TEXTURE1D_MAP_INVALIDSUBRESOURCE - - - - No documentation. - - - D3D11_MESSAGE_ID_TEXTURE1D_MAP_INVALIDFLAGS - D3D11_MESSAGE_ID_TEXTURE1D_MAP_INVALIDFLAGS - - - - No documentation. - - - D3D11_MESSAGE_ID_TEXTURE1D_MAP_ALREADYMAPPED - D3D11_MESSAGE_ID_TEXTURE1D_MAP_ALREADYMAPPED - - - - No documentation. - - - D3D11_MESSAGE_ID_TEXTURE1D_MAP_DEVICEREMOVED_RETURN - D3D11_MESSAGE_ID_TEXTURE1D_MAP_DEVICEREMOVED_RETURN - - - - No documentation. - - - D3D11_MESSAGE_ID_TEXTURE1D_UNMAP_INVALIDSUBRESOURCE - D3D11_MESSAGE_ID_TEXTURE1D_UNMAP_INVALIDSUBRESOURCE - - - - No documentation. - - - D3D11_MESSAGE_ID_TEXTURE1D_UNMAP_NOTMAPPED - D3D11_MESSAGE_ID_TEXTURE1D_UNMAP_NOTMAPPED - - - - No documentation. - - - D3D11_MESSAGE_ID_TEXTURE2D_MAP_INVALIDMAPTYPE - D3D11_MESSAGE_ID_TEXTURE2D_MAP_INVALIDMAPTYPE - - - - No documentation. - - - D3D11_MESSAGE_ID_TEXTURE2D_MAP_INVALIDSUBRESOURCE - D3D11_MESSAGE_ID_TEXTURE2D_MAP_INVALIDSUBRESOURCE - - - - No documentation. - - - D3D11_MESSAGE_ID_TEXTURE2D_MAP_INVALIDFLAGS - D3D11_MESSAGE_ID_TEXTURE2D_MAP_INVALIDFLAGS - - - - No documentation. - - - D3D11_MESSAGE_ID_TEXTURE2D_MAP_ALREADYMAPPED - D3D11_MESSAGE_ID_TEXTURE2D_MAP_ALREADYMAPPED - - - - No documentation. - - - D3D11_MESSAGE_ID_TEXTURE2D_MAP_DEVICEREMOVED_RETURN - D3D11_MESSAGE_ID_TEXTURE2D_MAP_DEVICEREMOVED_RETURN - - - - No documentation. - - - D3D11_MESSAGE_ID_TEXTURE2D_UNMAP_INVALIDSUBRESOURCE - D3D11_MESSAGE_ID_TEXTURE2D_UNMAP_INVALIDSUBRESOURCE - - - - No documentation. - - - D3D11_MESSAGE_ID_TEXTURE2D_UNMAP_NOTMAPPED - D3D11_MESSAGE_ID_TEXTURE2D_UNMAP_NOTMAPPED - - - - No documentation. - - - D3D11_MESSAGE_ID_TEXTURE3D_MAP_INVALIDMAPTYPE - D3D11_MESSAGE_ID_TEXTURE3D_MAP_INVALIDMAPTYPE - - - - No documentation. - - - D3D11_MESSAGE_ID_TEXTURE3D_MAP_INVALIDSUBRESOURCE - D3D11_MESSAGE_ID_TEXTURE3D_MAP_INVALIDSUBRESOURCE - - - - No documentation. - - - D3D11_MESSAGE_ID_TEXTURE3D_MAP_INVALIDFLAGS - D3D11_MESSAGE_ID_TEXTURE3D_MAP_INVALIDFLAGS - - - - No documentation. - - - D3D11_MESSAGE_ID_TEXTURE3D_MAP_ALREADYMAPPED - D3D11_MESSAGE_ID_TEXTURE3D_MAP_ALREADYMAPPED - - - - No documentation. - - - D3D11_MESSAGE_ID_TEXTURE3D_MAP_DEVICEREMOVED_RETURN - D3D11_MESSAGE_ID_TEXTURE3D_MAP_DEVICEREMOVED_RETURN - - - - No documentation. - - - D3D11_MESSAGE_ID_TEXTURE3D_UNMAP_INVALIDSUBRESOURCE - D3D11_MESSAGE_ID_TEXTURE3D_UNMAP_INVALIDSUBRESOURCE - - - - No documentation. - - - D3D11_MESSAGE_ID_TEXTURE3D_UNMAP_NOTMAPPED - D3D11_MESSAGE_ID_TEXTURE3D_UNMAP_NOTMAPPED - - - - No documentation. - - - D3D11_MESSAGE_ID_CHECKFORMATSUPPORT_FORMAT_DEPRECATED - D3D11_MESSAGE_ID_CHECKFORMATSUPPORT_FORMAT_DEPRECATED - - - - No documentation. - - - D3D11_MESSAGE_ID_CHECKMULTISAMPLEQUALITYLEVELS_FORMAT_DEPRECATED - D3D11_MESSAGE_ID_CHECKMULTISAMPLEQUALITYLEVELS_FORMAT_DEPRECATED - - - - No documentation. - - - D3D11_MESSAGE_ID_SETEXCEPTIONMODE_UNRECOGNIZEDFLAGS - D3D11_MESSAGE_ID_SETEXCEPTIONMODE_UNRECOGNIZEDFLAGS - - - - No documentation. - - - D3D11_MESSAGE_ID_SETEXCEPTIONMODE_INVALIDARG_RETURN - D3D11_MESSAGE_ID_SETEXCEPTIONMODE_INVALIDARG_RETURN - - - - No documentation. - - - D3D11_MESSAGE_ID_SETEXCEPTIONMODE_DEVICEREMOVED_RETURN - D3D11_MESSAGE_ID_SETEXCEPTIONMODE_DEVICEREMOVED_RETURN - - - - No documentation. - - - D3D11_MESSAGE_ID_REF_SIMULATING_INFINITELY_FAST_HARDWARE - D3D11_MESSAGE_ID_REF_SIMULATING_INFINITELY_FAST_HARDWARE - - - - No documentation. - - - D3D11_MESSAGE_ID_REF_THREADING_MODE - D3D11_MESSAGE_ID_REF_THREADING_MODE - - - - No documentation. - - - D3D11_MESSAGE_ID_REF_UMDRIVER_EXCEPTION - D3D11_MESSAGE_ID_REF_UMDRIVER_EXCEPTION - - - - No documentation. - - - D3D11_MESSAGE_ID_REF_KMDRIVER_EXCEPTION - D3D11_MESSAGE_ID_REF_KMDRIVER_EXCEPTION - - - - No documentation. - - - D3D11_MESSAGE_ID_REF_HARDWARE_EXCEPTION - D3D11_MESSAGE_ID_REF_HARDWARE_EXCEPTION - - - - No documentation. - - - D3D11_MESSAGE_ID_REF_ACCESSING_INDEXABLE_TEMP_OUT_OF_RANGE - D3D11_MESSAGE_ID_REF_ACCESSING_INDEXABLE_TEMP_OUT_OF_RANGE - - - - No documentation. - - - D3D11_MESSAGE_ID_REF_PROBLEM_PARSING_SHADER - D3D11_MESSAGE_ID_REF_PROBLEM_PARSING_SHADER - - - - No documentation. - - - D3D11_MESSAGE_ID_REF_OUT_OF_MEMORY - D3D11_MESSAGE_ID_REF_OUT_OF_MEMORY - - - - No documentation. - - - D3D11_MESSAGE_ID_REF_INFO - D3D11_MESSAGE_ID_REF_INFO - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_DRAW_VERTEXPOS_OVERFLOW - D3D11_MESSAGE_ID_DEVICE_DRAW_VERTEXPOS_OVERFLOW - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_DRAWINDEXED_INDEXPOS_OVERFLOW - D3D11_MESSAGE_ID_DEVICE_DRAWINDEXED_INDEXPOS_OVERFLOW - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_DRAWINSTANCED_VERTEXPOS_OVERFLOW - D3D11_MESSAGE_ID_DEVICE_DRAWINSTANCED_VERTEXPOS_OVERFLOW - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_DRAWINSTANCED_INSTANCEPOS_OVERFLOW - D3D11_MESSAGE_ID_DEVICE_DRAWINSTANCED_INSTANCEPOS_OVERFLOW - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_DRAWINDEXEDINSTANCED_INSTANCEPOS_OVERFLOW - D3D11_MESSAGE_ID_DEVICE_DRAWINDEXEDINSTANCED_INSTANCEPOS_OVERFLOW - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_DRAWINDEXEDINSTANCED_INDEXPOS_OVERFLOW - D3D11_MESSAGE_ID_DEVICE_DRAWINDEXEDINSTANCED_INDEXPOS_OVERFLOW - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_DRAW_VERTEX_SHADER_NOT_SET - D3D11_MESSAGE_ID_DEVICE_DRAW_VERTEX_SHADER_NOT_SET - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_SHADER_LINKAGE_SEMANTICNAME_NOT_FOUND - D3D11_MESSAGE_ID_DEVICE_SHADER_LINKAGE_SEMANTICNAME_NOT_FOUND - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_SHADER_LINKAGE_REGISTERINDEX - D3D11_MESSAGE_ID_DEVICE_SHADER_LINKAGE_REGISTERINDEX - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_SHADER_LINKAGE_COMPONENTTYPE - D3D11_MESSAGE_ID_DEVICE_SHADER_LINKAGE_COMPONENTTYPE - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_SHADER_LINKAGE_REGISTERMASK - D3D11_MESSAGE_ID_DEVICE_SHADER_LINKAGE_REGISTERMASK - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_SHADER_LINKAGE_SYSTEMVALUE - D3D11_MESSAGE_ID_DEVICE_SHADER_LINKAGE_SYSTEMVALUE - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_SHADER_LINKAGE_NEVERWRITTEN_ALWAYSREADS - D3D11_MESSAGE_ID_DEVICE_SHADER_LINKAGE_NEVERWRITTEN_ALWAYSREADS - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_DRAW_VERTEX_BUFFER_NOT_SET - D3D11_MESSAGE_ID_DEVICE_DRAW_VERTEX_BUFFER_NOT_SET - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_DRAW_INPUTLAYOUT_NOT_SET - D3D11_MESSAGE_ID_DEVICE_DRAW_INPUTLAYOUT_NOT_SET - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_DRAW_CONSTANT_BUFFER_NOT_SET - D3D11_MESSAGE_ID_DEVICE_DRAW_CONSTANT_BUFFER_NOT_SET - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_DRAW_CONSTANT_BUFFER_TOO_SMALL - D3D11_MESSAGE_ID_DEVICE_DRAW_CONSTANT_BUFFER_TOO_SMALL - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_DRAW_SAMPLER_NOT_SET - D3D11_MESSAGE_ID_DEVICE_DRAW_SAMPLER_NOT_SET - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_DRAW_SHADERRESOURCEVIEW_NOT_SET - D3D11_MESSAGE_ID_DEVICE_DRAW_SHADERRESOURCEVIEW_NOT_SET - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_DRAW_VIEW_DIMENSION_MISMATCH - D3D11_MESSAGE_ID_DEVICE_DRAW_VIEW_DIMENSION_MISMATCH - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_DRAW_VERTEX_BUFFER_STRIDE_TOO_SMALL - D3D11_MESSAGE_ID_DEVICE_DRAW_VERTEX_BUFFER_STRIDE_TOO_SMALL - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_DRAW_VERTEX_BUFFER_TOO_SMALL - D3D11_MESSAGE_ID_DEVICE_DRAW_VERTEX_BUFFER_TOO_SMALL - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_DRAW_INDEX_BUFFER_NOT_SET - D3D11_MESSAGE_ID_DEVICE_DRAW_INDEX_BUFFER_NOT_SET - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_DRAW_INDEX_BUFFER_FORMAT_INVALID - D3D11_MESSAGE_ID_DEVICE_DRAW_INDEX_BUFFER_FORMAT_INVALID - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_DRAW_INDEX_BUFFER_TOO_SMALL - D3D11_MESSAGE_ID_DEVICE_DRAW_INDEX_BUFFER_TOO_SMALL - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_DRAW_GS_INPUT_PRIMITIVE_MISMATCH - D3D11_MESSAGE_ID_DEVICE_DRAW_GS_INPUT_PRIMITIVE_MISMATCH - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_DRAW_RESOURCE_RETURN_TYPE_MISMATCH - D3D11_MESSAGE_ID_DEVICE_DRAW_RESOURCE_RETURN_TYPE_MISMATCH - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_DRAW_POSITION_NOT_PRESENT - D3D11_MESSAGE_ID_DEVICE_DRAW_POSITION_NOT_PRESENT - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_DRAW_OUTPUT_STREAM_NOT_SET - D3D11_MESSAGE_ID_DEVICE_DRAW_OUTPUT_STREAM_NOT_SET - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_DRAW_BOUND_RESOURCE_MAPPED - D3D11_MESSAGE_ID_DEVICE_DRAW_BOUND_RESOURCE_MAPPED - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_DRAW_INVALID_PRIMITIVETOPOLOGY - D3D11_MESSAGE_ID_DEVICE_DRAW_INVALID_PRIMITIVETOPOLOGY - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_DRAW_VERTEX_OFFSET_UNALIGNED - D3D11_MESSAGE_ID_DEVICE_DRAW_VERTEX_OFFSET_UNALIGNED - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_DRAW_VERTEX_STRIDE_UNALIGNED - D3D11_MESSAGE_ID_DEVICE_DRAW_VERTEX_STRIDE_UNALIGNED - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_DRAW_INDEX_OFFSET_UNALIGNED - D3D11_MESSAGE_ID_DEVICE_DRAW_INDEX_OFFSET_UNALIGNED - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_DRAW_OUTPUT_STREAM_OFFSET_UNALIGNED - D3D11_MESSAGE_ID_DEVICE_DRAW_OUTPUT_STREAM_OFFSET_UNALIGNED - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_DRAW_RESOURCE_FORMAT_LD_UNSUPPORTED - D3D11_MESSAGE_ID_DEVICE_DRAW_RESOURCE_FORMAT_LD_UNSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_DRAW_RESOURCE_FORMAT_SAMPLE_UNSUPPORTED - D3D11_MESSAGE_ID_DEVICE_DRAW_RESOURCE_FORMAT_SAMPLE_UNSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_DRAW_RESOURCE_FORMAT_SAMPLE_C_UNSUPPORTED - D3D11_MESSAGE_ID_DEVICE_DRAW_RESOURCE_FORMAT_SAMPLE_C_UNSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_DRAW_RESOURCE_MULTISAMPLE_UNSUPPORTED - D3D11_MESSAGE_ID_DEVICE_DRAW_RESOURCE_MULTISAMPLE_UNSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_DRAW_SO_TARGETS_BOUND_WITHOUT_SOURCE - D3D11_MESSAGE_ID_DEVICE_DRAW_SO_TARGETS_BOUND_WITHOUT_SOURCE - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_DRAW_SO_STRIDE_LARGER_THAN_BUFFER - D3D11_MESSAGE_ID_DEVICE_DRAW_SO_STRIDE_LARGER_THAN_BUFFER - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_DRAW_OM_RENDER_TARGET_DOES_NOT_SUPPORT_BLENDING - D3D11_MESSAGE_ID_DEVICE_DRAW_OM_RENDER_TARGET_DOES_NOT_SUPPORT_BLENDING - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_DRAW_OM_DUAL_SOURCE_BLENDING_CAN_ONLY_HAVE_RENDER_TARGET_0 - D3D11_MESSAGE_ID_DEVICE_DRAW_OM_DUAL_SOURCE_BLENDING_CAN_ONLY_HAVE_RENDER_TARGET_0 - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_REMOVAL_PROCESS_AT_FAULT - D3D11_MESSAGE_ID_DEVICE_REMOVAL_PROCESS_AT_FAULT - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_REMOVAL_PROCESS_POSSIBLY_AT_FAULT - D3D11_MESSAGE_ID_DEVICE_REMOVAL_PROCESS_POSSIBLY_AT_FAULT - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_REMOVAL_PROCESS_NOT_AT_FAULT - D3D11_MESSAGE_ID_DEVICE_REMOVAL_PROCESS_NOT_AT_FAULT - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_OPEN_SHARED_RESOURCE_INVALIDARG_RETURN - D3D11_MESSAGE_ID_DEVICE_OPEN_SHARED_RESOURCE_INVALIDARG_RETURN - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_OPEN_SHARED_RESOURCE_OUTOFMEMORY_RETURN - D3D11_MESSAGE_ID_DEVICE_OPEN_SHARED_RESOURCE_OUTOFMEMORY_RETURN - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_OPEN_SHARED_RESOURCE_BADINTERFACE_RETURN - D3D11_MESSAGE_ID_DEVICE_OPEN_SHARED_RESOURCE_BADINTERFACE_RETURN - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_DRAW_VIEWPORT_NOT_SET - D3D11_MESSAGE_ID_DEVICE_DRAW_VIEWPORT_NOT_SET - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_TRAILING_DIGIT_IN_SEMANTIC - D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_TRAILING_DIGIT_IN_SEMANTIC - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_TRAILING_DIGIT_IN_SEMANTIC - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_TRAILING_DIGIT_IN_SEMANTIC - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_RSSETVIEWPORTS_DENORMFLUSH - D3D11_MESSAGE_ID_DEVICE_RSSETVIEWPORTS_DENORMFLUSH - - - - No documentation. - - - D3D11_MESSAGE_ID_OMSETRENDERTARGETS_INVALIDVIEW - D3D11_MESSAGE_ID_OMSETRENDERTARGETS_INVALIDVIEW - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_SETTEXTFILTERSIZE_INVALIDDIMENSIONS - D3D11_MESSAGE_ID_DEVICE_SETTEXTFILTERSIZE_INVALIDDIMENSIONS - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_DRAW_SAMPLER_MISMATCH - D3D11_MESSAGE_ID_DEVICE_DRAW_SAMPLER_MISMATCH - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_TYPE_MISMATCH - D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_TYPE_MISMATCH - - - - No documentation. - - - D3D11_MESSAGE_ID_BLENDSTATE_GETDESC_LEGACY - D3D11_MESSAGE_ID_BLENDSTATE_GETDESC_LEGACY - - - - No documentation. - - - D3D11_MESSAGE_ID_SHADERRESOURCEVIEW_GETDESC_LEGACY - D3D11_MESSAGE_ID_SHADERRESOURCEVIEW_GETDESC_LEGACY - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEQUERY_OUTOFMEMORY_RETURN - D3D11_MESSAGE_ID_CREATEQUERY_OUTOFMEMORY_RETURN - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEPREDICATE_OUTOFMEMORY_RETURN - D3D11_MESSAGE_ID_CREATEPREDICATE_OUTOFMEMORY_RETURN - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATECOUNTER_OUTOFRANGE_COUNTER - D3D11_MESSAGE_ID_CREATECOUNTER_OUTOFRANGE_COUNTER - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATECOUNTER_SIMULTANEOUS_ACTIVE_COUNTERS_EXHAUSTED - D3D11_MESSAGE_ID_CREATECOUNTER_SIMULTANEOUS_ACTIVE_COUNTERS_EXHAUSTED - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATECOUNTER_UNSUPPORTED_WELLKNOWN_COUNTER - D3D11_MESSAGE_ID_CREATECOUNTER_UNSUPPORTED_WELLKNOWN_COUNTER - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATECOUNTER_OUTOFMEMORY_RETURN - D3D11_MESSAGE_ID_CREATECOUNTER_OUTOFMEMORY_RETURN - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATECOUNTER_NONEXCLUSIVE_RETURN - D3D11_MESSAGE_ID_CREATECOUNTER_NONEXCLUSIVE_RETURN - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATECOUNTER_NULLDESC - D3D11_MESSAGE_ID_CREATECOUNTER_NULLDESC - - - - No documentation. - - - D3D11_MESSAGE_ID_CHECKCOUNTER_OUTOFRANGE_COUNTER - D3D11_MESSAGE_ID_CHECKCOUNTER_OUTOFRANGE_COUNTER - - - - No documentation. - - - D3D11_MESSAGE_ID_CHECKCOUNTER_UNSUPPORTED_WELLKNOWN_COUNTER - D3D11_MESSAGE_ID_CHECKCOUNTER_UNSUPPORTED_WELLKNOWN_COUNTER - - - - No documentation. - - - D3D11_MESSAGE_ID_SETPREDICATION_INVALID_PREDICATE_STATE - D3D11_MESSAGE_ID_SETPREDICATION_INVALID_PREDICATE_STATE - - - - No documentation. - - - D3D11_MESSAGE_ID_QUERY_BEGIN_UNSUPPORTED - D3D11_MESSAGE_ID_QUERY_BEGIN_UNSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_PREDICATE_BEGIN_DURING_PREDICATION - D3D11_MESSAGE_ID_PREDICATE_BEGIN_DURING_PREDICATION - - - - No documentation. - - - D3D11_MESSAGE_ID_QUERY_BEGIN_DUPLICATE - D3D11_MESSAGE_ID_QUERY_BEGIN_DUPLICATE - - - - No documentation. - - - D3D11_MESSAGE_ID_QUERY_BEGIN_ABANDONING_PREVIOUS_RESULTS - D3D11_MESSAGE_ID_QUERY_BEGIN_ABANDONING_PREVIOUS_RESULTS - - - - No documentation. - - - D3D11_MESSAGE_ID_PREDICATE_END_DURING_PREDICATION - D3D11_MESSAGE_ID_PREDICATE_END_DURING_PREDICATION - - - - No documentation. - - - D3D11_MESSAGE_ID_QUERY_END_ABANDONING_PREVIOUS_RESULTS - D3D11_MESSAGE_ID_QUERY_END_ABANDONING_PREVIOUS_RESULTS - - - - No documentation. - - - D3D11_MESSAGE_ID_QUERY_END_WITHOUT_BEGIN - D3D11_MESSAGE_ID_QUERY_END_WITHOUT_BEGIN - - - - No documentation. - - - D3D11_MESSAGE_ID_QUERY_GETDATA_INVALID_DATASIZE - D3D11_MESSAGE_ID_QUERY_GETDATA_INVALID_DATASIZE - - - - No documentation. - - - D3D11_MESSAGE_ID_QUERY_GETDATA_INVALID_FLAGS - D3D11_MESSAGE_ID_QUERY_GETDATA_INVALID_FLAGS - - - - No documentation. - - - D3D11_MESSAGE_ID_QUERY_GETDATA_INVALID_CALL - D3D11_MESSAGE_ID_QUERY_GETDATA_INVALID_CALL - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_DRAW_PS_OUTPUT_TYPE_MISMATCH - D3D11_MESSAGE_ID_DEVICE_DRAW_PS_OUTPUT_TYPE_MISMATCH - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_DRAW_RESOURCE_FORMAT_GATHER_UNSUPPORTED - D3D11_MESSAGE_ID_DEVICE_DRAW_RESOURCE_FORMAT_GATHER_UNSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_DRAW_INVALID_USE_OF_CENTER_MULTISAMPLE_PATTERN - D3D11_MESSAGE_ID_DEVICE_DRAW_INVALID_USE_OF_CENTER_MULTISAMPLE_PATTERN - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_IASETVERTEXBUFFERS_STRIDE_TOO_LARGE - D3D11_MESSAGE_ID_DEVICE_IASETVERTEXBUFFERS_STRIDE_TOO_LARGE - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_IASETVERTEXBUFFERS_INVALIDRANGE - D3D11_MESSAGE_ID_DEVICE_IASETVERTEXBUFFERS_INVALIDRANGE - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_EMPTY_LAYOUT - D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_EMPTY_LAYOUT - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_DRAW_RESOURCE_SAMPLE_COUNT_MISMATCH - D3D11_MESSAGE_ID_DEVICE_DRAW_RESOURCE_SAMPLE_COUNT_MISMATCH - - - - No documentation. - - - D3D11_MESSAGE_ID_LIVE_OBJECT_SUMMARY - D3D11_MESSAGE_ID_LIVE_OBJECT_SUMMARY - - - - No documentation. - - - D3D11_MESSAGE_ID_LIVE_BUFFER - D3D11_MESSAGE_ID_LIVE_BUFFER - - - - No documentation. - - - D3D11_MESSAGE_ID_LIVE_TEXTURE1D - D3D11_MESSAGE_ID_LIVE_TEXTURE1D - - - - No documentation. - - - D3D11_MESSAGE_ID_LIVE_TEXTURE2D - D3D11_MESSAGE_ID_LIVE_TEXTURE2D - - - - No documentation. - - - D3D11_MESSAGE_ID_LIVE_TEXTURE3D - D3D11_MESSAGE_ID_LIVE_TEXTURE3D - - - - No documentation. - - - D3D11_MESSAGE_ID_LIVE_SHADERRESOURCEVIEW - D3D11_MESSAGE_ID_LIVE_SHADERRESOURCEVIEW - - - - No documentation. - - - D3D11_MESSAGE_ID_LIVE_RENDERTARGETVIEW - D3D11_MESSAGE_ID_LIVE_RENDERTARGETVIEW - - - - No documentation. - - - D3D11_MESSAGE_ID_LIVE_DEPTHSTENCILVIEW - D3D11_MESSAGE_ID_LIVE_DEPTHSTENCILVIEW - - - - No documentation. - - - D3D11_MESSAGE_ID_LIVE_VERTEXSHADER - D3D11_MESSAGE_ID_LIVE_VERTEXSHADER - - - - No documentation. - - - D3D11_MESSAGE_ID_LIVE_GEOMETRYSHADER - D3D11_MESSAGE_ID_LIVE_GEOMETRYSHADER - - - - No documentation. - - - D3D11_MESSAGE_ID_LIVE_PIXELSHADER - D3D11_MESSAGE_ID_LIVE_PIXELSHADER - - - - No documentation. - - - D3D11_MESSAGE_ID_LIVE_INPUTLAYOUT - D3D11_MESSAGE_ID_LIVE_INPUTLAYOUT - - - - No documentation. - - - D3D11_MESSAGE_ID_LIVE_SAMPLER - D3D11_MESSAGE_ID_LIVE_SAMPLER - - - - No documentation. - - - D3D11_MESSAGE_ID_LIVE_BLENDSTATE - D3D11_MESSAGE_ID_LIVE_BLENDSTATE - - - - No documentation. - - - D3D11_MESSAGE_ID_LIVE_DEPTHSTENCILSTATE - D3D11_MESSAGE_ID_LIVE_DEPTHSTENCILSTATE - - - - No documentation. - - - D3D11_MESSAGE_ID_LIVE_RASTERIZERSTATE - D3D11_MESSAGE_ID_LIVE_RASTERIZERSTATE - - - - No documentation. - - - D3D11_MESSAGE_ID_LIVE_QUERY - D3D11_MESSAGE_ID_LIVE_QUERY - - - - No documentation. - - - D3D11_MESSAGE_ID_LIVE_PREDICATE - D3D11_MESSAGE_ID_LIVE_PREDICATE - - - - No documentation. - - - D3D11_MESSAGE_ID_LIVE_COUNTER - D3D11_MESSAGE_ID_LIVE_COUNTER - - - - No documentation. - - - D3D11_MESSAGE_ID_LIVE_DEVICE - D3D11_MESSAGE_ID_LIVE_DEVICE - - - - No documentation. - - - D3D11_MESSAGE_ID_LIVE_SWAPCHAIN - D3D11_MESSAGE_ID_LIVE_SWAPCHAIN - - - - No documentation. - - - D3D11_MESSAGE_ID_D3D10_MESSAGES_END - D3D11_MESSAGE_ID_D3D10_MESSAGES_END - - - - No documentation. - - - D3D11_MESSAGE_ID_D3D10L9_MESSAGES_START - D3D11_MESSAGE_ID_D3D10L9_MESSAGES_START - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_STENCIL_NO_TWO_SIDED - D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_STENCIL_NO_TWO_SIDED - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATERASTERIZERSTATE_DepthBiasClamp_NOT_SUPPORTED - D3D11_MESSAGE_ID_CREATERASTERIZERSTATE_DepthBiasClamp_NOT_SUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATESAMPLERSTATE_NO_COMPARISON_SUPPORT - D3D11_MESSAGE_ID_CREATESAMPLERSTATE_NO_COMPARISON_SUPPORT - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATESAMPLERSTATE_EXCESSIVE_ANISOTROPY - D3D11_MESSAGE_ID_CREATESAMPLERSTATE_EXCESSIVE_ANISOTROPY - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATESAMPLERSTATE_BORDER_OUT_OF_RANGE - D3D11_MESSAGE_ID_CREATESAMPLERSTATE_BORDER_OUT_OF_RANGE - - - - No documentation. - - - D3D11_MESSAGE_ID_VSSETSAMPLERS_NOT_SUPPORTED - D3D11_MESSAGE_ID_VSSETSAMPLERS_NOT_SUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_VSSETSAMPLERS_TOO_MANY_SAMPLERS - D3D11_MESSAGE_ID_VSSETSAMPLERS_TOO_MANY_SAMPLERS - - - - No documentation. - - - D3D11_MESSAGE_ID_PSSETSAMPLERS_TOO_MANY_SAMPLERS - D3D11_MESSAGE_ID_PSSETSAMPLERS_TOO_MANY_SAMPLERS - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATERESOURCE_NO_ARRAYS - D3D11_MESSAGE_ID_CREATERESOURCE_NO_ARRAYS - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATERESOURCE_NO_VB_AND_IB_BIND - D3D11_MESSAGE_ID_CREATERESOURCE_NO_VB_AND_IB_BIND - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATERESOURCE_NO_TEXTURE_1D - D3D11_MESSAGE_ID_CREATERESOURCE_NO_TEXTURE_1D - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATERESOURCE_DIMENSION_OUT_OF_RANGE - D3D11_MESSAGE_ID_CREATERESOURCE_DIMENSION_OUT_OF_RANGE - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATERESOURCE_NOT_BINDABLE_AS_SHADER_RESOURCE - D3D11_MESSAGE_ID_CREATERESOURCE_NOT_BINDABLE_AS_SHADER_RESOURCE - - - - No documentation. - - - D3D11_MESSAGE_ID_OMSETRENDERTARGETS_TOO_MANY_RENDER_TARGETS - D3D11_MESSAGE_ID_OMSETRENDERTARGETS_TOO_MANY_RENDER_TARGETS - - - - No documentation. - - - D3D11_MESSAGE_ID_OMSETRENDERTARGETS_NO_DIFFERING_BIT_DEPTHS - D3D11_MESSAGE_ID_OMSETRENDERTARGETS_NO_DIFFERING_BIT_DEPTHS - - - - No documentation. - - - D3D11_MESSAGE_ID_IASETVERTEXBUFFERS_BAD_BUFFER_INDEX - D3D11_MESSAGE_ID_IASETVERTEXBUFFERS_BAD_BUFFER_INDEX - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_RSSETVIEWPORTS_TOO_MANY_VIEWPORTS - D3D11_MESSAGE_ID_DEVICE_RSSETVIEWPORTS_TOO_MANY_VIEWPORTS - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_IASETPRIMITIVETOPOLOGY_ADJACENCY_UNSUPPORTED - D3D11_MESSAGE_ID_DEVICE_IASETPRIMITIVETOPOLOGY_ADJACENCY_UNSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_RSSETSCISSORRECTS_TOO_MANY_SCISSORS - D3D11_MESSAGE_ID_DEVICE_RSSETSCISSORRECTS_TOO_MANY_SCISSORS - - - - No documentation. - - - D3D11_MESSAGE_ID_COPYRESOURCE_ONLY_TEXTURE_2D_WITHIN_GPU_MEMORY - D3D11_MESSAGE_ID_COPYRESOURCE_ONLY_TEXTURE_2D_WITHIN_GPU_MEMORY - - - - No documentation. - - - D3D11_MESSAGE_ID_COPYRESOURCE_NO_TEXTURE_3D_READBACK - D3D11_MESSAGE_ID_COPYRESOURCE_NO_TEXTURE_3D_READBACK - - - - No documentation. - - - D3D11_MESSAGE_ID_COPYRESOURCE_NO_TEXTURE_ONLY_READBACK - D3D11_MESSAGE_ID_COPYRESOURCE_NO_TEXTURE_ONLY_READBACK - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_UNSUPPORTED_FORMAT - D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_UNSUPPORTED_FORMAT - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEBLENDSTATE_NO_ALPHA_TO_COVERAGE - D3D11_MESSAGE_ID_CREATEBLENDSTATE_NO_ALPHA_TO_COVERAGE - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATERASTERIZERSTATE_DepthClipEnable_MUST_BE_TRUE - D3D11_MESSAGE_ID_CREATERASTERIZERSTATE_DepthClipEnable_MUST_BE_TRUE - - - - No documentation. - - - D3D11_MESSAGE_ID_DRAWINDEXED_STARTINDEXLOCATION_MUST_BE_POSITIVE - D3D11_MESSAGE_ID_DRAWINDEXED_STARTINDEXLOCATION_MUST_BE_POSITIVE - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_MUST_USE_LOWEST_LOD - D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_MUST_USE_LOWEST_LOD - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATESAMPLERSTATE_MINLOD_MUST_NOT_BE_FRACTIONAL - D3D11_MESSAGE_ID_CREATESAMPLERSTATE_MINLOD_MUST_NOT_BE_FRACTIONAL - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATESAMPLERSTATE_MAXLOD_MUST_BE_FLT_MAX - D3D11_MESSAGE_ID_CREATESAMPLERSTATE_MAXLOD_MUST_BE_FLT_MAX - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_FIRSTARRAYSLICE_MUST_BE_ZERO - D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_FIRSTARRAYSLICE_MUST_BE_ZERO - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_CUBES_MUST_HAVE_6_SIDES - D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_CUBES_MUST_HAVE_6_SIDES - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATERESOURCE_NOT_BINDABLE_AS_RENDER_TARGET - D3D11_MESSAGE_ID_CREATERESOURCE_NOT_BINDABLE_AS_RENDER_TARGET - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATERESOURCE_NO_DWORD_INDEX_BUFFER - D3D11_MESSAGE_ID_CREATERESOURCE_NO_DWORD_INDEX_BUFFER - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATERESOURCE_MSAA_PRECLUDES_SHADER_RESOURCE - D3D11_MESSAGE_ID_CREATERESOURCE_MSAA_PRECLUDES_SHADER_RESOURCE - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATERESOURCE_PRESENTATION_PRECLUDES_SHADER_RESOURCE - D3D11_MESSAGE_ID_CREATERESOURCE_PRESENTATION_PRECLUDES_SHADER_RESOURCE - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEBLENDSTATE_NO_INDEPENDENT_BLEND_ENABLE - D3D11_MESSAGE_ID_CREATEBLENDSTATE_NO_INDEPENDENT_BLEND_ENABLE - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEBLENDSTATE_NO_INDEPENDENT_WRITE_MASKS - D3D11_MESSAGE_ID_CREATEBLENDSTATE_NO_INDEPENDENT_WRITE_MASKS - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATERESOURCE_NO_STREAM_OUT - D3D11_MESSAGE_ID_CREATERESOURCE_NO_STREAM_OUT - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATERESOURCE_ONLY_VB_IB_FOR_BUFFERS - D3D11_MESSAGE_ID_CREATERESOURCE_ONLY_VB_IB_FOR_BUFFERS - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATERESOURCE_NO_AUTOGEN_FOR_VOLUMES - D3D11_MESSAGE_ID_CREATERESOURCE_NO_AUTOGEN_FOR_VOLUMES - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATERESOURCE_DXGI_FORMAT_R8G8B8A8_CANNOT_BE_SHARED - D3D11_MESSAGE_ID_CREATERESOURCE_DXGI_FORMAT_R8G8B8A8_CANNOT_BE_SHARED - - - - No documentation. - - - D3D11_MESSAGE_ID_VSSHADERRESOURCES_NOT_SUPPORTED - D3D11_MESSAGE_ID_VSSHADERRESOURCES_NOT_SUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_GEOMETRY_SHADER_NOT_SUPPORTED - D3D11_MESSAGE_ID_GEOMETRY_SHADER_NOT_SUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_STREAM_OUT_NOT_SUPPORTED - D3D11_MESSAGE_ID_STREAM_OUT_NOT_SUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_TEXT_FILTER_NOT_SUPPORTED - D3D11_MESSAGE_ID_TEXT_FILTER_NOT_SUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEBLENDSTATE_NO_SEPARATE_ALPHA_BLEND - D3D11_MESSAGE_ID_CREATEBLENDSTATE_NO_SEPARATE_ALPHA_BLEND - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEBLENDSTATE_NO_MRT_BLEND - D3D11_MESSAGE_ID_CREATEBLENDSTATE_NO_MRT_BLEND - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEBLENDSTATE_OPERATION_NOT_SUPPORTED - D3D11_MESSAGE_ID_CREATEBLENDSTATE_OPERATION_NOT_SUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATESAMPLERSTATE_NO_MIRRORONCE - D3D11_MESSAGE_ID_CREATESAMPLERSTATE_NO_MIRRORONCE - - - - No documentation. - - - D3D11_MESSAGE_ID_DRAWINSTANCED_NOT_SUPPORTED - D3D11_MESSAGE_ID_DRAWINSTANCED_NOT_SUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_DRAWINDEXEDINSTANCED_NOT_SUPPORTED_BELOW_9_3 - D3D11_MESSAGE_ID_DRAWINDEXEDINSTANCED_NOT_SUPPORTED_BELOW_9_3 - - - - No documentation. - - - D3D11_MESSAGE_ID_DRAWINDEXED_POINTLIST_UNSUPPORTED - D3D11_MESSAGE_ID_DRAWINDEXED_POINTLIST_UNSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_SETBLENDSTATE_SAMPLE_MASK_CANNOT_BE_ZERO - D3D11_MESSAGE_ID_SETBLENDSTATE_SAMPLE_MASK_CANNOT_BE_ZERO - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATERESOURCE_DIMENSION_EXCEEDS_FEATURE_LEVEL_DEFINITION - D3D11_MESSAGE_ID_CREATERESOURCE_DIMENSION_EXCEEDS_FEATURE_LEVEL_DEFINITION - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATERESOURCE_ONLY_SINGLE_MIP_LEVEL_DEPTH_STENCIL_SUPPORTED - D3D11_MESSAGE_ID_CREATERESOURCE_ONLY_SINGLE_MIP_LEVEL_DEPTH_STENCIL_SUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_RSSETSCISSORRECTS_NEGATIVESCISSOR - D3D11_MESSAGE_ID_DEVICE_RSSETSCISSORRECTS_NEGATIVESCISSOR - - - - No documentation. - - - D3D11_MESSAGE_ID_SLOT_ZERO_MUST_BE_D3D10_INPUT_PER_VERTEX_DATA - D3D11_MESSAGE_ID_SLOT_ZERO_MUST_BE_D3D10_INPUT_PER_VERTEX_DATA - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATERESOURCE_NON_POW_2_MIPMAP - D3D11_MESSAGE_ID_CREATERESOURCE_NON_POW_2_MIPMAP - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATESAMPLERSTATE_BORDER_NOT_SUPPORTED - D3D11_MESSAGE_ID_CREATESAMPLERSTATE_BORDER_NOT_SUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_OMSETRENDERTARGETS_NO_SRGB_MRT - D3D11_MESSAGE_ID_OMSETRENDERTARGETS_NO_SRGB_MRT - - - - No documentation. - - - D3D11_MESSAGE_ID_COPYRESOURCE_NO_3D_MISMATCHED_UPDATES - D3D11_MESSAGE_ID_COPYRESOURCE_NO_3D_MISMATCHED_UPDATES - - - - No documentation. - - - D3D11_MESSAGE_ID_D3D10L9_MESSAGES_END - D3D11_MESSAGE_ID_D3D10L9_MESSAGES_END - - - - No documentation. - - - D3D11_MESSAGE_ID_D3D11_MESSAGES_START - D3D11_MESSAGE_ID_D3D11_MESSAGES_START - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDFLAGS - D3D11_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDFLAGS - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEVERTEXSHADER_INVALIDCLASSLINKAGE - D3D11_MESSAGE_ID_CREATEVERTEXSHADER_INVALIDCLASSLINKAGE - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADER_INVALIDCLASSLINKAGE - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADER_INVALIDCLASSLINKAGE - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDNUMSTREAMS - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDNUMSTREAMS - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTREAMTORASTERIZER - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTREAMTORASTERIZER - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UNEXPECTEDSTREAMS - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UNEXPECTEDSTREAMS - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDCLASSLINKAGE - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDCLASSLINKAGE - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEPIXELSHADER_INVALIDCLASSLINKAGE - D3D11_MESSAGE_ID_CREATEPIXELSHADER_INVALIDCLASSLINKAGE - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEDEFERREDCONTEXT_INVALID_COMMANDLISTFLAGS - D3D11_MESSAGE_ID_CREATEDEFERREDCONTEXT_INVALID_COMMANDLISTFLAGS - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEDEFERREDCONTEXT_SINGLETHREADED - D3D11_MESSAGE_ID_CREATEDEFERREDCONTEXT_SINGLETHREADED - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEDEFERREDCONTEXT_INVALIDARG_RETURN - D3D11_MESSAGE_ID_CREATEDEFERREDCONTEXT_INVALIDARG_RETURN - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEDEFERREDCONTEXT_INVALID_CALL_RETURN - D3D11_MESSAGE_ID_CREATEDEFERREDCONTEXT_INVALID_CALL_RETURN - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEDEFERREDCONTEXT_OUTOFMEMORY_RETURN - D3D11_MESSAGE_ID_CREATEDEFERREDCONTEXT_OUTOFMEMORY_RETURN - - - - No documentation. - - - D3D11_MESSAGE_ID_FINISHDISPLAYLIST_ONIMMEDIATECONTEXT - D3D11_MESSAGE_ID_FINISHDISPLAYLIST_ONIMMEDIATECONTEXT - - - - No documentation. - - - D3D11_MESSAGE_ID_FINISHDISPLAYLIST_OUTOFMEMORY_RETURN - D3D11_MESSAGE_ID_FINISHDISPLAYLIST_OUTOFMEMORY_RETURN - - - - No documentation. - - - D3D11_MESSAGE_ID_FINISHDISPLAYLIST_INVALID_CALL_RETURN - D3D11_MESSAGE_ID_FINISHDISPLAYLIST_INVALID_CALL_RETURN - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTREAM - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTREAM - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UNEXPECTEDENTRIES - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UNEXPECTEDENTRIES - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UNEXPECTEDSTRIDES - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UNEXPECTEDSTRIDES - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDNUMSTRIDES - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDNUMSTRIDES - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_HSSETSHADERRESOURCES_HAZARD - D3D11_MESSAGE_ID_DEVICE_HSSETSHADERRESOURCES_HAZARD - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_HSSETCONSTANTBUFFERS_HAZARD - D3D11_MESSAGE_ID_DEVICE_HSSETCONSTANTBUFFERS_HAZARD - - - - No documentation. - - - D3D11_MESSAGE_ID_HSSETSHADERRESOURCES_UNBINDDELETINGOBJECT - D3D11_MESSAGE_ID_HSSETSHADERRESOURCES_UNBINDDELETINGOBJECT - - - - No documentation. - - - D3D11_MESSAGE_ID_HSSETCONSTANTBUFFERS_UNBINDDELETINGOBJECT - D3D11_MESSAGE_ID_HSSETCONSTANTBUFFERS_UNBINDDELETINGOBJECT - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEHULLSHADER_INVALIDCALL - D3D11_MESSAGE_ID_CREATEHULLSHADER_INVALIDCALL - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEHULLSHADER_OUTOFMEMORY - D3D11_MESSAGE_ID_CREATEHULLSHADER_OUTOFMEMORY - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEHULLSHADER_INVALIDSHADERBYTECODE - D3D11_MESSAGE_ID_CREATEHULLSHADER_INVALIDSHADERBYTECODE - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEHULLSHADER_INVALIDSHADERTYPE - D3D11_MESSAGE_ID_CREATEHULLSHADER_INVALIDSHADERTYPE - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEHULLSHADER_INVALIDCLASSLINKAGE - D3D11_MESSAGE_ID_CREATEHULLSHADER_INVALIDCLASSLINKAGE - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_HSSETSHADERRESOURCES_VIEWS_EMPTY - D3D11_MESSAGE_ID_DEVICE_HSSETSHADERRESOURCES_VIEWS_EMPTY - - - - No documentation. - - - D3D11_MESSAGE_ID_HSSETCONSTANTBUFFERS_INVALIDBUFFER - D3D11_MESSAGE_ID_HSSETCONSTANTBUFFERS_INVALIDBUFFER - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_HSSETCONSTANTBUFFERS_BUFFERS_EMPTY - D3D11_MESSAGE_ID_DEVICE_HSSETCONSTANTBUFFERS_BUFFERS_EMPTY - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_HSSETSAMPLERS_SAMPLERS_EMPTY - D3D11_MESSAGE_ID_DEVICE_HSSETSAMPLERS_SAMPLERS_EMPTY - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_HSGETSHADERRESOURCES_VIEWS_EMPTY - D3D11_MESSAGE_ID_DEVICE_HSGETSHADERRESOURCES_VIEWS_EMPTY - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_HSGETCONSTANTBUFFERS_BUFFERS_EMPTY - D3D11_MESSAGE_ID_DEVICE_HSGETCONSTANTBUFFERS_BUFFERS_EMPTY - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_HSGETSAMPLERS_SAMPLERS_EMPTY - D3D11_MESSAGE_ID_DEVICE_HSGETSAMPLERS_SAMPLERS_EMPTY - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_DSSETSHADERRESOURCES_HAZARD - D3D11_MESSAGE_ID_DEVICE_DSSETSHADERRESOURCES_HAZARD - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_DSSETCONSTANTBUFFERS_HAZARD - D3D11_MESSAGE_ID_DEVICE_DSSETCONSTANTBUFFERS_HAZARD - - - - No documentation. - - - D3D11_MESSAGE_ID_DSSETSHADERRESOURCES_UNBINDDELETINGOBJECT - D3D11_MESSAGE_ID_DSSETSHADERRESOURCES_UNBINDDELETINGOBJECT - - - - No documentation. - - - D3D11_MESSAGE_ID_DSSETCONSTANTBUFFERS_UNBINDDELETINGOBJECT - D3D11_MESSAGE_ID_DSSETCONSTANTBUFFERS_UNBINDDELETINGOBJECT - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDCALL - D3D11_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDCALL - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEDOMAINSHADER_OUTOFMEMORY - D3D11_MESSAGE_ID_CREATEDOMAINSHADER_OUTOFMEMORY - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDSHADERBYTECODE - D3D11_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDSHADERBYTECODE - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDSHADERTYPE - D3D11_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDSHADERTYPE - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDCLASSLINKAGE - D3D11_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDCLASSLINKAGE - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_DSSETSHADERRESOURCES_VIEWS_EMPTY - D3D11_MESSAGE_ID_DEVICE_DSSETSHADERRESOURCES_VIEWS_EMPTY - - - - No documentation. - - - D3D11_MESSAGE_ID_DSSETCONSTANTBUFFERS_INVALIDBUFFER - D3D11_MESSAGE_ID_DSSETCONSTANTBUFFERS_INVALIDBUFFER - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_DSSETCONSTANTBUFFERS_BUFFERS_EMPTY - D3D11_MESSAGE_ID_DEVICE_DSSETCONSTANTBUFFERS_BUFFERS_EMPTY - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_DSSETSAMPLERS_SAMPLERS_EMPTY - D3D11_MESSAGE_ID_DEVICE_DSSETSAMPLERS_SAMPLERS_EMPTY - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_DSGETSHADERRESOURCES_VIEWS_EMPTY - D3D11_MESSAGE_ID_DEVICE_DSGETSHADERRESOURCES_VIEWS_EMPTY - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_DSGETCONSTANTBUFFERS_BUFFERS_EMPTY - D3D11_MESSAGE_ID_DEVICE_DSGETCONSTANTBUFFERS_BUFFERS_EMPTY - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_DSGETSAMPLERS_SAMPLERS_EMPTY - D3D11_MESSAGE_ID_DEVICE_DSGETSAMPLERS_SAMPLERS_EMPTY - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_DRAW_HS_XOR_DS_MISMATCH - D3D11_MESSAGE_ID_DEVICE_DRAW_HS_XOR_DS_MISMATCH - - - - No documentation. - - - D3D11_MESSAGE_ID_DEFERRED_CONTEXT_REMOVAL_PROCESS_AT_FAULT - D3D11_MESSAGE_ID_DEFERRED_CONTEXT_REMOVAL_PROCESS_AT_FAULT - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_DRAWINDIRECT_INVALID_ARG_BUFFER - D3D11_MESSAGE_ID_DEVICE_DRAWINDIRECT_INVALID_ARG_BUFFER - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_DRAWINDIRECT_OFFSET_UNALIGNED - D3D11_MESSAGE_ID_DEVICE_DRAWINDIRECT_OFFSET_UNALIGNED - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_DRAWINDIRECT_OFFSET_OVERFLOW - D3D11_MESSAGE_ID_DEVICE_DRAWINDIRECT_OFFSET_OVERFLOW - - - - No documentation. - - - D3D11_MESSAGE_ID_RESOURCE_MAP_INVALIDMAPTYPE - D3D11_MESSAGE_ID_RESOURCE_MAP_INVALIDMAPTYPE - - - - No documentation. - - - D3D11_MESSAGE_ID_RESOURCE_MAP_INVALIDSUBRESOURCE - D3D11_MESSAGE_ID_RESOURCE_MAP_INVALIDSUBRESOURCE - - - - No documentation. - - - D3D11_MESSAGE_ID_RESOURCE_MAP_INVALIDFLAGS - D3D11_MESSAGE_ID_RESOURCE_MAP_INVALIDFLAGS - - - - No documentation. - - - D3D11_MESSAGE_ID_RESOURCE_MAP_ALREADYMAPPED - D3D11_MESSAGE_ID_RESOURCE_MAP_ALREADYMAPPED - - - - No documentation. - - - D3D11_MESSAGE_ID_RESOURCE_MAP_DEVICEREMOVED_RETURN - D3D11_MESSAGE_ID_RESOURCE_MAP_DEVICEREMOVED_RETURN - - - - No documentation. - - - D3D11_MESSAGE_ID_RESOURCE_MAP_OUTOFMEMORY_RETURN - D3D11_MESSAGE_ID_RESOURCE_MAP_OUTOFMEMORY_RETURN - - - - No documentation. - - - D3D11_MESSAGE_ID_RESOURCE_MAP_WITHOUT_INITIAL_DISCARD - D3D11_MESSAGE_ID_RESOURCE_MAP_WITHOUT_INITIAL_DISCARD - - - - No documentation. - - - D3D11_MESSAGE_ID_RESOURCE_UNMAP_INVALIDSUBRESOURCE - D3D11_MESSAGE_ID_RESOURCE_UNMAP_INVALIDSUBRESOURCE - - - - No documentation. - - - D3D11_MESSAGE_ID_RESOURCE_UNMAP_NOTMAPPED - D3D11_MESSAGE_ID_RESOURCE_UNMAP_NOTMAPPED - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_DRAW_RASTERIZING_CONTROL_POINTS - D3D11_MESSAGE_ID_DEVICE_DRAW_RASTERIZING_CONTROL_POINTS - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_IASETPRIMITIVETOPOLOGY_TOPOLOGY_UNSUPPORTED - D3D11_MESSAGE_ID_DEVICE_IASETPRIMITIVETOPOLOGY_TOPOLOGY_UNSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_DRAW_HS_DS_SIGNATURE_MISMATCH - D3D11_MESSAGE_ID_DEVICE_DRAW_HS_DS_SIGNATURE_MISMATCH - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_DRAW_HULL_SHADER_INPUT_TOPOLOGY_MISMATCH - D3D11_MESSAGE_ID_DEVICE_DRAW_HULL_SHADER_INPUT_TOPOLOGY_MISMATCH - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_DRAW_HS_DS_CONTROL_POINT_COUNT_MISMATCH - D3D11_MESSAGE_ID_DEVICE_DRAW_HS_DS_CONTROL_POINT_COUNT_MISMATCH - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_DRAW_HS_DS_TESSELLATOR_DOMAIN_MISMATCH - D3D11_MESSAGE_ID_DEVICE_DRAW_HS_DS_TESSELLATOR_DOMAIN_MISMATCH - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATE_CONTEXT - D3D11_MESSAGE_ID_CREATE_CONTEXT - - - - No documentation. - - - D3D11_MESSAGE_ID_LIVE_CONTEXT - D3D11_MESSAGE_ID_LIVE_CONTEXT - - - - No documentation. - - - D3D11_MESSAGE_ID_DESTROY_CONTEXT - D3D11_MESSAGE_ID_DESTROY_CONTEXT - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATE_BUFFER - D3D11_MESSAGE_ID_CREATE_BUFFER - - - - No documentation. - - - D3D11_MESSAGE_ID_LIVE_BUFFER_WIN7 - D3D11_MESSAGE_ID_LIVE_BUFFER_WIN7 - - - - No documentation. - - - D3D11_MESSAGE_ID_DESTROY_BUFFER - D3D11_MESSAGE_ID_DESTROY_BUFFER - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATE_TEXTURE1D - D3D11_MESSAGE_ID_CREATE_TEXTURE1D - - - - No documentation. - - - D3D11_MESSAGE_ID_LIVE_TEXTURE1D_WIN7 - D3D11_MESSAGE_ID_LIVE_TEXTURE1D_WIN7 - - - - No documentation. - - - D3D11_MESSAGE_ID_DESTROY_TEXTURE1D - D3D11_MESSAGE_ID_DESTROY_TEXTURE1D - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATE_TEXTURE2D - D3D11_MESSAGE_ID_CREATE_TEXTURE2D - - - - No documentation. - - - D3D11_MESSAGE_ID_LIVE_TEXTURE2D_WIN7 - D3D11_MESSAGE_ID_LIVE_TEXTURE2D_WIN7 - - - - No documentation. - - - D3D11_MESSAGE_ID_DESTROY_TEXTURE2D - D3D11_MESSAGE_ID_DESTROY_TEXTURE2D - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATE_TEXTURE3D - D3D11_MESSAGE_ID_CREATE_TEXTURE3D - - - - No documentation. - - - D3D11_MESSAGE_ID_LIVE_TEXTURE3D_WIN7 - D3D11_MESSAGE_ID_LIVE_TEXTURE3D_WIN7 - - - - No documentation. - - - D3D11_MESSAGE_ID_DESTROY_TEXTURE3D - D3D11_MESSAGE_ID_DESTROY_TEXTURE3D - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATE_SHADERRESOURCEVIEW - D3D11_MESSAGE_ID_CREATE_SHADERRESOURCEVIEW - - - - No documentation. - - - D3D11_MESSAGE_ID_LIVE_SHADERRESOURCEVIEW_WIN7 - D3D11_MESSAGE_ID_LIVE_SHADERRESOURCEVIEW_WIN7 - - - - No documentation. - - - D3D11_MESSAGE_ID_DESTROY_SHADERRESOURCEVIEW - D3D11_MESSAGE_ID_DESTROY_SHADERRESOURCEVIEW - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATE_RENDERTARGETVIEW - D3D11_MESSAGE_ID_CREATE_RENDERTARGETVIEW - - - - No documentation. - - - D3D11_MESSAGE_ID_LIVE_RENDERTARGETVIEW_WIN7 - D3D11_MESSAGE_ID_LIVE_RENDERTARGETVIEW_WIN7 - - - - No documentation. - - - D3D11_MESSAGE_ID_DESTROY_RENDERTARGETVIEW - D3D11_MESSAGE_ID_DESTROY_RENDERTARGETVIEW - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATE_DEPTHSTENCILVIEW - D3D11_MESSAGE_ID_CREATE_DEPTHSTENCILVIEW - - - - No documentation. - - - D3D11_MESSAGE_ID_LIVE_DEPTHSTENCILVIEW_WIN7 - D3D11_MESSAGE_ID_LIVE_DEPTHSTENCILVIEW_WIN7 - - - - No documentation. - - - D3D11_MESSAGE_ID_DESTROY_DEPTHSTENCILVIEW - D3D11_MESSAGE_ID_DESTROY_DEPTHSTENCILVIEW - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATE_VERTEXSHADER - D3D11_MESSAGE_ID_CREATE_VERTEXSHADER - - - - No documentation. - - - D3D11_MESSAGE_ID_LIVE_VERTEXSHADER_WIN7 - D3D11_MESSAGE_ID_LIVE_VERTEXSHADER_WIN7 - - - - No documentation. - - - D3D11_MESSAGE_ID_DESTROY_VERTEXSHADER - D3D11_MESSAGE_ID_DESTROY_VERTEXSHADER - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATE_HULLSHADER - D3D11_MESSAGE_ID_CREATE_HULLSHADER - - - - No documentation. - - - D3D11_MESSAGE_ID_LIVE_HULLSHADER - D3D11_MESSAGE_ID_LIVE_HULLSHADER - - - - No documentation. - - - D3D11_MESSAGE_ID_DESTROY_HULLSHADER - D3D11_MESSAGE_ID_DESTROY_HULLSHADER - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATE_DOMAINSHADER - D3D11_MESSAGE_ID_CREATE_DOMAINSHADER - - - - No documentation. - - - D3D11_MESSAGE_ID_LIVE_DOMAINSHADER - D3D11_MESSAGE_ID_LIVE_DOMAINSHADER - - - - No documentation. - - - D3D11_MESSAGE_ID_DESTROY_DOMAINSHADER - D3D11_MESSAGE_ID_DESTROY_DOMAINSHADER - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATE_GEOMETRYSHADER - D3D11_MESSAGE_ID_CREATE_GEOMETRYSHADER - - - - No documentation. - - - D3D11_MESSAGE_ID_LIVE_GEOMETRYSHADER_WIN7 - D3D11_MESSAGE_ID_LIVE_GEOMETRYSHADER_WIN7 - - - - No documentation. - - - D3D11_MESSAGE_ID_DESTROY_GEOMETRYSHADER - D3D11_MESSAGE_ID_DESTROY_GEOMETRYSHADER - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATE_PIXELSHADER - D3D11_MESSAGE_ID_CREATE_PIXELSHADER - - - - No documentation. - - - D3D11_MESSAGE_ID_LIVE_PIXELSHADER_WIN7 - D3D11_MESSAGE_ID_LIVE_PIXELSHADER_WIN7 - - - - No documentation. - - - D3D11_MESSAGE_ID_DESTROY_PIXELSHADER - D3D11_MESSAGE_ID_DESTROY_PIXELSHADER - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATE_INPUTLAYOUT - D3D11_MESSAGE_ID_CREATE_INPUTLAYOUT - - - - No documentation. - - - D3D11_MESSAGE_ID_LIVE_INPUTLAYOUT_WIN7 - D3D11_MESSAGE_ID_LIVE_INPUTLAYOUT_WIN7 - - - - No documentation. - - - D3D11_MESSAGE_ID_DESTROY_INPUTLAYOUT - D3D11_MESSAGE_ID_DESTROY_INPUTLAYOUT - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATE_SAMPLER - D3D11_MESSAGE_ID_CREATE_SAMPLER - - - - No documentation. - - - D3D11_MESSAGE_ID_LIVE_SAMPLER_WIN7 - D3D11_MESSAGE_ID_LIVE_SAMPLER_WIN7 - - - - No documentation. - - - D3D11_MESSAGE_ID_DESTROY_SAMPLER - D3D11_MESSAGE_ID_DESTROY_SAMPLER - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATE_BLENDSTATE - D3D11_MESSAGE_ID_CREATE_BLENDSTATE - - - - No documentation. - - - D3D11_MESSAGE_ID_LIVE_BLENDSTATE_WIN7 - D3D11_MESSAGE_ID_LIVE_BLENDSTATE_WIN7 - - - - No documentation. - - - D3D11_MESSAGE_ID_DESTROY_BLENDSTATE - D3D11_MESSAGE_ID_DESTROY_BLENDSTATE - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATE_DEPTHSTENCILSTATE - D3D11_MESSAGE_ID_CREATE_DEPTHSTENCILSTATE - - - - No documentation. - - - D3D11_MESSAGE_ID_LIVE_DEPTHSTENCILSTATE_WIN7 - D3D11_MESSAGE_ID_LIVE_DEPTHSTENCILSTATE_WIN7 - - - - No documentation. - - - D3D11_MESSAGE_ID_DESTROY_DEPTHSTENCILSTATE - D3D11_MESSAGE_ID_DESTROY_DEPTHSTENCILSTATE - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATE_RASTERIZERSTATE - D3D11_MESSAGE_ID_CREATE_RASTERIZERSTATE - - - - No documentation. - - - D3D11_MESSAGE_ID_LIVE_RASTERIZERSTATE_WIN7 - D3D11_MESSAGE_ID_LIVE_RASTERIZERSTATE_WIN7 - - - - No documentation. - - - D3D11_MESSAGE_ID_DESTROY_RASTERIZERSTATE - D3D11_MESSAGE_ID_DESTROY_RASTERIZERSTATE - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATE_QUERY - D3D11_MESSAGE_ID_CREATE_QUERY - - - - No documentation. - - - D3D11_MESSAGE_ID_LIVE_QUERY_WIN7 - D3D11_MESSAGE_ID_LIVE_QUERY_WIN7 - - - - No documentation. - - - D3D11_MESSAGE_ID_DESTROY_QUERY - D3D11_MESSAGE_ID_DESTROY_QUERY - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATE_PREDICATE - D3D11_MESSAGE_ID_CREATE_PREDICATE - - - - No documentation. - - - D3D11_MESSAGE_ID_LIVE_PREDICATE_WIN7 - D3D11_MESSAGE_ID_LIVE_PREDICATE_WIN7 - - - - No documentation. - - - D3D11_MESSAGE_ID_DESTROY_PREDICATE - D3D11_MESSAGE_ID_DESTROY_PREDICATE - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATE_COUNTER - D3D11_MESSAGE_ID_CREATE_COUNTER - - - - No documentation. - - - D3D11_MESSAGE_ID_DESTROY_COUNTER - D3D11_MESSAGE_ID_DESTROY_COUNTER - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATE_COMMANDLIST - D3D11_MESSAGE_ID_CREATE_COMMANDLIST - - - - No documentation. - - - D3D11_MESSAGE_ID_LIVE_COMMANDLIST - D3D11_MESSAGE_ID_LIVE_COMMANDLIST - - - - No documentation. - - - D3D11_MESSAGE_ID_DESTROY_COMMANDLIST - D3D11_MESSAGE_ID_DESTROY_COMMANDLIST - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATE_CLASSINSTANCE - D3D11_MESSAGE_ID_CREATE_CLASSINSTANCE - - - - No documentation. - - - D3D11_MESSAGE_ID_LIVE_CLASSINSTANCE - D3D11_MESSAGE_ID_LIVE_CLASSINSTANCE - - - - No documentation. - - - D3D11_MESSAGE_ID_DESTROY_CLASSINSTANCE - D3D11_MESSAGE_ID_DESTROY_CLASSINSTANCE - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATE_CLASSLINKAGE - D3D11_MESSAGE_ID_CREATE_CLASSLINKAGE - - - - No documentation. - - - D3D11_MESSAGE_ID_LIVE_CLASSLINKAGE - D3D11_MESSAGE_ID_LIVE_CLASSLINKAGE - - - - No documentation. - - - D3D11_MESSAGE_ID_DESTROY_CLASSLINKAGE - D3D11_MESSAGE_ID_DESTROY_CLASSLINKAGE - - - - No documentation. - - - D3D11_MESSAGE_ID_LIVE_DEVICE_WIN7 - D3D11_MESSAGE_ID_LIVE_DEVICE_WIN7 - - - - No documentation. - - - D3D11_MESSAGE_ID_LIVE_OBJECT_SUMMARY_WIN7 - D3D11_MESSAGE_ID_LIVE_OBJECT_SUMMARY_WIN7 - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATE_COMPUTESHADER - D3D11_MESSAGE_ID_CREATE_COMPUTESHADER - - - - No documentation. - - - D3D11_MESSAGE_ID_LIVE_COMPUTESHADER - D3D11_MESSAGE_ID_LIVE_COMPUTESHADER - - - - No documentation. - - - D3D11_MESSAGE_ID_DESTROY_COMPUTESHADER - D3D11_MESSAGE_ID_DESTROY_COMPUTESHADER - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATE_UNORDEREDACCESSVIEW - D3D11_MESSAGE_ID_CREATE_UNORDEREDACCESSVIEW - - - - No documentation. - - - D3D11_MESSAGE_ID_LIVE_UNORDEREDACCESSVIEW - D3D11_MESSAGE_ID_LIVE_UNORDEREDACCESSVIEW - - - - No documentation. - - - D3D11_MESSAGE_ID_DESTROY_UNORDEREDACCESSVIEW - D3D11_MESSAGE_ID_DESTROY_UNORDEREDACCESSVIEW - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_SETSHADER_INTERFACES_FEATURELEVEL - D3D11_MESSAGE_ID_DEVICE_SETSHADER_INTERFACES_FEATURELEVEL - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_SETSHADER_INTERFACE_COUNT_MISMATCH - D3D11_MESSAGE_ID_DEVICE_SETSHADER_INTERFACE_COUNT_MISMATCH - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_SETSHADER_INVALID_INSTANCE - D3D11_MESSAGE_ID_DEVICE_SETSHADER_INVALID_INSTANCE - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_SETSHADER_INVALID_INSTANCE_INDEX - D3D11_MESSAGE_ID_DEVICE_SETSHADER_INVALID_INSTANCE_INDEX - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_SETSHADER_INVALID_INSTANCE_TYPE - D3D11_MESSAGE_ID_DEVICE_SETSHADER_INVALID_INSTANCE_TYPE - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_SETSHADER_INVALID_INSTANCE_DATA - D3D11_MESSAGE_ID_DEVICE_SETSHADER_INVALID_INSTANCE_DATA - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_SETSHADER_UNBOUND_INSTANCE_DATA - D3D11_MESSAGE_ID_DEVICE_SETSHADER_UNBOUND_INSTANCE_DATA - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_SETSHADER_INSTANCE_DATA_BINDINGS - D3D11_MESSAGE_ID_DEVICE_SETSHADER_INSTANCE_DATA_BINDINGS - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_CREATESHADER_CLASSLINKAGE_FULL - D3D11_MESSAGE_ID_DEVICE_CREATESHADER_CLASSLINKAGE_FULL - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_CHECKFEATURESUPPORT_UNRECOGNIZED_FEATURE - D3D11_MESSAGE_ID_DEVICE_CHECKFEATURESUPPORT_UNRECOGNIZED_FEATURE - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_CHECKFEATURESUPPORT_MISMATCHED_DATA_SIZE - D3D11_MESSAGE_ID_DEVICE_CHECKFEATURESUPPORT_MISMATCHED_DATA_SIZE - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_CHECKFEATURESUPPORT_INVALIDARG_RETURN - D3D11_MESSAGE_ID_DEVICE_CHECKFEATURESUPPORT_INVALIDARG_RETURN - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_CSSETSHADERRESOURCES_HAZARD - D3D11_MESSAGE_ID_DEVICE_CSSETSHADERRESOURCES_HAZARD - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_CSSETCONSTANTBUFFERS_HAZARD - D3D11_MESSAGE_ID_DEVICE_CSSETCONSTANTBUFFERS_HAZARD - - - - No documentation. - - - D3D11_MESSAGE_ID_CSSETSHADERRESOURCES_UNBINDDELETINGOBJECT - D3D11_MESSAGE_ID_CSSETSHADERRESOURCES_UNBINDDELETINGOBJECT - - - - No documentation. - - - D3D11_MESSAGE_ID_CSSETCONSTANTBUFFERS_UNBINDDELETINGOBJECT - D3D11_MESSAGE_ID_CSSETCONSTANTBUFFERS_UNBINDDELETINGOBJECT - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATECOMPUTESHADER_INVALIDCALL - D3D11_MESSAGE_ID_CREATECOMPUTESHADER_INVALIDCALL - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATECOMPUTESHADER_OUTOFMEMORY - D3D11_MESSAGE_ID_CREATECOMPUTESHADER_OUTOFMEMORY - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATECOMPUTESHADER_INVALIDSHADERBYTECODE - D3D11_MESSAGE_ID_CREATECOMPUTESHADER_INVALIDSHADERBYTECODE - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATECOMPUTESHADER_INVALIDSHADERTYPE - D3D11_MESSAGE_ID_CREATECOMPUTESHADER_INVALIDSHADERTYPE - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATECOMPUTESHADER_INVALIDCLASSLINKAGE - D3D11_MESSAGE_ID_CREATECOMPUTESHADER_INVALIDCLASSLINKAGE - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_CSSETSHADERRESOURCES_VIEWS_EMPTY - D3D11_MESSAGE_ID_DEVICE_CSSETSHADERRESOURCES_VIEWS_EMPTY - - - - No documentation. - - - D3D11_MESSAGE_ID_CSSETCONSTANTBUFFERS_INVALIDBUFFER - D3D11_MESSAGE_ID_CSSETCONSTANTBUFFERS_INVALIDBUFFER - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_CSSETCONSTANTBUFFERS_BUFFERS_EMPTY - D3D11_MESSAGE_ID_DEVICE_CSSETCONSTANTBUFFERS_BUFFERS_EMPTY - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_CSSETSAMPLERS_SAMPLERS_EMPTY - D3D11_MESSAGE_ID_DEVICE_CSSETSAMPLERS_SAMPLERS_EMPTY - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_CSGETSHADERRESOURCES_VIEWS_EMPTY - D3D11_MESSAGE_ID_DEVICE_CSGETSHADERRESOURCES_VIEWS_EMPTY - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_CSGETCONSTANTBUFFERS_BUFFERS_EMPTY - D3D11_MESSAGE_ID_DEVICE_CSGETCONSTANTBUFFERS_BUFFERS_EMPTY - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_CSGETSAMPLERS_SAMPLERS_EMPTY - D3D11_MESSAGE_ID_DEVICE_CSGETSAMPLERS_SAMPLERS_EMPTY - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_DOUBLEFLOATOPSNOTSUPPORTED - D3D11_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_DOUBLEFLOATOPSNOTSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_CREATEHULLSHADER_DOUBLEFLOATOPSNOTSUPPORTED - D3D11_MESSAGE_ID_DEVICE_CREATEHULLSHADER_DOUBLEFLOATOPSNOTSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_DOUBLEFLOATOPSNOTSUPPORTED - D3D11_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_DOUBLEFLOATOPSNOTSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_DOUBLEFLOATOPSNOTSUPPORTED - D3D11_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_DOUBLEFLOATOPSNOTSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DOUBLEFLOATOPSNOTSUPPORTED - D3D11_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DOUBLEFLOATOPSNOTSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_DOUBLEFLOATOPSNOTSUPPORTED - D3D11_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_DOUBLEFLOATOPSNOTSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_DOUBLEFLOATOPSNOTSUPPORTED - D3D11_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_DOUBLEFLOATOPSNOTSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDSTRUCTURESTRIDE - D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDSTRUCTURESTRIDE - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDFLAGS - D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDFLAGS - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDRESOURCE - D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDRESOURCE - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDDESC - D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDDESC - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDFORMAT - D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDFORMAT - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDDIMENSIONS - D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDDIMENSIONS - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_UNRECOGNIZEDFORMAT - D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_UNRECOGNIZEDFORMAT - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_OMSETRENDERTARGETSANDUNORDEREDACCESSVIEWS_HAZARD - D3D11_MESSAGE_ID_DEVICE_OMSETRENDERTARGETSANDUNORDEREDACCESSVIEWS_HAZARD - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_OMSETRENDERTARGETSANDUNORDEREDACCESSVIEWS_OVERLAPPING_OLD_SLOTS - D3D11_MESSAGE_ID_DEVICE_OMSETRENDERTARGETSANDUNORDEREDACCESSVIEWS_OVERLAPPING_OLD_SLOTS - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_OMSETRENDERTARGETSANDUNORDEREDACCESSVIEWS_NO_OP - D3D11_MESSAGE_ID_DEVICE_OMSETRENDERTARGETSANDUNORDEREDACCESSVIEWS_NO_OP - - - - No documentation. - - - D3D11_MESSAGE_ID_CSSETUNORDEREDACCESSVIEWS_UNBINDDELETINGOBJECT - D3D11_MESSAGE_ID_CSSETUNORDEREDACCESSVIEWS_UNBINDDELETINGOBJECT - - - - No documentation. - - - D3D11_MESSAGE_ID_PSSETUNORDEREDACCESSVIEWS_UNBINDDELETINGOBJECT - D3D11_MESSAGE_ID_PSSETUNORDEREDACCESSVIEWS_UNBINDDELETINGOBJECT - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDARG_RETURN - D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDARG_RETURN - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_OUTOFMEMORY_RETURN - D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_OUTOFMEMORY_RETURN - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_TOOMANYOBJECTS - D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_TOOMANYOBJECTS - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_CSSETUNORDEREDACCESSVIEWS_HAZARD - D3D11_MESSAGE_ID_DEVICE_CSSETUNORDEREDACCESSVIEWS_HAZARD - - - - No documentation. - - - D3D11_MESSAGE_ID_CLEARUNORDEREDACCESSVIEW_DENORMFLUSH - D3D11_MESSAGE_ID_CLEARUNORDEREDACCESSVIEW_DENORMFLUSH - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_CSSETUNORDEREDACCESSS_VIEWS_EMPTY - D3D11_MESSAGE_ID_DEVICE_CSSETUNORDEREDACCESSS_VIEWS_EMPTY - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_CSGETUNORDEREDACCESSS_VIEWS_EMPTY - D3D11_MESSAGE_ID_DEVICE_CSGETUNORDEREDACCESSS_VIEWS_EMPTY - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDFLAGS - D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDFLAGS - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATESHADERRESESOURCEVIEW_TOOMANYOBJECTS - D3D11_MESSAGE_ID_CREATESHADERRESESOURCEVIEW_TOOMANYOBJECTS - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_DISPATCHINDIRECT_INVALID_ARG_BUFFER - D3D11_MESSAGE_ID_DEVICE_DISPATCHINDIRECT_INVALID_ARG_BUFFER - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_DISPATCHINDIRECT_OFFSET_UNALIGNED - D3D11_MESSAGE_ID_DEVICE_DISPATCHINDIRECT_OFFSET_UNALIGNED - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_DISPATCHINDIRECT_OFFSET_OVERFLOW - D3D11_MESSAGE_ID_DEVICE_DISPATCHINDIRECT_OFFSET_OVERFLOW - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_SETRESOURCEMINLOD_INVALIDCONTEXT - D3D11_MESSAGE_ID_DEVICE_SETRESOURCEMINLOD_INVALIDCONTEXT - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_SETRESOURCEMINLOD_INVALIDRESOURCE - D3D11_MESSAGE_ID_DEVICE_SETRESOURCEMINLOD_INVALIDRESOURCE - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_SETRESOURCEMINLOD_INVALIDMINLOD - D3D11_MESSAGE_ID_DEVICE_SETRESOURCEMINLOD_INVALIDMINLOD - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_GETRESOURCEMINLOD_INVALIDCONTEXT - D3D11_MESSAGE_ID_DEVICE_GETRESOURCEMINLOD_INVALIDCONTEXT - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_GETRESOURCEMINLOD_INVALIDRESOURCE - D3D11_MESSAGE_ID_DEVICE_GETRESOURCEMINLOD_INVALIDRESOURCE - - - - No documentation. - - - D3D11_MESSAGE_ID_OMSETDEPTHSTENCIL_UNBINDDELETINGOBJECT - D3D11_MESSAGE_ID_OMSETDEPTHSTENCIL_UNBINDDELETINGOBJECT - - - - No documentation. - - - D3D11_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_DEPTH_READONLY - D3D11_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_DEPTH_READONLY - - - - No documentation. - - - D3D11_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_STENCIL_READONLY - D3D11_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_STENCIL_READONLY - - - - No documentation. - - - D3D11_MESSAGE_ID_CHECKFEATURESUPPORT_FORMAT_DEPRECATED - D3D11_MESSAGE_ID_CHECKFEATURESUPPORT_FORMAT_DEPRECATED - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_RETURN_TYPE_MISMATCH - D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_RETURN_TYPE_MISMATCH - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_NOT_SET - D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_NOT_SET - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_DRAW_UNORDEREDACCESSVIEW_RENDERTARGETVIEW_OVERLAP - D3D11_MESSAGE_ID_DEVICE_DRAW_UNORDEREDACCESSVIEW_RENDERTARGETVIEW_OVERLAP - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_DIMENSION_MISMATCH - D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_DIMENSION_MISMATCH - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_APPEND_UNSUPPORTED - D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_APPEND_UNSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMICS_UNSUPPORTED - D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMICS_UNSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_STRUCTURE_STRIDE_MISMATCH - D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_STRUCTURE_STRIDE_MISMATCH - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_BUFFER_TYPE_MISMATCH - D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_BUFFER_TYPE_MISMATCH - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_RAW_UNSUPPORTED - D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_RAW_UNSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_FORMAT_LD_UNSUPPORTED - D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_FORMAT_LD_UNSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_FORMAT_STORE_UNSUPPORTED - D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_FORMAT_STORE_UNSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMIC_ADD_UNSUPPORTED - D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMIC_ADD_UNSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMIC_BITWISE_OPS_UNSUPPORTED - D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMIC_BITWISE_OPS_UNSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMIC_CMPSTORE_CMPEXCHANGE_UNSUPPORTED - D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMIC_CMPSTORE_CMPEXCHANGE_UNSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMIC_EXCHANGE_UNSUPPORTED - D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMIC_EXCHANGE_UNSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMIC_SIGNED_MINMAX_UNSUPPORTED - D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMIC_SIGNED_MINMAX_UNSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMIC_UNSIGNED_MINMAX_UNSUPPORTED - D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMIC_UNSIGNED_MINMAX_UNSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_DISPATCH_BOUND_RESOURCE_MAPPED - D3D11_MESSAGE_ID_DEVICE_DISPATCH_BOUND_RESOURCE_MAPPED - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_DISPATCH_THREADGROUPCOUNT_OVERFLOW - D3D11_MESSAGE_ID_DEVICE_DISPATCH_THREADGROUPCOUNT_OVERFLOW - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_DISPATCH_THREADGROUPCOUNT_ZERO - D3D11_MESSAGE_ID_DEVICE_DISPATCH_THREADGROUPCOUNT_ZERO - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_SHADERRESOURCEVIEW_STRUCTURE_STRIDE_MISMATCH - D3D11_MESSAGE_ID_DEVICE_SHADERRESOURCEVIEW_STRUCTURE_STRIDE_MISMATCH - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_SHADERRESOURCEVIEW_BUFFER_TYPE_MISMATCH - D3D11_MESSAGE_ID_DEVICE_SHADERRESOURCEVIEW_BUFFER_TYPE_MISMATCH - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_SHADERRESOURCEVIEW_RAW_UNSUPPORTED - D3D11_MESSAGE_ID_DEVICE_SHADERRESOURCEVIEW_RAW_UNSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_DISPATCH_UNSUPPORTED - D3D11_MESSAGE_ID_DEVICE_DISPATCH_UNSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_DISPATCHINDIRECT_UNSUPPORTED - D3D11_MESSAGE_ID_DEVICE_DISPATCHINDIRECT_UNSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_COPYSTRUCTURECOUNT_INVALIDOFFSET - D3D11_MESSAGE_ID_COPYSTRUCTURECOUNT_INVALIDOFFSET - - - - No documentation. - - - D3D11_MESSAGE_ID_COPYSTRUCTURECOUNT_LARGEOFFSET - D3D11_MESSAGE_ID_COPYSTRUCTURECOUNT_LARGEOFFSET - - - - No documentation. - - - D3D11_MESSAGE_ID_COPYSTRUCTURECOUNT_INVALIDDESTINATIONSTATE - D3D11_MESSAGE_ID_COPYSTRUCTURECOUNT_INVALIDDESTINATIONSTATE - - - - No documentation. - - - D3D11_MESSAGE_ID_COPYSTRUCTURECOUNT_INVALIDSOURCESTATE - D3D11_MESSAGE_ID_COPYSTRUCTURECOUNT_INVALIDSOURCESTATE - - - - No documentation. - - - D3D11_MESSAGE_ID_CHECKFORMATSUPPORT_FORMAT_NOT_SUPPORTED - D3D11_MESSAGE_ID_CHECKFORMATSUPPORT_FORMAT_NOT_SUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_CSSETUNORDEREDACCESSVIEWS_INVALIDVIEW - D3D11_MESSAGE_ID_DEVICE_CSSETUNORDEREDACCESSVIEWS_INVALIDVIEW - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_CSSETUNORDEREDACCESSVIEWS_INVALIDOFFSET - D3D11_MESSAGE_ID_DEVICE_CSSETUNORDEREDACCESSVIEWS_INVALIDOFFSET - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_CSSETUNORDEREDACCESSVIEWS_TOOMANYVIEWS - D3D11_MESSAGE_ID_DEVICE_CSSETUNORDEREDACCESSVIEWS_TOOMANYVIEWS - - - - No documentation. - - - D3D11_MESSAGE_ID_CLEARUNORDEREDACCESSVIEWFLOAT_INVALIDFORMAT - D3D11_MESSAGE_ID_CLEARUNORDEREDACCESSVIEWFLOAT_INVALIDFORMAT - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_COUNTER_UNSUPPORTED - D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_COUNTER_UNSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_REF_WARNING - D3D11_MESSAGE_ID_REF_WARNING - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_DRAW_PIXEL_SHADER_WITHOUT_RTV_OR_DSV - D3D11_MESSAGE_ID_DEVICE_DRAW_PIXEL_SHADER_WITHOUT_RTV_OR_DSV - - - - No documentation. - - - D3D11_MESSAGE_ID_SHADER_ABORT - D3D11_MESSAGE_ID_SHADER_ABORT - - - - No documentation. - - - D3D11_MESSAGE_ID_SHADER_MESSAGE - D3D11_MESSAGE_ID_SHADER_MESSAGE - - - - No documentation. - - - D3D11_MESSAGE_ID_SHADER_ERROR - D3D11_MESSAGE_ID_SHADER_ERROR - - - - No documentation. - - - D3D11_MESSAGE_ID_OFFERRESOURCES_INVALIDRESOURCE - D3D11_MESSAGE_ID_OFFERRESOURCES_INVALIDRESOURCE - - - - No documentation. - - - D3D11_MESSAGE_ID_HSSETSAMPLERS_UNBINDDELETINGOBJECT - D3D11_MESSAGE_ID_HSSETSAMPLERS_UNBINDDELETINGOBJECT - - - - No documentation. - - - D3D11_MESSAGE_ID_DSSETSAMPLERS_UNBINDDELETINGOBJECT - D3D11_MESSAGE_ID_DSSETSAMPLERS_UNBINDDELETINGOBJECT - - - - No documentation. - - - D3D11_MESSAGE_ID_CSSETSAMPLERS_UNBINDDELETINGOBJECT - D3D11_MESSAGE_ID_CSSETSAMPLERS_UNBINDDELETINGOBJECT - - - - No documentation. - - - D3D11_MESSAGE_ID_HSSETSHADER_UNBINDDELETINGOBJECT - D3D11_MESSAGE_ID_HSSETSHADER_UNBINDDELETINGOBJECT - - - - No documentation. - - - D3D11_MESSAGE_ID_DSSETSHADER_UNBINDDELETINGOBJECT - D3D11_MESSAGE_ID_DSSETSHADER_UNBINDDELETINGOBJECT - - - - No documentation. - - - D3D11_MESSAGE_ID_CSSETSHADER_UNBINDDELETINGOBJECT - D3D11_MESSAGE_ID_CSSETSHADER_UNBINDDELETINGOBJECT - - - - No documentation. - - - D3D11_MESSAGE_ID_ENQUEUESETEVENT_INVALIDARG_RETURN - D3D11_MESSAGE_ID_ENQUEUESETEVENT_INVALIDARG_RETURN - - - - No documentation. - - - D3D11_MESSAGE_ID_ENQUEUESETEVENT_OUTOFMEMORY_RETURN - D3D11_MESSAGE_ID_ENQUEUESETEVENT_OUTOFMEMORY_RETURN - - - - No documentation. - - - D3D11_MESSAGE_ID_ENQUEUESETEVENT_ACCESSDENIED_RETURN - D3D11_MESSAGE_ID_ENQUEUESETEVENT_ACCESSDENIED_RETURN - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_OMSETRENDERTARGETSANDUNORDEREDACCESSVIEWS_NUMUAVS_INVALIDRANGE - D3D11_MESSAGE_ID_DEVICE_OMSETRENDERTARGETSANDUNORDEREDACCESSVIEWS_NUMUAVS_INVALIDRANGE - - - - No documentation. - - - D3D11_MESSAGE_ID_USE_OF_ZERO_REFCOUNT_OBJECT - D3D11_MESSAGE_ID_USE_OF_ZERO_REFCOUNT_OBJECT - - - - No documentation. - - - D3D11_MESSAGE_ID_D3D11_MESSAGES_END - D3D11_MESSAGE_ID_D3D11_MESSAGES_END - - - - No documentation. - - - D3D11_MESSAGE_ID_D3D11_1_MESSAGES_START - D3D11_MESSAGE_ID_D3D11_1_MESSAGES_START - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATE_VIDEODECODER - D3D11_MESSAGE_ID_CREATE_VIDEODECODER - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATE_VIDEOPROCESSORENUM - D3D11_MESSAGE_ID_CREATE_VIDEOPROCESSORENUM - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATE_VIDEOPROCESSOR - D3D11_MESSAGE_ID_CREATE_VIDEOPROCESSOR - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATE_DECODEROUTPUTVIEW - D3D11_MESSAGE_ID_CREATE_DECODEROUTPUTVIEW - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATE_PROCESSORINPUTVIEW - D3D11_MESSAGE_ID_CREATE_PROCESSORINPUTVIEW - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATE_PROCESSOROUTPUTVIEW - D3D11_MESSAGE_ID_CREATE_PROCESSOROUTPUTVIEW - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATE_DEVICECONTEXTSTATE - D3D11_MESSAGE_ID_CREATE_DEVICECONTEXTSTATE - - - - No documentation. - - - D3D11_MESSAGE_ID_LIVE_VIDEODECODER - D3D11_MESSAGE_ID_LIVE_VIDEODECODER - - - - No documentation. - - - D3D11_MESSAGE_ID_LIVE_VIDEOPROCESSORENUM - D3D11_MESSAGE_ID_LIVE_VIDEOPROCESSORENUM - - - - No documentation. - - - D3D11_MESSAGE_ID_LIVE_VIDEOPROCESSOR - D3D11_MESSAGE_ID_LIVE_VIDEOPROCESSOR - - - - No documentation. - - - D3D11_MESSAGE_ID_LIVE_DECODEROUTPUTVIEW - D3D11_MESSAGE_ID_LIVE_DECODEROUTPUTVIEW - - - - No documentation. - - - D3D11_MESSAGE_ID_LIVE_PROCESSORINPUTVIEW - D3D11_MESSAGE_ID_LIVE_PROCESSORINPUTVIEW - - - - No documentation. - - - D3D11_MESSAGE_ID_LIVE_PROCESSOROUTPUTVIEW - D3D11_MESSAGE_ID_LIVE_PROCESSOROUTPUTVIEW - - - - No documentation. - - - D3D11_MESSAGE_ID_LIVE_DEVICECONTEXTSTATE - D3D11_MESSAGE_ID_LIVE_DEVICECONTEXTSTATE - - - - No documentation. - - - D3D11_MESSAGE_ID_DESTROY_VIDEODECODER - D3D11_MESSAGE_ID_DESTROY_VIDEODECODER - - - - No documentation. - - - D3D11_MESSAGE_ID_DESTROY_VIDEOPROCESSORENUM - D3D11_MESSAGE_ID_DESTROY_VIDEOPROCESSORENUM - - - - No documentation. - - - D3D11_MESSAGE_ID_DESTROY_VIDEOPROCESSOR - D3D11_MESSAGE_ID_DESTROY_VIDEOPROCESSOR - - - - No documentation. - - - D3D11_MESSAGE_ID_DESTROY_DECODEROUTPUTVIEW - D3D11_MESSAGE_ID_DESTROY_DECODEROUTPUTVIEW - - - - No documentation. - - - D3D11_MESSAGE_ID_DESTROY_PROCESSORINPUTVIEW - D3D11_MESSAGE_ID_DESTROY_PROCESSORINPUTVIEW - - - - No documentation. - - - D3D11_MESSAGE_ID_DESTROY_PROCESSOROUTPUTVIEW - D3D11_MESSAGE_ID_DESTROY_PROCESSOROUTPUTVIEW - - - - No documentation. - - - D3D11_MESSAGE_ID_DESTROY_DEVICECONTEXTSTATE - D3D11_MESSAGE_ID_DESTROY_DEVICECONTEXTSTATE - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEDEVICECONTEXTSTATE_INVALIDFLAGS - D3D11_MESSAGE_ID_CREATEDEVICECONTEXTSTATE_INVALIDFLAGS - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEDEVICECONTEXTSTATE_INVALIDFEATURELEVEL - D3D11_MESSAGE_ID_CREATEDEVICECONTEXTSTATE_INVALIDFEATURELEVEL - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEDEVICECONTEXTSTATE_FEATURELEVELS_NOT_SUPPORTED - D3D11_MESSAGE_ID_CREATEDEVICECONTEXTSTATE_FEATURELEVELS_NOT_SUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEDEVICECONTEXTSTATE_INVALIDREFIID - D3D11_MESSAGE_ID_CREATEDEVICECONTEXTSTATE_INVALIDREFIID - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_DISCARDVIEW_INVALIDVIEW - D3D11_MESSAGE_ID_DEVICE_DISCARDVIEW_INVALIDVIEW - - - - No documentation. - - - D3D11_MESSAGE_ID_COPYSUBRESOURCEREGION1_INVALIDCOPYFLAGS - D3D11_MESSAGE_ID_COPYSUBRESOURCEREGION1_INVALIDCOPYFLAGS - - - - No documentation. - - - D3D11_MESSAGE_ID_UPDATESUBRESOURCE1_INVALIDCOPYFLAGS - D3D11_MESSAGE_ID_UPDATESUBRESOURCE1_INVALIDCOPYFLAGS - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDFORCEDSAMPLECOUNT - D3D11_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDFORCEDSAMPLECOUNT - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEVIDEODECODER_OUTOFMEMORY_RETURN - D3D11_MESSAGE_ID_CREATEVIDEODECODER_OUTOFMEMORY_RETURN - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEVIDEODECODER_NULLPARAM - D3D11_MESSAGE_ID_CREATEVIDEODECODER_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEVIDEODECODER_INVALIDFORMAT - D3D11_MESSAGE_ID_CREATEVIDEODECODER_INVALIDFORMAT - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEVIDEODECODER_ZEROWIDTHHEIGHT - D3D11_MESSAGE_ID_CREATEVIDEODECODER_ZEROWIDTHHEIGHT - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEVIDEODECODER_DRIVER_INVALIDBUFFERSIZE - D3D11_MESSAGE_ID_CREATEVIDEODECODER_DRIVER_INVALIDBUFFERSIZE - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEVIDEODECODER_DRIVER_INVALIDBUFFERUSAGE - D3D11_MESSAGE_ID_CREATEVIDEODECODER_DRIVER_INVALIDBUFFERUSAGE - - - - No documentation. - - - D3D11_MESSAGE_ID_GETVIDEODECODERPROFILECOUNT_OUTOFMEMORY - D3D11_MESSAGE_ID_GETVIDEODECODERPROFILECOUNT_OUTOFMEMORY - - - - No documentation. - - - D3D11_MESSAGE_ID_GETVIDEODECODERPROFILE_NULLPARAM - D3D11_MESSAGE_ID_GETVIDEODECODERPROFILE_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_GETVIDEODECODERPROFILE_INVALIDINDEX - D3D11_MESSAGE_ID_GETVIDEODECODERPROFILE_INVALIDINDEX - - - - No documentation. - - - D3D11_MESSAGE_ID_GETVIDEODECODERPROFILE_OUTOFMEMORY_RETURN - D3D11_MESSAGE_ID_GETVIDEODECODERPROFILE_OUTOFMEMORY_RETURN - - - - No documentation. - - - D3D11_MESSAGE_ID_CHECKVIDEODECODERFORMAT_NULLPARAM - D3D11_MESSAGE_ID_CHECKVIDEODECODERFORMAT_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_CHECKVIDEODECODERFORMAT_OUTOFMEMORY_RETURN - D3D11_MESSAGE_ID_CHECKVIDEODECODERFORMAT_OUTOFMEMORY_RETURN - - - - No documentation. - - - D3D11_MESSAGE_ID_GETVIDEODECODERCONFIGCOUNT_NULLPARAM - D3D11_MESSAGE_ID_GETVIDEODECODERCONFIGCOUNT_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_GETVIDEODECODERCONFIGCOUNT_OUTOFMEMORY_RETURN - D3D11_MESSAGE_ID_GETVIDEODECODERCONFIGCOUNT_OUTOFMEMORY_RETURN - - - - No documentation. - - - D3D11_MESSAGE_ID_GETVIDEODECODERCONFIG_NULLPARAM - D3D11_MESSAGE_ID_GETVIDEODECODERCONFIG_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_GETVIDEODECODERCONFIG_INVALIDINDEX - D3D11_MESSAGE_ID_GETVIDEODECODERCONFIG_INVALIDINDEX - - - - No documentation. - - - D3D11_MESSAGE_ID_GETVIDEODECODERCONFIG_OUTOFMEMORY_RETURN - D3D11_MESSAGE_ID_GETVIDEODECODERCONFIG_OUTOFMEMORY_RETURN - - - - No documentation. - - - D3D11_MESSAGE_ID_GETDECODERCREATIONPARAMS_NULLPARAM - D3D11_MESSAGE_ID_GETDECODERCREATIONPARAMS_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_GETDECODERDRIVERHANDLE_NULLPARAM - D3D11_MESSAGE_ID_GETDECODERDRIVERHANDLE_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_GETDECODERBUFFER_NULLPARAM - D3D11_MESSAGE_ID_GETDECODERBUFFER_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_GETDECODERBUFFER_INVALIDBUFFER - D3D11_MESSAGE_ID_GETDECODERBUFFER_INVALIDBUFFER - - - - No documentation. - - - D3D11_MESSAGE_ID_GETDECODERBUFFER_INVALIDTYPE - D3D11_MESSAGE_ID_GETDECODERBUFFER_INVALIDTYPE - - - - No documentation. - - - D3D11_MESSAGE_ID_GETDECODERBUFFER_LOCKED - D3D11_MESSAGE_ID_GETDECODERBUFFER_LOCKED - - - - No documentation. - - - D3D11_MESSAGE_ID_RELEASEDECODERBUFFER_NULLPARAM - D3D11_MESSAGE_ID_RELEASEDECODERBUFFER_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_RELEASEDECODERBUFFER_INVALIDTYPE - D3D11_MESSAGE_ID_RELEASEDECODERBUFFER_INVALIDTYPE - - - - No documentation. - - - D3D11_MESSAGE_ID_RELEASEDECODERBUFFER_NOTLOCKED - D3D11_MESSAGE_ID_RELEASEDECODERBUFFER_NOTLOCKED - - - - No documentation. - - - D3D11_MESSAGE_ID_DECODERBEGINFRAME_NULLPARAM - D3D11_MESSAGE_ID_DECODERBEGINFRAME_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_DECODERBEGINFRAME_HAZARD - D3D11_MESSAGE_ID_DECODERBEGINFRAME_HAZARD - - - - No documentation. - - - D3D11_MESSAGE_ID_DECODERENDFRAME_NULLPARAM - D3D11_MESSAGE_ID_DECODERENDFRAME_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_SUBMITDECODERBUFFERS_NULLPARAM - D3D11_MESSAGE_ID_SUBMITDECODERBUFFERS_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_SUBMITDECODERBUFFERS_INVALIDTYPE - D3D11_MESSAGE_ID_SUBMITDECODERBUFFERS_INVALIDTYPE - - - - No documentation. - - - D3D11_MESSAGE_ID_DECODEREXTENSION_NULLPARAM - D3D11_MESSAGE_ID_DECODEREXTENSION_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_DECODEREXTENSION_INVALIDRESOURCE - D3D11_MESSAGE_ID_DECODEREXTENSION_INVALIDRESOURCE - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORENUMERATOR_OUTOFMEMORY_RETURN - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORENUMERATOR_OUTOFMEMORY_RETURN - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORENUMERATOR_NULLPARAM - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORENUMERATOR_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORENUMERATOR_INVALIDFRAMEFORMAT - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORENUMERATOR_INVALIDFRAMEFORMAT - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORENUMERATOR_INVALIDUSAGE - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORENUMERATOR_INVALIDUSAGE - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORENUMERATOR_INVALIDINPUTFRAMERATE - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORENUMERATOR_INVALIDINPUTFRAMERATE - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORENUMERATOR_INVALIDOUTPUTFRAMERATE - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORENUMERATOR_INVALIDOUTPUTFRAMERATE - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORENUMERATOR_INVALIDWIDTHHEIGHT - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORENUMERATOR_INVALIDWIDTHHEIGHT - - - - No documentation. - - - D3D11_MESSAGE_ID_GETVIDEOPROCESSORCONTENTDESC_NULLPARAM - D3D11_MESSAGE_ID_GETVIDEOPROCESSORCONTENTDESC_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_CHECKVIDEOPROCESSORFORMAT_NULLPARAM - D3D11_MESSAGE_ID_CHECKVIDEOPROCESSORFORMAT_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_GETVIDEOPROCESSORCAPS_NULLPARAM - D3D11_MESSAGE_ID_GETVIDEOPROCESSORCAPS_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_GETVIDEOPROCESSORRATECONVERSIONCAPS_NULLPARAM - D3D11_MESSAGE_ID_GETVIDEOPROCESSORRATECONVERSIONCAPS_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_GETVIDEOPROCESSORRATECONVERSIONCAPS_INVALIDINDEX - D3D11_MESSAGE_ID_GETVIDEOPROCESSORRATECONVERSIONCAPS_INVALIDINDEX - - - - No documentation. - - - D3D11_MESSAGE_ID_GETVIDEOPROCESSORCUSTOMRATE_NULLPARAM - D3D11_MESSAGE_ID_GETVIDEOPROCESSORCUSTOMRATE_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_GETVIDEOPROCESSORCUSTOMRATE_INVALIDINDEX - D3D11_MESSAGE_ID_GETVIDEOPROCESSORCUSTOMRATE_INVALIDINDEX - - - - No documentation. - - - D3D11_MESSAGE_ID_GETVIDEOPROCESSORFILTERRANGE_NULLPARAM - D3D11_MESSAGE_ID_GETVIDEOPROCESSORFILTERRANGE_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_GETVIDEOPROCESSORFILTERRANGE_UNSUPPORTED - D3D11_MESSAGE_ID_GETVIDEOPROCESSORFILTERRANGE_UNSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSOR_OUTOFMEMORY_RETURN - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSOR_OUTOFMEMORY_RETURN - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSOR_NULLPARAM - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSOR_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTTARGETRECT_NULLPARAM - D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTTARGETRECT_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTBACKGROUNDCOLOR_NULLPARAM - D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTBACKGROUNDCOLOR_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTBACKGROUNDCOLOR_INVALIDALPHA - D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTBACKGROUNDCOLOR_INVALIDALPHA - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTCOLORSPACE_NULLPARAM - D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTCOLORSPACE_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTALPHAFILLMODE_NULLPARAM - D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTALPHAFILLMODE_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTALPHAFILLMODE_UNSUPPORTED - D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTALPHAFILLMODE_UNSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTALPHAFILLMODE_INVALIDSTREAM - D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTALPHAFILLMODE_INVALIDSTREAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTALPHAFILLMODE_INVALIDFILLMODE - D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTALPHAFILLMODE_INVALIDFILLMODE - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTCONSTRICTION_NULLPARAM - D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTCONSTRICTION_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTSTEREOMODE_NULLPARAM - D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTSTEREOMODE_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTSTEREOMODE_UNSUPPORTED - D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTSTEREOMODE_UNSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTEXTENSION_NULLPARAM - D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTEXTENSION_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORGETOUTPUTTARGETRECT_NULLPARAM - D3D11_MESSAGE_ID_VIDEOPROCESSORGETOUTPUTTARGETRECT_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORGETOUTPUTBACKGROUNDCOLOR_NULLPARAM - D3D11_MESSAGE_ID_VIDEOPROCESSORGETOUTPUTBACKGROUNDCOLOR_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORGETOUTPUTCOLORSPACE_NULLPARAM - D3D11_MESSAGE_ID_VIDEOPROCESSORGETOUTPUTCOLORSPACE_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORGETOUTPUTALPHAFILLMODE_NULLPARAM - D3D11_MESSAGE_ID_VIDEOPROCESSORGETOUTPUTALPHAFILLMODE_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORGETOUTPUTCONSTRICTION_NULLPARAM - D3D11_MESSAGE_ID_VIDEOPROCESSORGETOUTPUTCONSTRICTION_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTCONSTRICTION_UNSUPPORTED - D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTCONSTRICTION_UNSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTCONSTRICTION_INVALIDSIZE - D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTCONSTRICTION_INVALIDSIZE - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORGETOUTPUTSTEREOMODE_NULLPARAM - D3D11_MESSAGE_ID_VIDEOPROCESSORGETOUTPUTSTEREOMODE_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORGETOUTPUTEXTENSION_NULLPARAM - D3D11_MESSAGE_ID_VIDEOPROCESSORGETOUTPUTEXTENSION_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMFRAMEFORMAT_NULLPARAM - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMFRAMEFORMAT_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMFRAMEFORMAT_INVALIDFORMAT - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMFRAMEFORMAT_INVALIDFORMAT - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMFRAMEFORMAT_INVALIDSTREAM - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMFRAMEFORMAT_INVALIDSTREAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMCOLORSPACE_NULLPARAM - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMCOLORSPACE_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMCOLORSPACE_INVALIDSTREAM - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMCOLORSPACE_INVALIDSTREAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMOUTPUTRATE_NULLPARAM - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMOUTPUTRATE_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMOUTPUTRATE_INVALIDRATE - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMOUTPUTRATE_INVALIDRATE - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMOUTPUTRATE_INVALIDFLAG - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMOUTPUTRATE_INVALIDFLAG - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMOUTPUTRATE_INVALIDSTREAM - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMOUTPUTRATE_INVALIDSTREAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMSOURCERECT_NULLPARAM - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMSOURCERECT_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMSOURCERECT_INVALIDSTREAM - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMSOURCERECT_INVALIDSTREAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMSOURCERECT_INVALIDRECT - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMSOURCERECT_INVALIDRECT - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMDESTRECT_NULLPARAM - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMDESTRECT_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMDESTRECT_INVALIDSTREAM - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMDESTRECT_INVALIDSTREAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMDESTRECT_INVALIDRECT - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMDESTRECT_INVALIDRECT - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMALPHA_NULLPARAM - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMALPHA_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMALPHA_INVALIDSTREAM - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMALPHA_INVALIDSTREAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMALPHA_INVALIDALPHA - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMALPHA_INVALIDALPHA - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMPALETTE_NULLPARAM - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMPALETTE_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMPALETTE_INVALIDSTREAM - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMPALETTE_INVALIDSTREAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMPALETTE_INVALIDCOUNT - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMPALETTE_INVALIDCOUNT - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMPALETTE_INVALIDALPHA - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMPALETTE_INVALIDALPHA - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMPIXELASPECTRATIO_NULLPARAM - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMPIXELASPECTRATIO_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMPIXELASPECTRATIO_INVALIDSTREAM - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMPIXELASPECTRATIO_INVALIDSTREAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMPIXELASPECTRATIO_INVALIDRATIO - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMPIXELASPECTRATIO_INVALIDRATIO - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMLUMAKEY_NULLPARAM - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMLUMAKEY_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMLUMAKEY_INVALIDSTREAM - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMLUMAKEY_INVALIDSTREAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMLUMAKEY_INVALIDRANGE - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMLUMAKEY_INVALIDRANGE - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMLUMAKEY_UNSUPPORTED - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMLUMAKEY_UNSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMSTEREOFORMAT_NULLPARAM - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMSTEREOFORMAT_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMSTEREOFORMAT_INVALIDSTREAM - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMSTEREOFORMAT_INVALIDSTREAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMSTEREOFORMAT_UNSUPPORTED - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMSTEREOFORMAT_UNSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMSTEREOFORMAT_FLIPUNSUPPORTED - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMSTEREOFORMAT_FLIPUNSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMSTEREOFORMAT_MONOOFFSETUNSUPPORTED - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMSTEREOFORMAT_MONOOFFSETUNSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMSTEREOFORMAT_FORMATUNSUPPORTED - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMSTEREOFORMAT_FORMATUNSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMSTEREOFORMAT_INVALIDFORMAT - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMSTEREOFORMAT_INVALIDFORMAT - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMAUTOPROCESSINGMODE_NULLPARAM - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMAUTOPROCESSINGMODE_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMAUTOPROCESSINGMODE_INVALIDSTREAM - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMAUTOPROCESSINGMODE_INVALIDSTREAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMFILTER_NULLPARAM - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMFILTER_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMFILTER_INVALIDSTREAM - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMFILTER_INVALIDSTREAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMFILTER_INVALIDFILTER - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMFILTER_INVALIDFILTER - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMFILTER_UNSUPPORTED - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMFILTER_UNSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMFILTER_INVALIDLEVEL - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMFILTER_INVALIDLEVEL - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMEXTENSION_NULLPARAM - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMEXTENSION_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMEXTENSION_INVALIDSTREAM - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMEXTENSION_INVALIDSTREAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMFRAMEFORMAT_NULLPARAM - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMFRAMEFORMAT_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMCOLORSPACE_NULLPARAM - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMCOLORSPACE_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMOUTPUTRATE_NULLPARAM - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMOUTPUTRATE_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMSOURCERECT_NULLPARAM - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMSOURCERECT_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMDESTRECT_NULLPARAM - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMDESTRECT_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMALPHA_NULLPARAM - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMALPHA_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMPALETTE_NULLPARAM - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMPALETTE_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMPIXELASPECTRATIO_NULLPARAM - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMPIXELASPECTRATIO_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMLUMAKEY_NULLPARAM - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMLUMAKEY_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMSTEREOFORMAT_NULLPARAM - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMSTEREOFORMAT_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMAUTOPROCESSINGMODE_NULLPARAM - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMAUTOPROCESSINGMODE_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMFILTER_NULLPARAM - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMFILTER_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMEXTENSION_NULLPARAM - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMEXTENSION_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMEXTENSION_INVALIDSTREAM - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMEXTENSION_INVALIDSTREAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_NULLPARAM - D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_INVALIDSTREAMCOUNT - D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_INVALIDSTREAMCOUNT - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_TARGETRECT - D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_TARGETRECT - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_INVALIDOUTPUT - D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_INVALIDOUTPUT - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_INVALIDPASTFRAMES - D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_INVALIDPASTFRAMES - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_INVALIDFUTUREFRAMES - D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_INVALIDFUTUREFRAMES - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_INVALIDSOURCERECT - D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_INVALIDSOURCERECT - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_INVALIDDESTRECT - D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_INVALIDDESTRECT - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_INVALIDINPUTRESOURCE - D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_INVALIDINPUTRESOURCE - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_INVALIDARRAYSIZE - D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_INVALIDARRAYSIZE - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_INVALIDARRAY - D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_INVALIDARRAY - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_RIGHTEXPECTED - D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_RIGHTEXPECTED - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_RIGHTNOTEXPECTED - D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_RIGHTNOTEXPECTED - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_STEREONOTENABLED - D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_STEREONOTENABLED - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_INVALIDRIGHTRESOURCE - D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_INVALIDRIGHTRESOURCE - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_NOSTEREOSTREAMS - D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_NOSTEREOSTREAMS - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_INPUTHAZARD - D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_INPUTHAZARD - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_OUTPUTHAZARD - D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_OUTPUTHAZARD - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEVIDEODECODEROUTPUTVIEW_OUTOFMEMORY_RETURN - D3D11_MESSAGE_ID_CREATEVIDEODECODEROUTPUTVIEW_OUTOFMEMORY_RETURN - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEVIDEODECODEROUTPUTVIEW_NULLPARAM - D3D11_MESSAGE_ID_CREATEVIDEODECODEROUTPUTVIEW_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEVIDEODECODEROUTPUTVIEW_INVALIDTYPE - D3D11_MESSAGE_ID_CREATEVIDEODECODEROUTPUTVIEW_INVALIDTYPE - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEVIDEODECODEROUTPUTVIEW_INVALIDBIND - D3D11_MESSAGE_ID_CREATEVIDEODECODEROUTPUTVIEW_INVALIDBIND - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEVIDEODECODEROUTPUTVIEW_UNSUPPORTEDFORMAT - D3D11_MESSAGE_ID_CREATEVIDEODECODEROUTPUTVIEW_UNSUPPORTEDFORMAT - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEVIDEODECODEROUTPUTVIEW_INVALIDMIP - D3D11_MESSAGE_ID_CREATEVIDEODECODEROUTPUTVIEW_INVALIDMIP - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEVIDEODECODEROUTPUTVIEW_UNSUPPORTEMIP - D3D11_MESSAGE_ID_CREATEVIDEODECODEROUTPUTVIEW_UNSUPPORTEMIP - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEVIDEODECODEROUTPUTVIEW_INVALIDARRAYSIZE - D3D11_MESSAGE_ID_CREATEVIDEODECODEROUTPUTVIEW_INVALIDARRAYSIZE - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEVIDEODECODEROUTPUTVIEW_INVALIDARRAY - D3D11_MESSAGE_ID_CREATEVIDEODECODEROUTPUTVIEW_INVALIDARRAY - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEVIDEODECODEROUTPUTVIEW_INVALIDDIMENSION - D3D11_MESSAGE_ID_CREATEVIDEODECODEROUTPUTVIEW_INVALIDDIMENSION - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORINPUTVIEW_OUTOFMEMORY_RETURN - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORINPUTVIEW_OUTOFMEMORY_RETURN - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORINPUTVIEW_NULLPARAM - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORINPUTVIEW_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORINPUTVIEW_INVALIDTYPE - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORINPUTVIEW_INVALIDTYPE - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORINPUTVIEW_INVALIDBIND - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORINPUTVIEW_INVALIDBIND - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORINPUTVIEW_INVALIDMISC - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORINPUTVIEW_INVALIDMISC - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORINPUTVIEW_INVALIDUSAGE - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORINPUTVIEW_INVALIDUSAGE - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORINPUTVIEW_INVALIDFORMAT - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORINPUTVIEW_INVALIDFORMAT - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORINPUTVIEW_INVALIDFOURCC - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORINPUTVIEW_INVALIDFOURCC - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORINPUTVIEW_INVALIDMIP - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORINPUTVIEW_INVALIDMIP - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORINPUTVIEW_UNSUPPORTEDMIP - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORINPUTVIEW_UNSUPPORTEDMIP - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORINPUTVIEW_INVALIDARRAYSIZE - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORINPUTVIEW_INVALIDARRAYSIZE - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORINPUTVIEW_INVALIDARRAY - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORINPUTVIEW_INVALIDARRAY - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORINPUTVIEW_INVALIDDIMENSION - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORINPUTVIEW_INVALIDDIMENSION - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSOROUTPUTVIEW_OUTOFMEMORY_RETURN - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSOROUTPUTVIEW_OUTOFMEMORY_RETURN - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSOROUTPUTVIEW_NULLPARAM - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSOROUTPUTVIEW_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSOROUTPUTVIEW_INVALIDTYPE - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSOROUTPUTVIEW_INVALIDTYPE - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSOROUTPUTVIEW_INVALIDBIND - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSOROUTPUTVIEW_INVALIDBIND - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSOROUTPUTVIEW_INVALIDFORMAT - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSOROUTPUTVIEW_INVALIDFORMAT - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSOROUTPUTVIEW_INVALIDMIP - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSOROUTPUTVIEW_INVALIDMIP - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSOROUTPUTVIEW_UNSUPPORTEDMIP - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSOROUTPUTVIEW_UNSUPPORTEDMIP - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSOROUTPUTVIEW_UNSUPPORTEDARRAY - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSOROUTPUTVIEW_UNSUPPORTEDARRAY - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSOROUTPUTVIEW_INVALIDARRAY - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSOROUTPUTVIEW_INVALIDARRAY - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSOROUTPUTVIEW_INVALIDDIMENSION - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSOROUTPUTVIEW_INVALIDDIMENSION - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_DRAW_INVALID_USE_OF_FORCED_SAMPLE_COUNT - D3D11_MESSAGE_ID_DEVICE_DRAW_INVALID_USE_OF_FORCED_SAMPLE_COUNT - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEBLENDSTATE_INVALIDLOGICOPS - D3D11_MESSAGE_ID_CREATEBLENDSTATE_INVALIDLOGICOPS - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDDARRAYWITHDECODER - D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDDARRAYWITHDECODER - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDDARRAYWITHDECODER - D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDDARRAYWITHDECODER - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDDARRAYWITHDECODER - D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDDARRAYWITHDECODER - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_LOCKEDOUT_INTERFACE - D3D11_MESSAGE_ID_DEVICE_LOCKEDOUT_INTERFACE - - - - No documentation. - - - D3D11_MESSAGE_ID_REF_WARNING_ATOMIC_INCONSISTENT - D3D11_MESSAGE_ID_REF_WARNING_ATOMIC_INCONSISTENT - - - - No documentation. - - - D3D11_MESSAGE_ID_REF_WARNING_READING_UNINITIALIZED_RESOURCE - D3D11_MESSAGE_ID_REF_WARNING_READING_UNINITIALIZED_RESOURCE - - - - No documentation. - - - D3D11_MESSAGE_ID_REF_WARNING_RAW_HAZARD - D3D11_MESSAGE_ID_REF_WARNING_RAW_HAZARD - - - - No documentation. - - - D3D11_MESSAGE_ID_REF_WARNING_WAR_HAZARD - D3D11_MESSAGE_ID_REF_WARNING_WAR_HAZARD - - - - No documentation. - - - D3D11_MESSAGE_ID_REF_WARNING_WAW_HAZARD - D3D11_MESSAGE_ID_REF_WARNING_WAW_HAZARD - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATECRYPTOSESSION_NULLPARAM - D3D11_MESSAGE_ID_CREATECRYPTOSESSION_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATECRYPTOSESSION_OUTOFMEMORY_RETURN - D3D11_MESSAGE_ID_CREATECRYPTOSESSION_OUTOFMEMORY_RETURN - - - - No documentation. - - - D3D11_MESSAGE_ID_GETCRYPTOTYPE_NULLPARAM - D3D11_MESSAGE_ID_GETCRYPTOTYPE_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_GETDECODERPROFILE_NULLPARAM - D3D11_MESSAGE_ID_GETDECODERPROFILE_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_GETCRYPTOSESSIONCERTIFICATESIZE_NULLPARAM - D3D11_MESSAGE_ID_GETCRYPTOSESSIONCERTIFICATESIZE_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_GETCRYPTOSESSIONCERTIFICATE_NULLPARAM - D3D11_MESSAGE_ID_GETCRYPTOSESSIONCERTIFICATE_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_GETCRYPTOSESSIONCERTIFICATE_WRONGSIZE - D3D11_MESSAGE_ID_GETCRYPTOSESSIONCERTIFICATE_WRONGSIZE - - - - No documentation. - - - D3D11_MESSAGE_ID_GETCRYPTOSESSIONHANDLE_WRONGSIZE - D3D11_MESSAGE_ID_GETCRYPTOSESSIONHANDLE_WRONGSIZE - - - - No documentation. - - - D3D11_MESSAGE_ID_NEGOTIATECRPYTOSESSIONKEYEXCHANGE_NULLPARAM - D3D11_MESSAGE_ID_NEGOTIATECRPYTOSESSIONKEYEXCHANGE_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_ENCRYPTIONBLT_UNSUPPORTED - D3D11_MESSAGE_ID_ENCRYPTIONBLT_UNSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_ENCRYPTIONBLT_NULLPARAM - D3D11_MESSAGE_ID_ENCRYPTIONBLT_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_ENCRYPTIONBLT_SRC_WRONGDEVICE - D3D11_MESSAGE_ID_ENCRYPTIONBLT_SRC_WRONGDEVICE - - - - No documentation. - - - D3D11_MESSAGE_ID_ENCRYPTIONBLT_DST_WRONGDEVICE - D3D11_MESSAGE_ID_ENCRYPTIONBLT_DST_WRONGDEVICE - - - - No documentation. - - - D3D11_MESSAGE_ID_ENCRYPTIONBLT_FORMAT_MISMATCH - D3D11_MESSAGE_ID_ENCRYPTIONBLT_FORMAT_MISMATCH - - - - No documentation. - - - D3D11_MESSAGE_ID_ENCRYPTIONBLT_SIZE_MISMATCH - D3D11_MESSAGE_ID_ENCRYPTIONBLT_SIZE_MISMATCH - - - - No documentation. - - - D3D11_MESSAGE_ID_ENCRYPTIONBLT_SRC_MULTISAMPLED - D3D11_MESSAGE_ID_ENCRYPTIONBLT_SRC_MULTISAMPLED - - - - No documentation. - - - D3D11_MESSAGE_ID_ENCRYPTIONBLT_DST_NOT_STAGING - D3D11_MESSAGE_ID_ENCRYPTIONBLT_DST_NOT_STAGING - - - - No documentation. - - - D3D11_MESSAGE_ID_ENCRYPTIONBLT_SRC_MAPPED - D3D11_MESSAGE_ID_ENCRYPTIONBLT_SRC_MAPPED - - - - No documentation. - - - D3D11_MESSAGE_ID_ENCRYPTIONBLT_DST_MAPPED - D3D11_MESSAGE_ID_ENCRYPTIONBLT_DST_MAPPED - - - - No documentation. - - - D3D11_MESSAGE_ID_ENCRYPTIONBLT_SRC_OFFERED - D3D11_MESSAGE_ID_ENCRYPTIONBLT_SRC_OFFERED - - - - No documentation. - - - D3D11_MESSAGE_ID_ENCRYPTIONBLT_DST_OFFERED - D3D11_MESSAGE_ID_ENCRYPTIONBLT_DST_OFFERED - - - - No documentation. - - - D3D11_MESSAGE_ID_ENCRYPTIONBLT_SRC_CONTENT_UNDEFINED - D3D11_MESSAGE_ID_ENCRYPTIONBLT_SRC_CONTENT_UNDEFINED - - - - No documentation. - - - D3D11_MESSAGE_ID_DECRYPTIONBLT_UNSUPPORTED - D3D11_MESSAGE_ID_DECRYPTIONBLT_UNSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_DECRYPTIONBLT_NULLPARAM - D3D11_MESSAGE_ID_DECRYPTIONBLT_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_DECRYPTIONBLT_SRC_WRONGDEVICE - D3D11_MESSAGE_ID_DECRYPTIONBLT_SRC_WRONGDEVICE - - - - No documentation. - - - D3D11_MESSAGE_ID_DECRYPTIONBLT_DST_WRONGDEVICE - D3D11_MESSAGE_ID_DECRYPTIONBLT_DST_WRONGDEVICE - - - - No documentation. - - - D3D11_MESSAGE_ID_DECRYPTIONBLT_FORMAT_MISMATCH - D3D11_MESSAGE_ID_DECRYPTIONBLT_FORMAT_MISMATCH - - - - No documentation. - - - D3D11_MESSAGE_ID_DECRYPTIONBLT_SIZE_MISMATCH - D3D11_MESSAGE_ID_DECRYPTIONBLT_SIZE_MISMATCH - - - - No documentation. - - - D3D11_MESSAGE_ID_DECRYPTIONBLT_DST_MULTISAMPLED - D3D11_MESSAGE_ID_DECRYPTIONBLT_DST_MULTISAMPLED - - - - No documentation. - - - D3D11_MESSAGE_ID_DECRYPTIONBLT_SRC_NOT_STAGING - D3D11_MESSAGE_ID_DECRYPTIONBLT_SRC_NOT_STAGING - - - - No documentation. - - - D3D11_MESSAGE_ID_DECRYPTIONBLT_DST_NOT_RENDER_TARGET - D3D11_MESSAGE_ID_DECRYPTIONBLT_DST_NOT_RENDER_TARGET - - - - No documentation. - - - D3D11_MESSAGE_ID_DECRYPTIONBLT_SRC_MAPPED - D3D11_MESSAGE_ID_DECRYPTIONBLT_SRC_MAPPED - - - - No documentation. - - - D3D11_MESSAGE_ID_DECRYPTIONBLT_DST_MAPPED - D3D11_MESSAGE_ID_DECRYPTIONBLT_DST_MAPPED - - - - No documentation. - - - D3D11_MESSAGE_ID_DECRYPTIONBLT_SRC_OFFERED - D3D11_MESSAGE_ID_DECRYPTIONBLT_SRC_OFFERED - - - - No documentation. - - - D3D11_MESSAGE_ID_DECRYPTIONBLT_DST_OFFERED - D3D11_MESSAGE_ID_DECRYPTIONBLT_DST_OFFERED - - - - No documentation. - - - D3D11_MESSAGE_ID_DECRYPTIONBLT_SRC_CONTENT_UNDEFINED - D3D11_MESSAGE_ID_DECRYPTIONBLT_SRC_CONTENT_UNDEFINED - - - - No documentation. - - - D3D11_MESSAGE_ID_STARTSESSIONKEYREFRESH_NULLPARAM - D3D11_MESSAGE_ID_STARTSESSIONKEYREFRESH_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_STARTSESSIONKEYREFRESH_INVALIDSIZE - D3D11_MESSAGE_ID_STARTSESSIONKEYREFRESH_INVALIDSIZE - - - - No documentation. - - - D3D11_MESSAGE_ID_FINISHSESSIONKEYREFRESH_NULLPARAM - D3D11_MESSAGE_ID_FINISHSESSIONKEYREFRESH_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_GETENCRYPTIONBLTKEY_NULLPARAM - D3D11_MESSAGE_ID_GETENCRYPTIONBLTKEY_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_GETENCRYPTIONBLTKEY_INVALIDSIZE - D3D11_MESSAGE_ID_GETENCRYPTIONBLTKEY_INVALIDSIZE - - - - No documentation. - - - D3D11_MESSAGE_ID_GETCONTENTPROTECTIONCAPS_NULLPARAM - D3D11_MESSAGE_ID_GETCONTENTPROTECTIONCAPS_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_CHECKCRYPTOKEYEXCHANGE_NULLPARAM - D3D11_MESSAGE_ID_CHECKCRYPTOKEYEXCHANGE_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_CHECKCRYPTOKEYEXCHANGE_INVALIDINDEX - D3D11_MESSAGE_ID_CHECKCRYPTOKEYEXCHANGE_INVALIDINDEX - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEAUTHENTICATEDCHANNEL_NULLPARAM - D3D11_MESSAGE_ID_CREATEAUTHENTICATEDCHANNEL_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEAUTHENTICATEDCHANNEL_UNSUPPORTED - D3D11_MESSAGE_ID_CREATEAUTHENTICATEDCHANNEL_UNSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEAUTHENTICATEDCHANNEL_INVALIDTYPE - D3D11_MESSAGE_ID_CREATEAUTHENTICATEDCHANNEL_INVALIDTYPE - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEAUTHENTICATEDCHANNEL_OUTOFMEMORY_RETURN - D3D11_MESSAGE_ID_CREATEAUTHENTICATEDCHANNEL_OUTOFMEMORY_RETURN - - - - No documentation. - - - D3D11_MESSAGE_ID_GETAUTHENTICATEDCHANNELCERTIFICATESIZE_INVALIDCHANNEL - D3D11_MESSAGE_ID_GETAUTHENTICATEDCHANNELCERTIFICATESIZE_INVALIDCHANNEL - - - - No documentation. - - - D3D11_MESSAGE_ID_GETAUTHENTICATEDCHANNELCERTIFICATESIZE_NULLPARAM - D3D11_MESSAGE_ID_GETAUTHENTICATEDCHANNELCERTIFICATESIZE_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_GETAUTHENTICATEDCHANNELCERTIFICATE_INVALIDCHANNEL - D3D11_MESSAGE_ID_GETAUTHENTICATEDCHANNELCERTIFICATE_INVALIDCHANNEL - - - - No documentation. - - - D3D11_MESSAGE_ID_GETAUTHENTICATEDCHANNELCERTIFICATE_NULLPARAM - D3D11_MESSAGE_ID_GETAUTHENTICATEDCHANNELCERTIFICATE_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_GETAUTHENTICATEDCHANNELCERTIFICATE_WRONGSIZE - D3D11_MESSAGE_ID_GETAUTHENTICATEDCHANNELCERTIFICATE_WRONGSIZE - - - - No documentation. - - - D3D11_MESSAGE_ID_NEGOTIATEAUTHENTICATEDCHANNELKEYEXCHANGE_INVALIDCHANNEL - D3D11_MESSAGE_ID_NEGOTIATEAUTHENTICATEDCHANNELKEYEXCHANGE_INVALIDCHANNEL - - - - No documentation. - - - D3D11_MESSAGE_ID_NEGOTIATEAUTHENTICATEDCHANNELKEYEXCHANGE_NULLPARAM - D3D11_MESSAGE_ID_NEGOTIATEAUTHENTICATEDCHANNELKEYEXCHANGE_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_QUERYAUTHENTICATEDCHANNEL_NULLPARAM - D3D11_MESSAGE_ID_QUERYAUTHENTICATEDCHANNEL_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_QUERYAUTHENTICATEDCHANNEL_WRONGCHANNEL - D3D11_MESSAGE_ID_QUERYAUTHENTICATEDCHANNEL_WRONGCHANNEL - - - - No documentation. - - - D3D11_MESSAGE_ID_QUERYAUTHENTICATEDCHANNEL_UNSUPPORTEDQUERY - D3D11_MESSAGE_ID_QUERYAUTHENTICATEDCHANNEL_UNSUPPORTEDQUERY - - - - No documentation. - - - D3D11_MESSAGE_ID_QUERYAUTHENTICATEDCHANNEL_WRONGSIZE - D3D11_MESSAGE_ID_QUERYAUTHENTICATEDCHANNEL_WRONGSIZE - - - - No documentation. - - - D3D11_MESSAGE_ID_QUERYAUTHENTICATEDCHANNEL_INVALIDPROCESSINDEX - D3D11_MESSAGE_ID_QUERYAUTHENTICATEDCHANNEL_INVALIDPROCESSINDEX - - - - No documentation. - - - D3D11_MESSAGE_ID_CONFIGUREAUTHENTICATEDCHANNEL_NULLPARAM - D3D11_MESSAGE_ID_CONFIGUREAUTHENTICATEDCHANNEL_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_CONFIGUREAUTHENTICATEDCHANNEL_WRONGCHANNEL - D3D11_MESSAGE_ID_CONFIGUREAUTHENTICATEDCHANNEL_WRONGCHANNEL - - - - No documentation. - - - D3D11_MESSAGE_ID_CONFIGUREAUTHENTICATEDCHANNEL_UNSUPPORTEDCONFIGURE - D3D11_MESSAGE_ID_CONFIGUREAUTHENTICATEDCHANNEL_UNSUPPORTEDCONFIGURE - - - - No documentation. - - - D3D11_MESSAGE_ID_CONFIGUREAUTHENTICATEDCHANNEL_WRONGSIZE - D3D11_MESSAGE_ID_CONFIGUREAUTHENTICATEDCHANNEL_WRONGSIZE - - - - No documentation. - - - D3D11_MESSAGE_ID_CONFIGUREAUTHENTICATEDCHANNEL_INVALIDPROCESSIDTYPE - D3D11_MESSAGE_ID_CONFIGUREAUTHENTICATEDCHANNEL_INVALIDPROCESSIDTYPE - - - - No documentation. - - - D3D11_MESSAGE_ID_VSSETCONSTANTBUFFERS_INVALIDBUFFEROFFSETORCOUNT - D3D11_MESSAGE_ID_VSSETCONSTANTBUFFERS_INVALIDBUFFEROFFSETORCOUNT - - - - No documentation. - - - D3D11_MESSAGE_ID_DSSETCONSTANTBUFFERS_INVALIDBUFFEROFFSETORCOUNT - D3D11_MESSAGE_ID_DSSETCONSTANTBUFFERS_INVALIDBUFFEROFFSETORCOUNT - - - - No documentation. - - - D3D11_MESSAGE_ID_HSSETCONSTANTBUFFERS_INVALIDBUFFEROFFSETORCOUNT - D3D11_MESSAGE_ID_HSSETCONSTANTBUFFERS_INVALIDBUFFEROFFSETORCOUNT - - - - No documentation. - - - D3D11_MESSAGE_ID_GSSETCONSTANTBUFFERS_INVALIDBUFFEROFFSETORCOUNT - D3D11_MESSAGE_ID_GSSETCONSTANTBUFFERS_INVALIDBUFFEROFFSETORCOUNT - - - - No documentation. - - - D3D11_MESSAGE_ID_PSSETCONSTANTBUFFERS_INVALIDBUFFEROFFSETORCOUNT - D3D11_MESSAGE_ID_PSSETCONSTANTBUFFERS_INVALIDBUFFEROFFSETORCOUNT - - - - No documentation. - - - D3D11_MESSAGE_ID_CSSETCONSTANTBUFFERS_INVALIDBUFFEROFFSETORCOUNT - D3D11_MESSAGE_ID_CSSETCONSTANTBUFFERS_INVALIDBUFFEROFFSETORCOUNT - - - - No documentation. - - - D3D11_MESSAGE_ID_NEGOTIATECRPYTOSESSIONKEYEXCHANGE_INVALIDSIZE - D3D11_MESSAGE_ID_NEGOTIATECRPYTOSESSIONKEYEXCHANGE_INVALIDSIZE - - - - No documentation. - - - D3D11_MESSAGE_ID_NEGOTIATEAUTHENTICATEDCHANNELKEYEXCHANGE_INVALIDSIZE - D3D11_MESSAGE_ID_NEGOTIATEAUTHENTICATEDCHANNELKEYEXCHANGE_INVALIDSIZE - - - - No documentation. - - - D3D11_MESSAGE_ID_OFFERRESOURCES_INVALIDPRIORITY - D3D11_MESSAGE_ID_OFFERRESOURCES_INVALIDPRIORITY - - - - No documentation. - - - D3D11_MESSAGE_ID_GETCRYPTOSESSIONHANDLE_OUTOFMEMORY - D3D11_MESSAGE_ID_GETCRYPTOSESSIONHANDLE_OUTOFMEMORY - - - - No documentation. - - - D3D11_MESSAGE_ID_ACQUIREHANDLEFORCAPTURE_NULLPARAM - D3D11_MESSAGE_ID_ACQUIREHANDLEFORCAPTURE_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_ACQUIREHANDLEFORCAPTURE_INVALIDTYPE - D3D11_MESSAGE_ID_ACQUIREHANDLEFORCAPTURE_INVALIDTYPE - - - - No documentation. - - - D3D11_MESSAGE_ID_ACQUIREHANDLEFORCAPTURE_INVALIDBIND - D3D11_MESSAGE_ID_ACQUIREHANDLEFORCAPTURE_INVALIDBIND - - - - No documentation. - - - D3D11_MESSAGE_ID_ACQUIREHANDLEFORCAPTURE_INVALIDARRAY - D3D11_MESSAGE_ID_ACQUIREHANDLEFORCAPTURE_INVALIDARRAY - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMROTATION_NULLPARAM - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMROTATION_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMROTATION_INVALIDSTREAM - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMROTATION_INVALIDSTREAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMROTATION_INVALID - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMROTATION_INVALID - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMROTATION_UNSUPPORTED - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMROTATION_UNSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMROTATION_NULLPARAM - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMROTATION_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_CLEARVIEW_INVALIDVIEW - D3D11_MESSAGE_ID_DEVICE_CLEARVIEW_INVALIDVIEW - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_DOUBLEEXTENSIONSNOTSUPPORTED - D3D11_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_DOUBLEEXTENSIONSNOTSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_SHADEREXTENSIONSNOTSUPPORTED - D3D11_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_SHADEREXTENSIONSNOTSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_CREATEHULLSHADER_DOUBLEEXTENSIONSNOTSUPPORTED - D3D11_MESSAGE_ID_DEVICE_CREATEHULLSHADER_DOUBLEEXTENSIONSNOTSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_CREATEHULLSHADER_SHADEREXTENSIONSNOTSUPPORTED - D3D11_MESSAGE_ID_DEVICE_CREATEHULLSHADER_SHADEREXTENSIONSNOTSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_DOUBLEEXTENSIONSNOTSUPPORTED - D3D11_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_DOUBLEEXTENSIONSNOTSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_SHADEREXTENSIONSNOTSUPPORTED - D3D11_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_SHADEREXTENSIONSNOTSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_DOUBLEEXTENSIONSNOTSUPPORTED - D3D11_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_DOUBLEEXTENSIONSNOTSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_SHADEREXTENSIONSNOTSUPPORTED - D3D11_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_SHADEREXTENSIONSNOTSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DOUBLEEXTENSIONSNOTSUPPORTED - D3D11_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DOUBLEEXTENSIONSNOTSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_SHADEREXTENSIONSNOTSUPPORTED - D3D11_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_SHADEREXTENSIONSNOTSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_DOUBLEEXTENSIONSNOTSUPPORTED - D3D11_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_DOUBLEEXTENSIONSNOTSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_SHADEREXTENSIONSNOTSUPPORTED - D3D11_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_SHADEREXTENSIONSNOTSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_DOUBLEEXTENSIONSNOTSUPPORTED - D3D11_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_DOUBLEEXTENSIONSNOTSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_SHADEREXTENSIONSNOTSUPPORTED - D3D11_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_SHADEREXTENSIONSNOTSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_SHADER_LINKAGE_MINPRECISION - D3D11_MESSAGE_ID_DEVICE_SHADER_LINKAGE_MINPRECISION - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMALPHA_UNSUPPORTED - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMALPHA_UNSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMPIXELASPECTRATIO_UNSUPPORTED - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMPIXELASPECTRATIO_UNSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_UAVSNOTSUPPORTED - D3D11_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_UAVSNOTSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_CREATEHULLSHADER_UAVSNOTSUPPORTED - D3D11_MESSAGE_ID_DEVICE_CREATEHULLSHADER_UAVSNOTSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_UAVSNOTSUPPORTED - D3D11_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_UAVSNOTSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_UAVSNOTSUPPORTED - D3D11_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_UAVSNOTSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UAVSNOTSUPPORTED - D3D11_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UAVSNOTSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_UAVSNOTSUPPORTED - D3D11_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_UAVSNOTSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_UAVSNOTSUPPORTED - D3D11_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_UAVSNOTSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_OMSETRENDERTARGETSANDUNORDEREDACCESSVIEWS_INVALIDOFFSET - D3D11_MESSAGE_ID_DEVICE_OMSETRENDERTARGETSANDUNORDEREDACCESSVIEWS_INVALIDOFFSET - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_OMSETRENDERTARGETSANDUNORDEREDACCESSVIEWS_TOOMANYVIEWS - D3D11_MESSAGE_ID_DEVICE_OMSETRENDERTARGETSANDUNORDEREDACCESSVIEWS_TOOMANYVIEWS - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_CLEARVIEW_NOTSUPPORTED - D3D11_MESSAGE_ID_DEVICE_CLEARVIEW_NOTSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_SWAPDEVICECONTEXTSTATE_NOTSUPPORTED - D3D11_MESSAGE_ID_SWAPDEVICECONTEXTSTATE_NOTSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_UPDATESUBRESOURCE_PREFERUPDATESUBRESOURCE1 - D3D11_MESSAGE_ID_UPDATESUBRESOURCE_PREFERUPDATESUBRESOURCE1 - - - - No documentation. - - - D3D11_MESSAGE_ID_GETDC_INACCESSIBLE - D3D11_MESSAGE_ID_GETDC_INACCESSIBLE - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_CLEARVIEW_INVALIDRECT - D3D11_MESSAGE_ID_DEVICE_CLEARVIEW_INVALIDRECT - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_DRAW_SAMPLE_MASK_IGNORED_ON_FL9 - D3D11_MESSAGE_ID_DEVICE_DRAW_SAMPLE_MASK_IGNORED_ON_FL9 - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_OPEN_SHARED_RESOURCE1_NOT_SUPPORTED - D3D11_MESSAGE_ID_DEVICE_OPEN_SHARED_RESOURCE1_NOT_SUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_OPEN_SHARED_RESOURCE_BY_NAME_NOT_SUPPORTED - D3D11_MESSAGE_ID_DEVICE_OPEN_SHARED_RESOURCE_BY_NAME_NOT_SUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_ENQUEUESETEVENT_NOT_SUPPORTED - D3D11_MESSAGE_ID_ENQUEUESETEVENT_NOT_SUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_OFFERRELEASE_NOT_SUPPORTED - D3D11_MESSAGE_ID_OFFERRELEASE_NOT_SUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_OFFERRESOURCES_INACCESSIBLE - D3D11_MESSAGE_ID_OFFERRESOURCES_INACCESSIBLE - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORINPUTVIEW_INVALIDMSAA - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORINPUTVIEW_INVALIDMSAA - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSOROUTPUTVIEW_INVALIDMSAA - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSOROUTPUTVIEW_INVALIDMSAA - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_CLEARVIEW_INVALIDSOURCERECT - D3D11_MESSAGE_ID_DEVICE_CLEARVIEW_INVALIDSOURCERECT - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_CLEARVIEW_EMPTYRECT - D3D11_MESSAGE_ID_DEVICE_CLEARVIEW_EMPTYRECT - - - - No documentation. - - - D3D11_MESSAGE_ID_UPDATESUBRESOURCE_EMPTYDESTBOX - D3D11_MESSAGE_ID_UPDATESUBRESOURCE_EMPTYDESTBOX - - - - No documentation. - - - D3D11_MESSAGE_ID_COPYSUBRESOURCEREGION_EMPTYSOURCEBOX - D3D11_MESSAGE_ID_COPYSUBRESOURCEREGION_EMPTYSOURCEBOX - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_DRAW_OM_RENDER_TARGET_DOES_NOT_SUPPORT_LOGIC_OPS - D3D11_MESSAGE_ID_DEVICE_DRAW_OM_RENDER_TARGET_DOES_NOT_SUPPORT_LOGIC_OPS - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_DRAW_DEPTHSTENCILVIEW_NOT_SET - D3D11_MESSAGE_ID_DEVICE_DRAW_DEPTHSTENCILVIEW_NOT_SET - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_DRAW_RENDERTARGETVIEW_NOT_SET - D3D11_MESSAGE_ID_DEVICE_DRAW_RENDERTARGETVIEW_NOT_SET - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_DRAW_RENDERTARGETVIEW_NOT_SET_DUE_TO_FLIP_PRESENT - D3D11_MESSAGE_ID_DEVICE_DRAW_RENDERTARGETVIEW_NOT_SET_DUE_TO_FLIP_PRESENT - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_NOT_SET_DUE_TO_FLIP_PRESENT - D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_NOT_SET_DUE_TO_FLIP_PRESENT - - - - No documentation. - - - D3D11_MESSAGE_ID_GETDATAFORNEWHARDWAREKEY_NULLPARAM - D3D11_MESSAGE_ID_GETDATAFORNEWHARDWAREKEY_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_CHECKCRYPTOSESSIONSTATUS_NULLPARAM - D3D11_MESSAGE_ID_CHECKCRYPTOSESSIONSTATUS_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_GETCRYPTOSESSIONPRIVATEDATASIZE_NULLPARAM - D3D11_MESSAGE_ID_GETCRYPTOSESSIONPRIVATEDATASIZE_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_GETVIDEODECODERCAPS_NULLPARAM - D3D11_MESSAGE_ID_GETVIDEODECODERCAPS_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_GETVIDEODECODERCAPS_ZEROWIDTHHEIGHT - D3D11_MESSAGE_ID_GETVIDEODECODERCAPS_ZEROWIDTHHEIGHT - - - - No documentation. - - - D3D11_MESSAGE_ID_CHECKVIDEODECODERDOWNSAMPLING_NULLPARAM - D3D11_MESSAGE_ID_CHECKVIDEODECODERDOWNSAMPLING_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_CHECKVIDEODECODERDOWNSAMPLING_INVALIDCOLORSPACE - D3D11_MESSAGE_ID_CHECKVIDEODECODERDOWNSAMPLING_INVALIDCOLORSPACE - - - - No documentation. - - - D3D11_MESSAGE_ID_CHECKVIDEODECODERDOWNSAMPLING_ZEROWIDTHHEIGHT - D3D11_MESSAGE_ID_CHECKVIDEODECODERDOWNSAMPLING_ZEROWIDTHHEIGHT - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEODECODERENABLEDOWNSAMPLING_NULLPARAM - D3D11_MESSAGE_ID_VIDEODECODERENABLEDOWNSAMPLING_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEODECODERENABLEDOWNSAMPLING_UNSUPPORTED - D3D11_MESSAGE_ID_VIDEODECODERENABLEDOWNSAMPLING_UNSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEODECODERUPDATEDOWNSAMPLING_NULLPARAM - D3D11_MESSAGE_ID_VIDEODECODERUPDATEDOWNSAMPLING_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEODECODERUPDATEDOWNSAMPLING_UNSUPPORTED - D3D11_MESSAGE_ID_VIDEODECODERUPDATEDOWNSAMPLING_UNSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_CHECKVIDEOPROCESSORFORMATCONVERSION_NULLPARAM - D3D11_MESSAGE_ID_CHECKVIDEOPROCESSORFORMATCONVERSION_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTCOLORSPACE1_NULLPARAM - D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTCOLORSPACE1_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORGETOUTPUTCOLORSPACE1_NULLPARAM - D3D11_MESSAGE_ID_VIDEOPROCESSORGETOUTPUTCOLORSPACE1_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMCOLORSPACE1_NULLPARAM - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMCOLORSPACE1_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMCOLORSPACE1_INVALIDSTREAM - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMCOLORSPACE1_INVALIDSTREAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMMIRROR_NULLPARAM - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMMIRROR_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMMIRROR_INVALIDSTREAM - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMMIRROR_INVALIDSTREAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMMIRROR_UNSUPPORTED - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMMIRROR_UNSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMCOLORSPACE1_NULLPARAM - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMCOLORSPACE1_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMMIRROR_NULLPARAM - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMMIRROR_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_RECOMMENDVIDEODECODERDOWNSAMPLING_NULLPARAM - D3D11_MESSAGE_ID_RECOMMENDVIDEODECODERDOWNSAMPLING_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_RECOMMENDVIDEODECODERDOWNSAMPLING_INVALIDCOLORSPACE - D3D11_MESSAGE_ID_RECOMMENDVIDEODECODERDOWNSAMPLING_INVALIDCOLORSPACE - - - - No documentation. - - - D3D11_MESSAGE_ID_RECOMMENDVIDEODECODERDOWNSAMPLING_ZEROWIDTHHEIGHT - D3D11_MESSAGE_ID_RECOMMENDVIDEODECODERDOWNSAMPLING_ZEROWIDTHHEIGHT - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTSHADERUSAGE_NULLPARAM - D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTSHADERUSAGE_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORGETOUTPUTSHADERUSAGE_NULLPARAM - D3D11_MESSAGE_ID_VIDEOPROCESSORGETOUTPUTSHADERUSAGE_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORGETBEHAVIORHINTS_NULLPARAM - D3D11_MESSAGE_ID_VIDEOPROCESSORGETBEHAVIORHINTS_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORGETBEHAVIORHINTS_INVALIDSTREAMCOUNT - D3D11_MESSAGE_ID_VIDEOPROCESSORGETBEHAVIORHINTS_INVALIDSTREAMCOUNT - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORGETBEHAVIORHINTS_TARGETRECT - D3D11_MESSAGE_ID_VIDEOPROCESSORGETBEHAVIORHINTS_TARGETRECT - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORGETBEHAVIORHINTS_INVALIDSOURCERECT - D3D11_MESSAGE_ID_VIDEOPROCESSORGETBEHAVIORHINTS_INVALIDSOURCERECT - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORGETBEHAVIORHINTS_INVALIDDESTRECT - D3D11_MESSAGE_ID_VIDEOPROCESSORGETBEHAVIORHINTS_INVALIDDESTRECT - - - - No documentation. - - - D3D11_MESSAGE_ID_GETCRYPTOSESSIONPRIVATEDATASIZE_INVALID_KEY_EXCHANGE_TYPE - D3D11_MESSAGE_ID_GETCRYPTOSESSIONPRIVATEDATASIZE_INVALID_KEY_EXCHANGE_TYPE - - - - No documentation. - - - D3D11_MESSAGE_ID_D3D11_1_MESSAGES_END - D3D11_MESSAGE_ID_D3D11_1_MESSAGES_END - - - - No documentation. - - - D3D11_MESSAGE_ID_D3D11_2_MESSAGES_START - D3D11_MESSAGE_ID_D3D11_2_MESSAGES_START - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDUSAGE - D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDUSAGE - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATETEXTURE1D_INVALIDUSAGE - D3D11_MESSAGE_ID_CREATETEXTURE1D_INVALIDUSAGE - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATETEXTURE2D_INVALIDUSAGE - D3D11_MESSAGE_ID_CREATETEXTURE2D_INVALIDUSAGE - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_LEVEL9_STEPRATE_NOT_1 - D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_LEVEL9_STEPRATE_NOT_1 - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_LEVEL9_INSTANCING_NOT_SUPPORTED - D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_LEVEL9_INSTANCING_NOT_SUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_UPDATETILEMAPPINGS_INVALID_PARAMETER - D3D11_MESSAGE_ID_UPDATETILEMAPPINGS_INVALID_PARAMETER - - - - No documentation. - - - D3D11_MESSAGE_ID_COPYTILEMAPPINGS_INVALID_PARAMETER - D3D11_MESSAGE_ID_COPYTILEMAPPINGS_INVALID_PARAMETER - - - - No documentation. - - - D3D11_MESSAGE_ID_COPYTILES_INVALID_PARAMETER - D3D11_MESSAGE_ID_COPYTILES_INVALID_PARAMETER - - - - No documentation. - - - D3D11_MESSAGE_ID_UPDATETILES_INVALID_PARAMETER - D3D11_MESSAGE_ID_UPDATETILES_INVALID_PARAMETER - - - - No documentation. - - - D3D11_MESSAGE_ID_RESIZETILEPOOL_INVALID_PARAMETER - D3D11_MESSAGE_ID_RESIZETILEPOOL_INVALID_PARAMETER - - - - No documentation. - - - D3D11_MESSAGE_ID_TILEDRESOURCEBARRIER_INVALID_PARAMETER - D3D11_MESSAGE_ID_TILEDRESOURCEBARRIER_INVALID_PARAMETER - - - - No documentation. - - - D3D11_MESSAGE_ID_NULL_TILE_MAPPING_ACCESS_WARNING - D3D11_MESSAGE_ID_NULL_TILE_MAPPING_ACCESS_WARNING - - - - No documentation. - - - D3D11_MESSAGE_ID_NULL_TILE_MAPPING_ACCESS_ERROR - D3D11_MESSAGE_ID_NULL_TILE_MAPPING_ACCESS_ERROR - - - - No documentation. - - - D3D11_MESSAGE_ID_DIRTY_TILE_MAPPING_ACCESS - D3D11_MESSAGE_ID_DIRTY_TILE_MAPPING_ACCESS - - - - No documentation. - - - D3D11_MESSAGE_ID_DUPLICATE_TILE_MAPPINGS_IN_COVERED_AREA - D3D11_MESSAGE_ID_DUPLICATE_TILE_MAPPINGS_IN_COVERED_AREA - - - - No documentation. - - - D3D11_MESSAGE_ID_TILE_MAPPINGS_IN_COVERED_AREA_DUPLICATED_OUTSIDE - D3D11_MESSAGE_ID_TILE_MAPPINGS_IN_COVERED_AREA_DUPLICATED_OUTSIDE - - - - No documentation. - - - D3D11_MESSAGE_ID_TILE_MAPPINGS_SHARED_BETWEEN_INCOMPATIBLE_RESOURCES - D3D11_MESSAGE_ID_TILE_MAPPINGS_SHARED_BETWEEN_INCOMPATIBLE_RESOURCES - - - - No documentation. - - - D3D11_MESSAGE_ID_TILE_MAPPINGS_SHARED_BETWEEN_INPUT_AND_OUTPUT - D3D11_MESSAGE_ID_TILE_MAPPINGS_SHARED_BETWEEN_INPUT_AND_OUTPUT - - - - No documentation. - - - D3D11_MESSAGE_ID_CHECKMULTISAMPLEQUALITYLEVELS_INVALIDFLAGS - D3D11_MESSAGE_ID_CHECKMULTISAMPLEQUALITYLEVELS_INVALIDFLAGS - - - - No documentation. - - - D3D11_MESSAGE_ID_GETRESOURCETILING_NONTILED_RESOURCE - D3D11_MESSAGE_ID_GETRESOURCETILING_NONTILED_RESOURCE - - - - No documentation. - - - D3D11_MESSAGE_ID_RESIZETILEPOOL_SHRINK_WITH_MAPPINGS_STILL_DEFINED_PAST_END - D3D11_MESSAGE_ID_RESIZETILEPOOL_SHRINK_WITH_MAPPINGS_STILL_DEFINED_PAST_END - - - - No documentation. - - - D3D11_MESSAGE_ID_NEED_TO_CALL_TILEDRESOURCEBARRIER - D3D11_MESSAGE_ID_NEED_TO_CALL_TILEDRESOURCEBARRIER - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEDEVICE_INVALIDARGS - D3D11_MESSAGE_ID_CREATEDEVICE_INVALIDARGS - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEDEVICE_WARNING - D3D11_MESSAGE_ID_CREATEDEVICE_WARNING - - - - No documentation. - - - D3D11_MESSAGE_ID_CLEARUNORDEREDACCESSVIEWUINT_HAZARD - D3D11_MESSAGE_ID_CLEARUNORDEREDACCESSVIEWUINT_HAZARD - - - - No documentation. - - - D3D11_MESSAGE_ID_CLEARUNORDEREDACCESSVIEWFLOAT_HAZARD - D3D11_MESSAGE_ID_CLEARUNORDEREDACCESSVIEWFLOAT_HAZARD - - - - No documentation. - - - D3D11_MESSAGE_ID_TILED_RESOURCE_TIER_1_BUFFER_TEXTURE_MISMATCH - D3D11_MESSAGE_ID_TILED_RESOURCE_TIER_1_BUFFER_TEXTURE_MISMATCH - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATE_CRYPTOSESSION - D3D11_MESSAGE_ID_CREATE_CRYPTOSESSION - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATE_AUTHENTICATEDCHANNEL - D3D11_MESSAGE_ID_CREATE_AUTHENTICATEDCHANNEL - - - - No documentation. - - - D3D11_MESSAGE_ID_LIVE_CRYPTOSESSION - D3D11_MESSAGE_ID_LIVE_CRYPTOSESSION - - - - No documentation. - - - D3D11_MESSAGE_ID_LIVE_AUTHENTICATEDCHANNEL - D3D11_MESSAGE_ID_LIVE_AUTHENTICATEDCHANNEL - - - - No documentation. - - - D3D11_MESSAGE_ID_DESTROY_CRYPTOSESSION - D3D11_MESSAGE_ID_DESTROY_CRYPTOSESSION - - - - No documentation. - - - D3D11_MESSAGE_ID_DESTROY_AUTHENTICATEDCHANNEL - D3D11_MESSAGE_ID_DESTROY_AUTHENTICATEDCHANNEL - - - - No documentation. - - - D3D11_MESSAGE_ID_D3D11_2_MESSAGES_END - D3D11_MESSAGE_ID_D3D11_2_MESSAGES_END - - - - No documentation. - - - D3D11_MESSAGE_ID_D3D11_3_MESSAGES_START - D3D11_MESSAGE_ID_D3D11_3_MESSAGES_START - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATERASTERIZERSTATE_INVALID_CONSERVATIVERASTERMODE - D3D11_MESSAGE_ID_CREATERASTERIZERSTATE_INVALID_CONSERVATIVERASTERMODE - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_DRAW_INVALID_SYSTEMVALUE - D3D11_MESSAGE_ID_DEVICE_DRAW_INVALID_SYSTEMVALUE - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEQUERYORPREDICATE_INVALIDCONTEXTTYPE - D3D11_MESSAGE_ID_CREATEQUERYORPREDICATE_INVALIDCONTEXTTYPE - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEQUERYORPREDICATE_DECODENOTSUPPORTED - D3D11_MESSAGE_ID_CREATEQUERYORPREDICATE_DECODENOTSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEQUERYORPREDICATE_ENCODENOTSUPPORTED - D3D11_MESSAGE_ID_CREATEQUERYORPREDICATE_ENCODENOTSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDPLANEINDEX - D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDPLANEINDEX - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDVIDEOPLANEINDEX - D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDVIDEOPLANEINDEX - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_AMBIGUOUSVIDEOPLANEINDEX - D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_AMBIGUOUSVIDEOPLANEINDEX - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDPLANEINDEX - D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDPLANEINDEX - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDVIDEOPLANEINDEX - D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDVIDEOPLANEINDEX - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_AMBIGUOUSVIDEOPLANEINDEX - D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_AMBIGUOUSVIDEOPLANEINDEX - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDPLANEINDEX - D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDPLANEINDEX - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDVIDEOPLANEINDEX - D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDVIDEOPLANEINDEX - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_AMBIGUOUSVIDEOPLANEINDEX - D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_AMBIGUOUSVIDEOPLANEINDEX - - - - No documentation. - - - D3D11_MESSAGE_ID_JPEGDECODE_INVALIDSCANDATAOFFSET - D3D11_MESSAGE_ID_JPEGDECODE_INVALIDSCANDATAOFFSET - - - - No documentation. - - - D3D11_MESSAGE_ID_JPEGDECODE_NOTSUPPORTED - D3D11_MESSAGE_ID_JPEGDECODE_NOTSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_JPEGDECODE_DIMENSIONSTOOLARGE - D3D11_MESSAGE_ID_JPEGDECODE_DIMENSIONSTOOLARGE - - - - No documentation. - - - D3D11_MESSAGE_ID_JPEGDECODE_INVALIDCOMPONENTS - D3D11_MESSAGE_ID_JPEGDECODE_INVALIDCOMPONENTS - - - - No documentation. - - - D3D11_MESSAGE_ID_JPEGDECODE_DESTINATIONNOT2D - D3D11_MESSAGE_ID_JPEGDECODE_DESTINATIONNOT2D - - - - No documentation. - - - D3D11_MESSAGE_ID_JPEGDECODE_TILEDRESOURCESUNSUPPORTED - D3D11_MESSAGE_ID_JPEGDECODE_TILEDRESOURCESUNSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_JPEGDECODE_GUARDRECTSUNSUPPORTED - D3D11_MESSAGE_ID_JPEGDECODE_GUARDRECTSUNSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_JPEGDECODE_FORMATUNSUPPORTED - D3D11_MESSAGE_ID_JPEGDECODE_FORMATUNSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_JPEGDECODE_INVALIDSUBRESOURCE - D3D11_MESSAGE_ID_JPEGDECODE_INVALIDSUBRESOURCE - - - - No documentation. - - - D3D11_MESSAGE_ID_JPEGDECODE_INVALIDMIPLEVEL - D3D11_MESSAGE_ID_JPEGDECODE_INVALIDMIPLEVEL - - - - No documentation. - - - D3D11_MESSAGE_ID_JPEGDECODE_EMPTYDESTBOX - D3D11_MESSAGE_ID_JPEGDECODE_EMPTYDESTBOX - - - - No documentation. - - - D3D11_MESSAGE_ID_JPEGDECODE_DESTBOXNOT2D - D3D11_MESSAGE_ID_JPEGDECODE_DESTBOXNOT2D - - - - No documentation. - - - D3D11_MESSAGE_ID_JPEGDECODE_DESTBOXNOTSUB - D3D11_MESSAGE_ID_JPEGDECODE_DESTBOXNOTSUB - - - - No documentation. - - - D3D11_MESSAGE_ID_JPEGDECODE_DESTBOXESINTERSECT - D3D11_MESSAGE_ID_JPEGDECODE_DESTBOXESINTERSECT - - - - No documentation. - - - D3D11_MESSAGE_ID_JPEGDECODE_XSUBSAMPLEMISMATCH - D3D11_MESSAGE_ID_JPEGDECODE_XSUBSAMPLEMISMATCH - - - - No documentation. - - - D3D11_MESSAGE_ID_JPEGDECODE_YSUBSAMPLEMISMATCH - D3D11_MESSAGE_ID_JPEGDECODE_YSUBSAMPLEMISMATCH - - - - No documentation. - - - D3D11_MESSAGE_ID_JPEGDECODE_XSUBSAMPLEODD - D3D11_MESSAGE_ID_JPEGDECODE_XSUBSAMPLEODD - - - - No documentation. - - - D3D11_MESSAGE_ID_JPEGDECODE_YSUBSAMPLEODD - D3D11_MESSAGE_ID_JPEGDECODE_YSUBSAMPLEODD - - - - No documentation. - - - D3D11_MESSAGE_ID_JPEGDECODE_OUTPUTDIMENSIONSTOOLARGE - D3D11_MESSAGE_ID_JPEGDECODE_OUTPUTDIMENSIONSTOOLARGE - - - - No documentation. - - - D3D11_MESSAGE_ID_JPEGDECODE_NONPOW2SCALEUNSUPPORTED - D3D11_MESSAGE_ID_JPEGDECODE_NONPOW2SCALEUNSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_JPEGDECODE_FRACTIONALDOWNSCALETOLARGE - D3D11_MESSAGE_ID_JPEGDECODE_FRACTIONALDOWNSCALETOLARGE - - - - No documentation. - - - D3D11_MESSAGE_ID_JPEGDECODE_CHROMASIZEMISMATCH - D3D11_MESSAGE_ID_JPEGDECODE_CHROMASIZEMISMATCH - - - - No documentation. - - - D3D11_MESSAGE_ID_JPEGDECODE_LUMACHROMASIZEMISMATCH - D3D11_MESSAGE_ID_JPEGDECODE_LUMACHROMASIZEMISMATCH - - - - No documentation. - - - D3D11_MESSAGE_ID_JPEGDECODE_INVALIDNUMDESTINATIONS - D3D11_MESSAGE_ID_JPEGDECODE_INVALIDNUMDESTINATIONS - - - - No documentation. - - - D3D11_MESSAGE_ID_JPEGDECODE_SUBBOXUNSUPPORTED - D3D11_MESSAGE_ID_JPEGDECODE_SUBBOXUNSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_JPEGDECODE_1DESTUNSUPPORTEDFORMAT - D3D11_MESSAGE_ID_JPEGDECODE_1DESTUNSUPPORTEDFORMAT - - - - No documentation. - - - D3D11_MESSAGE_ID_JPEGDECODE_3DESTUNSUPPORTEDFORMAT - D3D11_MESSAGE_ID_JPEGDECODE_3DESTUNSUPPORTEDFORMAT - - - - No documentation. - - - D3D11_MESSAGE_ID_JPEGDECODE_SCALEUNSUPPORTED - D3D11_MESSAGE_ID_JPEGDECODE_SCALEUNSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_JPEGDECODE_INVALIDSOURCESIZE - D3D11_MESSAGE_ID_JPEGDECODE_INVALIDSOURCESIZE - - - - No documentation. - - - D3D11_MESSAGE_ID_JPEGDECODE_INVALIDCOPYFLAGS - D3D11_MESSAGE_ID_JPEGDECODE_INVALIDCOPYFLAGS - - - - No documentation. - - - D3D11_MESSAGE_ID_JPEGDECODE_HAZARD - D3D11_MESSAGE_ID_JPEGDECODE_HAZARD - - - - No documentation. - - - D3D11_MESSAGE_ID_JPEGDECODE_UNSUPPORTEDSRCBUFFERUSAGE - D3D11_MESSAGE_ID_JPEGDECODE_UNSUPPORTEDSRCBUFFERUSAGE - - - - No documentation. - - - D3D11_MESSAGE_ID_JPEGDECODE_UNSUPPORTEDSRCBUFFERMISCFLAGS - D3D11_MESSAGE_ID_JPEGDECODE_UNSUPPORTEDSRCBUFFERMISCFLAGS - - - - No documentation. - - - D3D11_MESSAGE_ID_JPEGDECODE_UNSUPPORTEDDSTTEXTUREUSAGE - D3D11_MESSAGE_ID_JPEGDECODE_UNSUPPORTEDDSTTEXTUREUSAGE - - - - No documentation. - - - D3D11_MESSAGE_ID_JPEGDECODE_BACKBUFFERNOTSUPPORTED - D3D11_MESSAGE_ID_JPEGDECODE_BACKBUFFERNOTSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_JPEGDECODE_UNSUPPRTEDCOPYFLAGS - D3D11_MESSAGE_ID_JPEGDECODE_UNSUPPRTEDCOPYFLAGS - - - - No documentation. - - - D3D11_MESSAGE_ID_JPEGENCODE_NOTSUPPORTED - D3D11_MESSAGE_ID_JPEGENCODE_NOTSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_JPEGENCODE_INVALIDSCANDATAOFFSET - D3D11_MESSAGE_ID_JPEGENCODE_INVALIDSCANDATAOFFSET - - - - No documentation. - - - D3D11_MESSAGE_ID_JPEGENCODE_INVALIDCOMPONENTS - D3D11_MESSAGE_ID_JPEGENCODE_INVALIDCOMPONENTS - - - - No documentation. - - - D3D11_MESSAGE_ID_JPEGENCODE_SOURCENOT2D - D3D11_MESSAGE_ID_JPEGENCODE_SOURCENOT2D - - - - No documentation. - - - D3D11_MESSAGE_ID_JPEGENCODE_TILEDRESOURCESUNSUPPORTED - D3D11_MESSAGE_ID_JPEGENCODE_TILEDRESOURCESUNSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_JPEGENCODE_GUARDRECTSUNSUPPORTED - D3D11_MESSAGE_ID_JPEGENCODE_GUARDRECTSUNSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_JPEGENCODE_XSUBSAMPLEMISMATCH - D3D11_MESSAGE_ID_JPEGENCODE_XSUBSAMPLEMISMATCH - - - - No documentation. - - - D3D11_MESSAGE_ID_JPEGENCODE_YSUBSAMPLEMISMATCH - D3D11_MESSAGE_ID_JPEGENCODE_YSUBSAMPLEMISMATCH - - - - No documentation. - - - D3D11_MESSAGE_ID_JPEGENCODE_FORMATUNSUPPORTED - D3D11_MESSAGE_ID_JPEGENCODE_FORMATUNSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_JPEGENCODE_INVALIDSUBRESOURCE - D3D11_MESSAGE_ID_JPEGENCODE_INVALIDSUBRESOURCE - - - - No documentation. - - - D3D11_MESSAGE_ID_JPEGENCODE_INVALIDMIPLEVEL - D3D11_MESSAGE_ID_JPEGENCODE_INVALIDMIPLEVEL - - - - No documentation. - - - D3D11_MESSAGE_ID_JPEGENCODE_DIMENSIONSTOOLARGE - D3D11_MESSAGE_ID_JPEGENCODE_DIMENSIONSTOOLARGE - - - - No documentation. - - - D3D11_MESSAGE_ID_JPEGENCODE_HAZARD - D3D11_MESSAGE_ID_JPEGENCODE_HAZARD - - - - No documentation. - - - D3D11_MESSAGE_ID_JPEGENCODE_UNSUPPORTEDDSTBUFFERUSAGE - D3D11_MESSAGE_ID_JPEGENCODE_UNSUPPORTEDDSTBUFFERUSAGE - - - - No documentation. - - - D3D11_MESSAGE_ID_JPEGENCODE_UNSUPPORTEDDSTBUFFERMISCFLAGS - D3D11_MESSAGE_ID_JPEGENCODE_UNSUPPORTEDDSTBUFFERMISCFLAGS - - - - No documentation. - - - D3D11_MESSAGE_ID_JPEGENCODE_UNSUPPORTEDSRCTEXTUREUSAGE - D3D11_MESSAGE_ID_JPEGENCODE_UNSUPPORTEDSRCTEXTUREUSAGE - - - - No documentation. - - - D3D11_MESSAGE_ID_JPEGENCODE_BACKBUFFERNOTSUPPORTED - D3D11_MESSAGE_ID_JPEGENCODE_BACKBUFFERNOTSUPPORTED - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATEQUERYORPREDICATE_UNSUPPORTEDCONTEXTTTYPEFORQUERY - D3D11_MESSAGE_ID_CREATEQUERYORPREDICATE_UNSUPPORTEDCONTEXTTTYPEFORQUERY - - - - No documentation. - - - D3D11_MESSAGE_ID_FLUSH1_INVALIDCONTEXTTYPE - D3D11_MESSAGE_ID_FLUSH1_INVALIDCONTEXTTYPE - - - - No documentation. - - - D3D11_MESSAGE_ID_DEVICE_SETHARDWAREPROTECTION_INVALIDCONTEXT - D3D11_MESSAGE_ID_DEVICE_SETHARDWAREPROTECTION_INVALIDCONTEXT - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTHDRMETADATA_NULLPARAM - D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTHDRMETADATA_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTHDRMETADATA_INVALIDSIZE - D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTHDRMETADATA_INVALIDSIZE - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORGETOUTPUTHDRMETADATA_NULLPARAM - D3D11_MESSAGE_ID_VIDEOPROCESSORGETOUTPUTHDRMETADATA_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORGETOUTPUTHDRMETADATA_INVALIDSIZE - D3D11_MESSAGE_ID_VIDEOPROCESSORGETOUTPUTHDRMETADATA_INVALIDSIZE - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMHDRMETADATA_NULLPARAM - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMHDRMETADATA_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMHDRMETADATA_INVALIDSTREAM - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMHDRMETADATA_INVALIDSTREAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMHDRMETADATA_INVALIDSIZE - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMHDRMETADATA_INVALIDSIZE - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMHDRMETADATA_NULLPARAM - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMHDRMETADATA_NULLPARAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMHDRMETADATA_INVALIDSTREAM - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMHDRMETADATA_INVALIDSTREAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMHDRMETADATA_INVALIDSIZE - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMHDRMETADATA_INVALIDSIZE - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMFRAMEFORMAT_INVALIDSTREAM - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMFRAMEFORMAT_INVALIDSTREAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMCOLORSPACE_INVALIDSTREAM - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMCOLORSPACE_INVALIDSTREAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMOUTPUTRATE_INVALIDSTREAM - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMOUTPUTRATE_INVALIDSTREAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMSOURCERECT_INVALIDSTREAM - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMSOURCERECT_INVALIDSTREAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMDESTRECT_INVALIDSTREAM - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMDESTRECT_INVALIDSTREAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMALPHA_INVALIDSTREAM - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMALPHA_INVALIDSTREAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMPALETTE_INVALIDSTREAM - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMPALETTE_INVALIDSTREAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMPIXELASPECTRATIO_INVALIDSTREAM - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMPIXELASPECTRATIO_INVALIDSTREAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMLUMAKEY_INVALIDSTREAM - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMLUMAKEY_INVALIDSTREAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMSTEREOFORMAT_INVALIDSTREAM - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMSTEREOFORMAT_INVALIDSTREAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMAUTOPROCESSINGMODE_INVALIDSTREAM - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMAUTOPROCESSINGMODE_INVALIDSTREAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMFILTER_INVALIDSTREAM - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMFILTER_INVALIDSTREAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMROTATION_INVALIDSTREAM - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMROTATION_INVALIDSTREAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMCOLORSPACE1_INVALIDSTREAM - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMCOLORSPACE1_INVALIDSTREAM - - - - No documentation. - - - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMMIRROR_INVALIDSTREAM - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMMIRROR_INVALIDSTREAM - - - - No documentation. - - - D3D11_MESSAGE_ID_CREATE_FENCE - D3D11_MESSAGE_ID_CREATE_FENCE - - - - No documentation. - - - D3D11_MESSAGE_ID_LIVE_FENCE - D3D11_MESSAGE_ID_LIVE_FENCE - - - - No documentation. - - - D3D11_MESSAGE_ID_DESTROY_FENCE - D3D11_MESSAGE_ID_DESTROY_FENCE - - - - No documentation. - - - D3D11_MESSAGE_ID_D3D11_3_MESSAGES_END - D3D11_MESSAGE_ID_D3D11_3_MESSAGES_END - - - -

Debug message severity levels for an information queue.

-
- -

Use these values to allow or deny message categories to pass through the storage and retrieval filters for an information queue (see ). This API is used by .

-
- - ff476187 - D3D11_MESSAGE_SEVERITY - D3D11_MESSAGE_SEVERITY -
- - -

Defines some type of corruption which has occurred.

-
- - ff476187 - D3D11_MESSAGE_SEVERITY_CORRUPTION - D3D11_MESSAGE_SEVERITY_CORRUPTION -
- - -

Defines an error message.

-
- - ff476187 - D3D11_MESSAGE_SEVERITY_ERROR - D3D11_MESSAGE_SEVERITY_ERROR -
- - -

Defines a warning message.

-
- - ff476187 - D3D11_MESSAGE_SEVERITY_WARNING - D3D11_MESSAGE_SEVERITY_WARNING -
- - -

Defines an information message.

-
- - ff476187 - D3D11_MESSAGE_SEVERITY_INFO - D3D11_MESSAGE_SEVERITY_INFO -
- - -

Defines a message other than corruption, error, warning, or information.

Direct3D 11:??This value is not supported until Direct3D 11.1.

-
- - ff476187 - D3D11_MESSAGE_SEVERITY_MESSAGE - D3D11_MESSAGE_SEVERITY_MESSAGE -
- - -

Flags that describe miscellaneous query behavior.

-
- -

This flag is part of a query description (see ).

-
- - ff476196 - D3D11_QUERY_MISC_FLAG - D3D11_QUERY_MISC_FLAG -
- - -

Tell the hardware that if it is not yet sure if something is hidden or not to draw it anyway. This is only used with an occlusion predicate. Predication data cannot be returned to your application via when using this flag.

-
- - ff476196 - D3D11_QUERY_MISC_PREDICATEHINT - D3D11_QUERY_MISC_PREDICATEHINT -
- - - None. - - - None - None - - - -

Query types.

-
- -

Create a query with .

-
- - ff476191 - D3D11_QUERY - D3D11_QUERY -
- - -

Determines whether or not the GPU is finished processing commands. When the GPU is finished processing commands will return , and pData will point to a with a value of TRUE. When using this type of query, is disabled.

-
- - ff476191 - D3D11_QUERY_EVENT - D3D11_QUERY_EVENT -
- - -

Get the number of samples that passed the depth and stencil tests in between and . returns a UINT64. If a depth or stencil test is disabled, then each of those tests will be counted as a pass.

-
- - ff476191 - D3D11_QUERY_OCCLUSION - D3D11_QUERY_OCCLUSION -
- - -

Get a timestamp value where returns a UINT64. This kind of query is only useful if two timestamp queries are done in the middle of a query. The difference of two timestamps can be used to determine how many ticks have elapsed, and the query will determine if that difference is a reliable value and also has a value that shows how to convert the number of ticks into seconds. See . When using this type of query, is disabled.

-
- - ff476191 - D3D11_QUERY_TIMESTAMP - D3D11_QUERY_TIMESTAMP -
- - -

Determines whether or not a is returning reliable values, and also gives the frequency of the processor enabling you to convert the number of elapsed ticks into seconds. will return a . This type of query should only be invoked once per frame or less.

-
- - ff476191 - D3D11_QUERY_TIMESTAMP_DISJOINT - D3D11_QUERY_TIMESTAMP_DISJOINT -
- - -

Get pipeline statistics, such as the number of pixel shader invocations in between and . will return a .

-
- - ff476191 - D3D11_QUERY_PIPELINE_STATISTICS - D3D11_QUERY_PIPELINE_STATISTICS -
- - -

Similar to , except returns a indicating whether or not any samples passed the depth and stencil tests - TRUE meaning at least one passed, meaning none passed.

-
- - ff476191 - D3D11_QUERY_OCCLUSION_PREDICATE - D3D11_QUERY_OCCLUSION_PREDICATE -
- - -

Get streaming output statistics, such as the number of primitives streamed out in between and . will return a structure.

-
- - ff476191 - D3D11_QUERY_SO_STATISTICS - D3D11_QUERY_SO_STATISTICS -
- - -

Determines whether or not any of the streaming output buffers overflowed in between and . returns a - TRUE meaning there was an overflow, meaning there was not an overflow. If streaming output writes to multiple buffers, and one of the buffers overflows, then it will stop writing to all the output buffers. When an overflow is detected by Direct3D it is prevented from happening - no memory is corrupted. This predication may be used in conjunction with an SO_STATISTICS query so that when an overflow occurs the SO_STATISTIC query will let the application know how much memory was needed to prevent an overflow.

-
- - ff476191 - D3D11_QUERY_SO_OVERFLOW_PREDICATE - D3D11_QUERY_SO_OVERFLOW_PREDICATE -
- - -

Get streaming output statistics for stream 0, such as the number of primitives streamed out in between and . will return a structure.

-
- - ff476191 - D3D11_QUERY_SO_STATISTICS_STREAM0 - D3D11_QUERY_SO_STATISTICS_STREAM0 -
- - -

Determines whether or not the stream 0 output buffers overflowed in between and . returns a - TRUE meaning there was an overflow, meaning there was not an overflow. If streaming output writes to multiple buffers, and one of the buffers overflows, then it will stop writing to all the output buffers. When an overflow is detected by Direct3D it is prevented from happening - no memory is corrupted. This predication may be used in conjunction with an SO_STATISTICS query so that when an overflow occurs the SO_STATISTIC query will let the application know how much memory was needed to prevent an overflow.

-
- - ff476191 - D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM0 - D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM0 -
- - -

Get streaming output statistics for stream 1, such as the number of primitives streamed out in between and . will return a structure.

-
- - ff476191 - D3D11_QUERY_SO_STATISTICS_STREAM1 - D3D11_QUERY_SO_STATISTICS_STREAM1 -
- - -

Determines whether or not the stream 1 output buffers overflowed in between and . returns a - TRUE meaning there was an overflow, meaning there was not an overflow. If streaming output writes to multiple buffers, and one of the buffers overflows, then it will stop writing to all the output buffers. When an overflow is detected by Direct3D it is prevented from happening - no memory is corrupted. This predication may be used in conjunction with an SO_STATISTICS query so that when an overflow occurs the SO_STATISTIC query will let the application know how much memory was needed to prevent an overflow.

-
- - ff476191 - D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM1 - D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM1 -
- - -

Get streaming output statistics for stream 2, such as the number of primitives streamed out in between and . will return a structure.

-
- - ff476191 - D3D11_QUERY_SO_STATISTICS_STREAM2 - D3D11_QUERY_SO_STATISTICS_STREAM2 -
- - -

Determines whether or not the stream 2 output buffers overflowed in between and . returns a - TRUE meaning there was an overflow, meaning there was not an overflow. If streaming output writes to multiple buffers, and one of the buffers overflows, then it will stop writing to all the output buffers. When an overflow is detected by Direct3D it is prevented from happening - no memory is corrupted. This predication may be used in conjunction with an SO_STATISTICS query so that when an overflow occurs the SO_STATISTIC query will let the application know how much memory was needed to prevent an overflow.

-
- - ff476191 - D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM2 - D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM2 -
- - -

Get streaming output statistics for stream 3, such as the number of primitives streamed out in between and . will return a structure.

-
- - ff476191 - D3D11_QUERY_SO_STATISTICS_STREAM3 - D3D11_QUERY_SO_STATISTICS_STREAM3 -
- - -

Determines whether or not the stream 3 output buffers overflowed in between and . returns a - TRUE meaning there was an overflow, meaning there was not an overflow. If streaming output writes to multiple buffers, and one of the buffers overflows, then it will stop writing to all the output buffers. When an overflow is detected by Direct3D it is prevented from happening - no memory is corrupted. This predication may be used in conjunction with an SO_STATISTICS query so that when an overflow occurs the SO_STATISTIC query will let the application know how much memory was needed to prevent an overflow.

-
- - ff476191 - D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM3 - D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM3 -
- - -

These flags identify the type of resource that will be viewed as a render target.

-
- -

This enumeration is used in to create a render-target view.

-
- - ff476206 - D3D11_RTV_DIMENSION - D3D11_RTV_DIMENSION -
- - -

Do not use this value, as it will cause to fail.

-
- - ff476206 - D3D11_RTV_DIMENSION_UNKNOWN - D3D11_RTV_DIMENSION_UNKNOWN -
- - -

The resource will be accessed as a buffer.

-
- - ff476206 - D3D11_RTV_DIMENSION_BUFFER - D3D11_RTV_DIMENSION_BUFFER -
- - -

The resource will be accessed as a 1D texture.

-
- - ff476206 - D3D11_RTV_DIMENSION_TEXTURE1D - D3D11_RTV_DIMENSION_TEXTURE1D -
- - -

The resource will be accessed as an array of 1D textures.

-
- - ff476206 - D3D11_RTV_DIMENSION_TEXTURE1DARRAY - D3D11_RTV_DIMENSION_TEXTURE1DARRAY -
- - -

The resource will be accessed as a 2D texture.

-
- - ff476206 - D3D11_RTV_DIMENSION_TEXTURE2D - D3D11_RTV_DIMENSION_TEXTURE2D -
- - -

The resource will be accessed as an array of 2D textures.

-
- - ff476206 - D3D11_RTV_DIMENSION_TEXTURE2DARRAY - D3D11_RTV_DIMENSION_TEXTURE2DARRAY -
- - -

The resource will be accessed as a 2D texture with multisampling.

-
- - ff476206 - D3D11_RTV_DIMENSION_TEXTURE2DMS - D3D11_RTV_DIMENSION_TEXTURE2DMS -
- - -

The resource will be accessed as an array of 2D textures with multisampling.

-
- - ff476206 - D3D11_RTV_DIMENSION_TEXTURE2DMSARRAY - D3D11_RTV_DIMENSION_TEXTURE2DMSARRAY -
- - -

The resource will be accessed as a 3D texture.

-
- - ff476206 - D3D11_RTV_DIMENSION_TEXTURE3D - D3D11_RTV_DIMENSION_TEXTURE3D -
- - -

Options for the amount of information to report about a device object's lifetime.

-
- -

This enumeration is used by .

Several inline functions exist to combine the options using operators, see the D3D11SDKLayers.h header file for details.

-
- - ff476205 - D3D11_RLDO_FLAGS - D3D11_RLDO_FLAGS -
- - -

Specifies to obtain a summary about a device object's lifetime.

-
- - ff476205 - D3D11_RLDO_SUMMARY - D3D11_RLDO_SUMMARY -
- - -

Specifies to obtain detailed information about a device object's lifetime.

-
- - ff476205 - D3D11_RLDO_DETAIL - D3D11_RLDO_DETAIL -
- - -

Do not use this enumeration constant. It is for internal use only.

-
- - ff476205 - D3D11_RLDO_IGNORE_INTERNAL - D3D11_RLDO_IGNORE_INTERNAL -
- - - None. - - - None - None - - - -

Identifies the type of resource being used.

-
- -

This enumeration is used in .

-
- - ff476202 - D3D11_RESOURCE_DIMENSION - D3D11_RESOURCE_DIMENSION -
- - -

Resource is of unknown type.

-
- - ff476202 - D3D11_RESOURCE_DIMENSION_UNKNOWN - D3D11_RESOURCE_DIMENSION_UNKNOWN -
- - -

Resource is a buffer.

-
- - ff476202 - D3D11_RESOURCE_DIMENSION_BUFFER - D3D11_RESOURCE_DIMENSION_BUFFER -
- - -

Resource is a 1D texture.

-
- - ff476202 - D3D11_RESOURCE_DIMENSION_TEXTURE1D - D3D11_RESOURCE_DIMENSION_TEXTURE1D -
- - -

Resource is a 2D texture.

-
- - ff476202 - D3D11_RESOURCE_DIMENSION_TEXTURE2D - D3D11_RESOURCE_DIMENSION_TEXTURE2D -
- - -

Resource is a 3D texture.

-
- - ff476202 - D3D11_RESOURCE_DIMENSION_TEXTURE3D - D3D11_RESOURCE_DIMENSION_TEXTURE3D -
- - -

Identifies options for resources.

-
- -

This enumeration is used in , , , .

These flags can be combined by bitwise OR.

The cannot be used when creating resources with D3D11_CPU_ACCESS flags.

-
- - ff476203 - D3D11_RESOURCE_MISC_FLAG - D3D11_RESOURCE_MISC_FLAG -
- - -

Enables MIP map generation by using on a texture resource. The resource must be created with the bind flags that specify that the resource is a render target and a shader resource.

-
- - ff476203 - D3D11_RESOURCE_MISC_GENERATE_MIPS - D3D11_RESOURCE_MISC_GENERATE_MIPS -
- - -

Enables resource data sharing between two or more Direct3D devices. The only resources that can be shared are 2D non-mipmapped textures.

and are mutually exclusive.

WARP and REF devices do not support shared resources. If you try to create a resource with this flag on either a WARP or REF device, the create method will return an E_OUTOFMEMORY error code.

Note?? Starting with Windows?8, WARP devices fully support shared resources. ? Note?? Starting with Windows?8, we recommend that you enable resource data sharing between two or more Direct3D devices by using a combination of the and flags instead. ?
-
- - ff476203 - D3D11_RESOURCE_MISC_SHARED - D3D11_RESOURCE_MISC_SHARED -
- - -

Sets a resource to be a cube texture created from a Texture2DArray that contains 6 textures.

-
- - ff476203 - D3D11_RESOURCE_MISC_TEXTURECUBE - D3D11_RESOURCE_MISC_TEXTURECUBE -
- - -

Enables instancing of GPU-generated content.

-
- - ff476203 - D3D11_RESOURCE_MISC_DRAWINDIRECT_ARGS - D3D11_RESOURCE_MISC_DRAWINDIRECT_ARGS -
- - -

Enables a resource as a byte address buffer.

-
- - ff476203 - D3D11_RESOURCE_MISC_BUFFER_ALLOW_RAW_VIEWS - D3D11_RESOURCE_MISC_BUFFER_ALLOW_RAW_VIEWS -
- - -

Enables a resource as a structured buffer.

-
- - ff476203 - D3D11_RESOURCE_MISC_BUFFER_STRUCTURED - D3D11_RESOURCE_MISC_BUFFER_STRUCTURED -
- - -

Enables a resource with MIP map clamping for use with .

-
- - ff476203 - D3D11_RESOURCE_MISC_RESOURCE_CLAMP - D3D11_RESOURCE_MISC_RESOURCE_CLAMP -
- - -

Enables the resource to be synchronized by using the and APIs. The following Direct3D?11 resource creation APIs, that take parameters, have been extended to support the new flag.

If you call any of these methods with the flag set, the interface returned will support the interface. You can retrieve a reference to the interface from the resource by using IUnknown::QueryInterface. The interface implements the and APIs to synchronize access to the surface. The device that creates the surface, and any other device that opens the surface by using OpenSharedResource, must call before they issue any rendering commands to the surface. When those devices finish rendering, they must call .

and are mutually exclusive.

WARP and REF devices do not support shared resources. If you try to create a resource with this flag on either a WARP or REF device, the create method will return an E_OUTOFMEMORY error code.

Note?? Starting with Windows?8, WARP devices fully support shared resources. ?
-
- - ff476203 - D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX - D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX -
- - -

Enables a resource compatible with GDI. You must set the flag on surfaces that you use with GDI. Setting the flag allows GDI rendering on the surface via .

Consider the following programming tips for using when you create a texture or use that texture in a swap chain:

  • and are mutually exclusive. Therefore, do not use them together.
  • and are mutually exclusive. Therefore, do not use them together.
  • You must bind the texture as a render target for the output-merger stage. For example, set the flag in the BindFlags member of the structure.
  • You must set the maximum number of MIP map levels to 1. For example, set the MipLevels member of the structure to 1.
  • You must specify that the texture requires read and write access by the GPU. For example, set the Usage member of the structure to .
  • You must set the texture format to one of the following types.

    For example, set the Format member of the structure to one of these types.
  • You cannot use with multisampling. Therefore, set the Count member of the structure to 1. Then, set the SampleDesc member of the structure to this structure.
-
- - ff476203 - D3D11_RESOURCE_MISC_GDI_COMPATIBLE - D3D11_RESOURCE_MISC_GDI_COMPATIBLE -
- - -

Set this flag to enable the use of NT HANDLE values when you create a shared resource. By enabling this flag, you deprecate the use of existing HANDLE values.

When you use this flag, you must combine it with the flag by using a bitwise OR operation. The resulting value specifies a new shared resource type that directs the runtime to use NT HANDLE values for the shared resource. The runtime then must confirm that the shared resource works on all hardware at the specified feature level.

Without this flag set, the runtime does not strictly validate shared resource parameters (that is, formats, flags, usage, and so on). When the runtime does not validate shared resource parameters, behavior of much of the Direct3D API might be undefined and might vary from driver to driver.

Direct3D 11 and earlier:??This value is not supported until Direct3D 11.1.

-
- - ff476203 - D3D11_RESOURCE_MISC_SHARED_NTHANDLE - D3D11_RESOURCE_MISC_SHARED_NTHANDLE -
- - -

Set this flag to indicate that the resource might contain protected content; therefore, the operating system should use the resource only when the driver and hardware support content protection. If the driver and hardware do not support content protection and you try to create a resource with this flag, the resource creation fails.

Direct3D 11:??This value is not supported until Direct3D 11.1.

-
- - ff476203 - D3D11_RESOURCE_MISC_RESTRICTED_CONTENT - D3D11_RESOURCE_MISC_RESTRICTED_CONTENT -
- - -

Set this flag to indicate that the operating system restricts access to the shared surface. You can use this flag together with the flag and only when you create a shared surface. The process that creates the shared resource can always open the shared resource.

Direct3D 11:??This value is not supported until Direct3D 11.1.

-
- - ff476203 - D3D11_RESOURCE_MISC_RESTRICT_SHARED_RESOURCE - D3D11_RESOURCE_MISC_RESTRICT_SHARED_RESOURCE -
- - -

Set this flag to indicate that the driver restricts access to the shared surface. You can use this flag in conjunction with the flag and only when you create a shared surface. The process that creates the shared resource can always open the shared resource.

Direct3D 11:??This value is not supported until Direct3D 11.1.

-
- - ff476203 - D3D11_RESOURCE_MISC_RESTRICT_SHARED_RESOURCE_DRIVER - D3D11_RESOURCE_MISC_RESTRICT_SHARED_RESOURCE_DRIVER -
- - -

Set this flag to indicate that the resource is guarded. Such a resource is returned by the (DirectComposition) and (Windows Runtime) APIs. For these APIs, you provide a region of interest (ROI) on a surface to update. This surface isn't compatible with multiple render targets (MRT).

A guarded resource automatically restricts all writes to the region that is related to one of the preceding APIs. Additionally, the resource enforces access to the ROI with these restrictions:

  • Copy operations from the resource by using or are restricted to only copy from the ROI.
  • When a guarded resource is set as a render target, it must be the only target.

Direct3D 11:??This value is not supported until Direct3D 11.1.

-
- - ff476203 - D3D11_RESOURCE_MISC_GUARDED - D3D11_RESOURCE_MISC_GUARDED -
- - -

Set this flag to indicate that the resource is a tile pool.

Direct3D 11:??This value is not supported until Direct3D 11.2.

-
- - ff476203 - D3D11_RESOURCE_MISC_TILE_POOL - D3D11_RESOURCE_MISC_TILE_POOL -
- - -

Set this flag to indicate that the resource is a tiled resource.

Direct3D 11:??This value is not supported until Direct3D 11.2.

-
- - ff476203 - D3D11_RESOURCE_MISC_TILED - D3D11_RESOURCE_MISC_TILED -
- - -

Set this flag to indicate that the resource should be created such that it will be protected by the hardware. Resource creation will fail if hardware content protection is not supported.

This flag has the following restrictions:

  • This flag cannot be used with the following values:
  • This flag cannot be used with the following values.
  • No CPU access flags can be specified.
Note??

Creating a texture using this flag does not automatically guarantee that hardware protection will be enabled for the underlying allocation. Some implementations require that the DRM components are first initialized prior to any guarantees of protection.

?

Note?? This enumeration value is supported starting with Windows?10.

-
- - ff476203 - D3D11_RESOURCE_MISC_HW_PROTECTED - D3D11_RESOURCE_MISC_HW_PROTECTED -
- - - None. - - - None - None - - - -

Identifies expected resource use during rendering. The usage directly reflects whether a resource is accessible by the CPU and/or the graphics processing unit (GPU).

-
- -

An application identifies the way a resource is intended to be used (its usage) in a resource description. There are several structures for creating resources including: , , , and .

Differences between Direct3D 9 and Direct3D 10/11:

In Direct3D 9, you specify the type of memory a resource should be created in at resource creation time (using D3DPOOL). It was an application's job to decide what memory pool would provide the best combination of functionality and performance.

In Direct3D 10/11, an application no longer specifies what type of memory (the pool) to create a resource in. Instead, you specify the intended usage of the resource, and let the runtime (in concert with the driver and a memory manager) choose the type of memory that will achieve the best performance.

?

-
- - ff476259 - D3D11_USAGE - D3D11_USAGE -
- - -

A resource that requires read and write access by the GPU. This is likely to be the most common usage choice.

-
- - ff476259 - D3D11_USAGE_DEFAULT - D3D11_USAGE_DEFAULT -
- - -

A resource that can only be read by the GPU. It cannot be written by the GPU, and cannot be accessed at all by the CPU. This type of resource must be initialized when it is created, since it cannot be changed after creation.

-
- - ff476259 - D3D11_USAGE_IMMUTABLE - D3D11_USAGE_IMMUTABLE -
- - -

A resource that is accessible by both the GPU (read only) and the CPU (write only). A dynamic resource is a good choice for a resource that will be updated by the CPU at least once per frame. To update a dynamic resource, use a Map method.

For info about how to use dynamic resources, see How to: Use dynamic resources.

-
- - ff476259 - D3D11_USAGE_DYNAMIC - D3D11_USAGE_DYNAMIC -
- - -

A resource that supports data transfer (copy) from the GPU to the CPU.

-
- - ff476259 - D3D11_USAGE_STAGING - D3D11_USAGE_STAGING -
- - -

Describes the level of support for shader caching in the current graphics driver.

-
- -

This enum is used by the D3D_FEATURE_DATA_SHADER_CACHE structure.

-
- - mt492476 - D3D11_SHADER_CACHE_SUPPORT_FLAGS - D3D11_SHADER_CACHE_SUPPORT_FLAGS -
- - -

Indicates that the driver does not support shader caching.

-
- - mt492476 - D3D11_SHADER_CACHE_SUPPORT_NONE - D3D11_SHADER_CACHE_SUPPORT_NONE -
- - -

Indicates that the driver supports an OS-managed shader cache that stores compiled shaders in memory during the current run of the application.

-
- - mt492476 - D3D11_SHADER_CACHE_SUPPORT_AUTOMATIC_INPROC_CACHE - D3D11_SHADER_CACHE_SUPPORT_AUTOMATIC_INPROC_CACHE -
- - -

Indicates that the driver supports an OS-managed shader cache that stores compiled shaders on disk to accelerate future runs of the application.

-
- - mt492476 - D3D11_SHADER_CACHE_SUPPORT_AUTOMATIC_DISK_CACHE - D3D11_SHADER_CACHE_SUPPORT_AUTOMATIC_DISK_CACHE -
- - - Note??This enumeration is supported by the Direct3D 11.1 runtime, which is available on Windows?8 and later operating systems.?

Values that specify minimum precision levels at shader stages.

-
- - hh404495 - D3D11_SHADER_MIN_PRECISION_SUPPORT - D3D11_SHADER_MIN_PRECISION_SUPPORT -
- - -

Minimum precision level is 10-bit.

-
- - hh404495 - D3D11_SHADER_MIN_PRECISION_10_BIT - D3D11_SHADER_MIN_PRECISION_10_BIT -
- - -

Minimum precision level is 16-bit.

-
- - hh404495 - D3D11_SHADER_MIN_PRECISION_16_BIT - D3D11_SHADER_MIN_PRECISION_16_BIT -
- - -

Identifies how to view a buffer resource.

-
- -

This enumeration is used by

-
- - ff476091 - D3D11_BUFFEREX_SRV_FLAG - D3D11_BUFFEREX_SRV_FLAG -
- - -

View the buffer as raw. For more info about raw viewing of buffers, see Raw Views of Buffers.

-
- - ff476091 - D3D11_BUFFEREX_SRV_FLAG_RAW - D3D11_BUFFEREX_SRV_FLAG_RAW -
- - - None. - - - None - None - - - -

Options that specify how to perform shader debug tracking.

-
- -

This enumeration is used by the following methods:

Note?? This API requires the Windows Software Development Kit (SDK) for Windows?8.? -
- - hh404501 - D3D11_SHADER_TRACKING_OPTION - D3D11_SHADER_TRACKING_OPTION -
- - -

No debug tracking is performed.

-
- - hh404501 - D3D11_SHADER_TRACKING_OPTION_IGNORE - D3D11_SHADER_TRACKING_OPTION_IGNORE -
- - -

Track the reading of uninitialized data.

-
- - hh404501 - D3D11_SHADER_TRACKING_OPTION_TRACK_UNINITIALIZED - D3D11_SHADER_TRACKING_OPTION_TRACK_UNINITIALIZED -
- - -

Track read-after-write hazards.

-
- - hh404501 - D3D11_SHADER_TRACKING_OPTION_TRACK_RAW - D3D11_SHADER_TRACKING_OPTION_TRACK_RAW -
- - -

Track write-after-read hazards.

-
- - hh404501 - D3D11_SHADER_TRACKING_OPTION_TRACK_WAR - D3D11_SHADER_TRACKING_OPTION_TRACK_WAR -
- - -

Track write-after-write hazards.

-
- - hh404501 - D3D11_SHADER_TRACKING_OPTION_TRACK_WAW - D3D11_SHADER_TRACKING_OPTION_TRACK_WAW -
- - -

Track that hazards are allowed in which data is written but the value does not change.

-
- - hh404501 - D3D11_SHADER_TRACKING_OPTION_ALLOW_SAME - D3D11_SHADER_TRACKING_OPTION_ALLOW_SAME -
- - -

Track that only one type of atomic operation is used on an address.

-
- - hh404501 - D3D11_SHADER_TRACKING_OPTION_TRACK_ATOMIC_CONSISTENCY - D3D11_SHADER_TRACKING_OPTION_TRACK_ATOMIC_CONSISTENCY -
- - -

Track read-after-write hazards across thread groups.

-
- - hh404501 - D3D11_SHADER_TRACKING_OPTION_TRACK_RAW_ACROSS_THREADGROUPS - D3D11_SHADER_TRACKING_OPTION_TRACK_RAW_ACROSS_THREADGROUPS -
- - -

Track write-after-read hazards across thread groups.

-
- - hh404501 - D3D11_SHADER_TRACKING_OPTION_TRACK_WAR_ACROSS_THREADGROUPS - D3D11_SHADER_TRACKING_OPTION_TRACK_WAR_ACROSS_THREADGROUPS -
- - -

Track write-after-write hazards across thread groups.

-
- - hh404501 - D3D11_SHADER_TRACKING_OPTION_TRACK_WAW_ACROSS_THREADGROUPS - D3D11_SHADER_TRACKING_OPTION_TRACK_WAW_ACROSS_THREADGROUPS -
- - -

Track that only one type of atomic operation is used on an address across thread groups.

-
- - hh404501 - D3D11_SHADER_TRACKING_OPTION_TRACK_ATOMIC_CONSISTENCY_ACROSS_THREADGROUPS - D3D11_SHADER_TRACKING_OPTION_TRACK_ATOMIC_CONSISTENCY_ACROSS_THREADGROUPS -
- - -

Track hazards that are specific to unordered access views (UAVs).

-
- - hh404501 - D3D11_SHADER_TRACKING_OPTION_UAV_SPECIFIC_FLAGS - D3D11_SHADER_TRACKING_OPTION_UAV_SPECIFIC_FLAGS -
- - -

Track all hazards.

-
- - hh404501 - D3D11_SHADER_TRACKING_OPTION_ALL_HAZARDS - D3D11_SHADER_TRACKING_OPTION_ALL_HAZARDS -
- - -

Track all hazards and track that hazards are allowed in which data is written but the value does not change.

-
- - hh404501 - D3D11_SHADER_TRACKING_OPTION_ALL_HAZARDS_ALLOWING_SAME - D3D11_SHADER_TRACKING_OPTION_ALL_HAZARDS_ALLOWING_SAME -
- - -

All of the preceding tracking options are set except .

-
- - hh404501 - D3D11_SHADER_TRACKING_OPTION_ALL_OPTIONS - D3D11_SHADER_TRACKING_OPTION_ALL_OPTIONS -
- - -

Indicates which resource types to track.

-
- -

The or method tracks a specific type of resource.

Note??This API requires the Windows Software Development Kit (SDK) for Windows?8.? -
- - hh404503 - D3D11_SHADER_TRACKING_RESOURCE_TYPE - D3D11_SHADER_TRACKING_RESOURCE_TYPE -
- - -

No resource types are tracked.

-
- - hh404503 - D3D11_SHADER_TRACKING_RESOURCE_TYPE_NONE - D3D11_SHADER_TRACKING_RESOURCE_TYPE_NONE -
- - -

Track device memory that is created with unordered access view (UAV) bind flags.

-
- - hh404503 - D3D11_SHADER_TRACKING_RESOURCE_TYPE_UAV_DEVICEMEMORY - D3D11_SHADER_TRACKING_RESOURCE_TYPE_UAV_DEVICEMEMORY -
- - -

Track device memory that is created without UAV bind flags.

-
- - hh404503 - D3D11_SHADER_TRACKING_RESOURCE_TYPE_NON_UAV_DEVICEMEMORY - D3D11_SHADER_TRACKING_RESOURCE_TYPE_NON_UAV_DEVICEMEMORY -
- - -

Track all device memory.

-
- - hh404503 - D3D11_SHADER_TRACKING_RESOURCE_TYPE_ALL_DEVICEMEMORY - D3D11_SHADER_TRACKING_RESOURCE_TYPE_ALL_DEVICEMEMORY -
- - -

Track all shaders that use group shared memory.

-
- - hh404503 - D3D11_SHADER_TRACKING_RESOURCE_TYPE_GROUPSHARED_MEMORY - D3D11_SHADER_TRACKING_RESOURCE_TYPE_GROUPSHARED_MEMORY -
- - -

Track all device memory except device memory that is created without UAV bind flags.

-
- - hh404503 - D3D11_SHADER_TRACKING_RESOURCE_TYPE_ALL_SHARED_MEMORY - D3D11_SHADER_TRACKING_RESOURCE_TYPE_ALL_SHARED_MEMORY -
- - -

Track all device memory except device memory that is created with UAV bind flags.

-
- - hh404503 - D3D11_SHADER_TRACKING_RESOURCE_TYPE_GROUPSHARED_NON_UAV - D3D11_SHADER_TRACKING_RESOURCE_TYPE_GROUPSHARED_NON_UAV -
- - -

Track all memory on the device.

-
- - hh404503 - D3D11_SHADER_TRACKING_RESOURCE_TYPE_ALL - D3D11_SHADER_TRACKING_RESOURCE_TYPE_ALL -
- - -

Specifies a multi-sample pattern type.

-
- -

An app calls to get the number of quality levels available during multisampling. A 0 quality level means the hardware does not support multisampling for the particular format. If the number of quality levels is greater than 0 and the hardware supports the fixed sample patterns for the sample count, the app can request the fixed patterns by specifying quality level as either or . The app can call to check for support of the standard fixed patterns. If the hardware only supports the fixed patterns but no additional vendor-specific patterns, the runtime can report the number of quality levels as 1, and the hardware can pretend 0 quality level behaves the same as quality level equal to .

The runtime defines the following standard sample patterns for 1(trivial), 2, 4, 8, and 16 sample counts. Hardware must support 1, 4, and 8 sample counts. Hardware vendors can expose more sample counts beyond these. However, if vendors support 2, 4(required), 8(required), or 16, they must also support the corresponding standard pattern or center pattern for each of those sample counts.

- - - ff476218 - D3D11_STANDARD_MULTISAMPLE_QUALITY_LEVELS - D3D11_STANDARD_MULTISAMPLE_QUALITY_LEVELS - - -

-

Pre-defined multi-sample patterns required for Direct3D?11 and Direct3D?10.1 hardware.

-
- - ff476218 - D3D11_STANDARD_MULTISAMPLE_PATTERN - D3D11_STANDARD_MULTISAMPLE_PATTERN -
- - -

Pattern where all of the samples are located at the pixel center.

-
- - ff476218 - D3D11_CENTER_MULTISAMPLE_PATTERN - D3D11_CENTER_MULTISAMPLE_PATTERN -
- - -

The stencil operations that can be performed during depth-stencil testing.

-
- - ff476219 - D3D11_STENCIL_OP - D3D11_STENCIL_OP -
- - -

Keep the existing stencil data.

-
- - ff476219 - D3D11_STENCIL_OP_KEEP - D3D11_STENCIL_OP_KEEP -
- - -

Set the stencil data to 0.

-
- - ff476219 - D3D11_STENCIL_OP_ZERO - D3D11_STENCIL_OP_ZERO -
- - -

Set the stencil data to the reference value set by calling .

-
- - ff476219 - D3D11_STENCIL_OP_REPLACE - D3D11_STENCIL_OP_REPLACE -
- - -

Increment the stencil value by 1, and clamp the result.

-
- - ff476219 - D3D11_STENCIL_OP_INCR_SAT - D3D11_STENCIL_OP_INCR_SAT -
- - -

Decrement the stencil value by 1, and clamp the result.

-
- - ff476219 - D3D11_STENCIL_OP_DECR_SAT - D3D11_STENCIL_OP_DECR_SAT -
- - -

Invert the stencil data.

-
- - ff476219 - D3D11_STENCIL_OP_INVERT - D3D11_STENCIL_OP_INVERT -
- - -

Increment the stencil value by 1, and wrap the result if necessary.

-
- - ff476219 - D3D11_STENCIL_OP_INCR - D3D11_STENCIL_OP_INCR -
- - -

Decrement the stencil value by 1, and wrap the result if necessary.

-
- - ff476219 - D3D11_STENCIL_OP_DECR - D3D11_STENCIL_OP_DECR -
- - -

Identify a technique for resolving texture coordinates that are outside of the boundaries of a texture.

-
- - ff476256 - D3D11_TEXTURE_ADDRESS_MODE - D3D11_TEXTURE_ADDRESS_MODE -
- - -

Tile the texture at every (u,v) integer junction. For example, for u values between 0 and 3, the texture is repeated three times.

-
- - ff476256 - D3D11_TEXTURE_ADDRESS_WRAP - D3D11_TEXTURE_ADDRESS_WRAP -
- - -

Flip the texture at every (u,v) integer junction. For u values between 0 and 1, for example, the texture is addressed normally; between 1 and 2, the texture is flipped (mirrored); between 2 and 3, the texture is normal again; and so on.

-
- - ff476256 - D3D11_TEXTURE_ADDRESS_MIRROR - D3D11_TEXTURE_ADDRESS_MIRROR -
- - -

Texture coordinates outside the range [0.0, 1.0] are set to the texture color at 0.0 or 1.0, respectively.

-
- - ff476256 - D3D11_TEXTURE_ADDRESS_CLAMP - D3D11_TEXTURE_ADDRESS_CLAMP -
- - -

Texture coordinates outside the range [0.0, 1.0] are set to the border color specified in or HLSL code.

-
- - ff476256 - D3D11_TEXTURE_ADDRESS_BORDER - D3D11_TEXTURE_ADDRESS_BORDER -
- - -

Similar to and . Takes the absolute value of the texture coordinate (thus, mirroring around 0), and then clamps to the maximum value.

-
- - ff476256 - D3D11_TEXTURE_ADDRESS_MIRROR_ONCE - D3D11_TEXTURE_ADDRESS_MIRROR_ONCE -
- - -

The different faces of a cube texture.

-
- - ff476255 - D3D11_TEXTURECUBE_FACE - D3D11_TEXTURECUBE_FACE -
- - -

Positive X face.

-
- - ff476255 - D3D11_TEXTURECUBE_FACE_POSITIVE_X - D3D11_TEXTURECUBE_FACE_POSITIVE_X -
- - -

Negative X face.

-
- - ff476255 - D3D11_TEXTURECUBE_FACE_NEGATIVE_X - D3D11_TEXTURECUBE_FACE_NEGATIVE_X -
- - -

Positive Y face.

-
- - ff476255 - D3D11_TEXTURECUBE_FACE_POSITIVE_Y - D3D11_TEXTURECUBE_FACE_POSITIVE_Y -
- - -

Negative Y face.

-
- - ff476255 - D3D11_TEXTURECUBE_FACE_NEGATIVE_Y - D3D11_TEXTURECUBE_FACE_NEGATIVE_Y -
- - -

Positive Z face.

-
- - ff476255 - D3D11_TEXTURECUBE_FACE_POSITIVE_Z - D3D11_TEXTURECUBE_FACE_POSITIVE_Z -
- - -

Negative Z face.

-
- - ff476255 - D3D11_TEXTURECUBE_FACE_NEGATIVE_Z - D3D11_TEXTURECUBE_FACE_NEGATIVE_Z -
- - -

Specifies texture layout options.

-
- -

This enumeration controls the swizzle pattern of default textures and enable map support on default textures. Callers must query to ensure that each option is supported.

The standard swizzle formats applies within each page-sized chunk, and pages are laid out in linear order with respect to one another. A 16-bit interleave pattern defines the conversion from pre-swizzled intra-page location to the post-swizzled location.

To demonstrate, consider the 32bpp swizzle format above. This is represented by the following interleave masks, where bits on the left are most-significant.

UINT xBytesMask = 1010 1010 1000 1111 - UINT yMask = 0101 0101 0111 0000 -

To compute the swizzled address, the following code could be used (where the _pdep_u32 instruction is supported):

UINT swizzledOffset = resourceBaseOffset + _pdep_u32(xOffset, xBytesMask) + _pdep_u32(yOffset, yBytesMask); - -
- - dn899168 - D3D11_TEXTURE_LAYOUT - D3D11_TEXTURE_LAYOUT -
- - -

The texture layout is undefined, and is selected by the driver.

-
- - dn899168 - D3D11_TEXTURE_LAYOUT_UNDEFINED - D3D11_TEXTURE_LAYOUT_UNDEFINED -
- - -

Data for the texture is stored in row major (sometimes called pitch-linear) order.

-
- - dn899168 - D3D11_TEXTURE_LAYOUT_ROW_MAJOR - D3D11_TEXTURE_LAYOUT_ROW_MAJOR -
- - -

A default texture uses the standardized swizzle pattern.

-
- - dn899168 - D3D11_TEXTURE_LAYOUT_64K_STANDARD_SWIZZLE - D3D11_TEXTURE_LAYOUT_64K_STANDARD_SWIZZLE -
- - -

Identifies how to copy a tile.

-
- - dn280439 - D3D11_TILE_COPY_FLAG - D3D11_TILE_COPY_FLAG -
- - -

Indicates that the GPU isn't currently referencing any of the portions of destination memory being written. -

-
- - dn280439 - D3D11_TILE_COPY_NO_OVERWRITE - D3D11_TILE_COPY_NO_OVERWRITE -
- - -

Indicates that the operation involves copying a linear buffer to a swizzled tiled resource. This means to copy tile data from the - specified buffer location, reading tiles sequentially, - to the specified tile region (in x,y,z order if the region is a box), swizzling to optimal hardware memory layout as needed. - In this call, you specify the source data with the pBuffer parameter and the destination with the pTiledResource parameter. -

-
- - dn280439 - D3D11_TILE_COPY_LINEAR_BUFFER_TO_SWIZZLED_TILED_RESOURCE - D3D11_TILE_COPY_LINEAR_BUFFER_TO_SWIZZLED_TILED_RESOURCE -
- - -

Indicates that the operation involves copying a swizzled tiled resource to a linear buffer. This means to copy tile data from the tile region, reading tiles sequentially (in x,y,z order if the region is a box), - to the specified buffer location, deswizzling to linear memory layout as needed. - In this call, you specify the source data with the pTiledResource parameter and the destination with the pBuffer parameter. -

-
- - dn280439 - D3D11_TILE_COPY_SWIZZLED_TILED_RESOURCE_TO_LINEAR_BUFFER - D3D11_TILE_COPY_SWIZZLED_TILED_RESOURCE_TO_LINEAR_BUFFER -
- - - None. - - - None - None - - - -

Indicates the tier level at which tiled resources are supported.

-
- - dn280435 - D3D11_TILED_RESOURCES_TIER - D3D11_TILED_RESOURCES_TIER -
- - -

Tiled resources are not supported.

-
- - dn280435 - D3D11_TILED_RESOURCES_NOT_SUPPORTED - D3D11_TILED_RESOURCES_NOT_SUPPORTED -
- - -

Tier_1 tiled resources are supported.

The device supports calls to CreateTexture2D and so on with the flag.

The device supports calls to CreateBuffer with the flag.

If you access tiles (read or write) that are null-mapped, you get undefined behavior, which includes device-removed. Apps can map all tiles to a single "default" tile to avoid this condition.

-
- - dn280435 - D3D11_TILED_RESOURCES_TIER_1 - D3D11_TILED_RESOURCES_TIER_1 -
- - -

Tier_2 tiled resources are supported.

Superset of Tier_1 functionality, which includes this additional support:

  • On Tier_1, if the size of a texture mipmap level is an integer multiple of the standard tile shape for its format, it is guaranteed to be nonpacked. On Tier_2, this guarantee is expanded to include mipmap levels whose size is at least one standard tile shape. For more info, see .
  • Shader instructions are available for clamping level-of-detail (LOD) and for obtaining status about the shader operation. For info about one of these shader instructions, see Sample(S,float,int,float,uint).
  • Reading from null-mapped tiles treat that sampled value as zero. Writes to null-mapped tiles are discarded.
-
- - dn280435 - D3D11_TILED_RESOURCES_TIER_2 - D3D11_TILED_RESOURCES_TIER_2 -
- - -

Tier_3 tiled resources are supported.

Superset of Tier_2 functionality, Tier 3 is essentially Tier 2 but with the additional support of Texture3D for Tiled Resources.

-
- - dn280435 - D3D11_TILED_RESOURCES_TIER_3 - D3D11_TILED_RESOURCES_TIER_3 -
- - -

Identifies how to perform a tile-mapping operation.

-
- - dn280440 - D3D11_TILE_MAPPING_FLAG - D3D11_TILE_MAPPING_FLAG -
- - -

Indicates that no overwriting of tiles occurs in the tile-mapping operation.

-
- - dn280440 - D3D11_TILE_MAPPING_NO_OVERWRITE - D3D11_TILE_MAPPING_NO_OVERWRITE -
- - - None. - - - None - None - - - -

Specifies a range of tile mappings to use with .

-
- - dn280441 - D3D11_TILE_RANGE_FLAG - D3D11_TILE_RANGE_FLAG -
- - - No documentation. - - - dn280441 - D3D11_TILE_RANGE_NULL - D3D11_TILE_RANGE_NULL - - - - No documentation. - - - dn280441 - D3D11_TILE_RANGE_SKIP - D3D11_TILE_RANGE_SKIP - - - - No documentation. - - - dn280441 - D3D11_TILE_RANGE_REUSE_SINGLE_TILE - D3D11_TILE_RANGE_REUSE_SINGLE_TILE - - - - None. - - - None - None - - - -

Identifies unordered-access view options for a buffer resource.

-
- - ff476096 - D3D11_BUFFER_UAV_FLAG - D3D11_BUFFER_UAV_FLAG -
- - -

Resource contains raw, unstructured data. Requires the UAV format to be . For more info about raw viewing of buffers, see Raw Views of Buffers.

-
- - ff476096 - D3D11_BUFFER_UAV_FLAG_RAW - D3D11_BUFFER_UAV_FLAG_RAW -
- - -

Allow data to be appended to the end of the buffer. flag must also be used for any view that will be used as a AppendStructuredBuffer or a ConsumeStructuredBuffer. Requires the UAV format to be .

-
- - ff476096 - D3D11_BUFFER_UAV_FLAG_APPEND - D3D11_BUFFER_UAV_FLAG_APPEND -
- - -

Adds a counter to the unordered-access-view buffer. can only be used on a UAV that is a RWStructuredBuffer and it enables the functionality needed for the IncrementCounter and DecrementCounter methods in HLSL. Requires the UAV format to be .

-
- - ff476096 - D3D11_BUFFER_UAV_FLAG_COUNTER - D3D11_BUFFER_UAV_FLAG_COUNTER -
- - - None. - - - None - None - - - -

Unordered-access view options.

-
- -

This enumeration is used by a unordered access-view description (see ).

-
- - ff476257 - D3D11_UAV_DIMENSION - D3D11_UAV_DIMENSION -
- - -

The view type is unknown.

-
- - ff476257 - D3D11_UAV_DIMENSION_UNKNOWN - D3D11_UAV_DIMENSION_UNKNOWN -
- - -

View the resource as a buffer.

-
- - ff476257 - D3D11_UAV_DIMENSION_BUFFER - D3D11_UAV_DIMENSION_BUFFER -
- - -

View the resource as a 1D texture.

-
- - ff476257 - D3D11_UAV_DIMENSION_TEXTURE1D - D3D11_UAV_DIMENSION_TEXTURE1D -
- - -

View the resource as a 1D texture array.

-
- - ff476257 - D3D11_UAV_DIMENSION_TEXTURE1DARRAY - D3D11_UAV_DIMENSION_TEXTURE1DARRAY -
- - -

View the resource as a 2D texture.

-
- - ff476257 - D3D11_UAV_DIMENSION_TEXTURE2D - D3D11_UAV_DIMENSION_TEXTURE2D -
- - -

View the resource as a 2D texture array.

-
- - ff476257 - D3D11_UAV_DIMENSION_TEXTURE2DARRAY - D3D11_UAV_DIMENSION_TEXTURE2DARRAY -
- - -

View the resource as a 3D texture array.

-
- - ff476257 - D3D11_UAV_DIMENSION_TEXTURE3D - D3D11_UAV_DIMENSION_TEXTURE3D -
- - -

Specifies how to access a resource that is used in a video decoding output view.

-
- -

This enumeration is used with the structure.

-
- - hh447636 - D3D11_VDOV_DIMENSION - D3D11_VDOV_DIMENSION -
- - -

Not a valid value.

-
- - hh447636 - D3D11_VDOV_DIMENSION_UNKNOWN - D3D11_VDOV_DIMENSION_UNKNOWN -
- - -

The resource will be accessed as a 2D texture. -

-
- - hh447636 - D3D11_VDOV_DIMENSION_TEXTURE2D - D3D11_VDOV_DIMENSION_TEXTURE2D -
- - -

Specifies a type of compressed buffer for decoding.

-
- - hh447642 - D3D11_VIDEO_DECODER_BUFFER_TYPE - D3D11_VIDEO_DECODER_BUFFER_TYPE -
- - -

Picture decoding parameter buffer. -

-
- - hh447642 - D3D11_VIDEO_DECODER_BUFFER_PICTURE_PARAMETERS - D3D11_VIDEO_DECODER_BUFFER_PICTURE_PARAMETERS -
- - -

Macroblock control command buffer. -

-
- - hh447642 - D3D11_VIDEO_DECODER_BUFFER_MACROBLOCK_CONTROL - D3D11_VIDEO_DECODER_BUFFER_MACROBLOCK_CONTROL -
- - -

Residual difference block data buffer. -

-
- - hh447642 - D3D11_VIDEO_DECODER_BUFFER_RESIDUAL_DIFFERENCE - D3D11_VIDEO_DECODER_BUFFER_RESIDUAL_DIFFERENCE -
- - -

Deblocking filter control command buffer. -

-
- - hh447642 - D3D11_VIDEO_DECODER_BUFFER_DEBLOCKING_CONTROL - D3D11_VIDEO_DECODER_BUFFER_DEBLOCKING_CONTROL -
- - -

Inverse quantization matrix buffer. -

-
- - hh447642 - D3D11_VIDEO_DECODER_BUFFER_INVERSE_QUANTIZATION_MATRIX - D3D11_VIDEO_DECODER_BUFFER_INVERSE_QUANTIZATION_MATRIX -
- - -

Slice-control buffer. -

-
- - hh447642 - D3D11_VIDEO_DECODER_BUFFER_SLICE_CONTROL - D3D11_VIDEO_DECODER_BUFFER_SLICE_CONTROL -
- - -

Bitstream data buffer. -

-
- - hh447642 - D3D11_VIDEO_DECODER_BUFFER_BITSTREAM - D3D11_VIDEO_DECODER_BUFFER_BITSTREAM -
- - -

Motion vector buffer. -

-
- - hh447642 - D3D11_VIDEO_DECODER_BUFFER_MOTION_VECTOR - D3D11_VIDEO_DECODER_BUFFER_MOTION_VECTOR -
- - -

Film grain synthesis data buffer. -

-
- - hh447642 - D3D11_VIDEO_DECODER_BUFFER_FILM_GRAIN - D3D11_VIDEO_DECODER_BUFFER_FILM_GRAIN -
- - -

Specifies capabilities of the video decoder.

-
- - dn894120 - D3D11_VIDEO_DECODER_CAPS - D3D11_VIDEO_DECODER_CAPS -
- - -

Indicates that the graphics driver supports at least a subset of downsampling operations.

-
- - dn894120 - D3D11_VIDEO_DECODER_CAPS_DOWNSAMPLE - D3D11_VIDEO_DECODER_CAPS_DOWNSAMPLE -
- - -

Indicates that the decoding hardware cannot support the decode operation in real-time. Decoding is still supported for transcoding scenarios. With this capability, it is possible that decoding can occur in real-time if downsampling is enabled. -

-
- - dn894120 - D3D11_VIDEO_DECODER_CAPS_NON_REAL_TIME - D3D11_VIDEO_DECODER_CAPS_NON_REAL_TIME -
- - -

Indicates that the driver supports changing down sample parameters after the initial down sample parameters have been applied. For more information, see .

-
- - dn894120 - D3D11_VIDEO_DECODER_CAPS_DOWNSAMPLE_DYNAMIC - D3D11_VIDEO_DECODER_CAPS_DOWNSAMPLE_DYNAMIC -
- - - No documentation. - - - dn894120 - D3D11_VIDEO_DECODER_CAPS_DOWNSAMPLE_REQUIRED - D3D11_VIDEO_DECODER_CAPS_DOWNSAMPLE_REQUIRED - - - - No documentation. - - - dn894120 - D3D11_VIDEO_DECODER_CAPS_UNSUPPORTED - D3D11_VIDEO_DECODER_CAPS_UNSUPPORTED - - - -

Describes how a video stream is interlaced.

-
- - hh447647 - D3D11_VIDEO_FRAME_FORMAT - D3D11_VIDEO_FRAME_FORMAT -
- - -

Frames are progressive.

-
- - hh447647 - D3D11_VIDEO_FRAME_FORMAT_PROGRESSIVE - D3D11_VIDEO_FRAME_FORMAT_PROGRESSIVE -
- - -

Frames are interlaced. The top field of each frame is displayed first.

-
- - hh447647 - D3D11_VIDEO_FRAME_FORMAT_INTERLACED_TOP_FIELD_FIRST - D3D11_VIDEO_FRAME_FORMAT_INTERLACED_TOP_FIELD_FIRST -
- - -

Frame are interlaced. The bottom field of each frame is displayed first.

-
- - hh447647 - D3D11_VIDEO_FRAME_FORMAT_INTERLACED_BOTTOM_FIELD_FIRST - D3D11_VIDEO_FRAME_FORMAT_INTERLACED_BOTTOM_FIELD_FIRST -
- - -

Specifies the alpha fill mode for video processing.

-
- - hh447648 - D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE - D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE -
- - -

Alpha values inside the target rectangle are set to opaque.

-
- - hh447648 - D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE_OPAQUE - D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE_OPAQUE -
- - -

Alpha values inside the target rectangle are set to the alpha value specified in the background color. To set the background color, call the method.

-
- - hh447648 - D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE_BACKGROUND - D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE_BACKGROUND -
- - -

Existing alpha values remain unchanged in the output surface.

-
- - hh447648 - D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE_DESTINATION - D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE_DESTINATION -
- - -

Alpha values are taken from an input stream, scaled, and copied to the corresponding destination rectangle for that stream. The input stream is specified in the StreamIndex parameter of the method.

If the input stream does not have alpha data, the video processor sets the alpha values in the target rectangle to opaque. If the input stream is disabled or the source rectangle is empty, the alpha values in the target rectangle are not modified.

-
- - hh447648 - D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE_SOURCE_STREAM - D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE_SOURCE_STREAM -
- - -

Specifies the automatic image processing capabilities of the video processor.

-
- - hh447649 - D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS - D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS -
- - -

Denoise.

-
- - hh447649 - D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_DENOISE - D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_DENOISE -
- - -

Deringing.

-
- - hh447649 - D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_DERINGING - D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_DERINGING -
- - -

Edge enhancement.

-
- - hh447649 - D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_EDGE_ENHANCEMENT - D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_EDGE_ENHANCEMENT -
- - -

Color correction.

-
- - hh447649 - D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_COLOR_CORRECTION - D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_COLOR_CORRECTION -
- - -

Flesh-tone mapping.

-
- - hh447649 - D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_FLESH_TONE_MAPPING - D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_FLESH_TONE_MAPPING -
- - -

Image stabilization.

-
- - hh447649 - D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_IMAGE_STABILIZATION - D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_IMAGE_STABILIZATION -
- - -

Enhanced image resolution.

-
- - hh447649 - D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_SUPER_RESOLUTION - D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_SUPER_RESOLUTION -
- - -

Anamorphic scaling.

-
- - hh447649 - D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_ANAMORPHIC_SCALING - D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_ANAMORPHIC_SCALING -
- - -

Specifies flags that indicate the most efficient methods for performing video processing operations.

-
- - dn894122 - D3D11_VIDEO_PROCESSOR_BEHAVIOR_HINTS - D3D11_VIDEO_PROCESSOR_BEHAVIOR_HINTS -
- - -

Multi-plane overlay hardware can perform the rotation operation more efficiently than the method.

-
- - dn894122 - D3D11_VIDEO_PROCESSOR_BEHAVIOR_HINT_MULTIPLANE_OVERLAY_ROTATION - D3D11_VIDEO_PROCESSOR_BEHAVIOR_HINT_MULTIPLANE_OVERLAY_ROTATION -
- - -

Multi-plane overlay hardware can perform the scaling operation more efficiently than the method.

-
- - dn894122 - D3D11_VIDEO_PROCESSOR_BEHAVIOR_HINT_MULTIPLANE_OVERLAY_RESIZE - D3D11_VIDEO_PROCESSOR_BEHAVIOR_HINT_MULTIPLANE_OVERLAY_RESIZE -
- - -

Multi-plane overlay hardware can perform the colorspace conversion operation more efficiently than the method.

-
- - dn894122 - D3D11_VIDEO_PROCESSOR_BEHAVIOR_HINT_MULTIPLANE_OVERLAY_COLOR_SPACE_CONVERSION - D3D11_VIDEO_PROCESSOR_BEHAVIOR_HINT_MULTIPLANE_OVERLAY_COLOR_SPACE_CONVERSION -
- - -

The video processor output data should be at least triple buffered for optimal performance.

-
- - dn894122 - D3D11_VIDEO_PROCESSOR_BEHAVIOR_HINT_TRIPLE_BUFFER_OUTPUT - D3D11_VIDEO_PROCESSOR_BEHAVIOR_HINT_TRIPLE_BUFFER_OUTPUT -
- - -

Defines video processing capabilities for a Microsoft Direct3D?11 video processor.

-
- - hh447654 - D3D11_VIDEO_PROCESSOR_DEVICE_CAPS - D3D11_VIDEO_PROCESSOR_DEVICE_CAPS -
- - -

The video processor can blend video content in linear color space. Most video content is gamma corrected, resulting in nonlinear values. This capability flag means that the video processor converts colors to linear space before blending, which produces better results.

-
- - hh447654 - D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_LINEAR_SPACE - D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_LINEAR_SPACE -
- - -

The video processor supports the xvYCC color space for YCbCr data.

-
- - hh447654 - D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_xvYCC - D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_xvYCC -
- - -

The video processor can perform range conversion when the input and output are both RGB but use different color ranges (0-255 or 16-235, for 8-bit RGB).

-
- - hh447654 - D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_RGB_RANGE_CONVERSION - D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_RGB_RANGE_CONVERSION -
- - -

The video processor can apply a matrix conversion to YCbCr values when the input and output are both YCbCr. For example, the driver can convert colors from BT.601 to BT.709.

-
- - hh447654 - D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_YCbCr_MATRIX_CONVERSION - D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_YCbCr_MATRIX_CONVERSION -
- - -

The video processor supports YUV nominal range .

Supported in Windows?8.1 and later.

-
- - hh447654 - D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_NOMINAL_RANGE - D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_NOMINAL_RANGE -
- - -

Defines features that a Microsoft Direct3D?11 video processor can support.

-
- - hh447655 - D3D11_VIDEO_PROCESSOR_FEATURE_CAPS - D3D11_VIDEO_PROCESSOR_FEATURE_CAPS -
- - -

The video processor can set alpha values on the output pixels. For more information, see .

-
- - hh447655 - D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_ALPHA_FILL - D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_ALPHA_FILL -
- - -

The video processor can downsample the video output. For more information, see .

-
- - hh447655 - D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_CONSTRICTION - D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_CONSTRICTION -
- - -

The video processor can perform luma keying. For more information, see .

-
- - hh447655 - D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_LUMA_KEY - D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_LUMA_KEY -
- - -

The video processor can apply alpha values from color palette entries.

-
- - hh447655 - D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_ALPHA_PALETTE - D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_ALPHA_PALETTE -
- - -

The driver does not support full video processing capabilities. If this capability flag is set, the video processor has the following limitations:

  • A maximum of two streams are supported:
    • The first stream must be either NV12 or YUY2.
    • The second stream must be AYUV, AI44, or IA44.
  • Image adjustment (proc amp) controls are applied to the entire video processing blit, rather than per stream.
  • Support for per-stream planar alpha is not reliable. (Per-pixel alpha is supported, however.)
-
- - hh447655 - D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_LEGACY - D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_LEGACY -
- - -

The video processor can support 3D stereo video. For more information, see .

All drivers setting this caps must support the following stereo formats: , , and .

-
- - hh447655 - D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_STEREO - D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_STEREO -
- - -

The driver can rotate the input data either 90, 180, or 270 degrees clockwise as part of the video processing operation.

-
- - hh447655 - D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_ROTATION - D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_ROTATION -
- - -

The driver supports the VideoProcessorSetStreamAlpha call.

-
- - hh447655 - D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_ALPHA_STREAM - D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_ALPHA_STREAM -
- - -

The driver supports the VideoProcessorSetStreamPixelAspectRatio call.

-
- - hh447655 - D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_PIXEL_ASPECT_RATIO - D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_PIXEL_ASPECT_RATIO -
- - - No documentation. - - - hh447655 - D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_MIRROR - D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_MIRROR - - - - No documentation. - - - hh447655 - D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_SHADER_USAGE - D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_SHADER_USAGE - - - - No documentation. - - - hh447655 - D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_METADATA_HDR10 - D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_METADATA_HDR10 - - - -

Identifies a video processor filter.

-
- - hh447656 - D3D11_VIDEO_PROCESSOR_FILTER - D3D11_VIDEO_PROCESSOR_FILTER -
- - -

Brightness filter.

-
- - hh447656 - D3D11_VIDEO_PROCESSOR_FILTER_BRIGHTNESS - D3D11_VIDEO_PROCESSOR_FILTER_BRIGHTNESS -
- - -

Contrast filter.

-
- - hh447656 - D3D11_VIDEO_PROCESSOR_FILTER_CONTRAST - D3D11_VIDEO_PROCESSOR_FILTER_CONTRAST -
- - -

Hue filter.

-
- - hh447656 - D3D11_VIDEO_PROCESSOR_FILTER_HUE - D3D11_VIDEO_PROCESSOR_FILTER_HUE -
- - -

Saturation filter.

-
- - hh447656 - D3D11_VIDEO_PROCESSOR_FILTER_SATURATION - D3D11_VIDEO_PROCESSOR_FILTER_SATURATION -
- - -

Noise reduction filter.

-
- - hh447656 - D3D11_VIDEO_PROCESSOR_FILTER_NOISE_REDUCTION - D3D11_VIDEO_PROCESSOR_FILTER_NOISE_REDUCTION -
- - -

Edge enhancement filter.

-
- - hh447656 - D3D11_VIDEO_PROCESSOR_FILTER_EDGE_ENHANCEMENT - D3D11_VIDEO_PROCESSOR_FILTER_EDGE_ENHANCEMENT -
- - -

Anamorphic scaling filter.

-
- - hh447656 - D3D11_VIDEO_PROCESSOR_FILTER_ANAMORPHIC_SCALING - D3D11_VIDEO_PROCESSOR_FILTER_ANAMORPHIC_SCALING -
- - -

Stereo adjustment filter. When stereo 3D video is enabled, this filter adjusts the offset between the left and right views, allowing the user to reduce potential eye strain.

The filter value indicates the amount by which the left and right views are adjusted. A positive value shifts the images away from each other: the left image toward the left, and the right image toward the right. A negative value shifts the images in the opposite directions, closer to each other.

-
- - hh447656 - D3D11_VIDEO_PROCESSOR_FILTER_STEREO_ADJUSTMENT - D3D11_VIDEO_PROCESSOR_FILTER_STEREO_ADJUSTMENT -
- - -

Defines image filter capabilities for a Microsoft Direct3D?11 video processor.

-
- -

These capability flags indicate support for the image filters defined by the enumeration. To apply a particular filter, call the method.

-
- - hh447671 - D3D11_VIDEO_PROCESSOR_FILTER_CAPS - D3D11_VIDEO_PROCESSOR_FILTER_CAPS -
- - -

The video processor can adjust the brightness level.

-
- - hh447671 - D3D11_VIDEO_PROCESSOR_FILTER_CAPS_BRIGHTNESS - D3D11_VIDEO_PROCESSOR_FILTER_CAPS_BRIGHTNESS -
- - -

The video processor can adjust the contrast level.

-
- - hh447671 - D3D11_VIDEO_PROCESSOR_FILTER_CAPS_CONTRAST - D3D11_VIDEO_PROCESSOR_FILTER_CAPS_CONTRAST -
- - -

The video processor can adjust hue.

-
- - hh447671 - D3D11_VIDEO_PROCESSOR_FILTER_CAPS_HUE - D3D11_VIDEO_PROCESSOR_FILTER_CAPS_HUE -
- - -

The video processor can adjust the saturation level.

-
- - hh447671 - D3D11_VIDEO_PROCESSOR_FILTER_CAPS_SATURATION - D3D11_VIDEO_PROCESSOR_FILTER_CAPS_SATURATION -
- - -

The video processor can perform noise reduction.

-
- - hh447671 - D3D11_VIDEO_PROCESSOR_FILTER_CAPS_NOISE_REDUCTION - D3D11_VIDEO_PROCESSOR_FILTER_CAPS_NOISE_REDUCTION -
- - -

The video processor can perform edge enhancement.

-
- - hh447671 - D3D11_VIDEO_PROCESSOR_FILTER_CAPS_EDGE_ENHANCEMENT - D3D11_VIDEO_PROCESSOR_FILTER_CAPS_EDGE_ENHANCEMENT -
- - -

The video processor can perform anamorphic scaling. Anamorphic scaling can be used to stretch 4:3 content to a widescreen 16:9 aspect ratio.

-
- - hh447671 - D3D11_VIDEO_PROCESSOR_FILTER_CAPS_ANAMORPHIC_SCALING - D3D11_VIDEO_PROCESSOR_FILTER_CAPS_ANAMORPHIC_SCALING -
- - -

For stereo 3D video, the video processor can adjust the offset between the left and right views, allowing the user to reduce potential eye strain.

-
- - hh447671 - D3D11_VIDEO_PROCESSOR_FILTER_CAPS_STEREO_ADJUSTMENT - D3D11_VIDEO_PROCESSOR_FILTER_CAPS_STEREO_ADJUSTMENT -
- - -

Defines capabilities related to input formats for a Microsoft Direct3D?11 video processor.

-
- -

These flags define video processing capabilities that usually are not needed, and that video devices are therefore not required to support.

The first three flags relate to RGB support for functions that are normally applied to YCbCr video: deinterlacing, color adjustment, and luma keying. A device that supports these functions for YCbCr is not required to support them for RGB input. Supporting RGB input for these functions is an additional capability, reflected by these constants. Note that the driver might convert the input to another color space, perform the indicated function, and then convert the result back to RGB.

Similarly, a device that supports deinterlacing is not required to support deinterlacing of palettized formats. This capability is indicated by the flag.

-
- - hh447658 - D3D11_VIDEO_PROCESSOR_FORMAT_CAPS - D3D11_VIDEO_PROCESSOR_FORMAT_CAPS -
- - -

The video processor can deinterlace an input stream that contains interlaced RGB video.

-
- - hh447658 - D3D11_VIDEO_PROCESSOR_FORMAT_CAPS_RGB_INTERLACED - D3D11_VIDEO_PROCESSOR_FORMAT_CAPS_RGB_INTERLACED -
- - -

The video processor can perform color adjustment on RGB video.

-
- - hh447658 - D3D11_VIDEO_PROCESSOR_FORMAT_CAPS_RGB_PROCAMP - D3D11_VIDEO_PROCESSOR_FORMAT_CAPS_RGB_PROCAMP -
- - -

The video processor can perform luma keying on RGB video.

-
- - hh447658 - D3D11_VIDEO_PROCESSOR_FORMAT_CAPS_RGB_LUMA_KEY - D3D11_VIDEO_PROCESSOR_FORMAT_CAPS_RGB_LUMA_KEY -
- - -

The video processor can deinterlace input streams with palettized color formats.

-
- - hh447658 - D3D11_VIDEO_PROCESSOR_FORMAT_CAPS_PALETTE_INTERLACED - D3D11_VIDEO_PROCESSOR_FORMAT_CAPS_PALETTE_INTERLACED -
- - -

Specifies how a video format can be used for video processing.

-
- - hh447659 - D3D11_VIDEO_PROCESSOR_FORMAT_SUPPORT - D3D11_VIDEO_PROCESSOR_FORMAT_SUPPORT -
- - -

The format can be used as the input to the video processor.

-
- - hh447659 - D3D11_VIDEO_PROCESSOR_FORMAT_SUPPORT_INPUT - D3D11_VIDEO_PROCESSOR_FORMAT_SUPPORT_INPUT -
- - -

The format can be used as the output from the video processor.

-
- - hh447659 - D3D11_VIDEO_PROCESSOR_FORMAT_SUPPORT_OUTPUT - D3D11_VIDEO_PROCESSOR_FORMAT_SUPPORT_OUTPUT -
- - -

Specifies the inverse telecine (IVTC) capabilities of a video processor.

-
- - hh447661 - D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS - D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS -
- - -

The video processor can reverse 3:2 pulldown.

-
- - hh447661 - D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_32 - D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_32 -
- - -

The video processor can reverse 2:2 pulldown.

-
- - hh447661 - D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_22 - D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_22 -
- - -

The video processor can reverse 2:2:2:4 pulldown.

-
- - hh447661 - D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_2224 - D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_2224 -
- - -

The video processor can reverse 2:3:3:2 pulldown.

-
- - hh447661 - D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_2332 - D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_2332 -
- - -

The video processor can reverse 3:2:3:2:2 pulldown.

-
- - hh447661 - D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_32322 - D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_32322 -
- - -

The video processor can reverse 5:5 pulldown.

-
- - hh447661 - D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_55 - D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_55 -
- - -

The video processor can reverse 6:4 pulldown.

-
- - hh447661 - D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_64 - D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_64 -
- - -

The video processor can reverse 8:7 pulldown.

-
- - hh447661 - D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_87 - D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_87 -
- - -

The video processor can reverse 2:2:2:2:2:2:2:2:2:2:2:3 pulldown.

-
- - hh447661 - D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_222222222223 - D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_222222222223 -
- - -

The video processor can reverse other telecine modes not listed here.

-
- - hh447661 - D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_OTHER - D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_OTHER -
- - -

Specifies values for the luminance range of YUV data.

-
- - dn280649 - D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE - D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE -
- - -

Driver defaults are used, which should be Studio luminance range [16-235],

-
- - dn280649 - D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE_UNDEFINED - D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE_UNDEFINED -
- - -

Studio luminance range [16-235]

-
- - dn280649 - D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE_16_235 - D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE_16_235 -
- - -

Full luminance range [0-255]

-
- - dn280649 - D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE_0_255 - D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE_0_255 -
- - -

Specifies the rate at which the video processor produces output frames from an input stream.

-
- - hh447662 - D3D11_VIDEO_PROCESSOR_OUTPUT_RATE - D3D11_VIDEO_PROCESSOR_OUTPUT_RATE -
- - -

The output is the normal frame rate.

-
- - hh447662 - D3D11_VIDEO_PROCESSOR_OUTPUT_RATE_NORMAL - D3D11_VIDEO_PROCESSOR_OUTPUT_RATE_NORMAL -
- - -

The output is half the frame rate.

-
- - hh447662 - D3D11_VIDEO_PROCESSOR_OUTPUT_RATE_HALF - D3D11_VIDEO_PROCESSOR_OUTPUT_RATE_HALF -
- - -

The output is a custom frame rate.

-
- - hh447662 - D3D11_VIDEO_PROCESSOR_OUTPUT_RATE_CUSTOM - D3D11_VIDEO_PROCESSOR_OUTPUT_RATE_CUSTOM -
- - -

Specifies video processing capabilities that relate to deinterlacing, inverse telecine (IVTC), and frame-rate conversion.

-
- - hh447664 - D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS - D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS -
- - -

The video processor can perform blend deinterlacing.

In blend deinterlacing, the two fields from an interlaced frame are blended into a single progressive frame. A video processor uses blend deinterlacing when it deinterlaces at half rate, as when converting 60i to 30p. Blend deinterlacing does not require reference frames.

-
- - hh447664 - D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_DEINTERLACE_BLEND - D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_DEINTERLACE_BLEND -
- - -

The video processor can perform bob deinterlacing.

In bob deinterlacing, missing field lines are interpolated from the lines above and below. Bob deinterlacing does not require reference frames.

-
- - hh447664 - D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_DEINTERLACE_BOB - D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_DEINTERLACE_BOB -
- - -

The video processor can perform adaptive deinterlacing.

Adaptive deinterlacing uses spatial or temporal interpolation, and switches between the two on a field-by-field basis, depending on the amount of motion. If the video processor does not receive enough reference frames to perform adaptive deinterlacing, it falls back to bob deinterlacing.

-
- - hh447664 - D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_DEINTERLACE_ADAPTIVE - D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_DEINTERLACE_ADAPTIVE -
- - -

The video processor can perform motion-compensated deinterlacing.

Motion-compensated deinterlacing uses motion vectors to recreate missing lines. If the video processor does not receive enough reference frames to perform motion-compensated deinterlacing, it falls back to bob deinterlacing.

-
- - hh447664 - D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_DEINTERLACE_MOTION_COMPENSATION - D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_DEINTERLACE_MOTION_COMPENSATION -
- - -

The video processor can perform inverse telecine (IVTC).

If the video processor supports this capability, the ITelecineCaps member of the structure specifies which IVTC modes are supported.

-
- - hh447664 - D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_INVERSE_TELECINE - D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_INVERSE_TELECINE -
- - -

The video processor can convert the frame rate by interpolating frames.

-
- - hh447664 - D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_FRAME_RATE_CONVERSION - D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_FRAME_RATE_CONVERSION -
- - -

Specifies the video rotation states.

-
- - jj160515 - D3D11_VIDEO_PROCESSOR_ROTATION - D3D11_VIDEO_PROCESSOR_ROTATION -
- - -

The video is not rotated.

-
- - jj160515 - D3D11_VIDEO_PROCESSOR_ROTATION_IDENTITY - D3D11_VIDEO_PROCESSOR_ROTATION_IDENTITY -
- - -

The video is rotated 90 degrees clockwise.

-
- - jj160515 - D3D11_VIDEO_PROCESSOR_ROTATION_90 - D3D11_VIDEO_PROCESSOR_ROTATION_90 -
- - -

The video is rotated 180 degrees clockwise.

-
- - jj160515 - D3D11_VIDEO_PROCESSOR_ROTATION_180 - D3D11_VIDEO_PROCESSOR_ROTATION_180 -
- - -

The video is rotated 270 degrees clockwise.

-
- - jj160515 - D3D11_VIDEO_PROCESSOR_ROTATION_270 - D3D11_VIDEO_PROCESSOR_ROTATION_270 -
- - -

Defines stereo 3D capabilities for a Microsoft Direct3D?11 video processor.

-
- - hh447667 - D3D11_VIDEO_PROCESSOR_STEREO_CAPS - D3D11_VIDEO_PROCESSOR_STEREO_CAPS -
- - -

The video processor supports the format.

-
- - hh447667 - D3D11_VIDEO_PROCESSOR_STEREO_CAPS_MONO_OFFSET - D3D11_VIDEO_PROCESSOR_STEREO_CAPS_MONO_OFFSET -
- - -

The video processor supports the format.

-
- - hh447667 - D3D11_VIDEO_PROCESSOR_STEREO_CAPS_ROW_INTERLEAVED - D3D11_VIDEO_PROCESSOR_STEREO_CAPS_ROW_INTERLEAVED -
- - -

The video processor supports the format.

-
- - hh447667 - D3D11_VIDEO_PROCESSOR_STEREO_CAPS_COLUMN_INTERLEAVED - D3D11_VIDEO_PROCESSOR_STEREO_CAPS_COLUMN_INTERLEAVED -
- - -

The video processor supports the format.

-
- - hh447667 - D3D11_VIDEO_PROCESSOR_STEREO_CAPS_CHECKERBOARD - D3D11_VIDEO_PROCESSOR_STEREO_CAPS_CHECKERBOARD -
- - -

The video processor can flip one or both views. For more information, see .

-
- - hh447667 - D3D11_VIDEO_PROCESSOR_STEREO_CAPS_FLIP_MODE - D3D11_VIDEO_PROCESSOR_STEREO_CAPS_FLIP_MODE -
- - -

For stereo 3D video, specifies whether the data in frame 0 or frame 1 is flipped, either horizontally or vertically.

-
- - hh447668 - D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE - D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE -
- - -

Neither frame is flipped.

-
- - hh447668 - D3D11_VIDEO_PROCESSOR_STEREO_FLIP_NONE - D3D11_VIDEO_PROCESSOR_STEREO_FLIP_NONE -
- - -

The data in frame 0 is flipped.

-
- - hh447668 - D3D11_VIDEO_PROCESSOR_STEREO_FLIP_FRAME0 - D3D11_VIDEO_PROCESSOR_STEREO_FLIP_FRAME0 -
- - -

The data in frame 1 is flipped.

-
- - hh447668 - D3D11_VIDEO_PROCESSOR_STEREO_FLIP_FRAME1 - D3D11_VIDEO_PROCESSOR_STEREO_FLIP_FRAME1 -
- - -

Specifies the layout in memory of a stereo 3D video frame.

-
- -

This enumeration designates the two stereo views as "frame 0" and "frame 1". The LeftViewFrame0 parameter of the VideoProcessorSetStreamStereoFormat method specifies which view is the left view, and which is the right view.

For packed formats, if the source rectangle clips part of the surface, the driver interprets the rectangle in logical coordinates relative to the stereo view, rather than absolute pixel coordinates. The result is that frame 0 and frame 1 are clipped proportionately.

To query whether the device supports stereo 3D video, call and check for the flag in the FeatureCaps member of the structure. If this capability flag is present, it means that the driver supports all of the stereo formats that are not listed as optional. To find out which optional formats are supported, call GetVideoProcessorCaps and check the StereoCaps member of the structure.

-
- - hh447669 - D3D11_VIDEO_PROCESSOR_STEREO_FORMAT - D3D11_VIDEO_PROCESSOR_STEREO_FORMAT -
- - -

The sample does not contain stereo data. If the stereo format is not specified, this value is the default.

-
- - hh447669 - D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_MONO - D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_MONO -
- - -

Frame 0 and frame 1 are packed side-by-side, as shown in the following diagram.

All drivers that support stereo video must support this format.

-
- - hh447669 - D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_HORIZONTAL - D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_HORIZONTAL -
- - -

Frame 0 and frame 1 are packed top-to-bottom, as shown in the following diagram.

All drivers that support stereo video must support this format.

-
- - hh447669 - D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_VERTICAL - D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_VERTICAL -
- - -

Frame 0 and frame 1 are placed in separate resources or in separate texture array elements within the same resource.

All drivers that support stereo video must support this format.

-
- - hh447669 - D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_SEPARATE - D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_SEPARATE -
- - -

The sample contains non-stereo data. However, the driver should create a left/right output of this sample using a specified offset. The offset is specified in the MonoOffset parameter of the method.

This format is primarily intended for subtitles and other subpicture data, where the entire sample is presented on the same plane.

Support for this stereo format is optional.

-
- - hh447669 - D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_MONO_OFFSET - D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_MONO_OFFSET -
- - -

Frame 0 and frame 1 are packed into interleaved rows, as shown in the following diagram.

Support for this stereo format is optional.

-
- - hh447669 - D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_ROW_INTERLEAVED - D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_ROW_INTERLEAVED -
- - -

Frame 0 and frame 1 are packed into interleaved columns, as shown in the following diagram.

Support for this stereo format is optional.

-
- - hh447669 - D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_COLUMN_INTERLEAVED - D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_COLUMN_INTERLEAVED -
- - -

Frame 0 and frame 1 are packed in a checkerboard format, as shown in the following diagram.

Support for this stereo format is optional.

-
- - hh447669 - D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_CHECKERBOARD - D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_CHECKERBOARD -
- - -

Specifies the intended use for a video processor.

-
- - hh447673 - D3D11_VIDEO_USAGE - D3D11_VIDEO_USAGE -
- - -

Normal video playback. The graphics driver should expose a set of capabilities that are appropriate for real-time video playback.

-
- - hh447673 - D3D11_VIDEO_USAGE_PLAYBACK_NORMAL - D3D11_VIDEO_USAGE_PLAYBACK_NORMAL -
- - -

Optimal speed. The graphics driver should expose a minimal set of capabilities that are optimized for performance.

Use this setting if you want better performance and can accept some reduction in video quality. For example, you might use this setting in power-saving mode or to play video thumbnails.

-
- - hh447673 - D3D11_VIDEO_USAGE_OPTIMAL_SPEED - D3D11_VIDEO_USAGE_OPTIMAL_SPEED -
- - -

Optimal quality. The grahics driver should expose its maximum set of capabilities.

Specify this setting to get the best video quality possible. It is appropriate for tasks such as video editing, when quality is more important than speed. It is not appropriate for real-time playback.

-
- - hh447673 - D3D11_VIDEO_USAGE_OPTIMAL_QUALITY - D3D11_VIDEO_USAGE_OPTIMAL_QUALITY -
- - -

Specifies how to access a resource that is used in a video processor input view.

-
- -

This enumeration is used with the structure.

-
- - hh447674 - D3D11_VPIV_DIMENSION - D3D11_VPIV_DIMENSION -
- - -

Not a valid value.

-
- - hh447674 - D3D11_VPIV_DIMENSION_UNKNOWN - D3D11_VPIV_DIMENSION_UNKNOWN -
- - -

The resource will be accessed as a 2D texture.

-
- - hh447674 - D3D11_VPIV_DIMENSION_TEXTURE2D - D3D11_VPIV_DIMENSION_TEXTURE2D -
- - -

Specifies how to access a resource that is used in a video processor output view.

-
- -

This enumeration is used with the structure.

-
- - hh447675 - D3D11_VPOV_DIMENSION - D3D11_VPOV_DIMENSION -
- - -

Not a valid value.

-
- - hh447675 - D3D11_VPOV_DIMENSION_UNKNOWN - D3D11_VPOV_DIMENSION_UNKNOWN -
- - -

The resource will be accessed as a 2D texture.

-
- - hh447675 - D3D11_VPOV_DIMENSION_TEXTURE2D - D3D11_VPOV_DIMENSION_TEXTURE2D -
- - -

The resource will be accessed as an array of 2D textures.

-
- - hh447675 - D3D11_VPOV_DIMENSION_TEXTURE2DARRAY - D3D11_VPOV_DIMENSION_TEXTURE2DARRAY -
- - - Functions - - - - - Constant SdkVersion. - D3D11_SDK_VERSION - - - -

Creates a device that represents the display adapter.

-
-

A reference to the video adapter to use when creating a device. Pass null to use the default adapter, which is the first adapter that is enumerated by IDXGIFactory1::EnumAdapters.

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 , which represents the driver type to create.

-

A handle to a DLL that implements a software rasterizer. If DriverType is , Software must not be null. Get the handle by calling LoadLibrary, LoadLibraryEx , or GetModuleHandle.

-

The runtime layers to enable (see ); values can be bitwise OR'd together.

-

A reference to an array of s, which determine the order of feature levels to attempt to create. If pFeatureLevels is set to null, this function uses the following array of feature levels:

{ , , , , , ,};
Note?? If the Direct3D 11.1 runtime is present on the computer and pFeatureLevels is set to null, this function won't create a device. To create a device, you must explicitly provide a array that includes . If you provide a array that contains on a computer that doesn't have the Direct3D 11.1 runtime installed, this function immediately fails with E_INVALIDARG. ?
-

The number of elements in pFeatureLevels.

-

The SDK version; use .

-

Returns the address of a reference to an object that represents the device created. If this parameter is null, no will be returned.

-

If successful, returns the first from the pFeatureLevels array which succeeded. Supply null as an input if you don't need to determine which feature level is supported.

-

Returns the address of a reference to an object that represents the device context. If this parameter is null, no will be returned.

-

This method can return one of the Direct3D 11 Return Codes.

This method returns E_INVALIDARG if you set the pAdapter parameter to a non-null value and the DriverType parameter to the value.

This method returns if you specify in Flags and the incorrect version of the debug layer is installed on your computer. Install the latest Windows SDK to get the correct version.

- -

This entry-point is supported by the Direct3D 11 runtime, which is available on Windows 7, Windows Server 2008 R2, and as an update to Windows Vista (KB971644).

To create a Direct3D 11.1 device (), which is available on Windows?8, Windows Server?2012, and Windows?7 and Windows Server?2008?R2 with the Platform Update for Windows 7 installed, you first create a with this function, and then call the QueryInterface method on the object to obtain the interface.

To create a Direct3D 11.2 device (), which is available on Windows?8.1 and Windows Server?2012?R2, you first create a with this function, and then call the QueryInterface method on the object to obtain the interface.

Set ppDevice and ppImmediateContext to null to determine which feature level is supported by looking at pFeatureLevel without creating a device.

For an example, see How To: Create a Device and Immediate Context; to create a device and a swap chain at the same time, use D3D11CreateDeviceAndSwapChain.

If you set the pAdapter parameter to a non-null value, you must also set the DriverType parameter to the value. If you set the pAdapter parameter to a non-null value and the DriverType parameter to the value, returns an of E_INVALIDARG.

Differences between Direct3D 10 and Direct3D 11:

In Direct3D 10, the presence of pAdapter dictated which adapter to use and the DriverType could mismatch what the adapter was.

In Direct3D 11, if you are trying to create a hardware or a software device, set pAdapter != null which constrains the other inputs to be:

  • DriverType must be
  • Software must be null.

On the other hand, if pAdapter == null, the DriverType cannot be set to ; it can be set to either:

  • If DriverType == , Software cannot be null.
  • If DriverType == , the adapter used will be the default adapter, which is the first adapter that is enumerated by IDXGIFactory1::EnumAdapters

?

The function signature PFN_D3D11_CREATE_DEVICE is provided as a typedef, so that you can use dynamic linking techniques (GetProcAddress) instead of statically linking.

Windows?Phone?8: This API is supported.

Windows Phone 8.1: This API is supported.

-
- - ff476082 - HRESULT D3D11CreateDevice([In, Optional] IDXGIAdapter* pAdapter,[In] D3D_DRIVER_TYPE DriverType,[In] HINSTANCE Software,[In] D3D11_CREATE_DEVICE_FLAG Flags,[In, Buffer, Optional] const D3D_FEATURE_LEVEL* pFeatureLevels,[In] unsigned int FeatureLevels,[In] unsigned int SDKVersion,[Out, Fast] ID3D11Device** ppDevice,[Out, Optional] D3D_FEATURE_LEVEL* pFeatureLevel,[Out, Optional] ID3D11DeviceContext** ppImmediateContext) - D3D11CreateDevice -
- - -

Creates a device that uses Direct3D 11 functionality in Direct3D 12, specifying a pre-existing D3D12 device to use for D3D11 interop.

-
-

Specifies a pre-existing D3D12 device to use for D3D11 interop. May not be null.

-

One or more bitwise OR'ed flags from . These are the same flags as those used by D3D11CreateDeviceAndSwapChain. Specifies which runtime layers to enable. Flags must be compatible with device flags, and its NodeMask must be a subset of the NodeMask provided to the present API.

-

An array of any of the following:

The first feature level which is less than or equal to the D3D12 device's feature level will be used to perform D3D11 validation. Creation will fail if no acceptable feature levels are provided. Providing null will default to the D3D12 device's feature level.

-

The size of the feature levels array, in bytes.

-

An array of unique queues for D3D11On12 to use. Valid queue types: 3D command queue.

-

The size of the command queue array, in bytes.

-

Which node of the D3D12 device to use. Only 1 bit may be set.

-

Pointer to the returned . May be null.

-

A reference to the returned . May be null.

-

A reference to the returned feature level. May be null.

-

This method returns one of the Direct3D 12 Return Codes that are documented for . See Direct3D 12 Return Codes.

This method returns if you specify in Flags and the incorrect version of the debug layer is installed on your computer. Install the latest Windows SDK to get the correct version.

- -

The function signature PFN_D3D11ON12_CREATE_DEVICE is provided as a typedef, so that you can use dynamic linking techniques (GetProcAddress) instead of statically linking.

-
- - dn933209 - HRESULT D3D11On12CreateDevice([In] IUnknown* pDevice,[In] D3D11_CREATE_DEVICE_FLAG Flags,[In, Buffer, Optional] const D3D_FEATURE_LEVEL* pFeatureLevels,[In] unsigned int FeatureLevels,[In, Buffer, Optional] const IUnknown** ppCommandQueues,[In] unsigned int NumQueues,[In] unsigned int NodeMask,[Out] ID3D11Device** ppDevice,[Out, Optional] ID3D11DeviceContext** ppImmediateContext,[Out, Optional] D3D_FEATURE_LEVEL* pChosenFeatureLevel) - D3D11On12CreateDevice -
- - - Functions - - - - - - Functions - - - - - - Functions - - - - - Constant TooManyUniqueStateObjects. - D3D11_ERROR_TOO_MANY_UNIQUE_STATE_OBJECTS - - - Constant FileNotFound. - D3D11_ERROR_FILE_NOT_FOUND - - - Constant TooManyUniqueViewObjects. - D3D11_ERROR_TOO_MANY_UNIQUE_VIEW_OBJECTS - - - Constant DeferredContextMapWithoutInitialDiscard. - D3D11_ERROR_DEFERRED_CONTEXT_MAP_WITHOUT_INITIAL_DISCARD - - - -

This interface encapsulates methods for retrieving data from the GPU asynchronously.

-
- -

There are three types of asynchronous interfaces, all of which inherit this interface:

  • - Queries information from the GPU.
  • - Determines whether a piece of geometry should be processed or not depending on the results of a previous draw call.
  • - Measures GPU performance.
-
- - ff476347 - ID3D11Asynchronous - ID3D11Asynchronous -
- - - Initializes a new instance of the 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 the size of the data (in bytes) that is output when calling .

-
- - ff476348 - GetDataSize - GetDataSize - unsigned int ID3D11Asynchronous::GetDataSize() -
- - -

Get the size of the data (in bytes) that is output when calling .

-
-

Size of the data (in bytes) that is output when calling GetData.

- - ff476348 - unsigned int ID3D11Asynchronous::GetDataSize() - ID3D11Asynchronous::GetDataSize -
- - -

Provides a communication channel with the graphics driver or the Microsoft Direct3D runtime.

-
- -

To get a reference to this interface, call .

-
- - hh447690 - ID3D11AuthenticatedChannel - ID3D11AuthenticatedChannel -
- - - Initializes a new instance of the 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 driver's certificate chain.

-
- - hh447688 - GetCertificateSize - GetCertificateSize - HRESULT ID3D11AuthenticatedChannel::GetCertificateSize([Out] unsigned int* pCertificateSize) -
- - -

Gets a handle to the authenticated channel.

-
- - hh447689 - GetChannelHandle - GetChannelHandle - void ID3D11AuthenticatedChannel::GetChannelHandle([Out] void** pChannelHandle) -
- - -

Gets the size of the driver's certificate chain.

-
-

Receives the size of the certificate chain, in bytes.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh447688 - HRESULT ID3D11AuthenticatedChannel::GetCertificateSize([Out] unsigned int* pCertificateSize) - ID3D11AuthenticatedChannel::GetCertificateSize -
- - -

Gets the driver's certificate chain.

-
-

The size of the pCertificate array, in bytes. To get the size of the certificate chain, call .

-

A reference to a byte array that receives the driver's certificate chain. The caller must allocate the array.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh447687 - HRESULT ID3D11AuthenticatedChannel::GetCertificate([In] unsigned int CertificateSize,[Out, Buffer] unsigned char* pCertificate) - ID3D11AuthenticatedChannel::GetCertificate -
- - -

Gets a handle to the authenticated channel.

-
-

Receives a handle to the channel.

- - hh447689 - void ID3D11AuthenticatedChannel::GetChannelHandle([Out] void** pChannelHandle) - ID3D11AuthenticatedChannel::GetChannelHandle -
- - -

The interface encapsulates a list of graphics commands for play back.

-
- -

There is no explicit creation method, simply declare an interface, then call to record commands or to play back commands.

-
- - ff476361 - ID3D11CommandList - ID3D11CommandList -
- - - Initializes a new instance of the 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 initialization flags associated with the deferred context that created the command list.

-
- -

The GetContextFlags method gets the flags that were supplied to the ContextFlags parameter of ; however, the context flag is reserved for future use.

-
- - ff476362 - GetContextFlags - GetContextFlags - unsigned int ID3D11CommandList::GetContextFlags() -
- - -

Gets the initialization flags associated with the deferred context that created the command list.

-
-

The context flag is reserved for future use and is always 0.

- -

The GetContextFlags method gets the flags that were supplied to the ContextFlags parameter of ; however, the context flag is reserved for future use.

-
- - ff476362 - unsigned int ID3D11CommandList::GetContextFlags() - ID3D11CommandList::GetContextFlags -
- - -

Represents a cryptographic session.

-
- -

To get a reference to this interface, call .

-
- - hh447691 - ID3D11CryptoSession - ID3D11CryptoSession -
- - - Initializes a new instance of the 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 type of encryption that is supported by this session.

-
- -

The application specifies the encryption type when it creates the session.

-
- - hh447699 - GetCryptoType - GetCryptoType - void ID3D11CryptoSession::GetCryptoType([Out] GUID* pCryptoType) -
- - -

Gets the decoding profile of the session.

-
- -

The application specifies the profile when it creates the session.

-
- - hh447701 - GetDecoderProfile - GetDecoderProfile - void ID3D11CryptoSession::GetDecoderProfile([Out] GUID* pDecoderProfile) -
- - -

Gets the size of the driver's certificate chain.

-
- -

To get the certificate, call .

-
- - hh447695 - GetCertificateSize - GetCertificateSize - HRESULT ID3D11CryptoSession::GetCertificateSize([Out] unsigned int* pCertificateSize) -
- - -

Gets a handle to the cryptographic session.

-
- -

You can use this handle to associate the session with a decoder. This enables the decoder to decrypt data that is encrypted using this session.

-
- - hh447697 - GetCryptoSessionHandle - GetCryptoSessionHandle - void ID3D11CryptoSession::GetCryptoSessionHandle([Out] void** pCryptoSessionHandle) -
- - -

Gets the type of encryption that is supported by this session.

-
-

Receives a that specifies the encryption type. The following GUIDs are defined.

ValueMeaning
D3D11_CRYPTO_TYPE_AES128_CTR

128-bit Advanced Encryption Standard CTR mode (AES-CTR) block cipher.

?

- -

The application specifies the encryption type when it creates the session.

-
- - hh447699 - void ID3D11CryptoSession::GetCryptoType([Out] GUID* pCryptoType) - ID3D11CryptoSession::GetCryptoType -
- - -

Gets the decoding profile of the session.

-
-

Receives the decoding profile. For a list of possible values, see .

- -

The application specifies the profile when it creates the session.

-
- - hh447701 - void ID3D11CryptoSession::GetDecoderProfile([Out] GUID* pDecoderProfile) - ID3D11CryptoSession::GetDecoderProfile -
- - -

Gets the size of the driver's certificate chain.

-
-

Receives the size of the certificate chain, in bytes.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

To get the certificate, call .

-
- - hh447695 - HRESULT ID3D11CryptoSession::GetCertificateSize([Out] unsigned int* pCertificateSize) - ID3D11CryptoSession::GetCertificateSize -
- - -

Gets the driver's certificate chain.

-
-

The size of the pCertificate array, in bytes. To get the size of the certificate chain, call .

-

A reference to a byte array that receives the driver's certificate chain. The caller must allocate the array.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh447693 - HRESULT ID3D11CryptoSession::GetCertificate([In] unsigned int CertificateSize,[Out, Buffer] unsigned char* pCertificate) - ID3D11CryptoSession::GetCertificate -
- - -

Gets a handle to the cryptographic session.

-
-

Receives a handle to the session.

- -

You can use this handle to associate the session with a decoder. This enables the decoder to decrypt data that is encrypted using this session.

-
- - hh447697 - void ID3D11CryptoSession::GetCryptoSessionHandle([Out] void** pCryptoSessionHandle) - ID3D11CryptoSession::GetCryptoSessionHandle -
- - -

Handles the creation, wrapping and releasing of D3D11 resources for Direct3D 11on12.

-
- - dn913197 - ID3D11On12Device - ID3D11On12Device -
- - - Initializes a new instance of the 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 method creates D3D11 resources for use with D3D 11on12.

-
-

A reference to an already-created D3D12 resource or heap.

-

A structure that enables an application to override flags that would be inferred by the resource/heap properties. The structure contains bind flags, misc flags, and CPU access flags.

-

The use of the resource on input, as a bitwise-OR'd combination of enumeration constants.

-

The use of the resource on output, as a bitwise-OR'd combination of enumeration constants.

-

The globally unique identifier () for the wrapped resource interface. The REFIID, or , of the interface to the wrapped resource can be obtained by using the __uuidof() macro. For example, __uuidof() will get the of the interface to a wrapped resource.

-

After the method returns, points to the newly created wrapped D3D11 resource or heap.

-

This method returns one of the Direct3D 12 Return Codes.

- - dn913199 - HRESULT ID3D11On12Device::CreateWrappedResource([In] IUnknown* pResource12,[In] const D3D11_RESOURCE_FLAGS* pFlags11,[In] int InState,[In] int OutState,[In] const GUID& riid,[Out, Optional] ID3D11Resource** ppResource11) - ID3D11On12Device::CreateWrappedResource -
- - -

Releases D3D11 resources that were wrapped for D3D 11on12.

-
-

Specifies a reference to a set of D3D11 resources, defined by .

-

Count of the number of resources.

- -

Call this method prior to calling Flush, to insert resource barriers to the appropriate "out" state, and to mark that they should then be expected to be in the "in" state. If no resource list is provided, all wrapped resources are transitioned. These resources will be marked as ?not acquired? in hazard tracking until is called.

Keyed mutex resources cannot be provided to this method; use instead.

-
- - dn913200 - void ID3D11On12Device::ReleaseWrappedResources([In, Buffer] const ID3D11Resource** ppResources,[In] unsigned int NumResources) - ID3D11On12Device::ReleaseWrappedResources -
- - -

Releases D3D11 resources that were wrapped for D3D 11on12.

-
-

Specifies a reference to a set of D3D11 resources, defined by .

-

Count of the number of resources.

- -

Call this method prior to calling Flush, to insert resource barriers to the appropriate "out" state, and to mark that they should then be expected to be in the "in" state. If no resource list is provided, all wrapped resources are transitioned. These resources will be marked as ?not acquired? in hazard tracking until is called.

Keyed mutex resources cannot be provided to this method; use instead.

-
- - dn913200 - void ID3D11On12Device::ReleaseWrappedResources([In, Buffer] const ID3D11Resource** ppResources,[In] unsigned int NumResources) - ID3D11On12Device::ReleaseWrappedResources -
- - -

Releases D3D11 resources that were wrapped for D3D 11on12.

-
-

Specifies a reference to a set of D3D11 resources, defined by .

-

Count of the number of resources.

- -

Call this method prior to calling Flush, to insert resource barriers to the appropriate "out" state, and to mark that they should then be expected to be in the "in" state. If no resource list is provided, all wrapped resources are transitioned. These resources will be marked as ?not acquired? in hazard tracking until is called.

Keyed mutex resources cannot be provided to this method; use instead.

-
- - dn913200 - void ID3D11On12Device::ReleaseWrappedResources([In, Buffer] const ID3D11Resource** ppResources,[In] unsigned int NumResources) - ID3D11On12Device::ReleaseWrappedResources -
- - -

Acquires D3D11 resources for use with D3D 11on12. Indicates that rendering to the wrapped resources can begin again.

-
-

Specifies a reference to a set of D3D11 resources, defined by .

-

Count of the number of resources.

- -

This method marks the resources as "acquired" in hazard tracking.

Keyed mutex resources cannot be provided to this method; use instead.

-
- - dn913198 - void ID3D11On12Device::AcquireWrappedResources([In, Buffer] const ID3D11Resource** ppResources,[In] unsigned int NumResources) - ID3D11On12Device::AcquireWrappedResources -
- - -

Acquires D3D11 resources for use with D3D 11on12. Indicates that rendering to the wrapped resources can begin again.

-
-

Specifies a reference to a set of D3D11 resources, defined by .

-

Count of the number of resources.

- -

This method marks the resources as "acquired" in hazard tracking.

Keyed mutex resources cannot be provided to this method; use instead.

-
- - dn913198 - void ID3D11On12Device::AcquireWrappedResources([In, Buffer] const ID3D11Resource** ppResources,[In] unsigned int NumResources) - ID3D11On12Device::AcquireWrappedResources -
- - -

Acquires D3D11 resources for use with D3D 11on12. Indicates that rendering to the wrapped resources can begin again.

-
-

Specifies a reference to a set of D3D11 resources, defined by .

-

Count of the number of resources.

- -

This method marks the resources as "acquired" in hazard tracking.

Keyed mutex resources cannot be provided to this method; use instead.

-
- - dn913198 - void ID3D11On12Device::AcquireWrappedResources([In, Buffer] const ID3D11Resource** ppResources,[In] unsigned int NumResources) - ID3D11On12Device::AcquireWrappedResources -
- - -

The device interface represents a virtual adapter; it is used to create resources. adds new methods to those in , such as RegisterDeviceRemovedEvent and UnregisterDeviceRemoved.

-
- - mt589889 - ID3D11Device4 - ID3D11Device4 -
- - - Initializes a new instance of the 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 the "device removed" event and indicates when a Direct3D device has become removed for any reason, using an asynchronous notification mechanism.

-
-

The handle to the "device removed" event.

-

A reference to information about the "device removed" event, which can be used in UnregisterDeviceRemoved to unregister the event.

- -

Indicates when a Direct3D device has become removed for any reason, using an asynchronous notification mechanism, rather than as an from Present. The reason for device removal can be retrieved using after being notified of the occurrence.

Applications register and un-register a Win32 event handle with a particular device. That event handle will be signaled when the device becomes removed. A poll into the device's method indicates that the device is removed.

ISignalableNotifier or SetThreadpoolWait can be used by UWP apps.

When the graphics device is lost, the app or title will receive the graphics event, so that the app or title knows that its graphics device is no longer valid and it is safe for the app or title to re-create its DirectX devices. In response to this event, the app or title needs to re-create its rendering device and pass it into a SetRenderingDevice call on the composition graphics device objects.

After setting this new rendering device, the app or title needs to redraw content of all the pre-existing surfaces after the composition graphics device's OnRenderingDeviceReplaced event is fired.

This method supports Composition for device loss.

The event is not signaled when it is most ideal to re-create. So, instead, we recommend iterating through the adapter ordinals and creating the first ordinal that will succeed.

The application can register an event with the device. The application will be signaled when the device becomes removed.

If the device is already removed, calls to RegisterDeviceRemovedEvent will signal the event immediately. No device-removed error code will be returned from RegisterDeviceRemovedEvent.

Each "device removed" event is never signaled, or is signaled only once. These events are not signaled during device destruction. These events are unregistered during destruction.

The semantics of RegisterDeviceRemovedEvent are similar to .

-
- - mt589890 - HRESULT ID3D11Device4::RegisterDeviceRemovedEvent([In] void* hEvent,[Out] unsigned int* pdwCookie) - ID3D11Device4::RegisterDeviceRemovedEvent -
- - -

Unregisters the "device removed" event.

-
-

Information about the "device removed" event, retrieved during a successful RegisterDeviceRemovedEvent call.

- -

See RegisterDeviceRemovedEvent.

-
- - mt589892 - void ID3D11Device4::UnregisterDeviceRemoved([In] unsigned int dwCookie) - ID3D11Device4::UnregisterDeviceRemoved -
- - -

The interface represents a device context which generates rendering commands.

Note??The latest version of this interface is introduced in the Windows 10 Creators Update. Applications targetting Windows 10 Creators Update should use the interface instead of .? -
- - ff476385 - ID3D11DeviceContext4 - ID3D11DeviceContext4 -
- - - Initializes a new instance of the 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 ID3D11DeviceContext4::Signal([In] ID3D11Fence* pFence,[In] unsigned longlong Value) - ID3D11DeviceContext4::Signal - - - - No documentation. - - No documentation. - No documentation. - No documentation. - - HRESULT ID3D11DeviceContext4::Wait([In] ID3D11Fence* pFence,[In] unsigned longlong Value) - ID3D11DeviceContext4::Wait - - - -

The interface represents a context state object, which holds state and behavior information about a Microsoft Direct3D device.

-
- - hh446878 - ID3DDeviceContextState - ID3DDeviceContextState -
- - - Initializes a new instance of the 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 interface represents a device context which generates rendering commands.

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

Bind an array of shader resources to the domain-shader stage.

-
-

Index into the device's zero-based array to begin setting shader resources to (ranges from 0 to - 1).

-

Number of shader resources to set. Up to a maximum of 128 slots are available for shader resources(ranges from 0 to - StartSlot).

-

Array of shader resource view interfaces to set to the device.

- -

If an overlapping resource view is already bound to an output slot, such as a render target, then the method will fill the destination shader resource slot with null.

For information about creating shader-resource views, see .

The method will hold a reference to the interfaces passed in. This differs from the device state behavior in Direct3D 10.

-
- - ff476421 - void ID3D11DeviceContext::DSSetShaderResources([In] unsigned int StartSlot,[In] unsigned int NumViews,[In, Buffer, Optional] const void** ppShaderResourceViews) - ID3D11DeviceContext::DSSetShaderResources -
- - -

Set a domain shader to the device.

-
-

Pointer to a domain shader (see ). Passing in null disables the shader for this pipeline stage.

-

A reference to an array of class-instance interfaces (see ). Each interface used by a shader must have a corresponding class instance or the shader will get disabled. Set ppClassInstances to null if the shader does not use any interfaces.

-

The number of class-instance interfaces in the array.

- -

The method will hold a reference to the interfaces passed in. This differs from the device state behavior in Direct3D 10.

The maximum number of instances a shader can have is 256.

Windows?Phone?8: This API is supported.

-
- - ff476420 - void ID3D11DeviceContext::DSSetShader([In, Optional] ID3D11DomainShader* pDomainShader,[In, Buffer, Optional] const ID3D11ClassInstance** ppClassInstances,[In] unsigned int NumClassInstances) - ID3D11DeviceContext::DSSetShader -
- - -

Set a domain shader to the device.

-
-

Pointer to a domain shader (see ). Passing in null disables the shader for this pipeline stage.

-

A reference to an array of class-instance interfaces (see ). Each interface used by a shader must have a corresponding class instance or the shader will get disabled. Set ppClassInstances to null if the shader does not use any interfaces.

-

The number of class-instance interfaces in the array.

- -

The method will hold a reference to the interfaces passed in. This differs from the device state behavior in Direct3D 10.

The maximum number of instances a shader can have is 256.

Windows?Phone?8: This API is supported.

-
- - ff476420 - void ID3D11DeviceContext::DSSetShader([In, Optional] ID3D11DomainShader* pDomainShader,[In, Buffer, Optional] const ID3D11ClassInstance** ppClassInstances,[In] unsigned int NumClassInstances) - ID3D11DeviceContext::DSSetShader -
- - -

Set a domain shader to the device.

-
-

Pointer to a domain shader (see ). Passing in null disables the shader for this pipeline stage.

-

A reference to an array of class-instance interfaces (see ). Each interface used by a shader must have a corresponding class instance or the shader will get disabled. Set ppClassInstances to null if the shader does not use any interfaces.

-

The number of class-instance interfaces in the array.

- -

The method will hold a reference to the interfaces passed in. This differs from the device state behavior in Direct3D 10.

The maximum number of instances a shader can have is 256.

Windows?Phone?8: This API is supported.

-
- - ff476420 - void ID3D11DeviceContext::DSSetShader([In, Optional] ID3D11DomainShader* pDomainShader,[In, Buffer, Optional] const ID3D11ClassInstance** ppClassInstances,[In] unsigned int NumClassInstances) - ID3D11DeviceContext::DSSetShader -
- - -

Set an array of sampler states to the domain-shader stage.

-
-

Index into the device's zero-based array to begin setting samplers to (ranges from 0 to - 1).

-

Number of samplers in the array. Each pipeline stage has a total of 16 sampler slots available (ranges from 0 to - StartSlot).

-

Pointer to an array of sampler-state interfaces (see ). See Remarks.

- -

Any sampler may be set to null; this invokes the default state, which is defined to be the following.

 //Default sampler state:	
-             SamplerDesc;	
-            SamplerDesc.Filter = ;	
-            SamplerDesc.AddressU = ;	
-            SamplerDesc.AddressV = ;	
-            SamplerDesc.AddressW = ;	
-            SamplerDesc.MipLODBias = 0;	
-            SamplerDesc.MaxAnisotropy = 1;	
-            SamplerDesc.ComparisonFunc = ;	
-            SamplerDesc.BorderColor[0] = 1.0f;	
-            SamplerDesc.BorderColor[1] = 1.0f;	
-            SamplerDesc.BorderColor[2] = 1.0f;	
-            SamplerDesc.BorderColor[3] = 1.0f;	
-            SamplerDesc.MinLOD = -FLT_MAX;	
-            SamplerDesc.MaxLOD = FLT_MAX; 

The method will hold a reference to the interfaces passed in. This differs from the device state behavior in Direct3D 10.

-
- - ff476419 - void ID3D11DeviceContext::DSSetSamplers([In] unsigned int StartSlot,[In] unsigned int NumSamplers,[In, Buffer, Optional] const void** ppSamplers) - ID3D11DeviceContext::DSSetSamplers -
- - -

Sets the constant buffers used by the domain-shader stage.

-
-

Index into the zero-based array to begin setting constant buffers to (ranges from 0 to - 1).

-

Number of buffers to set (ranges from 0 to - StartSlot).

-

Array of constant buffers (see ) being given to the device.

- -

The method will hold a reference to the interfaces passed in. This differs from the device state behavior in Direct3D 10.

The Direct3D 11.1 runtime, which is available starting with Windows?8, can bind a larger number of resources to the shader than the maximum constant buffer size that is supported by shaders (4096 constants ? 4*32-bit components each). When you bind such a large buffer, the shader can access only the first 4096 4*32-bit component constants in the buffer, as if 4096 constants is the full size of the buffer.

If the application wants the shader to access other parts of the buffer, it must call the DSSetConstantBuffers1 method instead.

Windows?Phone?8: This API is supported.

-
- - ff476418 - void ID3D11DeviceContext::DSSetConstantBuffers([In] unsigned int StartSlot,[In] unsigned int NumBuffers,[In, Buffer, Optional] const void** ppConstantBuffers) - ID3D11DeviceContext::DSSetConstantBuffers -
- - -

Get the domain-shader resources.

-
-

Index into the device's zero-based array to begin getting shader resources from (ranges from 0 to - 1).

-

The number of resources to get from the device. Up to a maximum of 128 slots are available for shader resources (ranges from 0 to - StartSlot).

-

Array of shader resource view interfaces to be returned by the device.

- -

Any returned interfaces will have their reference count incremented by one. Applications should call IUnknown::Release on the returned interfaces when they are no longer needed to avoid memory leaks.

-
- - ff476417 - void ID3D11DeviceContext::DSGetShaderResources([In] unsigned int StartSlot,[In] unsigned int NumViews,[Out, Buffer, Optional] ID3D11ShaderResourceView** ppShaderResourceViews) - ID3D11DeviceContext::DSGetShaderResources -
- - -

Get the domain shader currently set on the device.

-
-

Address of a reference to a domain shader (see ) to be returned by the method.

-

Pointer to an array of class instance interfaces (see ).

-

The number of class-instance elements in the array.

- -

Any returned interfaces will have their reference count incremented by one. Applications should call IUnknown::Release on the returned interfaces when they are no longer needed to avoid memory leaks.

-
- - ff476416 - void ID3D11DeviceContext::DSGetShader([Out, Optional] ID3D11DomainShader** ppDomainShader,[Out, Buffer, Optional] ID3D11ClassInstance** ppClassInstances,[InOut] unsigned int* pNumClassInstances) - ID3D11DeviceContext::DSGetShader -
- - -

Get an array of sampler state interfaces from the domain-shader stage.

-
-

Index into a zero-based array to begin getting samplers from (ranges from 0 to - 1).

-

Number of samplers to get from a device context. Each pipeline stage has a total of 16 sampler slots available (ranges from 0 to - StartSlot).

-

Pointer to an array of sampler-state interfaces (see ).

- -

Any returned interfaces will have their reference count incremented by one. Applications should call IUnknown::Release on the returned interfaces when they are no longer needed to avoid memory leaks.

-
- - ff476415 - void ID3D11DeviceContext::DSGetSamplers([In] unsigned int StartSlot,[In] unsigned int NumSamplers,[Out, Buffer, Optional] ID3D11SamplerState** ppSamplers) - ID3D11DeviceContext::DSGetSamplers -
- - -

Get the constant buffers used by the domain-shader stage.

-
-

Index into the device's zero-based array to begin retrieving constant buffers from (ranges from 0 to - 1).

-

Number of buffers to retrieve (ranges from 0 to - StartSlot).

-

Array of constant buffer interface references (see ) to be returned by the method.

- -

Any returned interfaces will have their reference count incremented by one. Applications should call IUnknown::Release on the returned interfaces when they are no longer needed to avoid memory leaks.

-
- - ff476414 - void ID3D11DeviceContext::DSGetConstantBuffers([In] unsigned int StartSlot,[In] unsigned int NumBuffers,[Out, Buffer, Optional] ID3D11Buffer** ppConstantBuffers) - ID3D11DeviceContext::DSGetConstantBuffers -
- - -

A geometry-shader interface manages an executable program (a geometry shader) that controls the geometry-shader stage.

-
- -

The geometry-shader interface has no methods; use HLSL to implement your shader functionality. All shaders are implemented from a common set of features referred to as the common-shader core..

To create a geometry shader interface, call either or . Before using a geometry shader you must bind it to the device by calling .

This interface is defined in D3D11.h.

-
- - ff476536 - ID3D11GeometryShader - ID3D11GeometryShader -
- - - Initializes a new instance of the 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 StreamOutputNoRasterizedStream. - D3D11_SO_NO_RASTERIZED_STREAM - - - Constant StreamOutputStreamCount. - D3D11_SO_STREAM_COUNT - - - Constant StreamOutputOutputComponentCount. - D3D11_SO_OUTPUT_COMPONENT_COUNT - - - Constant StreamOutputBufferSlotCount. - D3D11_SO_BUFFER_SLOT_COUNT - - - - Initializes a new instance of the class. - - The device used to create the shader. - The compiled shader bytecode. - A dynamic class linkage interface. - - - - Initializes a new instance of the class. - - The device used to create the shader. - The compiled shader bytecode. - An array of instances describing the layout of the output buffers. - An array of buffer strides; each stride is the size of an element for that buffer. - The index number of the stream to be sent to the rasterizer stage. Set to NoRasterizedStream if no stream is to be rasterized. - A dynamic class linkage interface. - - - -

The interface represents a device context which generates rendering commands.

-
- - ff476385 - ID3D11DeviceContext - ID3D11DeviceContext -
- - - Initializes a new instance of the 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 constant buffers used by the geometry shader pipeline stage.

-
-

Index into the device's zero-based array to begin setting constant buffers to (ranges from 0 to - 1).

-

Number of buffers to set (ranges from 0 to - StartSlot).

-

Array of constant buffers (see ) being given to the device.

- -

The method will hold a reference to the interfaces passed in. This differs from the device state behavior in Direct3D 10.

You can't use the interface to get information about what is currently bound to the pipeline in the device context. But you can use to get information from a compiled shader. For example, you can use and to determine the slot in which a geometry shader expects a constant buffer. You can then pass this slot number to GSSetConstantBuffers to set the constant buffer. You can call the D3D11Reflect function to retrieve the address of a reference to the interface and then call to get a reference to .

The Direct3D 11.1 runtime, which is available starting with Windows?8, can bind a larger number of resources to the shader than the maximum constant buffer size that is supported by shaders (4096 constants ? 4*32-bit components each). When you bind such a large buffer, the shader can access only the first 4096 4*32-bit component constants in the buffer, as if 4096 constants is the full size of the buffer.

If the application wants the shader to access other parts of the buffer, it must call the GSSetConstantBuffers1 method instead.

-
- - ff476436 - void ID3D11DeviceContext::GSSetConstantBuffers([In] unsigned int StartSlot,[In] unsigned int NumBuffers,[In, Buffer, Optional] const void** ppConstantBuffers) - ID3D11DeviceContext::GSSetConstantBuffers -
- - -

Set a geometry shader to the device.

-
-

Pointer to a geometry shader (see ). Passing in null disables the shader for this pipeline stage.

-

A reference to an array of class-instance interfaces (see ). Each interface used by a shader must have a corresponding class instance or the shader will get disabled. Set ppClassInstances to null if the shader does not use any interfaces.

-

The number of class-instance interfaces in the array.

- -

The method will hold a reference to the interfaces passed in. This differs from the device state behavior in Direct3D 10.

The maximum number of instances a shader can have is 256.

-
- - ff476438 - void ID3D11DeviceContext::GSSetShader([In, Optional] ID3D11GeometryShader* pShader,[In, Buffer, Optional] const ID3D11ClassInstance** ppClassInstances,[In] unsigned int NumClassInstances) - ID3D11DeviceContext::GSSetShader -
- - -

Set a geometry shader to the device.

-
-

Pointer to a geometry shader (see ). Passing in null disables the shader for this pipeline stage.

-

A reference to an array of class-instance interfaces (see ). Each interface used by a shader must have a corresponding class instance or the shader will get disabled. Set ppClassInstances to null if the shader does not use any interfaces.

-

The number of class-instance interfaces in the array.

- -

The method will hold a reference to the interfaces passed in. This differs from the device state behavior in Direct3D 10.

The maximum number of instances a shader can have is 256.

-
- - ff476438 - void ID3D11DeviceContext::GSSetShader([In, Optional] ID3D11GeometryShader* pShader,[In, Buffer, Optional] const ID3D11ClassInstance** ppClassInstances,[In] unsigned int NumClassInstances) - ID3D11DeviceContext::GSSetShader -
- - -

Set a geometry shader to the device.

-
-

Pointer to a geometry shader (see ). Passing in null disables the shader for this pipeline stage.

-

A reference to an array of class-instance interfaces (see ). Each interface used by a shader must have a corresponding class instance or the shader will get disabled. Set ppClassInstances to null if the shader does not use any interfaces.

-

The number of class-instance interfaces in the array.

- -

The method will hold a reference to the interfaces passed in. This differs from the device state behavior in Direct3D 10.

The maximum number of instances a shader can have is 256.

-
- - ff476438 - void ID3D11DeviceContext::GSSetShader([In, Optional] ID3D11GeometryShader* pShader,[In, Buffer, Optional] const ID3D11ClassInstance** ppClassInstances,[In] unsigned int NumClassInstances) - ID3D11DeviceContext::GSSetShader -
- - -

Bind an array of shader resources to the geometry shader stage.

-
-

Index into the device's zero-based array to begin setting shader resources to (ranges from 0 to - 1).

-

Number of shader resources to set. Up to a maximum of 128 slots are available for shader resources(ranges from 0 to - StartSlot).

-

Array of shader resource view interfaces to set to the device.

- -

If an overlapping resource view is already bound to an output slot, such as a render target, then the method will fill the destination shader resource slot with null.

For information about creating shader-resource views, see .

The method will hold a reference to the interfaces passed in. This differs from the device state behavior in Direct3D 10.

-
- - ff476439 - void ID3D11DeviceContext::GSSetShaderResources([In] unsigned int StartSlot,[In] unsigned int NumViews,[In, Buffer, Optional] const void** ppShaderResourceViews) - ID3D11DeviceContext::GSSetShaderResources -
- - -

Set an array of sampler states to the geometry shader pipeline stage.

-
-

Index into the device's zero-based array to begin setting samplers to (ranges from 0 to - 1).

-

Number of samplers in the array. Each pipeline stage has a total of 16 sampler slots available (ranges from 0 to - StartSlot).

-

Pointer to an array of sampler-state interfaces (see ). See Remarks.

- -

Any sampler may be set to null; this invokes the default state, which is defined to be the following.

 //Default sampler state:	
-             SamplerDesc;	
-            SamplerDesc.Filter = ;	
-            SamplerDesc.AddressU = ;	
-            SamplerDesc.AddressV = ;	
-            SamplerDesc.AddressW = ;	
-            SamplerDesc.MipLODBias = 0;	
-            SamplerDesc.MaxAnisotropy = 1;	
-            SamplerDesc.ComparisonFunc = ;	
-            SamplerDesc.BorderColor[0] = 1.0f;	
-            SamplerDesc.BorderColor[1] = 1.0f;	
-            SamplerDesc.BorderColor[2] = 1.0f;	
-            SamplerDesc.BorderColor[3] = 1.0f;	
-            SamplerDesc.MinLOD = -FLT_MAX;	
-            SamplerDesc.MaxLOD = FLT_MAX; 

The method will hold a reference to the interfaces passed in. This differs from the device state behavior in Direct3D 10.

-
- - ff476437 - void ID3D11DeviceContext::GSSetSamplers([In] unsigned int StartSlot,[In] unsigned int NumSamplers,[In, Buffer, Optional] const void** ppSamplers) - ID3D11DeviceContext::GSSetSamplers -
- - -

Get the constant buffers used by the geometry shader pipeline stage.

-
-

Index into the device's zero-based array to begin retrieving constant buffers from (ranges from 0 to - 1).

-

Number of buffers to retrieve (ranges from 0 to - StartSlot).

-

Array of constant buffer interface references (see ) to be returned by the method.

- -

Any returned interfaces will have their reference count incremented by one. Applications should call IUnknown::Release on the returned interfaces when they are no longer needed to avoid memory leaks.

-
- - ff476432 - void ID3D11DeviceContext::GSGetConstantBuffers([In] unsigned int StartSlot,[In] unsigned int NumBuffers,[Out, Buffer, Optional] ID3D11Buffer** ppConstantBuffers) - ID3D11DeviceContext::GSGetConstantBuffers -
- - -

Get the geometry shader currently set on the device.

-
-

Address of a reference to a geometry shader (see ) to be returned by the method.

-

Pointer to an array of class instance interfaces (see ).

-

The number of class-instance elements in the array.

- -

Any returned interfaces will have their reference count incremented by one. Applications should call IUnknown::Release on the returned interfaces when they are no longer needed to avoid memory leaks.

-
- - ff476434 - void ID3D11DeviceContext::GSGetShader([Out, Optional] ID3D11GeometryShader** ppGeometryShader,[Out, Buffer, Optional] ID3D11ClassInstance** ppClassInstances,[InOut] unsigned int* pNumClassInstances) - ID3D11DeviceContext::GSGetShader -
- - -

Get the geometry shader resources.

-
-

Index into the device's zero-based array to begin getting shader resources from (ranges from 0 to - 1).

-

The number of resources to get from the device. Up to a maximum of 128 slots are available for shader resources (ranges from 0 to - StartSlot).

-

Array of shader resource view interfaces to be returned by the device.

- -

Any returned interfaces will have their reference count incremented by one. Applications should call IUnknown::Release on the returned interfaces when they are no longer needed to avoid memory leaks.

-
- - ff476435 - void ID3D11DeviceContext::GSGetShaderResources([In] unsigned int StartSlot,[In] unsigned int NumViews,[Out, Buffer, Optional] ID3D11ShaderResourceView** ppShaderResourceViews) - ID3D11DeviceContext::GSGetShaderResources -
- - -

Get an array of sampler state interfaces from the geometry shader pipeline stage.

-
-

Index into a zero-based array to begin getting samplers from (ranges from 0 to - 1).

-

Number of samplers to get from a device context. Each pipeline stage has a total of 16 sampler slots available (ranges from 0 to - StartSlot).

-

Pointer to an array of sampler-state interfaces (see ).

- -

Any returned interfaces will have their reference count incremented by one. Applications should call IUnknown::Release on the returned interfaces when they are no longer needed to avoid memory leaks.

-
- - ff476433 - void ID3D11DeviceContext::GSGetSamplers([In] unsigned int StartSlot,[In] unsigned int NumSamplers,[Out, Buffer, Optional] ID3D11SamplerState** ppSamplers) - ID3D11DeviceContext::GSGetSamplers -
- - -

A hull-shader interface manages an executable program (a hull shader) that controls the hull-shader stage.

-
- -

The hull-shader interface has no methods; use HLSL to implement your shader functionality. All shaders are implemented from a common set of features referred to as the common-shader core..

To create a hull-shader interface, call . Before using a hull shader you must bind it to the device by calling .

This interface is defined in D3D11.h.

-
- - ff476537 - ID3D11HullShader - ID3D11HullShader -
- - - Initializes a new instance of the 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 new instance of the class. - - The device used to create the shader. - The compiled shader bytecode. - A dynamic class linkage interface. - - - -

The interface represents a device context which generates rendering commands.

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

Bind an array of shader resources to the hull-shader stage.

-
- No documentation. - No documentation. - No documentation. - -

If an overlapping resource view is already bound to an output slot, such as a render target, then the method will fill the destination shader resource slot with null.

For information about creating shader-resource views, see .

The method will hold a reference to the interfaces passed in. This differs from the device state behavior in Direct3D 10.

-
- - ff476448 - void ID3D11DeviceContext::HSSetShaderResources([In] unsigned int StartSlot,[In] unsigned int NumViews,[In, Buffer, Optional] const void** ppShaderResourceViews) - ID3D11DeviceContext::HSSetShaderResources -
- - -

Set a hull shader to the device.

-
-

Pointer to a hull shader (see ). Passing in null disables the shader for this pipeline stage.

-

A reference to an array of class-instance interfaces (see ). Each interface used by a shader must have a corresponding class instance or the shader will get disabled. Set ppClassInstances to null if the shader does not use any interfaces.

-

The number of class-instance interfaces in the array.

- -

The method will hold a reference to the interfaces passed in. This differs from the device state behavior in Direct3D 10.

The maximum number of instances a shader can have is 256.

-
- - ff476447 - void ID3D11DeviceContext::HSSetShader([In, Optional] ID3D11HullShader* pHullShader,[In, Buffer, Optional] const ID3D11ClassInstance** ppClassInstances,[In] unsigned int NumClassInstances) - ID3D11DeviceContext::HSSetShader -
- - -

Set a hull shader to the device.

-
-

Pointer to a hull shader (see ). Passing in null disables the shader for this pipeline stage.

-

A reference to an array of class-instance interfaces (see ). Each interface used by a shader must have a corresponding class instance or the shader will get disabled. Set ppClassInstances to null if the shader does not use any interfaces.

-

The number of class-instance interfaces in the array.

- -

The method will hold a reference to the interfaces passed in. This differs from the device state behavior in Direct3D 10.

The maximum number of instances a shader can have is 256.

-
- - ff476447 - void ID3D11DeviceContext::HSSetShader([In, Optional] ID3D11HullShader* pHullShader,[In, Buffer, Optional] const ID3D11ClassInstance** ppClassInstances,[In] unsigned int NumClassInstances) - ID3D11DeviceContext::HSSetShader -
- - -

Set a hull shader to the device.

-
-

Pointer to a hull shader (see ). Passing in null disables the shader for this pipeline stage.

-

A reference to an array of class-instance interfaces (see ). Each interface used by a shader must have a corresponding class instance or the shader will get disabled. Set ppClassInstances to null if the shader does not use any interfaces.

-

The number of class-instance interfaces in the array.

- -

The method will hold a reference to the interfaces passed in. This differs from the device state behavior in Direct3D 10.

The maximum number of instances a shader can have is 256.

-
- - ff476447 - void ID3D11DeviceContext::HSSetShader([In, Optional] ID3D11HullShader* pHullShader,[In, Buffer, Optional] const ID3D11ClassInstance** ppClassInstances,[In] unsigned int NumClassInstances) - ID3D11DeviceContext::HSSetShader -
- - -

Set an array of sampler states to the hull-shader stage.

-
- No documentation. - No documentation. - No documentation. - -

Any sampler may be set to null; this invokes the default state, which is defined to be the following.

 //Default sampler state:	
-             SamplerDesc;	
-            SamplerDesc.Filter = ;	
-            SamplerDesc.AddressU = ;	
-            SamplerDesc.AddressV = ;	
-            SamplerDesc.AddressW = ;	
-            SamplerDesc.MipLODBias = 0;	
-            SamplerDesc.MaxAnisotropy = 1;	
-            SamplerDesc.ComparisonFunc = ;	
-            SamplerDesc.BorderColor[0] = 1.0f;	
-            SamplerDesc.BorderColor[1] = 1.0f;	
-            SamplerDesc.BorderColor[2] = 1.0f;	
-            SamplerDesc.BorderColor[3] = 1.0f;	
-            SamplerDesc.MinLOD = -FLT_MAX;	
-            SamplerDesc.MaxLOD = FLT_MAX; 

The method will hold a reference to the interfaces passed in. This differs from the device state behavior in Direct3D 10.

-
- - ff476446 - void ID3D11DeviceContext::HSSetSamplers([In] unsigned int StartSlot,[In] unsigned int NumSamplers,[In, Buffer, Optional] const void** ppSamplers) - ID3D11DeviceContext::HSSetSamplers -
- - -

Set the constant buffers used by the hull-shader stage.

-
- No documentation. - No documentation. - No documentation. - -

The method will hold a reference to the interfaces passed in. This differs from the device state behavior in Direct3D 10.

The Direct3D 11.1 runtime, which is available starting with Windows?8, can bind a larger number of resources to the shader than the maximum constant buffer size that is supported by shaders (4096 constants ? 4*32-bit components each). When you bind such a large buffer, the shader can access only the first 4096 4*32-bit component constants in the buffer, as if 4096 constants is the full size of the buffer.

If the application wants the shader to access other parts of the buffer, it must call the HSSetConstantBuffers1 method instead.

-
- - ff476445 - void ID3D11DeviceContext::HSSetConstantBuffers([In] unsigned int StartSlot,[In] unsigned int NumBuffers,[In, Buffer, Optional] const void** ppConstantBuffers) - ID3D11DeviceContext::HSSetConstantBuffers -
- - -

Get the hull-shader resources.

-
-

Index into the device's zero-based array to begin getting shader resources from (ranges from 0 to - 1).

-

The number of resources to get from the device. Up to a maximum of 128 slots are available for shader resources (ranges from 0 to - StartSlot).

-

Array of shader resource view interfaces to be returned by the device.

- -

Any returned interfaces will have their reference count incremented by one. Applications should call IUnknown::Release on the returned interfaces when they are no longer needed to avoid memory leaks.

-
- - ff476443 - void ID3D11DeviceContext::HSGetShaderResources([In] unsigned int StartSlot,[In] unsigned int NumViews,[Out, Buffer, Optional] ID3D11ShaderResourceView** ppShaderResourceViews) - ID3D11DeviceContext::HSGetShaderResources -
- - -

Get the hull shader currently set on the device.

-
-

Address of a reference to a hull shader (see ) to be returned by the method.

-

Pointer to an array of class instance interfaces (see ).

-

The number of class-instance elements in the array.

- -

Any returned interfaces will have their reference count incremented by one. Applications should call IUnknown::Release on the returned interfaces when they are no longer needed to avoid memory leaks.

-
- - ff476442 - void ID3D11DeviceContext::HSGetShader([Out, Optional] ID3D11HullShader** ppHullShader,[Out, Buffer, Optional] ID3D11ClassInstance** ppClassInstances,[InOut] unsigned int* pNumClassInstances) - ID3D11DeviceContext::HSGetShader -
- - -

Get an array of sampler state interfaces from the hull-shader stage.

-
- No documentation. - No documentation. - No documentation. - -

Any returned interfaces will have their reference count incremented by one. Applications should call IUnknown::Release on the returned interfaces when they are no longer needed to avoid memory leaks.

-
- - ff476441 - void ID3D11DeviceContext::HSGetSamplers([In] unsigned int StartSlot,[In] unsigned int NumSamplers,[Out, Buffer, Optional] ID3D11SamplerState** ppSamplers) - ID3D11DeviceContext::HSGetSamplers -
- - -

Get the constant buffers used by the hull-shader stage.

-
- No documentation. - No documentation. - No documentation. - -

Any returned interfaces will have their reference count incremented by one. Applications should call IUnknown::Release on the returned interfaces when they are no longer needed to avoid memory leaks.

-
- - ff476440 - void ID3D11DeviceContext::HSGetConstantBuffers([In] unsigned int StartSlot,[In] unsigned int NumBuffers,[Out, Buffer, Optional] ID3D11Buffer** ppConstantBuffers) - ID3D11DeviceContext::HSGetConstantBuffers -
- - -

An information-queue interface stores, retrieves, and filters debug messages. The queue consists of a message queue, an optional storage filter stack, and a optional retrieval filter stack.

-
- -

To get this interface, turn on debug layer and use IUnknown::QueryInterface from the .

Windows?Phone?8: This API is supported.

-
- - ff476538 - ID3D11InfoQueue - ID3D11InfoQueue -
- - - Initializes a new instance of the 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 or sets the maximum number of messages that can be added to the message queue.

-
- -

When the number of messages in the message queue has reached the maximum limit, new messages coming in will push old messages out.

-
- - ff476550 - GetMessageCountLimit / SetMessageCountLimit - GetMessageCountLimit - unsigned longlong ID3D11InfoQueue::GetMessageCountLimit() -
- - -

Get the number of messages that were allowed to pass through a storage filter.

-
- - ff476552 - GetNumMessagesAllowedByStorageFilter - GetNumMessagesAllowedByStorageFilter - unsigned longlong ID3D11InfoQueue::GetNumMessagesAllowedByStorageFilter() -
- - -

Get the number of messages that were denied passage through a storage filter.

-
- - ff476553 - GetNumMessagesDeniedByStorageFilter - GetNumMessagesDeniedByStorageFilter - unsigned longlong ID3D11InfoQueue::GetNumMessagesDeniedByStorageFilter() -
- - -

Get the number of messages currently stored in the message queue.

-
- - ff476556 - GetNumStoredMessages - GetNumStoredMessages - unsigned longlong ID3D11InfoQueue::GetNumStoredMessages() -
- - -

Get the number of messages that are able to pass through a retrieval filter.

-
- - ff476557 - GetNumStoredMessagesAllowedByRetrievalFilter - GetNumStoredMessagesAllowedByRetrievalFilter - unsigned longlong ID3D11InfoQueue::GetNumStoredMessagesAllowedByRetrievalFilter() -
- - -

Get the number of messages that were discarded due to the message count limit.

-
- -

Get and set the message count limit with and , respectively.

-
- - ff476554 - GetNumMessagesDiscardedByMessageCountLimit - GetNumMessagesDiscardedByMessageCountLimit - unsigned longlong ID3D11InfoQueue::GetNumMessagesDiscardedByMessageCountLimit() -
- - -

Get the size of the storage-filter stack in bytes.

-
- - ff476561 - GetStorageFilterStackSize - GetStorageFilterStackSize - unsigned int ID3D11InfoQueue::GetStorageFilterStackSize() -
- - -

Get the size of the retrieval-filter stack in bytes.

-
- - ff476559 - GetRetrievalFilterStackSize - GetRetrievalFilterStackSize - unsigned int ID3D11InfoQueue::GetRetrievalFilterStackSize() -
- - -

Get or sets a boolean that turns the debug output on or off.

-
- - ff476551 - GetMuteDebugOutput / SetMuteDebugOutput - GetMuteDebugOutput - BOOL ID3D11InfoQueue::GetMuteDebugOutput() -
- - -

Set the maximum number of messages that can be added to the message queue.

-
-

Maximum number of messages that can be added to the message queue. -1 means no limit.

-

This method returns one of the following Direct3D 11 Return Codes.

- -

When the number of messages in the message queue has reached the maximum limit, new messages coming in will push old messages out.

-
- - ff476573 - HRESULT ID3D11InfoQueue::SetMessageCountLimit([In] unsigned longlong MessageCountLimit) - ID3D11InfoQueue::SetMessageCountLimit -
- - -

Clear all messages from the message queue.

-
- - ff476545 - void ID3D11InfoQueue::ClearStoredMessages() - ID3D11InfoQueue::ClearStoredMessages -
- - -

Get a message from the message queue.

-
-

Index into message queue after an optional retrieval filter has been applied. This can be between 0 and the number of messages in the message queue that pass through the retrieval filter (which can be obtained with ). 0 is the message at the front of the message queue.

-

Returned message (see ).

-

Size of pMessage in bytes, including the size of the message string that the pMessage points to.

-

This method returns one of the following Direct3D 11 Return Codes.

- -

This method does not remove any messages from the message queue.

This method gets messages from the message queue after an optional retrieval filter has been applied.

Applications should call this method twice to retrieve a message - first to obtain the size of the message and second to get the message. Here is a typical example:

 // Get the size of the message	
-             messageLength = 0;	
-             hr = pInfoQueue->GetMessage(0, null, &messageLength); // Allocate space and get the message	
-             * pMessage = (*)malloc(messageLength);	
-            hr = pInfoQueue->GetMessage(0, pMessage, &messageLength);	
-            

For an overview see Information Queue Overview.

-
- - ff476549 - HRESULT ID3D11InfoQueue::GetMessageW([In] unsigned longlong MessageIndex,[In] void* pMessage,[InOut] SIZE_T* pMessageByteLength) - ID3D11InfoQueue::GetMessageW -
- - -

Get the number of messages that were allowed to pass through a storage filter.

-
-

Number of messages allowed by a storage filter.

- - ff476552 - unsigned longlong ID3D11InfoQueue::GetNumMessagesAllowedByStorageFilter() - ID3D11InfoQueue::GetNumMessagesAllowedByStorageFilter -
- - -

Get the number of messages that were denied passage through a storage filter.

-
-

Number of messages denied by a storage filter.

- - ff476553 - unsigned longlong ID3D11InfoQueue::GetNumMessagesDeniedByStorageFilter() - ID3D11InfoQueue::GetNumMessagesDeniedByStorageFilter -
- - -

Get the number of messages currently stored in the message queue.

-
-

Number of messages currently stored in the message queue.

- - ff476556 - unsigned longlong ID3D11InfoQueue::GetNumStoredMessages() - ID3D11InfoQueue::GetNumStoredMessages -
- - -

Get the number of messages that are able to pass through a retrieval filter.

-
-

Number of messages allowed by a retrieval filter.

- - ff476557 - unsigned longlong ID3D11InfoQueue::GetNumStoredMessagesAllowedByRetrievalFilter() - ID3D11InfoQueue::GetNumStoredMessagesAllowedByRetrievalFilter -
- - -

Get the number of messages that were discarded due to the message count limit.

-
-

Number of messages discarded.

- -

Get and set the message count limit with and , respectively.

-
- - ff476554 - unsigned longlong ID3D11InfoQueue::GetNumMessagesDiscardedByMessageCountLimit() - ID3D11InfoQueue::GetNumMessagesDiscardedByMessageCountLimit -
- - -

Get the maximum number of messages that can be added to the message queue.

-
-

Maximum number of messages that can be added to the queue. -1 means no limit.

- -

When the number of messages in the message queue has reached the maximum limit, new messages coming in will push old messages out.

-
- - ff476550 - unsigned longlong ID3D11InfoQueue::GetMessageCountLimit() - ID3D11InfoQueue::GetMessageCountLimit -
- - -

Add storage filters to the top of the storage-filter stack.

-
-

Array of storage filters (see ).

-

This method returns one of the following Direct3D 11 Return Codes.

- - ff476542 - HRESULT ID3D11InfoQueue::AddStorageFilterEntries([In] D3D11_INFO_QUEUE_FILTER* pFilter) - ID3D11InfoQueue::AddStorageFilterEntries -
- - -

Get the storage filter at the top of the storage-filter stack.

-
-

Storage filter at the top of the storage-filter stack.

-

Size of the storage filter in bytes. If pFilter is null, the size of the storage filter will be output to this parameter.

-

This method returns one of the following Direct3D 11 Return Codes.

- - ff476560 - HRESULT ID3D11InfoQueue::GetStorageFilter([In] void* pFilter,[InOut] SIZE_T* pFilterByteLength) - ID3D11InfoQueue::GetStorageFilter -
- - -

Remove a storage filter from the top of the storage-filter stack.

-
- - ff476544 - void ID3D11InfoQueue::ClearStorageFilter() - ID3D11InfoQueue::ClearStorageFilter -
- - -

Push an empty storage filter onto the storage-filter stack.

-
-

This method returns one of the following Direct3D 11 Return Codes.

- -

An empty storage filter allows all messages to pass through.

-
- - ff476567 - HRESULT ID3D11InfoQueue::PushEmptyStorageFilter() - ID3D11InfoQueue::PushEmptyStorageFilter -
- - -

Push a copy of storage filter currently on the top of the storage-filter stack onto the storage-filter stack.

-
-

This method returns one of the following Direct3D 11 Return Codes.

- - ff476565 - HRESULT ID3D11InfoQueue::PushCopyOfStorageFilter() - ID3D11InfoQueue::PushCopyOfStorageFilter -
- - -

Push a storage filter onto the storage-filter stack.

-
-

Pointer to a storage filter (see ).

-

This method returns one of the following Direct3D 11 Return Codes.

- - ff476569 - HRESULT ID3D11InfoQueue::PushStorageFilter([In] D3D11_INFO_QUEUE_FILTER* pFilter) - ID3D11InfoQueue::PushStorageFilter -
- - -

Pop a storage filter from the top of the storage-filter stack.

-
- - ff476563 - void ID3D11InfoQueue::PopStorageFilter() - ID3D11InfoQueue::PopStorageFilter -
- - -

Get the size of the storage-filter stack in bytes.

-
-

Size of the storage-filter stack in bytes.

- - ff476561 - unsigned int ID3D11InfoQueue::GetStorageFilterStackSize() - ID3D11InfoQueue::GetStorageFilterStackSize -
- - -

Add storage filters to the top of the retrieval-filter stack.

-
-

Array of retrieval filters (see ).

-

This method returns one of the following Direct3D 11 Return Codes.

- -

The following code example shows how to use :

  cats[] = { ..., ..., ... };	
-             sevs[] = { ..., ..., ... };	
-            UINT ids[] = { ..., ..., ... };  filter;	
-            memset( &filter, 0, sizeof(filter) ); // To set the type of messages to allow, 	
-            // set filter.AllowList as follows:	
-            filter.AllowList.NumCategories = sizeof(cats / sizeof()); 	
-            filter.AllowList.pCategoryList = cats;	
-            filter.AllowList.NumSeverities = sizeof(sevs / sizeof()); 	
-            filter.AllowList.pSeverityList = sevs;	
-            filter.AllowList.NumIDs = sizeof(ids) / sizeof(UINT);	
-            filter.AllowList.pIDList = ids; // To set the type of messages to deny, set filter.DenyList 	
-            // similarly to the preceding filter.AllowList. // The following single call sets all of the preceding information.	
-            hr = infoQueue->AddRetrievalFilterEntries( &filter );	
-            
-
- - ff476541 - HRESULT ID3D11InfoQueue::AddRetrievalFilterEntries([In] D3D11_INFO_QUEUE_FILTER* pFilter) - ID3D11InfoQueue::AddRetrievalFilterEntries -
- - -

Get the retrieval filter at the top of the retrieval-filter stack.

-
-

Retrieval filter at the top of the retrieval-filter stack.

-

Size of the retrieval filter in bytes. If pFilter is null, the size of the retrieval filter will be output to this parameter.

-

This method returns one of the following Direct3D 11 Return Codes.

- - ff476558 - HRESULT ID3D11InfoQueue::GetRetrievalFilter([In] void* pFilter,[InOut] SIZE_T* pFilterByteLength) - ID3D11InfoQueue::GetRetrievalFilter -
- - -

Remove a retrieval filter from the top of the retrieval-filter stack.

-
- - ff476543 - void ID3D11InfoQueue::ClearRetrievalFilter() - ID3D11InfoQueue::ClearRetrievalFilter -
- - -

Push an empty retrieval filter onto the retrieval-filter stack.

-
-

This method returns one of the following Direct3D 11 Return Codes.

- -

An empty retrieval filter allows all messages to pass through.

-
- - ff476566 - HRESULT ID3D11InfoQueue::PushEmptyRetrievalFilter() - ID3D11InfoQueue::PushEmptyRetrievalFilter -
- - -

Push a copy of retrieval filter currently on the top of the retrieval-filter stack onto the retrieval-filter stack.

-
-

This method returns one of the following Direct3D 11 Return Codes.

- - ff476564 - HRESULT ID3D11InfoQueue::PushCopyOfRetrievalFilter() - ID3D11InfoQueue::PushCopyOfRetrievalFilter -
- - -

Push a retrieval filter onto the retrieval-filter stack.

-
-

Pointer to a retrieval filter (see ).

-

This method returns one of the following Direct3D 11 Return Codes.

- - ff476568 - HRESULT ID3D11InfoQueue::PushRetrievalFilter([In] D3D11_INFO_QUEUE_FILTER* pFilter) - ID3D11InfoQueue::PushRetrievalFilter -
- - -

Pop a retrieval filter from the top of the retrieval-filter stack.

-
- - ff476562 - void ID3D11InfoQueue::PopRetrievalFilter() - ID3D11InfoQueue::PopRetrievalFilter -
- - -

Get the size of the retrieval-filter stack in bytes.

-
-

Size of the retrieval-filter stack in bytes.

- - ff476559 - unsigned int ID3D11InfoQueue::GetRetrievalFilterStackSize() - ID3D11InfoQueue::GetRetrievalFilterStackSize -
- - -

Add a debug message to the message queue and send that message to debug output.

-
-

Category of a message (see ).

-

Severity of a message (see ).

-

Unique identifier of a message (see ).

-

User-defined message.

-

This method returns one of the following Direct3D 11 Return Codes.

- -

This method is used by the runtime's internal mechanisms to add debug messages to the message queue and send them to debug output. For applications to add their own custom messages to the message queue and send them to debug output, call .

-
- - ff476540 - HRESULT ID3D11InfoQueue::AddMessage([In] D3D11_MESSAGE_CATEGORY Category,[In] D3D11_MESSAGE_SEVERITY Severity,[In] D3D11_MESSAGE_ID ID,[In] const char* pDescription) - ID3D11InfoQueue::AddMessage -
- - -

Add a user-defined message to the message queue and send that message to debug output.

-
-

Severity of a message (see ).

-

Message string.

-

This method returns one of the following Direct3D 11 Return Codes.

- - ff476539 - HRESULT ID3D11InfoQueue::AddApplicationMessage([In] D3D11_MESSAGE_SEVERITY Severity,[In] const char* pDescription) - ID3D11InfoQueue::AddApplicationMessage -
- - -

Set a message category to break on when a message with that category passes through the storage filter.

-
-

Message category to break on (see ).

-

Turns this breaking condition on or off (true for on, false for off).

-

This method returns one of the following Direct3D 11 Return Codes.

- - ff476570 - HRESULT ID3D11InfoQueue::SetBreakOnCategory([In] D3D11_MESSAGE_CATEGORY Category,[In] BOOL bEnable) - ID3D11InfoQueue::SetBreakOnCategory -
- - -

Set a message severity level to break on when a message with that severity level passes through the storage filter.

-
-

A , which represents a message severity level to break on.

-

Turns this breaking condition on or off (true for on, false for off).

-

This method returns one of the following Direct3D 11 Return Codes.

- - ff476572 - HRESULT ID3D11InfoQueue::SetBreakOnSeverity([In] D3D11_MESSAGE_SEVERITY Severity,[In] BOOL bEnable) - ID3D11InfoQueue::SetBreakOnSeverity -
- - -

Set a message identifier to break on when a message with that identifier passes through the storage filter.

-
-

Message identifier to break on (see ).

-

Turns this breaking condition on or off (true for on, false for off).

-

This method returns one of the following Direct3D 11 Return Codes.

- - ff476571 - HRESULT ID3D11InfoQueue::SetBreakOnID([In] D3D11_MESSAGE_ID ID,[In] BOOL bEnable) - ID3D11InfoQueue::SetBreakOnID -
- - -

Get a message category to break on when a message with that category passes through the storage filter.

-
-

Message category to break on (see ).

-

Whether this breaking condition is turned on or off (true for on, false for off).

- - ff476546 - BOOL ID3D11InfoQueue::GetBreakOnCategory([In] D3D11_MESSAGE_CATEGORY Category) - ID3D11InfoQueue::GetBreakOnCategory -
- - -

Get a message severity level to break on when a message with that severity level passes through the storage filter.

-
-

Message severity level to break on (see ).

-

Whether this breaking condition is turned on or off (true for on, false for off).

- - ff476548 - BOOL ID3D11InfoQueue::GetBreakOnSeverity([In] D3D11_MESSAGE_SEVERITY Severity) - ID3D11InfoQueue::GetBreakOnSeverity -
- - -

Get a message identifier to break on when a message with that identifier passes through the storage filter.

-
-

Message identifier to break on (see ).

-

Whether this breaking condition is turned on or off (true for on, false for off).

- - ff476547 - BOOL ID3D11InfoQueue::GetBreakOnID([In] D3D11_MESSAGE_ID ID) - ID3D11InfoQueue::GetBreakOnID -
- - -

Set a boolean that turns the debug output on or off.

-
-

Disable/Enable the debug output (TRUE to disable or mute the output, to enable the output).

- -

This will stop messages that pass the storage filter from being printed out in the debug output, however those messages will still be added to the message queue.

-
- - ff476574 - void ID3D11InfoQueue::SetMuteDebugOutput([In] BOOL bMute) - ID3D11InfoQueue::SetMuteDebugOutput -
- - -

Get a boolean that turns the debug output on or off.

-
-

Whether the debug output is on or off (true for on, false for off).

- - ff476551 - BOOL ID3D11InfoQueue::GetMuteDebugOutput() - ID3D11InfoQueue::GetMuteDebugOutput -
- - -

Get a message from the message queue.

-
-

Index into message queue after an optional retrieval filter has been applied. This can be between 0 and the number of messages in the message queue that pass through the retrieval filter (which can be obtained with ). 0 is the message at the front of the message queue.

- Returned message (see ) - ff476549 - HRESULT ID3D11InfoQueue::GetMessageW([In] unsigned longlong MessageIndex,[In] void* pMessage,[InOut] SIZE_T* pMessageByteLength) - ID3D11InfoQueue::GetMessageW -
- - -

Get the storage filter at the top of the storage-filter stack.

-
- The storage filter at the top of the storage-filter stack. - ff476560 - HRESULT ID3D11InfoQueue::GetStorageFilter([In] void* pFilter,[InOut] SIZE_T* pFilterByteLength) - ID3D11InfoQueue::GetStorageFilter -
- - -

Get the retrieval filter at the top of the retrieval-filter stack.

-
- The retrieval filter at the top of the retrieval-filter stack. - ff476558 - HRESULT ID3D11InfoQueue::GetRetrievalFilter([In] void* pFilter,[InOut] SIZE_T* pFilterByteLength) - ID3D11InfoQueue::GetRetrievalFilter -
- - -

An input-layout interface holds a definition of how to feed vertex data that is laid out in memory into the input-assembler stage of the graphics pipeline.

-
- -

To create an input-layout object, call . To bind the input-layout object to the input-assembler stage, call .

-
- - ff476575 - ID3D11InputLayout - ID3D11InputLayout -
- - - Initializes a new instance of the 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 new instance of the object to describe the - input-buffer data for the input-assembler stage. - - ID3D11Device::CreateInputLayout - The device used to create the layout. - An array of input elements describing the layout of the input data. - The compiled shader used to validate the input elements. - - - -

Provides threading protection for critical sections of a multi-threaded application.

-
- -

This interface is obtained by querying it from an immediate device context created with the (or later versions of this) interface using IUnknown::QueryInterface.

Unlike D3D10, there is no multithreaded layer in D3D11. By default, multithread protection is turned off. Use SetMultithreadProtected to turn it on, then Enter and Leave to encapsulate graphics commands that must be executed in a specific order.

By default in D3D11, applications can only use one thread with the immediate context at a time. But, applications can use this interface to change that restriction. The interface can turn on threading protection for the immediate context, which will increase the overhead of each immediate context call in order to share one context with multiple threads.

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

Find out if multithread protection is turned on or not.

-
- - mt644889 - GetMultithreadProtected - GetMultithreadProtected - BOOL ID3D11Multithread::GetMultithreadProtected() -
- - -

Enter a device's critical section.

-
- -

If SetMultithreadProtected is set to true, then entering a device's critical section prevents other threads from simultaneously calling that device's methods, 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 Leave is typically called after those graphics commands.

-
- - mt644887 - void ID3D11Multithread::Enter() - ID3D11Multithread::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. Enter is typically called at the beginning of a series of graphics commands, and this function is typically called after those graphics commands.

-
- - mt644890 - void ID3D11Multithread::Leave() - ID3D11Multithread::Leave -
- - -

Turns multithread protection on or off.

-
-

Set to true to turn multithread protection on, false to turn it off.

-

True if multithread protection was already turned on prior to calling this method, false otherwise.

- - mt644891 - BOOL ID3D11Multithread::SetMultithreadProtected([In] BOOL bMTProtect) - ID3D11Multithread::SetMultithreadProtected -
- - -

Find out if multithread protection is turned on or not.

-
-

Returns true if multithread protection is turned on, false otherwise.

- - mt644889 - BOOL ID3D11Multithread::GetMultithreadProtected() - ID3D11Multithread::GetMultithreadProtected -
- - -

A pixel-shader interface manages an executable program (a pixel shader) that controls the pixel-shader stage.

-
- -

The pixel-shader interface has no methods; use HLSL to implement your shader functionality. All shaders in are implemented from a common set of features referred to as the common-shader core..

To create a pixel shader interface, call . Before using a pixel shader you must bind it to the device by calling .

This interface is defined in D3D11.h.

-
- - ff476576 - ID3D11PixelShader - ID3D11PixelShader -
- - - Initializes a new instance of the 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 new instance of the class. - - The device used to create the shader. - The compiled shader bytecode. - A dynamic class linkage interface. - - - -

The interface represents a device context which generates rendering commands.

-
- - ff476385 - ID3D11DeviceContext - ID3D11DeviceContext -
- - - Initializes a new instance of the 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 FrontfacingDefaultValue. - D3D11_PS_FRONTFACING_DEFAULT_VALUE - - - Constant FrontfacingFalseValue. - D3D11_PS_FRONTFACING_FALSE_VALUE - - - Constant FrontfacingTrueValue. - D3D11_PS_FRONTFACING_TRUE_VALUE - - - Constant InputRegisterComponents. - D3D11_PS_INPUT_REGISTER_COMPONENTS - - - Constant InputRegisterComponentBitCount. - D3D11_PS_INPUT_REGISTER_COMPONENT_BIT_COUNT - - - Constant InputRegisterCount. - D3D11_PS_INPUT_REGISTER_COUNT - - - Constant InputRegisterReadsPerInst. - D3D11_PS_INPUT_REGISTER_READS_PER_INST - - - Constant InputRegisterReadPorts. - D3D11_PS_INPUT_REGISTER_READ_PORTS - - - Constant LegacyPixelCenterFractionalComponent. - D3D11_PS_LEGACY_PIXEL_CENTER_FRACTIONAL_COMPONENT - - - Constant OutputDepthRegisterComponents. - D3D11_PS_OUTPUT_DEPTH_REGISTER_COMPONENTS - - - Constant OutputDepthRegisterComponentBitCount. - D3D11_PS_OUTPUT_DEPTH_REGISTER_COMPONENT_BIT_COUNT - - - Constant OutputDepthRegisterCount. - D3D11_PS_OUTPUT_DEPTH_REGISTER_COUNT - - - Constant OutputMaskRegisterComponents. - D3D11_PS_OUTPUT_MASK_REGISTER_COMPONENTS - - - Constant OutputMaskRegisterComponentBitCount. - D3D11_PS_OUTPUT_MASK_REGISTER_COMPONENT_BIT_COUNT - - - Constant OutputMaskRegisterCount. - D3D11_PS_OUTPUT_MASK_REGISTER_COUNT - - - Constant OutputRegisterComponents. - D3D11_PS_OUTPUT_REGISTER_COMPONENTS - - - Constant OutputRegisterComponentBitCount. - D3D11_PS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT - - - Constant OutputRegisterCount. - D3D11_PS_OUTPUT_REGISTER_COUNT - - - Constant PixelCenterFractionalComponent. - D3D11_PS_PIXEL_CENTER_FRACTIONAL_COMPONENT - - - -

Bind an array of shader resources to the pixel shader stage.

-
-

Index into the device's zero-based array to begin setting shader resources to (ranges from 0 to - 1).

-

Number of shader resources to set. Up to a maximum of 128 slots are available for shader resources (ranges from 0 to - StartSlot).

-

Array of shader resource view interfaces to set to the device.

- -

If an overlapping resource view is already bound to an output slot, such as a rendertarget, then this API will fill the destination shader resource slot with null.

For information about creating shader-resource views, see .

The method will hold a reference to the interfaces passed in. This differs from the device state behavior in Direct3D 10.

-
- - ff476473 - void ID3D11DeviceContext::PSSetShaderResources([In] unsigned int StartSlot,[In] unsigned int NumViews,[In, Buffer, Optional] const void** ppShaderResourceViews) - ID3D11DeviceContext::PSSetShaderResources -
- - -

Sets a pixel shader to the device.

-
-

Pointer to a pixel shader (see ). Passing in null disables the shader for this pipeline stage.

-

A reference to an array of class-instance interfaces (see ). Each interface used by a shader must have a corresponding class instance or the shader will get disabled. Set ppClassInstances to null if the shader does not use any interfaces.

-

The number of class-instance interfaces in the array.

- -

The method will hold a reference to the interfaces passed in. This differs from the device state behavior in Direct3D 10.

The maximum number of instances a shader can have is 256.

Set ppClassInstances to null if no interfaces are used in the shader. If it is not null, the number of class instances must match the number of interfaces used in the shader. Furthermore, each interface reference must have a corresponding class instance or the assigned shader will be disabled.

Windows?Phone?8: This API is supported.

-
- - ff476472 - void ID3D11DeviceContext::PSSetShader([In, Optional] ID3D11PixelShader* pPixelShader,[In, Buffer, Optional] const ID3D11ClassInstance** ppClassInstances,[In] unsigned int NumClassInstances) - ID3D11DeviceContext::PSSetShader -
- - -

Sets a pixel shader to the device.

-
-

Pointer to a pixel shader (see ). Passing in null disables the shader for this pipeline stage.

-

A reference to an array of class-instance interfaces (see ). Each interface used by a shader must have a corresponding class instance or the shader will get disabled. Set ppClassInstances to null if the shader does not use any interfaces.

-

The number of class-instance interfaces in the array.

- -

The method will hold a reference to the interfaces passed in. This differs from the device state behavior in Direct3D 10.

The maximum number of instances a shader can have is 256.

Set ppClassInstances to null if no interfaces are used in the shader. If it is not null, the number of class instances must match the number of interfaces used in the shader. Furthermore, each interface reference must have a corresponding class instance or the assigned shader will be disabled.

Windows?Phone?8: This API is supported.

-
- - ff476472 - void ID3D11DeviceContext::PSSetShader([In, Optional] ID3D11PixelShader* pPixelShader,[In, Buffer, Optional] const ID3D11ClassInstance** ppClassInstances,[In] unsigned int NumClassInstances) - ID3D11DeviceContext::PSSetShader -
- - -

Sets a pixel shader to the device.

-
-

Pointer to a pixel shader (see ). Passing in null disables the shader for this pipeline stage.

-

A reference to an array of class-instance interfaces (see ). Each interface used by a shader must have a corresponding class instance or the shader will get disabled. Set ppClassInstances to null if the shader does not use any interfaces.

-

The number of class-instance interfaces in the array.

- -

The method will hold a reference to the interfaces passed in. This differs from the device state behavior in Direct3D 10.

The maximum number of instances a shader can have is 256.

Set ppClassInstances to null if no interfaces are used in the shader. If it is not null, the number of class instances must match the number of interfaces used in the shader. Furthermore, each interface reference must have a corresponding class instance or the assigned shader will be disabled.

Windows?Phone?8: This API is supported.

-
- - ff476472 - void ID3D11DeviceContext::PSSetShader([In, Optional] ID3D11PixelShader* pPixelShader,[In, Buffer, Optional] const ID3D11ClassInstance** ppClassInstances,[In] unsigned int NumClassInstances) - ID3D11DeviceContext::PSSetShader -
- - -

Set an array of sampler states to the pixel shader pipeline stage.

-
-

Index into the device's zero-based array to begin setting samplers to (ranges from 0 to - 1).

-

Number of samplers in the array. Each pipeline stage has a total of 16 sampler slots available (ranges from 0 to - StartSlot).

-

Pointer to an array of sampler-state interfaces (see ). See Remarks.

- -

Any sampler may be set to null; this invokes the default state, which is defined to be the following.

StateDefault Value
Filter
AddressU
AddressV
AddressW
MipLODBias0
MaxAnisotropy1
ComparisonFunc
BorderColor[0]1.0f
BorderColor[1]1.0f
BorderColor[2]1.0f
BorderColor[3]1.0f
MinLOD-FLT_MAX
MaxLODFLT_MAX

?

The method will hold a reference to the interfaces passed in. This differs from the device state behavior in Direct3D 10.

-
- - ff476471 - void ID3D11DeviceContext::PSSetSamplers([In] unsigned int StartSlot,[In] unsigned int NumSamplers,[In, Buffer, Optional] const void** ppSamplers) - ID3D11DeviceContext::PSSetSamplers -
- - -

Sets the constant buffers used by the pixel shader pipeline stage.

-
-

Index into the device's zero-based array to begin setting constant buffers to (ranges from 0 to - 1).

-

Number of buffers to set (ranges from 0 to - StartSlot).

-

Array of constant buffers (see ) being given to the device.

- -

The method will hold a reference to the interfaces passed in. This differs from the device state behavior in Direct3D 10.

The Direct3D 11.1 runtime, which is available on Windows?8 and later operating systems, can bind a larger number of resources to the shader than the maximum constant buffer size that is supported by shaders (4096 constants ? 4*32-bit components each). When you bind such a large buffer, the shader can access only the first 4096 4*32-bit component constants in the buffer, as if 4096 constants is the full size of the buffer.

To enable the shader to access other parts of the buffer, call PSSetConstantBuffers1 instead of PSSetConstantBuffers. PSSetConstantBuffers1 has additional parameters pFirstConstant and pNumConstants.

-
- - ff476470 - void ID3D11DeviceContext::PSSetConstantBuffers([In] unsigned int StartSlot,[In] unsigned int NumBuffers,[In, Buffer, Optional] const void** ppConstantBuffers) - ID3D11DeviceContext::PSSetConstantBuffers -
- - -

Bind an array of shader resources to the pixel shader stage.

-
-

Index into the device's zero-based array to begin setting shader resources to (ranges from 0 to - 1).

-

Number of shader resources to set. Up to a maximum of 128 slots are available for shader resources (ranges from 0 to - StartSlot).

-

Array of shader resource view interfaces to set to the device.

- -

If an overlapping resource view is already bound to an output slot, such as a rendertarget, then this API will fill the destination shader resource slot with null.

For information about creating shader-resource views, see .

The method will hold a reference to the interfaces passed in. This differs from the device state behavior in Direct3D 10.

-
- - ff476473 - void ID3D11DeviceContext::PSGetShaderResources([In] unsigned int StartSlot,[In] unsigned int NumViews,[Out, Buffer, Optional] ID3D11ShaderResourceView** ppShaderResourceViews) - ID3D11DeviceContext::PSGetShaderResources -
- - -

Get the pixel shader currently set on the device.

-
-

Address of a reference to a pixel shader (see ) to be returned by the method.

-

Pointer to an array of class instance interfaces (see ).

-

The number of class-instance elements in the array.

- -

Any returned interfaces will have their reference count incremented by one. Applications should call IUnknown::Release on the returned interfaces when they are no longer needed, to avoid memory leaks.

Windows?Phone?8: This API is supported.

-
- - ff476468 - void ID3D11DeviceContext::PSGetShader([Out, Optional] ID3D11PixelShader** ppPixelShader,[Out, Buffer, Optional] ID3D11ClassInstance** ppClassInstances,[InOut] unsigned int* pNumClassInstances) - ID3D11DeviceContext::PSGetShader -
- - -

Get an array of sampler states from the pixel shader pipeline stage.

-
-

Index into a zero-based array to begin getting samplers from (ranges from 0 to - 1).

-

Number of samplers to get from a device context. Each pipeline stage has a total of 16 sampler slots available (ranges from 0 to - StartSlot).

-

Arry of sampler-state interface references (see ) to be returned by the device.

- -

Any returned interfaces will have their reference count incremented by one. Applications should call IUnknown::Release on the returned interfaces when they are no longer needed to avoid memory leaks.

-
- - ff476467 - void ID3D11DeviceContext::PSGetSamplers([In] unsigned int StartSlot,[In] unsigned int NumSamplers,[Out, Buffer, Optional] ID3D11SamplerState** ppSamplers) - ID3D11DeviceContext::PSGetSamplers -
- - -

Get the constant buffers used by the pixel shader pipeline stage.

-
-

Index into the device's zero-based array to begin retrieving constant buffers from (ranges from 0 to - 1).

-

Number of buffers to retrieve (ranges from 0 to - StartSlot).

-

Array of constant buffer interface references (see ) to be returned by the method.

- -

Any returned interfaces will have their reference count incremented by one. Applications should call IUnknown::Release on the returned interfaces when they are no longer needed to avoid memory leaks.

-
- - ff476466 - void ID3D11DeviceContext::PSGetConstantBuffers([In] unsigned int StartSlot,[In] unsigned int NumBuffers,[Out, Buffer, Optional] ID3D11Buffer** ppConstantBuffers) - ID3D11DeviceContext::PSGetConstantBuffers -
- - -

A predicate interface determines whether geometry should be processed depending on the results of a previous draw call.

-
- -

To create a predicate object, call . To set the predicate object, call .

There are two types of predicates: stream-output-overflow predicates and occlusion predicates. Stream-output-overflow predicates cause any geometry residing in stream-output buffers that were overflowed to not be processed. Occlusion predicates cause any geometry that did not have a single sample pass the depth/stencil tests to not be processed.

-
- - ff476577 - ID3D11Predicate - ID3D11Predicate -
- - - Initializes a new instance of the class. - - The native pointer. - - - - Performs an explicit conversion from to . (This method is a shortcut to ) - - The native pointer. - - The result of the conversion. - - - - - Constructs a new based on the specified description. - - The device with which to associate the state object. - The query description. - The newly created object. - - - -

A query interface queries information from the GPU.

-
- -

A query can be created with .

Query data is typically gathered by issuing an command, issuing some graphics commands, issuing an command, and then calling to get data about what happened in between the Begin and End calls. The data returned by GetData will be different depending on the type of query.

There are, however, some queries that do not require calls to Begin. For a list of possible queries see .

A query is typically executed as shown in the following code:

  queryDesc;	
-            ... // Fill out queryDesc structure	
-             * pQuery;	
-            pDevice->CreateQuery(&queryDesc, &pQuery);	
-            pDeviceContext->Begin(pQuery); ... // Issue graphics commands pDeviceContext->End(pQuery);	
-            UINT64 queryData; // This data type is different depending on the query type while(  != pDeviceContext->GetData(pQuery, &queryData, sizeof(UINT64), 0) )	
-            {	
-            }	
-            

When using a query that does not require a call to Begin, it still requires a call to End. The call to End causes the data returned by GetData to be accurate up until the last call to End.

-
- - ff476578 - ID3D11Query - ID3D11Query -
- - - Initializes a new instance of the 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 query description.

-
- - ff476579 - GetDesc - GetDesc - void ID3D11Query::GetDesc([Out] D3D11_QUERY_DESC* pDesc) -
- - -

Get a query description.

-
-

Pointer to a query description (see ).

- - ff476579 - void ID3D11Query::GetDesc([Out] D3D11_QUERY_DESC* pDesc) - ID3D11Query::GetDesc -
- - - Constructs a new based on the specified description. - - The device with which to associate the state object. - The query description. - The newly created object. - - - -

Represents a query object for querying information from the graphics processing unit (GPU).

-
- -

A query can be created with .

Query data is typically gathered by issuing an command, issuing some graphics commands, issuing an command, and then calling to get data about what happened in between the Begin and End calls. The data returned by GetData will be different depending on the type of query.

There are, however, some queries that do not require calls to Begin. For a list of possible queries see .

When using a query that does not require a call to Begin, it still requires a call to End. The call to End causes the data returned by GetData to be accurate up until the last call to End.

-
- - dn899236 - ID3D11Query1 - ID3D11Query1 -
- - - Initializes a new instance of the 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 query description.

-
- - dn899237 - GetDesc1 - GetDesc1 - void ID3D11Query1::GetDesc1([Out] D3D11_QUERY_DESC1* pDesc1) -
- - -

Gets a query description.

-
-

A reference to a structure that receives a description of the query.

- - dn899237 - void ID3D11Query1::GetDesc1([Out] D3D11_QUERY_DESC1* pDesc1) - ID3D11Query1::GetDesc1 -
- - - Constructs a new based on the specified description. - - The device with which to associate the state object. - The query description. - The newly created object. - - - -

The rasterizer-state interface holds a description for rasterizer state that you can bind to the rasterizer stage.

-
- -

To create a rasterizer-state object, call . To bind the rasterizer-state object to the rasterizer stage, call .

-
- - ff476580 - ID3D11RasterizerState - ID3D11RasterizerState -
- - - Initializes a new instance of the 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 description for rasterizer state that you used to create the rasterizer-state object.

-
- -

You use the description for rasterizer state in a call to the method to create the rasterizer-state object.

-
- - ff476581 - GetDesc - GetDesc - void ID3D11RasterizerState::GetDesc([Out] D3D11_RASTERIZER_DESC* pDesc) -
- - -

Gets the description for rasterizer state that you used to create the rasterizer-state object.

-
-

A reference to a structure that receives a description of the rasterizer state.

- -

You use the description for rasterizer state in a call to the method to create the rasterizer-state object.

-
- - ff476581 - void ID3D11RasterizerState::GetDesc([Out] D3D11_RASTERIZER_DESC* pDesc) - ID3D11RasterizerState::GetDesc -
- - -

Create a rasterizer state object that tells the rasterizer stage how to behave.

-
- The device with which to associate the state object. - A rasterizer state description - -

4096 unique rasterizer state objects can be created on a device at a time.

If an application attempts to create a rasterizer-state interface with the same state as an existing interface, the same interface will be returned and the total number of unique rasterizer state objects will stay the same.

-
- ff476516 - HRESULT ID3D11Device::CreateRasterizerState([In] const D3D11_RASTERIZER_DESC* pRasterizerDesc,[Out, Fast] ID3D11RasterizerState** ppRasterizerState) - ID3D11Device::CreateRasterizerState -
- - -

The rasterizer-state interface holds a description for rasterizer state that you can bind to the rasterizer stage. This rasterizer-state interface supports forced sample count.

-
- -

To create a rasterizer-state object, call . To bind the rasterizer-state object to the rasterizer stage, call .

-
- - hh446828 - ID3D11RasterizerState1 - ID3D11RasterizerState1 -
- - - Initializes a new instance of the 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 description for rasterizer state that you used to create the rasterizer-state object.

-
- -

You use the description for rasterizer state in a call to the method to create the rasterizer-state object.

-
- - hh446830 - GetDesc1 - GetDesc1 - void ID3D11RasterizerState1::GetDesc1([Out] D3D11_RASTERIZER_DESC1* pDesc) -
- - -

Gets the description for rasterizer state that you used to create the rasterizer-state object.

-
-

A reference to a structure that receives a description of the rasterizer state. This rasterizer state can specify forced sample count.

- -

You use the description for rasterizer state in a call to the method to create the rasterizer-state object.

-
- - hh446830 - void ID3D11RasterizerState1::GetDesc1([Out] D3D11_RASTERIZER_DESC1* pDesc) - ID3D11RasterizerState1::GetDesc1 -
- - - Constructs a new based on the specified description. - - The device with which to associate the state object. - The state description. - The newly created object. - - - -

The rasterizer-state interface holds a description for rasterizer state that you can bind to the rasterizer stage. This rasterizer-state interface supports forced sample count and conservative rasterization mode.

-
- -

To create a rasterizer-state object, call . To bind the rasterizer-state object to the rasterizer stage, call .

-
- - dn899238 - ID3D11RasterizerState2 - ID3D11RasterizerState2 -
- - - Initializes a new instance of the 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 description for rasterizer state that you used to create the rasterizer-state object.

-
- -

You use the description for rasterizer state in a call to the method to create the rasterizer-state object.

-
- - dn899239 - GetDesc2 - GetDesc2 - void ID3D11RasterizerState2::GetDesc2([Out] D3D11_RASTERIZER_DESC2* pDesc) -
- - -

Gets the description for rasterizer state that you used to create the rasterizer-state object.

-
-

A reference to a structure that receives a description of the rasterizer state. This rasterizer state can specify forced sample count and conservative rasterization mode.

- -

You use the description for rasterizer state in a call to the method to create the rasterizer-state object.

-
- - dn899239 - void ID3D11RasterizerState2::GetDesc2([Out] D3D11_RASTERIZER_DESC2* pDesc) - ID3D11RasterizerState2::GetDesc2 -
- - - Constructs a new based on the specified description. - - The device with which to associate the state object. - The state description. - The newly created object. - - - -

Sets graphics processing unit (GPU) debug reference default tracking options for specific resource types.

-
- -

This API requires the Windows Software Development Kit (SDK) for Windows?8.

-
- - hh446834 - ID3D11RefDefaultTrackingOptions - ID3D11RefDefaultTrackingOptions -
- - - Initializes a new instance of the 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 graphics processing unit (GPU) debug reference default tracking options for specific resource types.

-
-

A -typed value that specifies the type of resource to track.

-

A combination of D3D11_SHADER_TRACKING_OPTIONS-typed flags that are combined by using a bitwise OR operation. The resulting value identifies tracking options. If a flag is present, the tracking option that the flag represents is set to "on"; otherwise the tracking option is set to "off."

-

This method returns one of the Direct3D 11 return codes.

- -

This API requires the Windows Software Development Kit (SDK) for Windows?8.

-
- - hh446834 - HRESULT ID3D11RefDefaultTrackingOptions::SetTrackingOptions([In] unsigned int ResourceTypeFlags,[In] unsigned int Options) - ID3D11RefDefaultTrackingOptions::SetTrackingOptions -
- - -

Sets graphics processing unit (GPU) debug reference tracking options.

-
- -

This API requires the Windows Software Development Kit (SDK) for Windows?8.

-
- - hh446838 - ID3D11RefTrackingOptions - ID3D11RefTrackingOptions -
- - - Initializes a new instance of the 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 graphics processing unit (GPU) debug reference tracking options.

-
- -

This API requires the Windows Software Development Kit (SDK) for Windows?8.

-
- - hh446838 - SetTrackingOptions - SetTrackingOptions - HRESULT ID3D11RefTrackingOptions::SetTrackingOptions([In] unsigned int uOptions) -
- - -

Sets graphics processing unit (GPU) debug reference tracking options.

-
-

A combination of D3D11_SHADER_TRACKING_OPTIONS-typed flags that are combined by using a bitwise OR operation. The resulting value identifies tracking options. If a flag is present, the tracking option that the flag represents is set to "on"; otherwise the tracking option is set to "off."

-

This method returns one of the Direct3D 11 return codes.

- -

This API requires the Windows Software Development Kit (SDK) for Windows?8.

-
- - hh446838 - HRESULT ID3D11RefTrackingOptions::SetTrackingOptions([In] unsigned int uOptions) - ID3D11RefTrackingOptions::SetTrackingOptions -
- - -

A render-target-view interface identifies the render-target subresources that can be accessed during rendering.

-
- -

To create a render-target view, call . To bind a render-target view to the pipeline, call .

A rendertarget is a resource that can be written by the output-merger stage at the end of a render pass. Each render-target should also have a corresponding depth-stencil view.

-
- - ff476582 - ID3D11RenderTargetView - ID3D11RenderTargetView -
- - - Initializes a new instance of the 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 the properties of a render target view.

-
- - ff476583 - GetDesc - GetDesc - void ID3D11RenderTargetView::GetDesc([Out] D3D11_RENDER_TARGET_VIEW_DESC* pDesc) -
- - -

Get the properties of a render target view.

-
-

Pointer to the description of a render target view (see ).

- - ff476583 - void ID3D11RenderTargetView::GetDesc([Out] D3D11_RENDER_TARGET_VIEW_DESC* pDesc) - ID3D11RenderTargetView::GetDesc -
- - - Creates a for accessing resource data. - - The device to use when creating this . - The resource that represents the render-target surface. This surface must have been created with the RenderTarget flag. - ID3D11Device::CreateRenderTargetView - - - - Creates a for accessing resource data. - - The device to use when creating this . - The resource that represents the render-target surface. This surface must have been created with the RenderTarget flag. - A structure describing the to be created. - ID3D11Device::CreateRenderTargetView - - - -

A render-target-view interface represents the render-target subresources that can be accessed during rendering.

-
- -

To create a render-target view, call . To bind a render-target view to the pipeline, call .

A render target is a resource that can be written by the output-merger stage at the end of a render pass. Each render target can also have a corresponding depth-stencil view.

-
- - dn899240 - ID3D11RenderTargetView1 - ID3D11RenderTargetView1 -
- - - Initializes a new instance of the 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 properties of a render-target view.

-
- - dn899241 - GetDesc1 - GetDesc1 - void ID3D11RenderTargetView1::GetDesc1([Out] D3D11_RENDER_TARGET_VIEW_DESC1* pDesc1) -
- - -

Gets the properties of a render-target view.

-
-

A reference to a structure that receives the description of the render-target view.

- - dn899241 - void ID3D11RenderTargetView1::GetDesc1([Out] D3D11_RENDER_TARGET_VIEW_DESC1* pDesc1) - ID3D11RenderTargetView1::GetDesc1 -
- - - Creates a for accessing resource data. - - The device to use when creating this . - The resource that represents the render-target surface. This surface must have been created with the RenderTarget flag. - ID3D11Device3::CreateRenderTargetView1 - - - - Creates a for accessing resource data. - - The device to use when creating this . - The resource that represents the render-target surface. This surface must have been created with the RenderTarget flag. - A structure describing the to be created. - ID3D11Device3::CreateRenderTargetView1 - - - -

A resource interface provides common actions on all resources.

-
- -

You don't directly create a resource interface; instead, you create buffers and textures that inherit from a resource interface. For more info, see How to: Create a Vertex Buffer, How to: Create an Index Buffer, How to: Create a Constant Buffer, and How to: Create a Texture.

-
- - ff476584 - ID3D11Resource - ID3D11Resource -
- - - Initializes a new instance of the 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 MaximumMipLevels. - D3D11_REQ_MIP_LEVELS - - - Constant ResourceSizeInMegabytes. - D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_A_TERM - - - Constant MaximumTexture1DArraySize. - D3D11_REQ_TEXTURE1D_ARRAY_AXIS_DIMENSION - - - Constant MaximumTexture2DArraySize. - D3D11_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION - - - Constant MaximumTexture1DSize. - D3D11_REQ_TEXTURE1D_U_DIMENSION - - - Constant MaximumTexture2DSize. - D3D11_REQ_TEXTURE2D_U_OR_V_DIMENSION - - - Constant MaximumTexture3DSize. - D3D11_REQ_TEXTURE3D_U_V_OR_W_DIMENSION - - - Constant MaximumTextureCubeSize. - D3D11_REQ_TEXTURECUBE_DIMENSION - - - -

Get the type of the resource.

-
- -

Windows?Phone?8: This API is supported.

-
- - ff476586 - GetType - GetType - void ID3D11Resource::GetType([Out] D3D11_RESOURCE_DIMENSION* pResourceDimension) -
- - -

Get or sets the eviction priority of a resource.

-
- - ff476585 - GetEvictionPriority / SetEvictionPriority - GetEvictionPriority - unsigned int ID3D11Resource::GetEvictionPriority() -
- - -

Get the type of the resource.

-
-

Pointer to the resource type (see ).

- -

Windows?Phone?8: This API is supported.

-
- - ff476586 - void ID3D11Resource::GetType([Out] D3D11_RESOURCE_DIMENSION* pResourceDimension) - ID3D11Resource::GetType -
- - -

Set the eviction priority of a resource.

-
-

Eviction priority for the resource, which is one of the following values:

- -

Resource priorities determine which resource to evict from video memory when the system has run out of video memory. The resource will not be lost; it will be removed from video memory and placed into system memory, or possibly placed onto the hard drive. The resource will be loaded back into video memory when it is required.

A resource that is set to the maximum priority, , is only evicted if there is no other way of resolving the incoming memory request. The Windows Display Driver Model (WDDM) tries to split an incoming memory request to its minimum size and evict lower-priority resources before evicting a resource with maximum priority.

Changing the priorities of resources should be done carefully. The wrong eviction priorities could be a detriment to performance rather than an improvement.

-
- - ff476587 - void ID3D11Resource::SetEvictionPriority([In] unsigned int EvictionPriority) - ID3D11Resource::SetEvictionPriority -
- - -

Get the eviction priority of a resource.

-
-

One of the following values, which specifies the eviction priority for the resource:

- - ff476585 - unsigned int ID3D11Resource::GetEvictionPriority() - ID3D11Resource::GetEvictionPriority -
- - - Gets a swap chain back buffer. - - The type of the buffer. - The swap chain to get the buffer from. - The index of the desired buffer. - The buffer interface, or null on failure. - - - - Calculates the sub resource index from a miplevel. - - A zero-based index for the mipmap level to address; 0 indicates the first, most detailed mipmap level. - The zero-based index for the array level to address; always use 0 for volume (3D) textures. - Number of mipmap levels in the resource. - - The index which equals MipSlice + (ArraySlice * MipLevels). - - D3D11CalcSubresource - - - - Calculates the resulting size at a single level for an original size. - - The mip level to get the size. - Size of the base. - - Size of the mipLevel - - - - - Calculates the sub resource index for a particular mipSlice and arraySlice. - - The mip slice. - The array slice. - The size of slice. This values is resource dependent. Texture1D -> mipSize of the Width. Texture2D -> mipSize of the Height. Texture3D -> mipsize of the Depth - The resulting miplevel calulated for this instance with this mipSlice and arraySlice. - - - -

A view interface specifies the parts of a resource the pipeline can access during rendering.

-
- -

A view interface is the base interface for all views. There are four types of views; a depth-stencil view, a render-target view, a shader-resource view, and an unordered-access view.

  • To create a render-target view, call .
  • To create a depth-stencil view, call .
  • To create a shader-resource view, call .
  • To create an unordered-access view, call .

All resources must be bound to the pipeline before they can be accessed.

  • To bind a render-target view or a depth-stencil view, call .
  • To bind a shader resource, call .
-
- - ff476642 - ID3D11View - ID3D11View -
- - - Initializes a new instance of the 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 the resource that is accessed through this view.

-
-

Address of a reference to the resource that is accessed through this view. (See .)

- -

This function increments the reference count of the resource by one, so it is necessary to call Release on the returned reference when the application is done with it. Destroying (or losing) the returned reference before Release is called will result in a memory leak.

-
- - ff476643 - void ID3D11View::GetResource([Out] void** ppResource) - ID3D11View::GetResource -
- - -

Get the resource that is accessed through this view.

-
- -

This function increments the reference count of the resource by one, so it is necessary to call Release on the returned reference when the application is done with it. Destroying (or losing) the returned reference before Release is called will result in a memory leak.

-
- ff476643 - GetResource - GetResource - void ID3D11View::GetResource([Out] ID3D11Resource** ppResource) -
- - -

Get the resource that is accessed through this view.

-
- -

This function increments the reference count of the resource by one, so it is necessary to call Dispose on the returned reference when the application is done with it. Destroying (or losing) the returned reference before Release is called will result in a memory leak.

-
- ff476643 - GetResource - GetResource - void ID3D11View::GetResource([Out] ID3D11Resource** ppResource) -
- - -

The sampler-state interface holds a description for sampler state that you can bind to any shader stage of the pipeline for reference by texture sample operations.

-
- -

To create a sampler-state object, call .

To bind a sampler-state object to any pipeline shader stage, call the following methods:

You can bind the same sampler-state object to multiple shader stages simultaneously.

-
- - ff476588 - ID3D11SamplerState - ID3D11SamplerState -
- - - Initializes a new instance of the 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 description for sampler state that you used to create the sampler-state object.

-
- -

You use the description for sampler state in a call to the method to create the sampler-state object.

-
- - ff476589 - GetDesc - GetDesc - void ID3D11SamplerState::GetDesc([Out] D3D11_SAMPLER_DESC* pDesc) -
- - -

Gets the description for sampler state that you used to create the sampler-state object.

-
-

A reference to a structure that receives a description of the sampler state.

- -

You use the description for sampler state in a call to the method to create the sampler-state object.

-
- - ff476589 - void ID3D11SamplerState::GetDesc([Out] D3D11_SAMPLER_DESC* pDesc) - ID3D11SamplerState::GetDesc -
- - - Constructs a new based on the specified description. - - The device with which to associate the state object. - The state description. - The newly created object. - ff476518 - HRESULT ID3D11Device::CreateSamplerState([In] const D3D11_SAMPLER_DESC* pSamplerDesc,[Out, Fast] ID3D11SamplerState** ppSamplerState) - ID3D11Device::CreateSamplerState - - - -

A shader-resource-view interface specifies the subresources a shader can access during rendering. Examples of shader resources include a constant buffer, a texture buffer, and a texture.

-
- -

To create a shader-resource view, call .

A shader-resource view is required when binding a resource to a shader stage; the binding occurs by calling , or .

-
- - ff476628 - ID3D11ShaderResourceView - ID3D11ShaderResourceView -
- - - Initializes a new instance of the 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 the shader resource view's description.

-
- - ff476629 - GetDesc - GetDesc - void ID3D11ShaderResourceView::GetDesc([Out] D3D11_SHADER_RESOURCE_VIEW_DESC* pDesc) -
- - -

Get the shader resource view's description.

-
-

A reference to a structure to be filled with data about the shader resource view.

- - ff476629 - void ID3D11ShaderResourceView::GetDesc([Out] D3D11_SHADER_RESOURCE_VIEW_DESC* pDesc) - ID3D11ShaderResourceView::GetDesc -
- - - Creates a for accessing resource data. - - The device to use when creating this . - The resource that represents the render-target surface. This surface must have been created with the ShaderResource flag. - ff476519 - HRESULT ID3D11Device::CreateShaderResourceView([In] ID3D11Resource* pResource,[In, Optional] const D3D11_SHADER_RESOURCE_VIEW_DESC* pDesc,[Out, Fast] ID3D11ShaderResourceView** ppSRView) - ID3D11Device::CreateShaderResourceView - - - - Creates a for accessing resource data. - - The device to use when creating this . - The resource that represents the render-target surface. This surface must have been created with the ShaderResource flag. - A structure describing the to be created. - ff476519 - HRESULT ID3D11Device::CreateShaderResourceView([In] ID3D11Resource* pResource,[In, Optional] const D3D11_SHADER_RESOURCE_VIEW_DESC* pDesc,[Out, Fast] ID3D11ShaderResourceView** ppSRView) - ID3D11Device::CreateShaderResourceView - - - -

A shader-resource-view interface represents the subresources a shader can access during rendering. Examples of shader resources include a constant buffer, a texture buffer, and a texture.

-
- -

To create a shader-resource view, call .

A shader-resource view is required when binding a resource to a shader stage; the binding occurs by calling , or .

-
- - dn899242 - ID3D11ShaderResourceView1 - ID3D11ShaderResourceView1 -
- - - Initializes a new instance of the 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 shader-resource view's description.

-
- - dn899243 - GetDesc1 - GetDesc1 - void ID3D11ShaderResourceView1::GetDesc1([Out] D3D11_SHADER_RESOURCE_VIEW_DESC1* pDesc1) -
- - -

Gets the shader-resource view's description.

-
-

A reference to a structure that receives the description of the shader-resource view.

- - dn899243 - void ID3D11ShaderResourceView1::GetDesc1([Out] D3D11_SHADER_RESOURCE_VIEW_DESC1* pDesc1) - ID3D11ShaderResourceView1::GetDesc1 -
- - - Creates a for accessing resource data. - - The device to use when creating this . - The resource that represents the render-target surface. This surface must have been created with the ShaderResource flag. - ff476519 - HRESULT ID3D11Device3::CreateShaderResourceView1([In] ID3D11Resource* pResource,[In, Optional] const D3D11_SHADER_RESOURCE_VIEW_DESC1* pDesc,[Out, Fast] ID3D11ShaderResourceView1** ppSRView) - ID3D11Device3::CreateShaderResourceView1 - - - - Creates a for accessing resource data. - - The device to use when creating this . - The resource that represents the render-target surface. This surface must have been created with the ShaderResource flag. - A structure describing the to be created. - ff476519 - HRESULT ID3D11Device3::CreateShaderResourceView1([In] ID3D11Resource* pResource,[In, Optional] const D3D11_SHADER_RESOURCE_VIEW_DESC1* pDesc,[Out, Fast] ID3D11ShaderResourceView1** ppSRView) - ID3D11Device3::CreateShaderResourceView1 - - - - Note?? The interface and its methods are not supported in Direct3D 11.? - - - ff476630 - ID3D11SwitchToRef - ID3D11SwitchToRef - - - - Initializes a new instance of the class. - - The native pointer. - - - - Performs an explicit conversion from to . (This method is a shortcut to ) - - The native pointer. - - The result of the conversion. - - - - - Note??The interface and its methods are not supported in Direct3D 11.? - - - ff476631 - GetUseRef - GetUseRef - BOOL ID3D11SwitchToRef::GetUseRef() - - - - Note??The interface and its methods are not supported in Direct3D 11.? - - No documentation. -

Reserved.

- - ff476632 - BOOL ID3D11SwitchToRef::SetUseRef([In] BOOL UseRef) - ID3D11SwitchToRef::SetUseRef -
- - - Note??The interface and its methods are not supported in Direct3D 11.? - -

Reserved.

- - ff476631 - BOOL ID3D11SwitchToRef::GetUseRef() - ID3D11SwitchToRef::GetUseRef -
- - -

A 1D texture interface accesses texel data, which is structured memory.

-
- -

To create an empty 1D texture, call . For info about how to create a 2D texture, which is similar to creating a 1D texture, see How to: Create a Texture.

Textures cannot be bound directly to the pipeline; instead, a view must be created and bound. Using a view, texture data can be interpreted at run time within certain restrictions. To use the texture as a render target or depth-stencil resource, call , and , respectively. To use the texture as an input to a shader, create a by calling .

-
- - ff476633 - ID3D11Texture1D - ID3D11Texture1D -
- - - Initializes a new instance of the 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 the properties of the texture resource.

-
- - ff476634 - GetDesc - GetDesc - void ID3D11Texture1D::GetDesc([Out] D3D11_TEXTURE1D_DESC* pDesc) -
- - -

Get the properties of the texture resource.

-
-

Pointer to a resource description (see ).

- - ff476634 - void ID3D11Texture1D::GetDesc([Out] D3D11_TEXTURE1D_DESC* pDesc) - ID3D11Texture1D::GetDesc -
- - - Initializes a new instance of the class. - - The device with which to associate the texture. - The description of the texture. - ff476520 - HRESULT ID3D11Device::CreateTexture1D([In] const D3D11_TEXTURE1D_DESC* pDesc,[In, Buffer, Optional] const D3D11_SUBRESOURCE_DATA* pInitialData,[Out, Fast] ID3D11Texture1D** ppTexture1D) - ID3D11Device::CreateTexture1D - - - - Initializes a new instance of the class. - - The device with which to associate the texture. - The description of the texture. - An array of initial texture data for each subresource. - ff476520 - HRESULT ID3D11Device::CreateTexture1D([In] const D3D11_TEXTURE1D_DESC* pDesc,[In, Buffer, Optional] const D3D11_SUBRESOURCE_DATA* pInitialData,[Out, Fast] ID3D11Texture1D** ppTexture1D) - ID3D11Device::CreateTexture1D - - - - Initializes a new instance of the class. - - The device with which to associate the texture. - The description of the texture. - An array of initial texture data for each subresource. - ff476520 - HRESULT ID3D11Device::CreateTexture1D([In] const D3D11_TEXTURE1D_DESC* pDesc,[In, Buffer, Optional] const D3D11_SUBRESOURCE_DATA* pInitialData,[Out, Fast] ID3D11Texture1D** ppTexture1D) - ID3D11Device::CreateTexture1D - - - - Initializes a new instance of the class. - - The device with which to associate the texture. - The description of the texture. - An array of initial texture data for each subresource. - ff476520 - HRESULT ID3D11Device::CreateTexture1D([In] const D3D11_TEXTURE1D_DESC* pDesc,[In, Buffer, Optional] const D3D11_SUBRESOURCE_DATA* pInitialData,[Out, Fast] ID3D11Texture1D** ppTexture1D) - ID3D11Device::CreateTexture1D - - - - - - -

A 2D texture interface manages texel data, which is structured memory.

-
- -

To create an empty Texture2D resource, call . For info about how to create a 2D texture, see How to: Create a Texture.

Textures cannot be bound directly to the pipeline; instead, a view must be created and bound. Using a view, texture data can be interpreted at run time within certain restrictions. To use the texture as a render target or depth-stencil resource, call , and , respectively. To use the texture as an input to a shader, create a by calling .

-
- - ff476635 - ID3D11Texture2D - ID3D11Texture2D -
- - - Initializes a new instance of the 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 the properties of the texture resource.

-
- - ff476636 - GetDesc - GetDesc - void ID3D11Texture2D::GetDesc([Out] D3D11_TEXTURE2D_DESC* pDesc) -
- - -

Get the properties of the texture resource.

-
-

Pointer to a resource description (see ).

- - ff476636 - void ID3D11Texture2D::GetDesc([Out] D3D11_TEXTURE2D_DESC* pDesc) - ID3D11Texture2D::GetDesc -
- - - Initializes a new instance of the class. - - The device with which to associate the texture. - The description of the texture. - ff476521 - HRESULT ID3D11Device::CreateTexture2D([In] const D3D11_TEXTURE2D_DESC* pDesc,[In, Buffer, Optional] const D3D11_SUBRESOURCE_DATA* pInitialData,[Out, Fast] ID3D11Texture2D** ppTexture2D) - ID3D11Device::CreateTexture2D - - - - Initializes a new instance of the class. - - The device with which to associate the texture. - The description of the texture. - An array of initial texture data for each subresource. - ff476521 - HRESULT ID3D11Device::CreateTexture2D([In] const D3D11_TEXTURE2D_DESC* pDesc,[In, Buffer, Optional] const D3D11_SUBRESOURCE_DATA* pInitialData,[Out, Fast] ID3D11Texture2D** ppTexture2D) - ID3D11Device::CreateTexture2D - - - - Initializes a new instance of the class. - - The device with which to associate the texture. - The description of the texture. - An array of initial texture data for each subresource. - ff476521 - HRESULT ID3D11Device::CreateTexture2D([In] const D3D11_TEXTURE2D_DESC* pDesc,[In, Buffer, Optional] const D3D11_SUBRESOURCE_DATA* pInitialData,[Out, Fast] ID3D11Texture2D** ppTexture2D) - ID3D11Device::CreateTexture2D - - - - - - -

A 2D texture interface represents texel data, which is structured memory.

-
- -

To create an empty Texture2D resource, call . For info about how to create a 2D texture, see How to: Create a Texture.

Textures can't be bound directly to the pipeline; instead, a view must be created and bound. Using a view, texture data can be interpreted at run time within certain restrictions. To use the texture as a render-target or depth-stencil resource, call , and , respectively. To use the texture as an input to a shader, call .

-
- - dn899244 - ID3D11Texture2D1 - ID3D11Texture2D1 -
- - - Initializes a new instance of the 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 properties of the texture resource.

-
- - dn899245 - GetDesc1 - GetDesc1 - void ID3D11Texture2D1::GetDesc1([Out] D3D11_TEXTURE2D_DESC1* pDesc) -
- - -

Gets the properties of the texture resource.

-
-

A reference to a structure that receives the description of the 2D texture.

- - dn899245 - void ID3D11Texture2D1::GetDesc1([Out] D3D11_TEXTURE2D_DESC1* pDesc) - ID3D11Texture2D1::GetDesc1 -
- - - Initializes a new instance of the class. - - The device with which to associate the texture. - The description of the texture. - ff476521 - HRESULT ID3D11Device3::CreateTexture2D1([In] const D3D11_TEXTURE2D_DESC1* pDesc,[In, Buffer, Optional] const D3D11_SUBRESOURCE_DATA* pInitialData,[Out, Fast] ID3D11Texture2D1** ppTexture2D) - ID3D11Device3::CreateTexture2D1 - - - - Initializes a new instance of the class. - - The device with which to associate the texture. - The description of the texture. - An array of initial texture data for each subresource. - ff476521 - HRESULT ID3D11Device3::CreateTexture2D1([In] const D3D11_TEXTURE2D_DESC1* pDesc,[In, Buffer, Optional] const D3D11_SUBRESOURCE_DATA* pInitialData,[Out, Fast] ID3D11Texture2D1** ppTexture2D) - ID3D11Device3::CreateTexture2D1 - - - - Initializes a new instance of the class. - - The device with which to associate the texture. - The description of the texture. - An array of initial texture data for each subresource. - ff476521 - HRESULT ID3D11Device3::CreateTexture2D1([In] const D3D11_TEXTURE2D_DESC1* pDesc,[In, Buffer, Optional] const D3D11_SUBRESOURCE_DATA* pInitialData,[Out, Fast] ID3D11Texture2D** ppTexture2D) - ID3D11Device3::CreateTexture2D1 - - - - - - -

A 3D texture interface accesses texel data, which is structured memory.

-
- -

To create an empty Texture3D resource, call . For info about how to create a 2D texture, which is similar to creating a 3D texture, see How to: Create a Texture.

Textures cannot be bound directly to the pipeline; instead, a view must be created and bound. Using a view, texture data can be interpreted at run time within certain restrictions. To use the texture as a render target or depth-stencil resource, call , and , respectively. To use the texture as an input to a shader, create a by calling .

-
- - ff476637 - ID3D11Texture3D - ID3D11Texture3D -
- - - Initializes a new instance of the 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 the properties of the texture resource.

-
- - ff476638 - GetDesc - GetDesc - void ID3D11Texture3D::GetDesc([Out] D3D11_TEXTURE3D_DESC* pDesc) -
- - -

Get the properties of the texture resource.

-
-

Pointer to a resource description (see ).

- - ff476638 - void ID3D11Texture3D::GetDesc([Out] D3D11_TEXTURE3D_DESC* pDesc) - ID3D11Texture3D::GetDesc -
- - - Initializes a new instance of the class. - - The device with which to associate the texture. - The description of the texture. - - - - Initializes a new instance of the class. - - The device with which to associate the texture. - The description of the texture. - An array of initial texture data for each subresource. - - - - - - -

A 3D texture interface represents texel data, which is structured memory.

-
- -

To create an empty Texture3D resource, call . For info about how to create a 2D texture, which is similar to creating a 3D texture, see How to: Create a Texture.

Textures can't be bound directly to the pipeline; instead, a view must be created and bound. Using a view, texture data can be interpreted at run time within certain restrictions. To use the texture as a render-target or depth-stencil resource, call , and , respectively. To use the texture as an input to a shader, call .

-
- - dn899246 - ID3D11Texture3D1 - ID3D11Texture3D1 -
- - - Initializes a new instance of the 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 properties of the texture resource.

-
- - dn899247 - GetDesc1 - GetDesc1 - void ID3D11Texture3D1::GetDesc1([Out] D3D11_TEXTURE3D_DESC1* pDesc) -
- - -

Gets the properties of the texture resource.

-
-

A reference to a structure that receives the description of the 3D texture.

- - dn899247 - void ID3D11Texture3D1::GetDesc1([Out] D3D11_TEXTURE3D_DESC1* pDesc) - ID3D11Texture3D1::GetDesc1 -
- - - Initializes a new instance of the class. - - The device with which to associate the texture. - The description of the texture. - - - - Initializes a new instance of the class. - - The device with which to associate the texture. - The description of the texture. - An array of initial texture data for each subresource. - - - - - - -

The tracing device interface sets shader tracking information, which enables accurate logging and playback of shader execution.

-
- -

To get this interface, turn on the debug layer and use IUnknown::QueryInterface from the .

Note??This API requires the Windows Software Development Kit (SDK) for Windows?8.? -
- - hh446868 - ID3D11TracingDevice - ID3D11TracingDevice -
- - - Initializes a new instance of the 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 reference rasterizer's default race-condition tracking options for the specified resource types.

-
-

A -typed value that specifies the type of resource to track.

-

A combination of D3D11_SHADER_TRACKING_OPTIONS-typed flags that are combined by using a bitwise OR operation. The resulting value identifies tracking options. If a flag is present, the tracking option that the flag represents is set to "on," otherwise the tracking option is set to "off."

-

This method returns one of the Direct3D 11 return codes.

- -

This API requires the Windows Software Development Kit (SDK) for Windows?8.

-
- - hh446874 - HRESULT ID3D11TracingDevice::SetShaderTrackingOptionsByType([In] unsigned int ResourceTypeFlags,[In] unsigned int Options) - ID3D11TracingDevice::SetShaderTrackingOptionsByType -
- - -

Sets the reference rasterizer's race-condition tracking options for a specific shader.

-
-

A reference to the interface of a shader.

-

A combination of D3D11_SHADER_TRACKING_OPTIONS-typed flags that are combined by using a bitwise OR operation. The resulting value identifies tracking options. If a flag is present, the tracking option that the flag represents is set to "on"; otherwise the tracking option is set to "off."

-

This method returns one of the Direct3D 11 return codes.

- - Note??After a call to SetShaderTrackingOptions, the tracking options that the Options parameter specifies are set for all calls by the shader that the pShader parameter specifies, until the next call to SetShaderTrackingOptions. If you set a flag that is specific to unordered access views (UAV) (for example, ) in the Options parameter for a compute shader, SetShaderTrackingOptions ignores it.?Note??This API requires the Windows Software Development Kit (SDK) for Windows?8.? - - - hh446871 - HRESULT ID3D11TracingDevice::SetShaderTrackingOptions([In] IUnknown* pShader,[In] unsigned int Options) - ID3D11TracingDevice::SetShaderTrackingOptions -
- - -

A view interface specifies the parts of a resource the pipeline can access during rendering.

-
- -

To create a view for an unordered access resource, call .

All resources must be bound to the pipeline before they can be accessed. Call to bind an unordered access view to a compute shader; call to bind an unordered access view to a pixel shader.

-
- - ff476639 - ID3D11UnorderedAccessView - ID3D11UnorderedAccessView -
- - - Initializes a new instance of the 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 resource.

-
- - ff476640 - GetDesc - GetDesc - void ID3D11UnorderedAccessView::GetDesc([Out] D3D11_UNORDERED_ACCESS_VIEW_DESC* pDesc) -
- - -

Get a description of the resource.

-
-

Pointer to a resource description (see .)

- - ff476640 - void ID3D11UnorderedAccessView::GetDesc([Out] D3D11_UNORDERED_ACCESS_VIEW_DESC* pDesc) - ID3D11UnorderedAccessView::GetDesc -
- - - Creates a for accessing resource data. - - The device to use when creating this . - The resource that represents the render-target surface. This surface must have been created with the UnorderedAccess flag. - ID3D11Device::CreateUnorderedAccessView - - - - Creates a for accessing resource data. - - The device to use when creating this . - The resource that represents the render-target surface. This surface must have been created with the UnorderedAccess flag. - A structure describing the to be created. - ID3D11Device::CreateUnorderedAccessView - - - -

An unordered-access-view interface represents the parts of a resource the pipeline can access during rendering.

-
- -

To create a view for an unordered access resource, call .

All resources must be bound to the pipeline before they can be accessed. Call to bind an unordered access view to a compute shader; call to bind an unordered access view to a pixel shader.

-
- - dn899248 - ID3D11UnorderedAccessView1 - ID3D11UnorderedAccessView1 -
- - - Initializes a new instance of the 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 description of the resource.

-
- - dn899249 - GetDesc1 - GetDesc1 - void ID3D11UnorderedAccessView1::GetDesc1([Out] D3D11_UNORDERED_ACCESS_VIEW_DESC1* pDesc1) -
- - -

Gets a description of the resource.

-
-

A reference to a structure that receives the description of the unordered-access resource.

- - dn899249 - void ID3D11UnorderedAccessView1::GetDesc1([Out] D3D11_UNORDERED_ACCESS_VIEW_DESC1* pDesc1) - ID3D11UnorderedAccessView1::GetDesc1 -
- - - Creates a for accessing resource data. - - The device to use when creating this . - The resource that represents the render-target surface. This surface must have been created with the UnorderedAccess flag. - ID3D11Device3::CreateUnorderedAccessView1 - - - - Creates a for accessing resource data. - - The device to use when creating this . - The resource that represents the render-target surface. This surface must have been created with the UnorderedAccess flag. - A structure describing the to be created. - ID3D11Device3::CreateUnorderedAccessView1 - - - -

The interface enables an application to describe conceptual sections and markers within the application's code flow. An appropriately enabled tool, such as Microsoft Visual Studio Ultimate?2012, can display these sections and markers visually along the tool's Microsoft Direct3D time line, while the tool debugs the application. These visual notes allow users of such a tool to navigate to parts of the time line that are of interest, or to understand what set of Direct3D calls are produced by certain sections of the application's code.

-
- -

The methods of have no effect when the calling application is not running under a Direct3D-specific profiling tool like Visual Studio Ultimate?2012. -

The interface is published by Microsoft Direct3D?11 device contexts. Therefore, has the same threading rules as the interface, or any other context interface. For more information about Direct3D threading, see MultiThreading. - To retrieve the interface for the context, call the QueryInterface method for the context (for example, ID3D11DeviceContext::QueryInterface). In this call, you must pass the identifier of .

The interface is the Microsoft Direct3D?10 and later equivalent of the Direct3D 9 PIX functions (D3DPERF_* functions).

Note??Setting the flag in your app replaces calling D3DPerf_SetOptions(1). But, to prevent Direct3D debugging tools from hooking your app, your app can also call to determine whether it is running under a Direct3D debugging tool and then exit accordingly.?

You must call the BeginEvent and EndEvent methods in pairs; pairs of calls to these methods can nest within pairs of calls to these methods at a higher level in the application's call stack. In other words, a "Draw World" section can entirely contain another section named "Draw Trees," which can in turn entirely contain a section called "Draw Oaks." You can only associate an EndEvent method with the most recent BeginEvent method, that is, pairs cannot overlap. You cannot call an EndEvent for any BeginEvent that preceded the most recent BeginEvent. In fact, the runtime interprets the first EndEvent as ending the second BeginEvent.

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

Determines whether the calling application is running under a Microsoft Direct3D profiling tool.

-
- -

You can call GetStatus to determine whether your application is running under a Direct3D profiling tool before you make further calls to other methods of the interface. For example, the and methods have no effect if the calling application is not running under an enabled Direct3D profiling tool. Therefore, you do not need to call these methods unless your application is running under a Direct3D profiling tool.

-
- - hh446889 - GetStatus - GetStatus - BOOL ID3DUserDefinedAnnotation::GetStatus() -
- - -

Marks the beginning of a section of event code.

-
-

A null-terminated UNICODE string that contains the name of the event. The name is not relevant to the operating system. You can choose a name that is meaningful when the calling application is running under the Direct3D profiling tool.A null reference produces undefined results.

-

Returns the number of previous calls to BeginEvent that have not yet been finalized by calls to the method.

The return value is ?1 if the calling application is not running under a Direct3D profiling tool.

- -

You call the EndEvent method to mark the end of the section of event code.

A user can visualize the event when the calling application is running under an enabled Direct3D profiling tool such as Microsoft Visual Studio Ultimate?2012.

BeginEvent has no effect if the calling application is not running under an enabled Direct3D profiling tool.

-
- - hh446884 - int ID3DUserDefinedAnnotation::BeginEvent([In] const wchar_t* Name) - ID3DUserDefinedAnnotation::BeginEvent -
- - -

Marks the end of a section of event code.

-
-

Returns the number of previous calls to the method that have not yet been finalized by calls to EndEvent.

The return value is ?1 if the calling application is not running under a Direct3D profiling tool.

- -

You call the BeginEvent method to mark the beginning of the section of event code.

A user can visualize the event when the calling application is running under an enabled Direct3D profiling tool such as Microsoft Visual Studio Ultimate?2012.

EndEvent has no effect if the calling application is not running under an enabled Direct3D profiling tool.

-
- - hh446886 - int ID3DUserDefinedAnnotation::EndEvent() - ID3DUserDefinedAnnotation::EndEvent -
- - -

Marks a single point of execution in code.

-
-

A null-terminated UNICODE string that contains the name of the marker. The name is not relevant to the operating system. You can choose a name that is meaningful when the calling application is running under the Direct3D profiling tool.A null reference produces undefined results.

- -

A user can visualize the marker when the calling application is running under an enabled Direct3D profiling tool such as Microsoft Visual Studio Ultimate?2012.

SetMarker has no effect if the calling application is not running under an enabled Direct3D profiling tool.

-
- - hh446898 - void ID3DUserDefinedAnnotation::SetMarker([In] const wchar_t* Name) - ID3DUserDefinedAnnotation::SetMarker -
- - -

Determines whether the calling application is running under a Microsoft Direct3D profiling tool.

-
-

The return value is nonzero if the calling application is running under a Direct3D profiling tool such as Visual Studio Ultimate?2012, and zero otherwise.

- -

You can call GetStatus to determine whether your application is running under a Direct3D profiling tool before you make further calls to other methods of the interface. For example, the and methods have no effect if the calling application is not running under an enabled Direct3D profiling tool. Therefore, you do not need to call these methods unless your application is running under a Direct3D profiling tool.

-
- - hh446889 - BOOL ID3DUserDefinedAnnotation::GetStatus() - ID3DUserDefinedAnnotation::GetStatus -
- - -

A vertex-shader interface manages an executable program (a vertex shader) that controls the vertex-shader stage.

-
- -

The vertex-shader interface has no methods; use HLSL to implement your shader functionality. All shaders are implemented from a common set of features referred to as the common-shader core..

To create a vertex shader interface, call . Before using a vertex shader you must bind it to the device by calling .

This interface is defined in D3D11.h.

-
- - ff476641 - ID3D11VertexShader - ID3D11VertexShader -
- - - Initializes a new instance of the 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 new instance of the class. - - The device used to create the shader. - The compiled shader bytecode. - A dynamic class linkage interface. - - - -

The interface represents a device context which generates rendering commands.

-
- - ff476385 - ID3D11DeviceContext - ID3D11DeviceContext -
- - - Initializes a new instance of the 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 constant buffers used by the vertex shader pipeline stage.

-
-

Index into the device's zero-based array to begin setting constant buffers to (ranges from 0 to - 1).

-

Number of buffers to set (ranges from 0 to - StartSlot).

-

Array of constant buffers (see ) being given to the device.

- -

The method will hold a reference to the interfaces passed in. This differs from the device state behavior in Direct3D 10.

The Direct3D 11.1 runtime, which is available starting with Windows?8, can bind a larger number of resources to the shader than the maximum constant buffer size that is supported by shaders (4096 constants ? 4*32-bit components each). When you bind such a large buffer, the shader can access only the first 4096 4*32-bit component constants in the buffer, as if 4096 constants is the full size of the buffer.

If the application wants the shader to access other parts of the buffer, it must call the VSSetConstantBuffers1 method instead.

Windows?Phone?8: This API is supported.

-
- - ff476491 - void ID3D11DeviceContext::VSSetConstantBuffers([In] unsigned int StartSlot,[In] unsigned int NumBuffers,[In, Buffer, Optional] const void** ppConstantBuffers) - ID3D11DeviceContext::VSSetConstantBuffers -
- - -

Set a vertex shader to the device.

-
-

Pointer to a vertex shader (see ). Passing in null disables the shader for this pipeline stage.

-

A reference to an array of class-instance interfaces (see ). Each interface used by a shader must have a corresponding class instance or the shader will get disabled. Set ppClassInstances to null if the shader does not use any interfaces.

-

The number of class-instance interfaces in the array.

- -

The method will hold a reference to the interfaces passed in. This differs from the device state behavior in Direct3D 10.

The maximum number of instances a shader can have is 256.

-
- - ff476493 - void ID3D11DeviceContext::VSSetShader([In, Optional] ID3D11VertexShader* pVertexShader,[In, Buffer, Optional] const ID3D11ClassInstance** ppClassInstances,[In] unsigned int NumClassInstances) - ID3D11DeviceContext::VSSetShader -
- - -

Set a vertex shader to the device.

-
-

Pointer to a vertex shader (see ). Passing in null disables the shader for this pipeline stage.

-

A reference to an array of class-instance interfaces (see ). Each interface used by a shader must have a corresponding class instance or the shader will get disabled. Set ppClassInstances to null if the shader does not use any interfaces.

-

The number of class-instance interfaces in the array.

- -

The method will hold a reference to the interfaces passed in. This differs from the device state behavior in Direct3D 10.

The maximum number of instances a shader can have is 256.

-
- - ff476493 - void ID3D11DeviceContext::VSSetShader([In, Optional] ID3D11VertexShader* pVertexShader,[In, Buffer, Optional] const ID3D11ClassInstance** ppClassInstances,[In] unsigned int NumClassInstances) - ID3D11DeviceContext::VSSetShader -
- - -

Set a vertex shader to the device.

-
-

Pointer to a vertex shader (see ). Passing in null disables the shader for this pipeline stage.

-

A reference to an array of class-instance interfaces (see ). Each interface used by a shader must have a corresponding class instance or the shader will get disabled. Set ppClassInstances to null if the shader does not use any interfaces.

-

The number of class-instance interfaces in the array.

- -

The method will hold a reference to the interfaces passed in. This differs from the device state behavior in Direct3D 10.

The maximum number of instances a shader can have is 256.

-
- - ff476493 - void ID3D11DeviceContext::VSSetShader([In, Optional] ID3D11VertexShader* pVertexShader,[In, Buffer, Optional] const ID3D11ClassInstance** ppClassInstances,[In] unsigned int NumClassInstances) - ID3D11DeviceContext::VSSetShader -
- - -

Bind an array of shader resources to the vertex-shader stage.

-
-

Index into the device's zero-based array to begin setting shader resources to (range is from 0 to - 1).

-

Number of shader resources to set. Up to a maximum of 128 slots are available for shader resources (range is from 0 to - StartSlot).

-

Array of shader resource view interfaces to set to the device.

- -

If an overlapping resource view is already bound to an output slot, such as a rendertarget, then this API will fill the destination shader resource slot with null.

For information about creating shader-resource views, see .

The method will hold a reference to the interfaces passed in. This differs from the device state behavior in Direct3D 10.

-
- - ff476494 - void ID3D11DeviceContext::VSSetShaderResources([In] unsigned int StartSlot,[In] unsigned int NumViews,[In, Buffer, Optional] const void** ppShaderResourceViews) - ID3D11DeviceContext::VSSetShaderResources -
- - -

Set an array of sampler states to the vertex shader pipeline stage.

-
-

Index into the device's zero-based array to begin setting samplers to (ranges from 0 to - 1).

-

Number of samplers in the array. Each pipeline stage has a total of 16 sampler slots available (ranges from 0 to - StartSlot).

-

Pointer to an array of sampler-state interfaces (see ). See Remarks.

- -

Any sampler may be set to null; this invokes the default state, which is defined to be the following.

 //Default sampler state:	
-             SamplerDesc;	
-            SamplerDesc.Filter = ;	
-            SamplerDesc.AddressU = ;	
-            SamplerDesc.AddressV = ;	
-            SamplerDesc.AddressW = ;	
-            SamplerDesc.MipLODBias = 0;	
-            SamplerDesc.MaxAnisotropy = 1;	
-            SamplerDesc.ComparisonFunc = ;	
-            SamplerDesc.BorderColor[0] = 1.0f;	
-            SamplerDesc.BorderColor[1] = 1.0f;	
-            SamplerDesc.BorderColor[2] = 1.0f;	
-            SamplerDesc.BorderColor[3] = 1.0f;	
-            SamplerDesc.MinLOD = -FLT_MAX;	
-            SamplerDesc.MaxLOD = FLT_MAX; 

The method will hold a reference to the interfaces passed in. This differs from the device state behavior in Direct3D 10.

-
- - ff476492 - void ID3D11DeviceContext::VSSetSamplers([In] unsigned int StartSlot,[In] unsigned int NumSamplers,[In, Buffer, Optional] const void** ppSamplers) - ID3D11DeviceContext::VSSetSamplers -
- - -

Get the constant buffers used by the vertex shader pipeline stage.

-
-

Index into the device's zero-based array to begin retrieving constant buffers from (ranges from 0 to - 1).

-

Number of buffers to retrieve (ranges from 0 to - StartSlot).

-

Array of constant buffer interface references (see ) to be returned by the method.

- -

Any returned interfaces will have their reference count incremented by one. Applications should call IUnknown::Release on the returned interfaces when they are no longer needed to avoid memory leaks.

-
- - ff476487 - void ID3D11DeviceContext::VSGetConstantBuffers([In] unsigned int StartSlot,[In] unsigned int NumBuffers,[Out, Buffer, Optional] ID3D11Buffer** ppConstantBuffers) - ID3D11DeviceContext::VSGetConstantBuffers -
- - -

Get the vertex shader currently set on the device.

-
-

Address of a reference to a vertex shader (see ) to be returned by the method.

-

Pointer to an array of class instance interfaces (see ).

-

The number of class-instance elements in the array.

- -

Any returned interfaces will have their reference count incremented by one. Applications should call IUnknown::Release on the returned interfaces when they are no longer needed to avoid memory leaks.

-
- - ff476489 - void ID3D11DeviceContext::VSGetShader([Out, Optional] ID3D11VertexShader** ppVertexShader,[Out, Buffer, Optional] ID3D11ClassInstance** ppClassInstances,[InOut] unsigned int* pNumClassInstances) - ID3D11DeviceContext::VSGetShader -
- - -

Get the vertex shader resources.

-
-

Index into the device's zero-based array to begin getting shader resources from (ranges from 0 to - 1).

-

The number of resources to get from the device. Up to a maximum of 128 slots are available for shader resources (ranges from 0 to - StartSlot).

-

Array of shader resource view interfaces to be returned by the device.

- -

Any returned interfaces will have their reference count incremented by one. Applications should call IUnknown::Release on the returned interfaces when they are no longer needed to avoid memory leaks.

-
- - ff476490 - void ID3D11DeviceContext::VSGetShaderResources([In] unsigned int StartSlot,[In] unsigned int NumViews,[Out, Buffer, Optional] ID3D11ShaderResourceView** ppShaderResourceViews) - ID3D11DeviceContext::VSGetShaderResources -
- - -

Get an array of sampler states from the vertex shader pipeline stage.

-
-

Index into a zero-based array to begin getting samplers from (ranges from 0 to - 1).

-

Number of samplers to get from a device context. Each pipeline stage has a total of 16 sampler slots available (ranges from 0 to - StartSlot).

-

Arry of sampler-state interface references (see ) to be returned by the device.

- -

Any returned interfaces will have their reference count incremented by one. Applications should call IUnknown::Release on the returned interfaces when they are no longer needed to avoid memory leaks.

-
- - ff476488 - void ID3D11DeviceContext::VSGetSamplers([In] unsigned int StartSlot,[In] unsigned int NumSamplers,[Out, Buffer, Optional] ID3D11SamplerState** ppSamplers) - ID3D11DeviceContext::VSGetSamplers -
- - -

Provides the video functionality of a Microsoft Direct3D?11 device.

-
- -

To get a reference to this interface, call QueryInterface with an interface reference.

This interface provides access to several areas of Microsoft Direct3D video functionality:

  • Hardware-accelerated video decoding
  • Video processing
  • GPU-based content protection
  • Video encryption and decryption

In Microsoft Direct3D?9, the equivalent functions were distributed across several interfaces:

  • IDirect3DAuthenticatedChannel9
  • IDirect3DCryptoSession9
  • IDirectXVideoDecoder
  • IDirectXVideoProcessor
  • IDXVAHD_VideoProcessor
-
- - hh447703 - ID3D11VideoContext - ID3D11VideoContext - -

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

Applies to: desktop apps | Metro style apps

Gets a reference to a DirectX Video Acceleration (DXVA) decoder buffer.

-
- -

The graphics driver allocates the buffers that are used for DXVA decoding. This method locks the Microsoft Direct3D surface that contains the buffer. When you are done using the buffer, call to unlock the surface.

-
- - hh447711 - ID3D11VideoContext - ID3D11VideoContext -
- - - Initializes a new instance of the 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 reference to a decoder buffer.

-
-

A reference to the interface. To get this reference, call .

-

The type of buffer to retrieve, specified as a member of the enumeration.

-

Receives the size of the buffer, in bytes.

-

Receives a reference to the start of the memory buffer.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

The graphics driver allocates the buffers that are used for decoding. This method locks the Microsoft Direct3D surface that contains the buffer. When you are done using the buffer, call to unlock the surface.

-
- - hh447711 - HRESULT ID3D11VideoContext::GetDecoderBuffer([In] ID3D11VideoDecoder* pDecoder,[In] D3D11_VIDEO_DECODER_BUFFER_TYPE Type,[Out] unsigned int* pBufferSize,[Out] void** ppBuffer) - ID3D11VideoContext::GetDecoderBuffer -
- - -

Releases a buffer that was obtained by calling the method.

-
- No documentation. - No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh447716 - HRESULT ID3D11VideoContext::ReleaseDecoderBuffer([In] ID3D11VideoDecoder* pDecoder,[In] D3D11_VIDEO_DECODER_BUFFER_TYPE Type) - ID3D11VideoContext::ReleaseDecoderBuffer -
- - -

Starts a decoding operation to decode a video frame.

-
-

A reference to the interface. To get this reference, call .

-

A reference to the interface. This interface describes the resource that will receive the decoded frame. To get this reference, call .

-

The size of the content key that is specified in pContentKey. If pContentKey is null, set ContentKeySize to zero.

-

An optional reference to a content key that was used to encrypt the frame data. If no content key was used, set this parameter to null. If the caller provides a content key, the caller must use the session key to encrypt the content key.

-

If this method succeeds, it returns . Otherwise, it returns an error code. D3DERR_WASSTILLDRAWING or E_PENDING is returned if the harware is busy, in which case the decoder should try to make the call again.

- -

After this method is called, call to perform decoding operations. When all decoding operations have been executed, call .

Each call to DecoderBeginFrame must have a matching call to DecoderEndFrame. In most cases you cannot nest DecoderBeginFrame calls, but some codecs, such as like VC-1, can have nested DecoderBeginFrame calls for special operations like post processing.

The following encryption scenarios are supported through the content key:

  • The decoder can choose to not encrypt every frame, for example it may only encrypt the I frames and not encrypt the P/B frames. In these scenario, the decoder will specify pContentKey = null and ContentKeySize = 0 for those frames that it does not encrypt.
  • The decoder can choose to encrypt the compressed buffers using the session key. In this scenario, the decoder will specify a content key containing all zeros.
  • The decoder can choose to encrypt the compressed buffers using a separate content key. In this scenario, the decoder will ECB encrypt the content key using the session key and pass the encrypted content key.
-
- - hh447705 - HRESULT ID3D11VideoContext::DecoderBeginFrame([In] ID3D11VideoDecoder* pDecoder,[In] ID3D11VideoDecoderOutputView* pView,[In] unsigned int ContentKeySize,[In, Buffer, Optional] const void* pContentKey) - ID3D11VideoContext::DecoderBeginFrame -
- - -

Signals the end of a decoding operation.

-
-

A reference to the interface. To get this reference, call .

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh447706 - HRESULT ID3D11VideoContext::DecoderEndFrame([In] ID3D11VideoDecoder* pDecoder) - ID3D11VideoContext::DecoderEndFrame -
- - -

Submits one or more buffers for decoding.

-
-

A reference to the interface. To get this reference, call the method.

-

The number of buffers submitted for decoding.

-

A reference to an array of structures. The NumBuffers parameter specifies the number of elements in the array. Each element in the array describes a compressed buffer for decoding.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

This function does not honor a D3D11 predicate that may have been set.

If the application uses D3D11 quries, this function may not be accounted for with and when using feature levels lower than 11. will not include this function for any feature level.

When using feature levels 9_x, all partially encrypted buffers must use the same EncryptedBlockInfo, and partial encryption cannot be turned off on a per frame basis.

-
- - hh447718 - HRESULT ID3D11VideoContext::SubmitDecoderBuffers([In] ID3D11VideoDecoder* pDecoder,[In] unsigned int NumBuffers,[In, Buffer] const D3D11_VIDEO_DECODER_BUFFER_DESC* pBufferDesc) - ID3D11VideoContext::SubmitDecoderBuffers -
- - -

Performs an extended function for decoding. This method enables extensions to the basic decoder functionality.

-
-

A reference to the interface. To get this reference, call .

-

A reference to a structure that contains data for the function.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh447707 - HRESULT ID3D11VideoContext::DecoderExtension([In] ID3D11VideoDecoder* pDecoder,[In] const D3D11_VIDEO_DECODER_EXTENSION* pExtensionData) - ID3D11VideoContext::DecoderExtension -
- - -

Sets the target rectangle for the video processor.

-
-

A reference to the interface. To get this reference, call .

-

Specifies whether to apply the target rectangle.

-

A reference to a structure that specifies the target rectangle. If Enable is , this parameter is ignored.

- -

The target rectangle is the area within the destination surface where the output will be drawn. The target rectangle is given in pixel coordinates, relative to the destination surface.

If this method is never called, or if the Enable parameter is , the video processor writes to the entire destination surface.

-
- - hh447752 - void ID3D11VideoContext::VideoProcessorSetOutputTargetRect([In] ID3D11VideoProcessor* pVideoProcessor,[In] BOOL Enable,[In, Optional] const RECT* pRect) - ID3D11VideoContext::VideoProcessorSetOutputTargetRect -
- - -

Sets the background color for the video processor.

-
-

A reference to the interface. To get this reference, call .

-

If TRUE, the color is specified as a YCbCr value. Otherwise, the color is specified as an RGB value.

-

A reference to a structure that specifies the background color.

- -

The video processor uses the background color to fill areas of the target rectangle that do not contain a video image. Areas outside the target rectangle are not affected.

-
- - hh447747 - void ID3D11VideoContext::VideoProcessorSetOutputBackgroundColor([In] ID3D11VideoProcessor* pVideoProcessor,[In] BOOL YCbCr,[In] const D3D11_VIDEO_COLOR* pColor) - ID3D11VideoContext::VideoProcessorSetOutputBackgroundColor -
- - -

Sets the output color space for the video processor.

-
-

A reference to the interface. To get this reference, call .

-

A reference to a structure that specifies the color space.

- - hh447748 - void ID3D11VideoContext::VideoProcessorSetOutputColorSpace([In] ID3D11VideoProcessor* pVideoProcessor,[In] const D3D11_VIDEO_PROCESSOR_COLOR_SPACE* pColorSpace) - ID3D11VideoContext::VideoProcessorSetOutputColorSpace -
- - -

Sets the alpha fill mode for data that the video processor writes to the render target.

-
-

A reference to the interface. To get this reference, call .

-

The alpha fill mode, specified as a value.

-

The zero-based index of an input stream. This parameter is used if AlphaFillMode is . Otherwise, the parameter is ignored.

- -

To find out which fill modes the device supports, call the method. If the driver reports the capability, the driver supports all of the fill modes. Otherwise, the AlphaFillMode parameter must be .

The default fill mode is .

-
- - hh447746 - void ID3D11VideoContext::VideoProcessorSetOutputAlphaFillMode([In] ID3D11VideoProcessor* pVideoProcessor,[In] D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE AlphaFillMode,[In] unsigned int StreamIndex) - ID3D11VideoContext::VideoProcessorSetOutputAlphaFillMode -
- - -

Sets the amount of downsampling to perform on the output.

-
-

A reference to the interface. To get this reference, call .

-

If TRUE, downsampling is enabled. Otherwise, downsampling is disabled and the Size member is ignored.

-

The sampling size.

- -

Downsampling is sometimes used to reduce the quality of premium content when other forms of content protection are not available. By default, downsampling is disabled.

If the Enable parameter is TRUE, the driver downsamples the composed image to the specified size, and then scales it back to the size of the target rectangle.

The width and height of Size must be greater than zero. If the size is larger than the target rectangle, downsampling does not occur.

To use this feature, the driver must support downsampling, indicated by the capability flag. To query for this capability, call .

-
- - hh447749 - void ID3D11VideoContext::VideoProcessorSetOutputConstriction([In] ID3D11VideoProcessor* pVideoProcessor,[In] BOOL Enable,[In] SIZE Size) - ID3D11VideoContext::VideoProcessorSetOutputConstriction -
- - -

Specifies whether the video processor produces stereo video frames.

-
-

A reference to the interface. To get this reference, call .

-

If TRUE, stereo output is enabled. Otherwise, the video processor produces mono video frames.

- -

By default, the video processor produces mono video frames.

To use this feature, the driver must support stereo video, indicated by the capability flag. To query for this capability, call .

-
- - hh447751 - void ID3D11VideoContext::VideoProcessorSetOutputStereoMode([In] ID3D11VideoProcessor* pVideoProcessor,[In] BOOL Enable) - ID3D11VideoContext::VideoProcessorSetOutputStereoMode -
- - -

Sets a driver-specific video processing state.

-
-

A reference to the interface. To get this reference, call .

-

A reference to a that identifies the operation. The meaning of this is defined by the graphics driver.

-

The size of the pData buffer, in bytes.

-

A reference to a buffer that contains private state data. The method passes this buffer directly to the driver without validation. It is the responsibility of the driver to validate the data.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh447750 - HRESULT ID3D11VideoContext::VideoProcessorSetOutputExtension([In] ID3D11VideoProcessor* pVideoProcessor,[In] const GUID* pExtensionGuid,[In] unsigned int DataSize,[In] void* pData) - ID3D11VideoContext::VideoProcessorSetOutputExtension -
- - -

Gets the current target rectangle for the video processor.

-
-

A reference to the interface. To get this reference, call .

-

Receives the value TRUE if the target rectangle was explicitly set using the method. Receives the value if the target rectangle was disabled or was never set.

-

If Enabled receives the value TRUE, this parameter receives the target rectangle. Otherwise, this parameter is ignored.

- - hh447726 - void ID3D11VideoContext::VideoProcessorGetOutputTargetRect([In] ID3D11VideoProcessor* pVideoProcessor,[Out] BOOL* Enabled,[Out] RECT* pRect) - ID3D11VideoContext::VideoProcessorGetOutputTargetRect -
- - -

Gets the current background color for the video processor.

-
-

A reference to the interface. To get this reference, call .

-

Receives the value TRUE if the background color is a YCbCr color, or if the background color is an RGB color.

-

A reference to a structure. The method fills in the structure with the background color.

- - hh447721 - void ID3D11VideoContext::VideoProcessorGetOutputBackgroundColor([In] ID3D11VideoProcessor* pVideoProcessor,[Out] BOOL* pYCbCr,[Out] D3D11_VIDEO_COLOR* pColor) - ID3D11VideoContext::VideoProcessorGetOutputBackgroundColor -
- - -

Gets the current output color space for the video processor.

-
-

A reference to the interface. To get this reference, call .

-

A reference to a structure. The method fills in the structure with the output color space.

- - hh447722 - void ID3D11VideoContext::VideoProcessorGetOutputColorSpace([In] ID3D11VideoProcessor* pVideoProcessor,[Out] D3D11_VIDEO_PROCESSOR_COLOR_SPACE* pColorSpace) - ID3D11VideoContext::VideoProcessorGetOutputColorSpace -
- - -

Gets the current alpha fill mode for the video processor.

-
-

A reference to the interface. To get this reference, call .

-

Receives the alpha fill mode, as a value.

-

If the alpha fill mode is , this parameter receives the zero-based index of an input stream. The input stream provides the alpha values for the alpha fill.

- - hh447720 - void ID3D11VideoContext::VideoProcessorGetOutputAlphaFillMode([In] ID3D11VideoProcessor* pVideoProcessor,[Out] D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE* pAlphaFillMode,[Out] unsigned int* pStreamIndex) - ID3D11VideoContext::VideoProcessorGetOutputAlphaFillMode -
- - -

Gets the current level of downsampling that is performed by the video processor.

-
-

A reference to the interface. To get this reference, call .

-

Receives the value TRUE if downsampling was explicitly enabled using the method. Receives the value if the downsampling was disabled or was never set.

-

If Enabled receives the value TRUE, this parameter receives the downsampling size. Otherwise, this parameter is ignored.

- - hh447723 - void ID3D11VideoContext::VideoProcessorGetOutputConstriction([In] ID3D11VideoProcessor* pVideoProcessor,[Out] BOOL* pEnabled,[Out] SIZE* pSize) - ID3D11VideoContext::VideoProcessorGetOutputConstriction -
- - -

Queries whether the video processor produces stereo video frames.

-
-

A reference to the interface. To get this reference, call .

-

Receives the value TRUE if stereo output is enabled, or otherwise.

- - hh447725 - void ID3D11VideoContext::VideoProcessorGetOutputStereoMode([In] ID3D11VideoProcessor* pVideoProcessor,[Out] BOOL* pEnabled) - ID3D11VideoContext::VideoProcessorGetOutputStereoMode -
- - -

Gets private state data from the video processor.

-
-

A reference to the interface. To get this reference, call .

-

A reference to a that identifies the state. The meaning of this is defined by the graphics driver.

-

The size of the pData buffer, in bytes.

-

A reference to a buffer that receives the private state data.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh447724 - HRESULT ID3D11VideoContext::VideoProcessorGetOutputExtension([In] ID3D11VideoProcessor* pVideoProcessor,[In] const GUID* pExtensionGuid,[In] unsigned int DataSize,[Out, Buffer] void* pData) - ID3D11VideoContext::VideoProcessorGetOutputExtension -
- - -

Specifies whether an input stream on the video processor contains interlaced or progressive frames.

-
-

A reference to the interface. To get this reference, call .

-

The zero-based index of the input stream. To get the maximum number of streams, call and check the MaxStreamStates structure member.

-

A value that specifies the interlacing.

- - hh447759 - void ID3D11VideoContext::VideoProcessorSetStreamFrameFormat([In] ID3D11VideoProcessor* pVideoProcessor,[In] unsigned int StreamIndex,[In] D3D11_VIDEO_FRAME_FORMAT FrameFormat) - ID3D11VideoContext::VideoProcessorSetStreamFrameFormat -
- - -

Sets the color space for an input stream on the video processor.

-
-

A reference to the interface. To get this reference, call .

-

The zero-based index of the input stream. To get the maximum number of streams, call and check the MaxStreamStates structure member.

-

A reference to a structure that specifies the color space.

- - hh447755 - void ID3D11VideoContext::VideoProcessorSetStreamColorSpace([In] ID3D11VideoProcessor* pVideoProcessor,[In] unsigned int StreamIndex,[In] const D3D11_VIDEO_PROCESSOR_COLOR_SPACE* pColorSpace) - ID3D11VideoContext::VideoProcessorSetStreamColorSpace -
- - -

Sets the rate at which the video processor produces output frames for an input stream.

-
-

A reference to the interface. To get this reference, call .

-

The zero-based index of the input stream. To get the maximum number of streams, call and check the MaxStreamStates structure member.

-

The output rate, specified as a value.

-

Specifies how the driver performs frame-rate conversion, if required.

ValueMeaning
TRUE

Repeat frames.

Interpolate frames.

?

-

A reference to a structure. If OutputRate is , this parameter specifies the exact output rate. Otherwise, this parameter is ignored and can be null.

- -

The standard output rates are normal frame-rate () and half frame-rate (). In addition, the driver might support custom rates for rate conversion or inverse telecine. To get the list of custom rates, call .

Depending on the output rate, the driver might need to convert the frame rate. If so, the value of RepeatFrame controls whether the driver creates interpolated frames or simply repeats input frames.

-
- - hh447761 - void ID3D11VideoContext::VideoProcessorSetStreamOutputRate([In] ID3D11VideoProcessor* pVideoProcessor,[In] unsigned int StreamIndex,[In] D3D11_VIDEO_PROCESSOR_OUTPUT_RATE OutputRate,[In] BOOL RepeatFrame,[In, Optional] const DXGI_RATIONAL* pCustomRate) - ID3D11VideoContext::VideoProcessorSetStreamOutputRate -
- - -

Sets the source rectangle for an input stream on the video processor.

-
-

A reference to the interface. To get this reference, call .

-

The zero-based index of the input stream. To get the maximum number of streams, call and check the MaxStreamStates structure member.

-

Specifies whether to apply the source rectangle.

-

A reference to a structure that specifies the source rectangle. If Enable is , this parameter is ignored.

- -

The source rectangle is the portion of the input surface that is blitted to the destination surface. The source rectangle is given in pixel coordinates, relative to the input surface.

If this method is never called, or if the Enable parameter is , the video processor reads from the entire input surface.

-
- - hh447764 - void ID3D11VideoContext::VideoProcessorSetStreamSourceRect([In] ID3D11VideoProcessor* pVideoProcessor,[In] unsigned int StreamIndex,[In] BOOL Enable,[In, Optional] const RECT* pRect) - ID3D11VideoContext::VideoProcessorSetStreamSourceRect -
- - -

Sets the destination rectangle for an input stream on the video processor.

-
-

A reference to the interface. To get this reference, call .

-

The zero-based index of the input stream. To get the maximum number of streams, call and check the MaxStreamStates structure member.

-

Specifies whether to apply the destination rectangle.

-

A reference to a structure that specifies the destination rectangle. If Enable is , this parameter is ignored.

- -

The destination rectangle is the portion of the output surface that receives the blit for this stream. The destination rectangle is given in pixel coordinates, relative to the output surface.

The default destination rectangle is an empty rectangle (0, 0, 0, 0). If this method is never called, or if the Enable parameter is , no data is written from this stream.

-
- - hh447756 - void ID3D11VideoContext::VideoProcessorSetStreamDestRect([In] ID3D11VideoProcessor* pVideoProcessor,[In] unsigned int StreamIndex,[In] BOOL Enable,[In, Optional] const RECT* pRect) - ID3D11VideoContext::VideoProcessorSetStreamDestRect -
- - -

Sets the planar alpha for an input stream on the video processor.

-
-

A reference to the interface. To get this reference, call .

-

The zero-based index of the input stream. To get the maximum number of streams, call and check the MaxStreamStates structure member.

-

Specifies whether alpha blending is enabled.

-

The planar alpha value. The value can range from 0.0 (transparent) to 1.0 (opaque). If Enable is , this parameter is ignored.

- -

To use this feature, the driver must support stereo video, indicated by the D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_ALHPA_STREAM capability flag. To query for this capability, call .

Alpha blending is disabled by default.

For each pixel, the destination color value is computed as follows:

Cd = Cs * (As * Ap * Ae) + Cd * (1.0 - As * Ap * Ae)

where:

  • Cd = The color value of the destination pixel
  • Cs = The color value of the source pixel
  • As = The per-pixel source alpha
  • Ap = The planar alpha value
  • Ae = The palette-entry alpha value, or 1.0 (see Note)
Note??Palette-entry alpha values apply only to palettized color formats, and only when the device supports the capability. Otherwise, this factor equals 1.0.?

The destination alpha value is computed according to the alpha fill mode. For more information, see .

-
- - hh447753 - void ID3D11VideoContext::VideoProcessorSetStreamAlpha([In] ID3D11VideoProcessor* pVideoProcessor,[In] unsigned int StreamIndex,[In] BOOL Enable,[In] float Alpha) - ID3D11VideoContext::VideoProcessorSetStreamAlpha -
- - -

Sets the color-palette entries for an input stream on the video processor.

-
-

A reference to the interface. To get this reference, call .

-

The zero-based index of the input stream. To get the maximum number of streams, call and check the MaxStreamStates structure member.

-

The number of elements in the pEntries array.

-

A reference to an array of palette entries. For RGB streams, the palette entries use the DXGI_FORMAT_B8G8R8A8 representation. For YCbCr streams, the palette entries use the representation. The caller allocates the array.

- -

This method applies only to input streams that have a palettized color format. Palettized formats with 4 bits per pixel (bpp) use the first 16 entries in the list. Formats with 8 bpp use the first 256 entries.

If a pixel has a palette index greater than the number of entries, the device treats the pixel as white with opaque alpha. For full-range RGB, this value is (255, 255, 255, 255); for YCbCr the value is (255, 235, 128, 128).

If the driver does not report the capability flag, every palette entry must have an alpha value of 0xFF (opaque). To query for this capability, call .

-
- - hh447762 - void ID3D11VideoContext::VideoProcessorSetStreamPalette([In] ID3D11VideoProcessor* pVideoProcessor,[In] unsigned int StreamIndex,[In] unsigned int Count,[In, Buffer, Optional] const unsigned int* pEntries) - ID3D11VideoContext::VideoProcessorSetStreamPalette -
- - -

Sets the pixel aspect ratio for an input stream on the video processor.

-
-

A reference to the interface. To get this reference, call .

-

The zero-based index of the input stream. To get the maximum number of streams, call and check the MaxStreamStates structure member.

-

Specifies whether the pSourceAspectRatio and pDestinationAspectRatio parameters contain valid values. Otherwise, the pixel aspect ratios are unspecified.

-

A reference to a structure that contains the pixel aspect ratio of the source rectangle. If Enable is , this parameter can be null.

-

A reference to a structure that contains the pixel aspect ratio of the destination rectangle. If Enable is , this parameter can be null.

- -

This function can only be called if the driver reports the capability. If this capability is not set, this function will have no effect.

Pixel aspect ratios of the form 0/n and n/0 are not valid.

The default pixel aspect ratio is 1:1 (square pixels).

-
- - hh447763 - void ID3D11VideoContext::VideoProcessorSetStreamPixelAspectRatio([In] ID3D11VideoProcessor* pVideoProcessor,[In] unsigned int StreamIndex,[In] BOOL Enable,[In, Optional] const DXGI_RATIONAL* pSourceAspectRatio,[In, Optional] const DXGI_RATIONAL* pDestinationAspectRatio) - ID3D11VideoContext::VideoProcessorSetStreamPixelAspectRatio -
- - -

Sets the luma key for an input stream on the video processor.

-
-

A reference to the interface. To get this reference, call .

-

The zero-based index of the input stream. To get the maximum number of streams, call and check the MaxStreamStates structure member.

-

Specifies whether luma keying is enabled.

-

The lower bound for the luma key. The valid range is [0?1]. If Enable is , this parameter is ignored.

-

The upper bound for the luma key. The valid range is [0?1]. If Enable is , this parameter is ignored.

- -

To use this feature, the driver must support luma keying, indicated by the capability flag. To query for this capability, call . In addition, if the input format is RGB, the device must support the capability.

The values of Lower and Upper give the lower and upper bounds of the luma key, using a nominal range of [0...1]. Given a format with n bits per channel, these values are converted to luma values as follows:

val = f * ((1 << n)-1)

Any pixel whose luma value falls within the upper and lower bounds (inclusive) is treated as transparent.

For example, if the pixel format uses 8-bit luma, the upper bound is calculated as follows:

BYTE Y = BYTE(max(min(1.0, Upper), 0.0) * 255.0)

Note that the value is clamped to the range [0...1] before multiplying by 255.

-
- - hh447760 - void ID3D11VideoContext::VideoProcessorSetStreamLumaKey([In] ID3D11VideoProcessor* pVideoProcessor,[In] unsigned int StreamIndex,[In] BOOL Enable,[In] float Lower,[In] float Upper) - ID3D11VideoContext::VideoProcessorSetStreamLumaKey -
- - -

Enables or disables stereo 3D video for an input stream on the video processor. In addition, this method specifies the layout of the video frames in memory.

-
-

A reference to the interface. To get this reference, call .

-

The zero-based index of the input stream. To get the maximum number of streams, call and check the MaxStreamStates structure member.

-

Specifies whether stereo 3D is enabled for this stream. If the value is , the remaining parameters of this method are ignored.

-

Specifies the layout of the two stereo views in memory, as a value.

-

If TRUE, frame 0 contains the left view. Otherwise, frame 0 contains the right view.

This parameter is ignored for the following stereo formats:

-

If TRUE, frame 0 contains the base view. Otherwise, frame 1 contains the base view.

This parameter is ignored for the following stereo formats:

  • When is used and the application wants to convert the stereo data to mono, it can either:
    • Specify the base view as a mono input.
    • Specify both resources and allow the driver to do the conversion from the base view. In this case, .hInputSurface is considered frame 0 and .hInputSurfaceRight is considered frame 1.
-

A flag from the enumeration, specifying whether one of the views is flipped.

-

For format, this parameter specifies how to generate the left and right views:

  • If MonoOffset is positive, the right view is shifted to the right by that many pixels, and the left view is shifted to the left by the same amount.
  • If MonoOffset is negative, the right view is shifted to the left by that many pixels, and the left view is shifted to right by the same amount.

If Format is not , this parameter must be zero.

- - hh447765 - void ID3D11VideoContext::VideoProcessorSetStreamStereoFormat([In] ID3D11VideoProcessor* pVideoProcessor,[In] unsigned int StreamIndex,[In] BOOL Enable,[In] D3D11_VIDEO_PROCESSOR_STEREO_FORMAT Format,[In] BOOL LeftViewFrame0,[In] BOOL BaseViewFrame0,[In] D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE FlipMode,[In] int MonoOffset) - ID3D11VideoContext::VideoProcessorSetStreamStereoFormat -
- - -

Enables or disables automatic processing features on the video processor.

-
-

A reference to the interface. To get this reference, call .

-

The zero-based index of the input stream. To get the maximum number of streams, call and check the MaxStreamStates structure member.

-

If TRUE, automatic processing features are enabled. If , the driver disables any extra video processing that it might be performing.

- -

By default, the driver might perform certain processing tasks automatically during the video processor blit. This method enables the application to disable these extra video processing features. For example, if you provide your own pixel shader for the video processor, you might want to disable the driver's automatic processing.

-
- - hh447754 - void ID3D11VideoContext::VideoProcessorSetStreamAutoProcessingMode([In] ID3D11VideoProcessor* pVideoProcessor,[In] unsigned int StreamIndex,[In] BOOL Enable) - ID3D11VideoContext::VideoProcessorSetStreamAutoProcessingMode -
- - -

Enables or disables an image filter for an input stream on the video processor.

-
-

A reference to the interface. To get this reference, call .

-

The zero-based index of the input stream. To get the maximum number of streams, call and check the MaxStreamStates structure member.

-

The filter, specified as a value.

To query which filters the driver supports, call .

-

Specifies whether to enable the filter.

-

The filter level. If Enable is , this parameter is ignored.

To find the valid range of levels for a specified filter, call .

- - hh447758 - void ID3D11VideoContext::VideoProcessorSetStreamFilter([In] ID3D11VideoProcessor* pVideoProcessor,[In] unsigned int StreamIndex,[In] D3D11_VIDEO_PROCESSOR_FILTER Filter,[In] BOOL Enable,[In] int Level) - ID3D11VideoContext::VideoProcessorSetStreamFilter -
- - -

Sets a driver-specific state on a video processing stream.

-
-

A reference to the interface. To get this reference, call .

-

The zero-based index of the input stream. To get the maximum number of streams, call and check the MaxStreamStates structure member.

-

A reference to a that identifies the operation. The meaning of this is defined by the graphics driver.

-

The size of the pData buffer, in bytes.

-

A reference to a buffer that contains private state data. The method passes this buffer directly to the driver without validation. It is the responsibility of the driver to validate the data.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh447757 - HRESULT ID3D11VideoContext::VideoProcessorSetStreamExtension([In] ID3D11VideoProcessor* pVideoProcessor,[In] unsigned int StreamIndex,[In] const GUID* pExtensionGuid,[In] unsigned int DataSize,[In] void* pData) - ID3D11VideoContext::VideoProcessorSetStreamExtension -
- - -

Gets the format of an input stream on the video processor.

-
-

A reference to the interface. To get this reference, call .

-

The zero-based index of the input stream. To get the maximum number of streams, call and check the MaxStreamStates structure member.

-

Receives a value that specifies whether the stream contains interlaced or progressive frames.

- - hh447739 - void ID3D11VideoContext::VideoProcessorGetStreamFrameFormat([In] ID3D11VideoProcessor* pVideoProcessor,[In] unsigned int StreamIndex,[Out] D3D11_VIDEO_FRAME_FORMAT* pFrameFormat) - ID3D11VideoContext::VideoProcessorGetStreamFrameFormat -
- - -

Gets the color space for an input stream of the video processor.

-
-

A reference to the interface. To get this reference, call .

-

The zero-based index of the input stream. To get the maximum number of streams, call and check the MaxStreamStates structure member.

-

Receives a value that specifies the color space.

- - hh447731 - void ID3D11VideoContext::VideoProcessorGetStreamColorSpace([In] ID3D11VideoProcessor* pVideoProcessor,[In] unsigned int StreamIndex,[Out] D3D11_VIDEO_PROCESSOR_COLOR_SPACE* pColorSpace) - ID3D11VideoContext::VideoProcessorGetStreamColorSpace -
- - -

Gets the rate at which the video processor produces output frames for an input stream.

-
-

A reference to the interface. To get this reference, call .

-

The zero-based index of the input stream. To get the maximum number of streams, call and check the MaxStreamStates structure member.

-

Receives a value that specifies the output rate.

-

Receives a Boolean value that specifies how the driver performs frame-rate conversion, if required.

ValueMeaning
TRUE

Repeat frames.

Interpolate frames.

?

-

A reference to a structure. If the output rate is , the method fills in this structure with the exact output rate. Otherwise, this parameter is ignored.

- - hh447741 - void ID3D11VideoContext::VideoProcessorGetStreamOutputRate([In] ID3D11VideoProcessor* pVideoProcessor,[In] unsigned int StreamIndex,[Out] D3D11_VIDEO_PROCESSOR_OUTPUT_RATE* pOutputRate,[Out] BOOL* pRepeatFrame,[Out] DXGI_RATIONAL* pCustomRate) - ID3D11VideoContext::VideoProcessorGetStreamOutputRate -
- - -

Gets the source rectangle for an input stream on the video processor.

-
-

A reference to the interface. To get this reference, call .

-

The zero-based index of the input stream. To get the maximum number of streams, call and check the MaxStreamStates structure member.

-

Receives the value TRUE if the source rectangle is enabled, or otherwise.

-

A reference to a structure that receives the source rectangle.

- - hh447744 - void ID3D11VideoContext::VideoProcessorGetStreamSourceRect([In] ID3D11VideoProcessor* pVideoProcessor,[In] unsigned int StreamIndex,[Out] BOOL* pEnabled,[Out] RECT* pRect) - ID3D11VideoContext::VideoProcessorGetStreamSourceRect -
- - -

Gets the destination rectangle for an input stream on the video processor.

-
-

A reference to the interface. To get this reference, call .

-

The zero-based index of the input stream. To get the maximum number of streams, call and check the MaxStreamStates structure member.

-

Receives the value TRUE if the destination rectangle is enabled, or otherwise.

-

A reference to a structure that receives the destination rectangle.

- - hh447733 - void ID3D11VideoContext::VideoProcessorGetStreamDestRect([In] ID3D11VideoProcessor* pVideoProcessor,[In] unsigned int StreamIndex,[Out] BOOL* pEnabled,[Out] RECT* pRect) - ID3D11VideoContext::VideoProcessorGetStreamDestRect -
- - -

Gets the planar alpha for an input stream on the video processor.

-
-

A reference to the interface. To get this reference, call .

-

The zero-based index of the input stream. To get the maximum number of streams, call and check the MaxStreamStates structure member.

-

Receives the value TRUE if planar alpha is enabled, or otherwise.

-

Receives the planar alpha value. The value can range from 0.0 (transparent) to 1.0 (opaque).

- - hh447727 - void ID3D11VideoContext::VideoProcessorGetStreamAlpha([In] ID3D11VideoProcessor* pVideoProcessor,[In] unsigned int StreamIndex,[Out] BOOL* pEnabled,[Out] float* pAlpha) - ID3D11VideoContext::VideoProcessorGetStreamAlpha -
- - -

Gets the color-palette entries for an input stream on the video processor.

-
-

A reference to the interface. To get this reference, call .

-

The zero-based index of the input stream. To get the maximum number of streams, call and check the MaxStreamStates structure member.

-

The number of entries in the pEntries array.

-

A reference to a UINT array allocated by the caller. The method fills the array with the palette entries. For RGB streams, the palette entries use the DXGI_FORMAT_B8G8R8A8 representation. For YCbCr streams, the palette entries use the representation.

- -

This method applies only to input streams that have a palettized color format. Palettized formats with 4 bits per pixel (bpp) use 16 palette entries. Formats with 8 bpp use 256 entries.

-
- - hh447742 - void ID3D11VideoContext::VideoProcessorGetStreamPalette([In] ID3D11VideoProcessor* pVideoProcessor,[In] unsigned int StreamIndex,[In] unsigned int Count,[Out, Buffer] unsigned int* pEntries) - ID3D11VideoContext::VideoProcessorGetStreamPalette -
- - -

Gets the pixel aspect ratio for an input stream on the video processor.

-
-

A reference to the interface. To get this reference, call .

-

The zero-based index of the input stream. To get the maximum number of streams, call and check the MaxStreamStates structure member.

-

Receives the value TRUE if the pixel aspect ratio is specified. Otherwise, receives the value .

-

A reference to a structure. If *pEnabled is TRUE, this parameter receives the pixel aspect ratio of the source rectangle.

-

A reference to a structure. If *pEnabled is TRUE, this parameter receives the pixel aspect ratio of the destination rectangle.

- -

When the method returns, if *pEnabled is TRUE, the pSourceAspectRatio and pDestinationAspectRatio parameters contain the pixel aspect ratios. Otherwise, the default pixel aspect ratio is 1:1 (square pixels).

-
- - hh447743 - void ID3D11VideoContext::VideoProcessorGetStreamPixelAspectRatio([In] ID3D11VideoProcessor* pVideoProcessor,[In] unsigned int StreamIndex,[Out] BOOL* pEnabled,[Out] DXGI_RATIONAL* pSourceAspectRatio,[Out] DXGI_RATIONAL* pDestinationAspectRatio) - ID3D11VideoContext::VideoProcessorGetStreamPixelAspectRatio -
- - -

Gets the luma key for an input stream of the video processor.

-
-

A reference to the interface. To get this reference, call .

-

The zero-based index of the input stream. To get the maximum number of streams, call and check the MaxStreamStates structure member.

-

Receives the value TRUE if luma keying is enabled, or otherwise.

-

Receives the lower bound for the luma key. The valid range is [0?1].

-

Receives the upper bound for the luma key. The valid range is [0?1].

- - hh447740 - void ID3D11VideoContext::VideoProcessorGetStreamLumaKey([In] ID3D11VideoProcessor* pVideoProcessor,[In] unsigned int StreamIndex,[Out] BOOL* pEnabled,[Out] float* pLower,[Out] float* pUpper) - ID3D11VideoContext::VideoProcessorGetStreamLumaKey -
- - -

Gets the stereo 3D format for an input stream on the video processor

-
-

A reference to the interface. To get this reference, call .

-

The zero-based index of the input stream. To get the maximum number of streams, call and check the MaxStreamStates structure member.

-

Receives the value TRUE if stereo 3D is enabled for this stream, or otherwise. If the value is , ignore the remaining parameters.

-

Receives a value that specifies the layout of the two stereo views in memory.

-

Receives a Boolean value.

ValueMeaning
TRUE

Frame 0 contains the left view.

Frame 0 contains the right view.

?

-

Receives a Boolean value.

ValueMeaning
TRUE

Frame 0 contains the base view.

Frame 1 contains the base view.

?

-

Receives a value. This value specifies whether one of the views is flipped.

-

Receives the pixel offset used for format. This parameter is ignored for other stereo formats.

- - hh447745 - void ID3D11VideoContext::VideoProcessorGetStreamStereoFormat([In] ID3D11VideoProcessor* pVideoProcessor,[In] unsigned int StreamIndex,[Out] BOOL* pEnable,[Out] D3D11_VIDEO_PROCESSOR_STEREO_FORMAT* pFormat,[Out] BOOL* pLeftViewFrame0,[Out] BOOL* pBaseViewFrame0,[Out] D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE* pFlipMode,[Out] int* MonoOffset) - ID3D11VideoContext::VideoProcessorGetStreamStereoFormat -
- - -

Queries whether automatic processing features of the video processor are enabled.

-
-

A reference to the interface. To get this reference, call .

-

The zero-based index of the input stream. To get the maximum number of streams, call and check the MaxStreamStates structure member.

-

Receives the value TRUE if automatic processing features are enabled, or otherwise.

- -

Automatic processing refers to additional image processing that drivers might have performed on the image data prior to the application receiving the data.

-
- - hh447729 - void ID3D11VideoContext::VideoProcessorGetStreamAutoProcessingMode([In] ID3D11VideoProcessor* pVideoProcessor,[In] unsigned int StreamIndex,[Out] BOOL* pEnabled) - ID3D11VideoContext::VideoProcessorGetStreamAutoProcessingMode -
- - -

Gets the image filter settings for an input stream on the video processor.

-
-

A reference to the interface. To get this reference, call .

-

The zero-based index of the input stream. To get the maximum number of streams, call and check the MaxStreamStates structure member.

-

The filter to query, specified as a value.

-

Receives the value TRUE if the image filter is enabled, or otherwise.

-

Receives the filter level.

- - hh447737 - void ID3D11VideoContext::VideoProcessorGetStreamFilter([In] ID3D11VideoProcessor* pVideoProcessor,[In] unsigned int StreamIndex,[In] D3D11_VIDEO_PROCESSOR_FILTER Filter,[Out] BOOL* pEnabled,[Out] int* pLevel) - ID3D11VideoContext::VideoProcessorGetStreamFilter -
- - -

Gets a driver-specific state for a video processing stream.

-
-

A reference to the interface. To get this reference, call .

-

The zero-based index of the input stream. To get the maximum number of streams, call and check the MaxStreamStates structure member.

-

A reference to a that identifies the state. The meaning of this is defined by the graphics driver.

-

The size of the pData buffer, in bytes.

-

A reference to a buffer that receives the private state data.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh447735 - HRESULT ID3D11VideoContext::VideoProcessorGetStreamExtension([In] ID3D11VideoProcessor* pVideoProcessor,[In] unsigned int StreamIndex,[In] const GUID* pExtensionGuid,[In] unsigned int DataSize,[Out, Buffer] void* pData) - ID3D11VideoContext::VideoProcessorGetStreamExtension -
- - -

Performs a video processing operation on one or more input samples and writes the result to a Direct3D surface.

-
-

A reference to the interface. To get this reference, call the method.

-

A reference to the interface for the output surface. The output of the video processing operation will be written to this surface.

-

The frame number of the output video frame, indexed from zero.

-

The number of input streams to process.

-

A reference to an array of structures that contain information about the input streams. The caller allocates the array and fills in each structure. The number of elements in the array is given in the StreamCount parameter.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

The maximum value of StreamCount is given in the MaxStreamStates member of the structure. The maximum number of streams that can be enabled at one time is given in the MaxInputStreams member of that structure.

If the output stereo mode is TRUE:

  • The output view must contain a texture array of two elements.
  • At least one stereo stream must be specified.
  • If multiple input streams are enabled, it is possible that one or more of the input streams may contain mono data.

Otherwise:

  • The output view must contain a single element.
  • The stereo format cannot be .

This function does not honor a D3D11 predicate that may have been set.

If the application uses D3D11 quries, this function may not be accounted for with and when using feature levels lower than 11. will not include this function for any feature level.

-
- - hh447719 - HRESULT ID3D11VideoContext::VideoProcessorBlt([In] ID3D11VideoProcessor* pVideoProcessor,[In] ID3D11VideoProcessorOutputView* pView,[In] unsigned int OutputFrame,[In] unsigned int StreamCount,[In, Buffer] const D3D11_VIDEO_PROCESSOR_STREAM* pStreams) - ID3D11VideoContext::VideoProcessorBlt -
- - -

Establishes the session key for a cryptographic session.

-
-

A reference to the interface of the cryptographic session.

-

The size of the pData byte array, in bytes.

-

A reference to a byte array that contains the encrypted session key.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

The key exchange mechanism depends on the type of cryptographic session.

For RSA Encryption Scheme - Optimal Asymmetric Encryption Padding (RSAES-OAEP), the software decoder generates the secret key, encrypts the secret key by using the public key with RSAES-OAEP, and places the cipher text in the pData parameter. The actual size of the buffer for RSAES-OAEP is 256 bytes.

-
- - hh447714 - HRESULT ID3D11VideoContext::NegotiateCryptoSessionKeyExchange([In] ID3D11CryptoSession* pCryptoSession,[In] unsigned int DataSize,[Out, Buffer] void* pData) - ID3D11VideoContext::NegotiateCryptoSessionKeyExchange -
- - -

Reads encrypted data from a protected surface.

-
-

A reference to the interface of the cryptographic session.

-

A reference to the interface of the protected surface.

-

A reference to the interface of the surface that receives the encrypted data.

-

The size of the pIV buffer, in bytes.

-

A reference to a buffer that receives the initialization vector (IV). The caller allocates this buffer, but the driver generates the IV.

For 128-bit AES-CTR encryption, pIV points to a structure. When the driver generates the first IV, it initializes the structure to a random number. For each subsequent IV, the driver simply increments the IV member of the structure, ensuring that the value always increases. The application can validate that the same IV is never used more than once with the same key pair.

- -

Not all drivers support this method. To query the driver capabilities, call and check for the flag in the Caps member of the structure.

Some drivers might require a separate key to decrypt the data that is read back. To check for this requirement, call GetContentProtectionCaps and check for the flag. If this flag is present, call to get the decryption key.

This method has the following limitations:

  • Reading back sub-rectangles is not supported.
  • Reading back partially encrypted surfaces is not supported.
  • The protected surface must be either an off-screen plain surface or a render target.
  • The destination surface must be a resource.
  • The protected surface cannot be multisampled.
  • Stretching and colorspace conversion are not supported.

This function does not honor a D3D11 predicate that may have been set.

If the application uses D3D11 quries, this function may not be accounted for with and when using feature levels lower than 11. will not include this function for any feature level.

-
- - hh447709 - void ID3D11VideoContext::EncryptionBlt([In] ID3D11CryptoSession* pCryptoSession,[In] ID3D11Texture2D* pSrcSurface,[In] ID3D11Texture2D* pDstSurface,[In] unsigned int IVSize,[InOut, Buffer, Optional] void* pIV) - ID3D11VideoContext::EncryptionBlt -
- - -

Writes encrypted data to a protected surface.

-
-

A reference to the interface.

-

A reference to the surface that contains the source data.

-

A reference to the protected surface where the encrypted data is written.

-

A reference to a structure, or null.

If the driver supports partially encrypted buffers, pEncryptedBlockInfo indicates which portions of the buffer are encrypted. If the entire surface is encrypted, set this parameter to null.

To check whether the driver supports partially encrypted buffers, call and check for the capabilities flag. If the driver does not support partially encrypted buffers, set this parameter to null.

-

The size of the encrypted content key, in bytes.

-

A reference to a buffer that contains a content encryption key, or null. To query whether the driver supports the use of content keys, call and check for the capabilities flag.

If the driver supports content keys, use the content key to encrypt the surface. Encrypt the content key using the session key, and place the resulting cipher text in pContentKey. If the driver does not support content keys, use the session key to encrypt the surface and set pContentKey to null.

-

The size of the pIV buffer, in bytes.

-

A reference to a buffer that contains the initialization vector (IV).

For 128-bit AES-CTR encryption, pIV points to a structure. The caller allocates the structure and generates the IV. When you generate the first IV, initialize the structure to a random number. For each subsequent IV, simply increment the IV member of the structure, ensuring that the value always increases. This procedure enables the driver to validate that the same IV is never used more than once with the same key pair.

For other encryption types, a different structure might be used, or the encryption might not use an IV.

- -

Not all hardware or drivers support this functionality for all cryptographic types. This function can only be called when the cap is reported.

This method does not support writing to sub-rectangles of the surface.

If the hardware and driver support a content key:

  • The data is encrypted by the caller using the content key.
  • The content key is encrypted by the caller using the session key.
  • The encrypted content key is passed to the driver.

Otherwise, the data is encrypted by the caller using the session key and null is passed as the content key.

If the driver and hardware support partially encrypted buffers, pEncryptedBlockInfo indicates which portions of the buffer are encrypted and which is not. If the entire buffer is encrypted, pEncryptedBlockinfo should be null.

The allows the application to indicate which bytes in the buffer are encrypted. This is specified in bytes, so the application must ensure that the encrypted blocks match the GPU?s crypto block alignment.

This function does not honor a D3D11 predicate that may have been set.

If the application uses D3D11 quries, this function may not be accounted for with and when using feature levels lower than 11. will not include this function for any feature level.

-
- - hh447708 - void ID3D11VideoContext::DecryptionBlt([In] ID3D11CryptoSession* pCryptoSession,[In] ID3D11Texture2D* pSrcSurface,[In] ID3D11Texture2D* pDstSurface,[In, Optional] D3D11_ENCRYPTED_BLOCK_INFO* pEncryptedBlockInfo,[In] unsigned int ContentKeySize,[In, Buffer, Optional] const void* pContentKey,[In] unsigned int IVSize,[InOut, Buffer, Optional] void* pIV) - ID3D11VideoContext::DecryptionBlt -
- - -

Gets a random number that can be used to refresh the session key.

-
-

A reference to the interface.

-

The size of the pRandomNumber array, in bytes. The size should match the size of the session key.

-

A reference to a byte array that receives a random number.

- -

To generate a new session key, perform a bitwise XOR between the previous session key and the random number. The new session key does not take affect until the application calls .

To query whether the driver supports this method, call and check for the capabilities flag.

-
- - hh447717 - void ID3D11VideoContext::StartSessionKeyRefresh([In] ID3D11CryptoSession* pCryptoSession,[In] unsigned int RandomNumberSize,[Out, Buffer] void* pRandomNumber) - ID3D11VideoContext::StartSessionKeyRefresh -
- - -

Switches to a new session key.

-
-

A reference to the interface.

- -

This function can only be called when the cap is reported.

Before calling this method, call . The StartSessionKeyRefresh method gets a random number from the driver, which is used to create a new session key. The new session key does not become active until the application calls FinishSessionKeyRefresh. After the application calls FinishSessionKeyRefresh, all protected surfaces are encrypted using the new session key.

-
- - hh447710 - void ID3D11VideoContext::FinishSessionKeyRefresh([In] ID3D11CryptoSession* pCryptoSession) - ID3D11VideoContext::FinishSessionKeyRefresh -
- - -

Gets the cryptographic key to decrypt the data returned by the method.

-
- No documentation. - No documentation. - No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

This method applies only when the driver requires a separate content key for the EncryptionBlt method. For more information, see the Remarks for EncryptionBlt.

Each time this method is called, the driver generates a new key.

The KeySize should match the size of the session key.

The read back key is encrypted by the driver/hardware using the session key.

-
- - hh447712 - HRESULT ID3D11VideoContext::GetEncryptionBltKey([In] ID3D11CryptoSession* pCryptoSession,[In] unsigned int KeySize,[Out, Buffer] void* pReadbackKey) - ID3D11VideoContext::GetEncryptionBltKey -
- - -

Establishes a session key for an authenticated channel.

-
-

A reference to the interface. This method will fail if the channel type is , because the Direct3D11 channel does not support authentication.

-

The size of the data in the pData array, in bytes.

-

A reference to a byte array that contains the encrypted session key. The buffer must contain 256 bytes of data, encrypted using RSA Encryption Scheme - Optimal Asymmetric Encryption Padding (RSAES-OAEP).

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

This method will fail if the channel type is , because the Direct3D11 channel does not support authentication.

-
- - hh447713 - HRESULT ID3D11VideoContext::NegotiateAuthenticatedChannelKeyExchange([In] ID3D11AuthenticatedChannel* pChannel,[In] unsigned int DataSize,[Out, Buffer] void* pData) - ID3D11VideoContext::NegotiateAuthenticatedChannelKeyExchange -
- - -

Sends a query to an authenticated channel.

-
-

A reference to the interface.

-

The size of the pInput array, in bytes.

-

A reference to a byte array that contains input data for the query. This array always starts with a structure. The QueryType member of the structure specifies the query and defines the meaning of the rest of the array.

-

The size of the pOutput array, in bytes.

-

A reference to a byte array that receives the result of the query. This array always starts with a structure. The meaning of the rest of the array depends on the query.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh447715 - HRESULT ID3D11VideoContext::QueryAuthenticatedChannel([In] ID3D11AuthenticatedChannel* pChannel,[In] unsigned int InputSize,[In, Buffer] const void* pInput,[In] unsigned int OutputSize,[Out, Buffer] void* pOutput) - ID3D11VideoContext::QueryAuthenticatedChannel -
- - -

Sends a configuration command to an authenticated channel.

-
-

A reference to the interface.

-

The size of the pInput array, in bytes.

-

A reference to a byte array that contains input data for the command. This buffer always starts with a structure. The ConfigureType member of the structure specifies the command and defines the meaning of the rest of the buffer.

-

A reference to a structure that receives the response to the command.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh447704 - HRESULT ID3D11VideoContext::ConfigureAuthenticatedChannel([In] ID3D11AuthenticatedChannel* pChannel,[In] unsigned int InputSize,[In, Buffer] const void* pInput,[Out] D3D11_AUTHENTICATED_CONFIGURE_OUTPUT* pOutput) - ID3D11VideoContext::ConfigureAuthenticatedChannel -
- - -

Sets the stream rotation for an input stream on the video processor.

-
-

A reference to the interface. To get this reference, call .

-

The zero-based index of the input stream. To get the maximum number of streams, call and check the MaxStreamStates structure member.

-

Specifies if the stream is to be rotated in a clockwise orientation.

-

Specifies the rotation of the stream.

- -

This is an optional state and the application should only use it if is reported in .FeatureCaps.

The stream source rectangle will be specified in the pre-rotation coordinates (typically landscape) and the stream destination rectangle will be specified in the post-rotation coordinates (typically portrait). The application must update the stream destination rectangle correctly when using a rotation value other than 0? and 180?.

-
- - jj160517 - void ID3D11VideoContext::VideoProcessorSetStreamRotation([In] ID3D11VideoProcessor* pVideoProcessor,[In] unsigned int StreamIndex,[In] BOOL Enable,[In] D3D11_VIDEO_PROCESSOR_ROTATION Rotation) - ID3D11VideoContext::VideoProcessorSetStreamRotation -
- - -

Gets the stream rotation for an input stream on the video processor.

-
-

A reference to the interface. To get this reference, call .

-

The zero-based index of the input stream. To get the maximum number of streams, call and check the MaxStreamStates structure member.

-

Specifies if the stream is rotated.

-

Specifies the rotation of the stream in a clockwise orientation.

- - jj160516 - void ID3D11VideoContext::VideoProcessorGetStreamRotation([In] ID3D11VideoProcessor* pVideoProcessor,[In] unsigned int StreamIndex,[Out] BOOL* pEnable,[Out] D3D11_VIDEO_PROCESSOR_ROTATION* pRotation) - ID3D11VideoContext::VideoProcessorGetStreamRotation -
- - -

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

Applies to: desktop apps | Metro style apps

Gets a reference to a DirectX Video Acceleration (DXVA) decoder buffer.

-
-

A reference to the interface. To get this reference, call .

-

The type of buffer to retrieve, specified as a member of the enumeration.

- An to the memory buffer. - -

The graphics driver allocates the buffers that are used for DXVA decoding. This method locks the Microsoft Direct3D surface that contains the buffer. When you are done using the buffer, call to unlock the surface.

-
- - hh447711 - HRESULT ID3D11VideoContext::GetDecoderBuffer([In] ID3D11VideoDecoder* pDecoder,[In] D3D11_VIDEO_DECODER_BUFFER_TYPE Type,[Out] unsigned int* pBufferSize,[Out] void** ppBuffer) - ID3D11VideoContext::GetDecoderBuffer -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Provides the video functionality of a Microsoft Direct3D?11 device.

-
- -

To get a reference to this interface, call QueryInterface with an interface reference.

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

Submits one or more buffers for decoding.

-
-

A reference to the interface. To get this reference, call the method.

-

The number of buffers submitted for decoding.

-

A reference to an array of structures. The NumBuffers parameter specifies the number of elements in the array. Each element in the array describes a compressed buffer for decoding.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

This function does not honor any D3D11 predicate that may have been set. will not include this function for any feature level. -

-
- - dn894131 - HRESULT ID3D11VideoContext1::SubmitDecoderBuffers1([In] ID3D11VideoDecoder* pDecoder,[In] unsigned int NumBuffers,[In, Buffer] const D3D11_VIDEO_DECODER_BUFFER_DESC1* pBufferDesc) - ID3D11VideoContext1::SubmitDecoderBuffers1 -
- - -

Allows the driver to return IHV specific information used when initializing the new hardware key.

-
-

A reference to the interface. To get this reference, call ID3D11VideoDevice1::CreateCryptoSession.

-

The size of the memory referenced by the pPrivateInputData parameter.

-

The private input data. The contents of this parameter is defined by the implementation of the secure execution environment. It may contain data about the license or about the stream properties.

-

A reference to the private output data. The return data is defined by the implementation of the secure execution environment. It may contain graphics-specific data to be associated with the underlying hardware key.

-

This method returns one of the following error codes.

The operation completed successfully.
E_OUTOFMEMORYThere is insufficient memory to complete the operation.

?

- - dn894130 - HRESULT ID3D11VideoContext1::GetDataForNewHardwareKey([In] ID3D11CryptoSession* pCryptoSession,[In] unsigned int PrivateInputSize,[In, Buffer] const void* pPrivatInputData,[Out] unsigned longlong* pPrivateOutputData) - ID3D11VideoContext1::GetDataForNewHardwareKey -
- - -

Checks the status of a crypto session.

-
-

Specifies a for which status is checked.

-

A that is populated with the crypto session status upon completion.

-

This method returns one of the following error codes.

The operation completed successfully.
E_INVALIDARGAn invalid parameter was passed or this function was called using an invalid calling pattern.
E_OUTOFMEMORYThere is insufficient memory to complete the operation.

?

- - dn894127 - HRESULT ID3D11VideoContext1::CheckCryptoSessionStatus([In] ID3D11CryptoSession* pCryptoSession,[Out] D3D11_CRYPTO_SESSION_STATUS* pStatus) - ID3D11VideoContext1::CheckCryptoSessionStatus -
- - -

Indicates that decoder downsampling will be used and that the driver should allocate the appropriate reference frames.

-
-

A reference to the interface.

-

The color space information of the reference frame data.

-

The resolution, format, and colorspace of the output/display frames. This is the destination resolution and format of the downsample operation.

-

The number of reference frames to be used in the operation.

-

This method returns one of the following error codes.

The operation completed successfully.
E_INVALIDARGAn invalid parameter was passed or this function was called using an invalid calling pattern.
E_OUTOFMEMORYThere is insufficient memory to complete the operation.

?

- -

This function can only be called once for a specific interface. This method must be called prior to the first call to DecoderBeginFrame. To update the downsampling parameters, use DecoderUpdateDownsampling.

-
- - dn894128 - HRESULT ID3D11VideoContext1::DecoderEnableDownsampling([In] ID3D11VideoDecoder* pDecoder,[In] DXGI_COLOR_SPACE_TYPE InputColorSpace,[In] const D3D11_VIDEO_SAMPLE_DESC* pOutputDesc,[In] unsigned int ReferenceFrameCount) - ID3D11VideoContext1::DecoderEnableDownsampling -
- - -

Updates the decoder downsampling parameters.

-
-

A reference to the interface.

-

The resolution, format, and colorspace of the output/display frames. This is the destination resolution and format of the downsample operation.

-

This method returns one of the following error codes.

The operation completed successfully.
E_INVALIDARGAn invalid parameter was passed or this function was called using an invalid calling pattern.
E_OUTOFMEMORYThere is insufficient memory to complete the operation.

?

- -

This method can only be called after decode downsampling is enabled by calling DecoderEnableDownsampling. This method is only supported if the capability is reported.

-
- - dn894129 - HRESULT ID3D11VideoContext1::DecoderUpdateDownsampling([In] ID3D11VideoDecoder* pDecoder,[In] const D3D11_VIDEO_SAMPLE_DESC* pOutputDesc) - ID3D11VideoContext1::DecoderUpdateDownsampling -
- - -

Sets the color space information for the video processor output surface.

-
-

A reference to the interface.

-

A value that specifies the colorspace for the video processor output surface.

- - dn894137 - void ID3D11VideoContext1::VideoProcessorSetOutputColorSpace1([In] ID3D11VideoProcessor* pVideoProcessor,[In] DXGI_COLOR_SPACE_TYPE ColorSpace) - ID3D11VideoContext1::VideoProcessorSetOutputColorSpace1 -
- - -

Sets a value indicating whether the output surface from a call to will be read by Direct3D shaders.

-
- No documentation. - No documentation. - - dn894138 - void ID3D11VideoContext1::VideoProcessorSetOutputShaderUsage([In] ID3D11VideoProcessor* pVideoProcessor,[In] BOOL ShaderUsage) - ID3D11VideoContext1::VideoProcessorSetOutputShaderUsage -
- - -

Gets the color space information for the video processor output surface.

-
-

A reference to the interface.

-

A reference to a value that indicates the colorspace for the video processor output surface.

- - dn894133 - void ID3D11VideoContext1::VideoProcessorGetOutputColorSpace1([In] ID3D11VideoProcessor* pVideoProcessor,[Out] DXGI_COLOR_SPACE_TYPE* pColorSpace) - ID3D11VideoContext1::VideoProcessorGetOutputColorSpace1 -
- - -

Gets a value indicating whether the output surface from a call to can be read by Direct3D shaders.

-
- No documentation. - No documentation. - - dn894134 - void ID3D11VideoContext1::VideoProcessorGetOutputShaderUsage([In] ID3D11VideoProcessor* pVideoProcessor,[Out] BOOL* pShaderUsage) - ID3D11VideoContext1::VideoProcessorGetOutputShaderUsage -
- - -

Sets the color space information for the video processor input stream.

-
-

A reference to the interface.

-

An index identifying the input stream.

-

A value that specifies the colorspace for the video processor input stream.

- - dn894139 - void ID3D11VideoContext1::VideoProcessorSetStreamColorSpace1([In] ID3D11VideoProcessor* pVideoProcessor,[In] unsigned int StreamIndex,[In] DXGI_COLOR_SPACE_TYPE ColorSpace) - ID3D11VideoContext1::VideoProcessorSetStreamColorSpace1 -
- - -

Specifies whether the video processor input stream should be flipped vertically or horizontally.

-
-

A reference to the interface.

-

An index identifying the input stream.

-

True if mirroring should be enabled; otherwise, false.

-

True if the stream should be flipped horizontally; otherwise, false.

-

True if the stream should be flipped vertically; otherwise, false.

- -

When used in combination, transformations on the processor input stream should be applied in the following order:

  • Rotation
  • Mirroring
  • Source clipping
-
- - dn894140 - void ID3D11VideoContext1::VideoProcessorSetStreamMirror([In] ID3D11VideoProcessor* pVideoProcessor,[In] unsigned int StreamIndex,[In] BOOL Enable,[In] BOOL FlipHorizontal,[In] BOOL FlipVertical) - ID3D11VideoContext1::VideoProcessorSetStreamMirror -
- - -

Gets the color space information for the video processor input stream.

-
-

A reference to the interface.

-

An index identifying the input stream.

-

A reference to a value that specifies the colorspace for the video processor input stream.

- - dn894135 - void ID3D11VideoContext1::VideoProcessorGetStreamColorSpace1([In] ID3D11VideoProcessor* pVideoProcessor,[In] unsigned int StreamIndex,[Out] DXGI_COLOR_SPACE_TYPE* pColorSpace) - ID3D11VideoContext1::VideoProcessorGetStreamColorSpace1 -
- - -

Gets values that indicate whether the video processor input stream is being flipped vertically or horizontally.

-
-

A reference to the interface.

-

An index identifying the input stream.

-

A reference to a boolean value indicating whether mirroring is enabled. True if mirroring is enabled; otherwise, false.

-

A reference to a boolean value indicating whether the stream is being flipped horizontally. True if the stream is being flipped horizontally; otherwise, false.

-

A reference to a boolean value indicating whether the stream is being flipped vertically. True if the stream is being flipped vertically; otherwise, false.

- - dn894136 - void ID3D11VideoContext1::VideoProcessorGetStreamMirror([In] ID3D11VideoProcessor* pVideoProcessor,[In] unsigned int StreamIndex,[Out] BOOL* pEnable,[Out] BOOL* pFlipHorizontal,[Out] BOOL* pFlipVertical) - ID3D11VideoContext1::VideoProcessorGetStreamMirror -
- - -

Returns driver hints that indicate which of the video processor operations are best performed using multi-plane overlay hardware rather than method.

-
- No documentation. - No documentation. - No documentation. - No documentation. - No documentation. - No documentation. - No documentation. -

This method returns one of the following error codes.

The operation completed successfully.
E_INVALIDARGAn invalid parameter was passed or this function was called using an invalid calling pattern.
E_OUTOFMEMORYThere is insufficient memory to complete the operation.

?

- -

This method computes the behavior hints using the current state of the video processor as set by the "SetOutput" and "SetStream" methods of and . You must set the proper state before calling this method to ensure that the returned hints contain useful data.

-
- - dn894132 - HRESULT ID3D11VideoContext1::VideoProcessorGetBehaviorHints([In] ID3D11VideoProcessor* pVideoProcessor,[In] unsigned int OutputWidth,[In] unsigned int OutputHeight,[In] DXGI_FORMAT OutputFormat,[In] unsigned int StreamCount,[In, Buffer] const D3D11_VIDEO_PROCESSOR_STREAM_BEHAVIOR_HINT* pStreams,[Out] unsigned int* pBehaviorHints) - ID3D11VideoContext1::VideoProcessorGetBehaviorHints -
- - -

Provides the video functionality of a Microsoft Direct3D?11 device.

-
- -

To get a reference to this interface, call QueryInterface with an interface reference.

This interface provides access to several areas of Microsoft Direct3D video functionality:

  • Hardware-accelerated video decoding
  • Video processing
  • GPU-based content protection
  • Video encryption and decryption

In Microsoft Direct3D?9, the equivalent functions were distributed across several interfaces:

  • IDirect3DAuthenticatedChannel9
  • IDirect3DCryptoSession9
  • IDirectXVideoDecoder
  • IDirectXVideoProcessor
  • IDXVAHD_VideoProcessor
-
- - hh447703 - ID3D11VideoContext2 - ID3D11VideoContext2 -
- - - Initializes a new instance of the 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. - - void ID3D11VideoContext2::VideoProcessorSetOutputHDRMetaData([In] ID3D11VideoProcessor* pVideoProcessor,[In] DXGI_HDR_METADATA_TYPE Type,[In] unsigned int Size,[In, Buffer, Optional] const void* pHDRMetaData) - ID3D11VideoContext2::VideoProcessorSetOutputHDRMetaData - - - - No documentation. - - No documentation. - No documentation. - No documentation. - No documentation. - - void ID3D11VideoContext2::VideoProcessorGetOutputHDRMetaData([In] ID3D11VideoProcessor* pVideoProcessor,[Out] DXGI_HDR_METADATA_TYPE* pType,[In] unsigned int Size,[Out, Buffer, Optional] void* pMetaData) - ID3D11VideoContext2::VideoProcessorGetOutputHDRMetaData - - - - No documentation. - - No documentation. - No documentation. - No documentation. - No documentation. - No documentation. - - void ID3D11VideoContext2::VideoProcessorSetStreamHDRMetaData([In] ID3D11VideoProcessor* pVideoProcessor,[In] unsigned int StreamIndex,[In] DXGI_HDR_METADATA_TYPE Type,[In] unsigned int Size,[In, Buffer, Optional] const void* pHDRMetaData) - ID3D11VideoContext2::VideoProcessorSetStreamHDRMetaData - - - - No documentation. - - No documentation. - No documentation. - No documentation. - No documentation. - No documentation. - - void ID3D11VideoContext2::VideoProcessorGetStreamHDRMetaData([In] ID3D11VideoProcessor* pVideoProcessor,[In] unsigned int StreamIndex,[Out] DXGI_HDR_METADATA_TYPE* pType,[In] unsigned int Size,[Out, Buffer, Optional] void* pMetaData) - ID3D11VideoContext2::VideoProcessorGetStreamHDRMetaData - - - -

Represents a hardware-accelerated video decoder for Microsoft Direct3D?11.

-
- -

To get a reference to this interface, call .

-
- - hh447766 - ID3D11VideoDecoder - ID3D11VideoDecoder -
- - - Initializes a new instance of the 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 handle to the driver.

-
- -

The driver handle can be used to configure content protection.

-
- - hh447780 - GetDriverHandle - GetDriverHandle - HRESULT ID3D11VideoDecoder::GetDriverHandle([Out] void** pDriverHandle) -
- - -

Gets the parameters that were used to create the decoder.

-
-

A reference to a structure that receives a description of the video stream.

-

A reference to a structure that receives the decoder configuration.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh447769 - HRESULT ID3D11VideoDecoder::GetCreationParameters([Out] D3D11_VIDEO_DECODER_DESC* pVideoDesc,[Out] D3D11_VIDEO_DECODER_CONFIG* pConfig) - ID3D11VideoDecoder::GetCreationParameters -
- - -

Gets a handle to the driver.

-
-

Receives a handle to the driver.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

The driver handle can be used to configure content protection.

-
- - hh447780 - HRESULT ID3D11VideoDecoder::GetDriverHandle([Out] void** pDriverHandle) - ID3D11VideoDecoder::GetDriverHandle -
- - -

Identifies the output surfaces that can be accessed during video decoding.

-
- -

To get a reference to this interface, call .

-
- - hh447767 - ID3D11VideoDecoderOutputView - ID3D11VideoDecoderOutputView -
- - - Initializes a new instance of the 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 properties of the video decoder output view. -

-
- - hh447768 - GetDesc - GetDesc - void ID3D11VideoDecoderOutputView::GetDesc([Out] D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC* pDesc) -
- - -

Gets the properties of the video decoder output view. -

-
-

A reference to a structure. The method fills the structure with the view properties.

- - hh447768 - void ID3D11VideoDecoderOutputView::GetDesc([Out] D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC* pDesc) - ID3D11VideoDecoderOutputView::GetDesc -
- - -

Provides the video decoding and video processing capabilities of a Microsoft Direct3D?11 device.

-
- -

The Direct3D?11 device supports this interface. To get a reference to this interface, call QueryInterface with an interface reference.

If you query an for and the Direct3D?11 device created is using the reference rasterizer or WARP, or is a hardware device and you are using the Microsoft Basic Display Adapter, E_NOINTERFACE is returned.

-
- - hh447781 - ID3D11VideoDevice - ID3D11VideoDevice -
- - - Initializes a new instance of the 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 profiles that are supported by the driver.

-
- -

To enumerate the profiles, call .

-
- - hh447796 - GetVideoDecoderProfileCount - GetVideoDecoderProfileCount - unsigned int ID3D11VideoDevice::GetVideoDecoderProfileCount() -
- - -

Creates a video decoder device for Microsoft Direct3D?11.

-
-

A reference to a structure that describes the video stream and the decoder profile.

-

A reference to a structure that specifies the decoder configuration.

-

Receives a reference to the interface. The caller must release the interface.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

This method allocates the necessary decoder buffers.

The method does not affect the internal state of the video decoder.

-
- - hh447786 - HRESULT ID3D11VideoDevice::CreateVideoDecoder([In] const D3D11_VIDEO_DECODER_DESC* pVideoDesc,[In] const D3D11_VIDEO_DECODER_CONFIG* pConfig,[Out] ID3D11VideoDecoder** ppDecoder) - ID3D11VideoDevice::CreateVideoDecoder -
- - -

Creates a video processor device for Microsoft Direct3D?11.

-
-

A reference to the interface. To get this reference, call .

-

Specifies the frame-rate conversion capabilities for the video processor. The value is a zero-based index that corresponds to the TypeIndex parameter of the method.

-

Receives a reference to the interface. The caller must release the interface.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

The method does not affect the internal state of the video processor.

-
- - hh447788 - HRESULT ID3D11VideoDevice::CreateVideoProcessor([In] ID3D11VideoProcessorEnumerator* pEnum,[In] unsigned int RateConversionIndex,[Out] ID3D11VideoProcessor** ppVideoProcessor) - ID3D11VideoDevice::CreateVideoProcessor -
- - -

Creates a channel to communicate with the Microsoft Direct3D device or the graphics driver. The channel can be used to send commands and queries for content protection.

-
-

Specifies the type of channel, as a member of the enumeration.

-

Receives a reference to the interface. The caller must release the interface.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

If the ChannelType parameter is , the method creates a channel with the Direct3D device. This type of channel does not support authentication.

If ChannelType is or , the method creates an authenticated channel with the graphics driver.

-
- - hh447784 - HRESULT ID3D11VideoDevice::CreateAuthenticatedChannel([In] D3D11_AUTHENTICATED_CHANNEL_TYPE ChannelType,[Out] ID3D11AuthenticatedChannel** ppAuthenticatedChannel) - ID3D11VideoDevice::CreateAuthenticatedChannel -
- - -

Creates a cryptographic session to encrypt video content that is sent to the graphics driver.

-
-

A reference to a that specifies the type of encryption to use. The following GUIDs are defined.

ValueMeaning
D3D11_CRYPTO_TYPE_AES128_CTR

128-bit Advanced Encryption Standard CTR mode (AES-CTR) block cipher.

?

-

A reference to a that specifies the decoding profile. For a list of possible values, see . If decoding will not be used, set this parameter to null.

-

A reference to a that specifies the type of key exchange.

ValueMeaning
D3D11_KEY_EXCHANGE_RSAES_OAEP

The caller will create the session key, encrypt it with RSA Encryption Scheme - Optimal Asymmetric Encryption Padding (RSAES-OAEP) by using the driver's public key, and pass the session key to the driver.

?

-

Receives a reference to the interface. The caller must release the interface.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

The method does not affect the internal state of the cryptographic session.

-
- - hh447785 - HRESULT ID3D11VideoDevice::CreateCryptoSession([In] const GUID* pCryptoType,[In, Optional] const GUID* pDecoderProfile,[In] const GUID* pKeyExchangeType,[Out] ID3D11CryptoSession** ppCryptoSession) - ID3D11VideoDevice::CreateCryptoSession -
- - -

Creates a resource view for a video decoder, describing the output sample for the decoding operation.

-
-

A reference to the interface of the decoder surface. The resource must be created with the flag. See .

-

A reference to a structure that describes the view.

-

Receives a reference to the interface. The caller must release the interface. If this parameter is null, the method checks whether the view is supported, but does not create the view.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

Set the ppVDOVView parameter to null to test whether a view is supported.

-
- - hh447787 - HRESULT ID3D11VideoDevice::CreateVideoDecoderOutputView([In] ID3D11Resource* pResource,[In] const D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC* pDesc,[Out, Optional] ID3D11VideoDecoderOutputView** ppVDOVView) - ID3D11VideoDevice::CreateVideoDecoderOutputView -
- - -

Creates a resource view for a video processor, describing the input sample for the video processing operation.

-
-

A reference to the interface of the input surface.

-

A reference to the interface that specifies the video processor. To get this reference, call .

-

A reference to a structure that describes the view.

-

Receives a reference to the interface. The caller must release the resource. If this parameter is null, the method checks whether the view is supported, but does not create the view.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

Set the ppVPIView parameter to null to test whether a view is supported.

The surface format is given in the FourCC member of the structure. The method fails if the video processor does not support this format as an input sample. An app must specify 0 when using 9_1, 9_2, or 9_3 feature levels.

Resources used for video processor input views must use the following bind flag combinations:

  • Any combination of bind flags that includes ,, , and D3D11_BIND_UNORDERED_ACCESS_VIEW can be used as for video processor input views (regardless of what other bind flags may be set).
  • Bind flags = 0 is also allowed for a video processor input view.
  • Other restrictions will apply such as:
    • No multi-sampling is allowed.
    • The Texture2D must have been created using .
-
- - hh447790 - HRESULT ID3D11VideoDevice::CreateVideoProcessorInputView([In] ID3D11Resource* pResource,[In] ID3D11VideoProcessorEnumerator* pEnum,[In] const D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC* pDesc,[Out, Optional] ID3D11VideoProcessorInputView** ppVPIView) - ID3D11VideoDevice::CreateVideoProcessorInputView -
- - -

Creates a resource view for a video processor, describing the output sample for the video processing operation.

-
-

A reference to the interface of the output surface. The resource must be created with the flag. See .

-

A reference to the interface that specifies the video processor. To get this reference, call .

-

A reference to a structure that describes the view.

-

Receives a reference to the interface. The caller must release the resource. If this parameter is null, the method checks whether the view is supported, but does not create the view.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

Set the ppVPOView parameter to null to test whether a view is supported.

Resources used for video processor output views must use the following combinations:

  • indicates that it can be used for a video processor output view. The following bind flags are allowed to be set with :
  • Other restrictions will apply such as:
    • No multi-sampling is allowed.
    • The Texture2D must have been created using .
  • Some YUV formats can be supported as a video processor output view, but might not be supported as a 3D render target. D3D11 will allow the flag for these formats, but CreateRenderTargetView will not be allowed for these formats.

If stereo output is enabled, the output view must have 2 array elements. Otherwise, it must only have a single array element.

-
- - hh447791 - HRESULT ID3D11VideoDevice::CreateVideoProcessorOutputView([In] ID3D11Resource* pResource,[In] ID3D11VideoProcessorEnumerator* pEnum,[In] const D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC* pDesc,[Out, Optional] ID3D11VideoProcessorOutputView** ppVPOView) - ID3D11VideoDevice::CreateVideoProcessorOutputView -
- - -

Enumerates the video processor capabilities of the driver.

-
-

A reference to a structure that describes the video content.

-

Receives a reference to the interface. The caller must release the interface.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

To create the video processor device, pass the reference to the method.

-
- - hh447789 - HRESULT ID3D11VideoDevice::CreateVideoProcessorEnumerator([In] const D3D11_VIDEO_PROCESSOR_CONTENT_DESC* pDesc,[Out] ID3D11VideoProcessorEnumerator** ppEnum) - ID3D11VideoDevice::CreateVideoProcessorEnumerator -
- - -

Gets the number of profiles that are supported by the driver.

-
-

Returns the number of profiles.

- -

To enumerate the profiles, call .

-
- - hh447796 - unsigned int ID3D11VideoDevice::GetVideoDecoderProfileCount() - ID3D11VideoDevice::GetVideoDecoderProfileCount -
- - -

Gets a profile that is supported by the driver.

-
-

The zero-based index of the profile. To get the number of profiles that the driver supports, call .

-

Receives a that identifies the profile.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh447795 - HRESULT ID3D11VideoDevice::GetVideoDecoderProfile([In] unsigned int Index,[Out] GUID* pDecoderProfile) - ID3D11VideoDevice::GetVideoDecoderProfile -
- - -

Given aprofile, checks whether the driver supports a specified output format.

-
-

A reference to a that identifies the profile. To get the list of supported profiles, call .

-

A value that specifies the output format. Typical values include and .

-

Receives the value TRUE if the format is supported, or otherwise.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

If the driver does not support the profile given in pDecoderProfile, the method returns E_INVALIDARG. If the driver supports the profile, but the DXGI format is not compatible with the profile, the method succeeds but returns the value in pSupported.

-
- - hh447783 - HRESULT ID3D11VideoDevice::CheckVideoDecoderFormat([In] const GUID* pDecoderProfile,[In] DXGI_FORMAT Format,[Out] BOOL* pSupported) - ID3D11VideoDevice::CheckVideoDecoderFormat -
- - -

Gets the number of decoder configurations that the driver supports for a specified video description.

-
-

A reference to a structure that describes the video stream.

-

Receives the number of decoder configurations.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

To enumerate the decoder configurations, call .

-
- - hh447794 - HRESULT ID3D11VideoDevice::GetVideoDecoderConfigCount([In] const D3D11_VIDEO_DECODER_DESC* pDesc,[Out] unsigned int* pCount) - ID3D11VideoDevice::GetVideoDecoderConfigCount -
- - -

Gets a decoder configuration that is supported by the driver.

-
-

A reference to a structure that describes the video stream.

-

The zero-based index of the decoder configuration. To get the number of configurations that the driver supports, call .

-

A reference to a structure. The method fills in the structure with the decoder configuration.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh447793 - HRESULT ID3D11VideoDevice::GetVideoDecoderConfig([In] const D3D11_VIDEO_DECODER_DESC* pDesc,[In] unsigned int Index,[Out] D3D11_VIDEO_DECODER_CONFIG* pConfig) - ID3D11VideoDevice::GetVideoDecoderConfig -
- - -

Queries the driver for its content protection capabilities.

-
-

A reference to a that specifies the type of encryption to be used. The following GUIDs are defined.

ValueMeaning
D3D11_CRYPTO_TYPE_AES128_CTR

128-bit Advanced Encryption Standard CTR mode (AES-CTR) block cipher.

?

If no encryption will be used, set this parameter to null.

-

A reference to a that specifies the decoding profile. To get profiles that the driver supports, call . If decoding will not be used, set this parameter to null.

The driver might disallow some combinations of encryption type and profile.

-

A reference to a structure. The method fills in this structure with the driver's content protection capabilities.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh447792 - HRESULT ID3D11VideoDevice::GetContentProtectionCaps([In, Optional] const GUID* pCryptoType,[In, Optional] const GUID* pDecoderProfile,[Out] D3D11_VIDEO_CONTENT_PROTECTION_CAPS* pCaps) - ID3D11VideoDevice::GetContentProtectionCaps -
- - -

Gets a cryptographic key-exchange mechanism that is supported by the driver.

-
-

A reference to a that specifies the type of encryption to be used. The following GUIDs are defined.

ValueMeaning
D3D11_CRYPTO_TYPE_AES128_CTR

128-bit Advanced Encryption Standard CTR mode (AES-CTR) block cipher.

?

-

A reference to a that specifies the decoding profile. To get profiles that the driver supports, call . If decoding will not be used, set this parameter to null.

-

The zero-based index of the key-exchange type. The driver reports the number of types in the KeyExchangeTypeCount member of the structure.

-

Receives a that identifies the type of key exchange.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh447782 - HRESULT ID3D11VideoDevice::CheckCryptoKeyExchange([In] const GUID* pCryptoType,[In, Optional] const GUID* pDecoderProfile,[In] unsigned int Index,[Out] GUID* pKeyExchangeType) - ID3D11VideoDevice::CheckCryptoKeyExchange -
- - -

Sets private data on the video device and associates that data with a . -

-
-

The associated with the data.

-

The size of the data, in bytes.

-

A reference to the data.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh447797 - HRESULT ID3D11VideoDevice::SetPrivateData([In] const GUID& guid,[In] unsigned int DataSize,[In, Buffer, Optional] const void* pData) - ID3D11VideoDevice::SetPrivateData -
- - -

Sets a private reference on the video device and associates that reference with a . -

-
- No documentation. - No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh447798 - HRESULT ID3D11VideoDevice::SetPrivateDataInterface([In] const GUID& guid,[In, Optional] const IUnknown* pData) - ID3D11VideoDevice::SetPrivateDataInterface -
- - -

Provides the video decoding and video processing capabilities of a Microsoft Direct3D?11 device.

-
- -

The Direct3D?11 device supports this interface. To get a reference to this interface, call QueryInterface with an interface reference.

-
- - dn894141 - ID3D11VideoDevice1 - ID3D11VideoDevice1 -
- - - Initializes a new instance of the 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 optional sizes for private driver data.

-
-

Indicates the crypto type for which the private input and output size is queried.

-

Indicates the decoder profile for which the private input and output size is queried.

-

Indicates the key exchange type for which the private input and output size is queried.

-

Returns the size of private data that the driver needs for input commands.

-

Returns the size of private data that the driver needs for output commands.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

When pKeyExchangeType is D3D11_KEY_EXCHANGE_HW_PROTECTION, the following behavior is expected in the method:

  • The DataSize parameter is set to the size of the structure.
  • pData points to a structure.
    • The pInputData of this structure points to a structure where:
      • pbInput[0] ? pbInput[N-1] contains memory reserved for use by the driver. The number of bytes (N) reserved for the driver is determined by the pPrivateInputSize value returned by the function.
      • pbInput[N] contains the first byte of the DRM command packet.
    • The pOutputData of this structure points to a structure where:
      • pbOutput[0] ? pbOutput[N-1] contains memory reserved for use by the driver. The number of bytes (N) reserved for the driver is determined by the pPrivateOutputSize value returned by the function.
      • pbOutput[N] contains the first byte of the DRM command packet.
-
- - dn894143 - HRESULT ID3D11VideoDevice1::GetCryptoSessionPrivateDataSize([In] const GUID* pCryptoType,[In, Optional] const GUID* pDecoderProfile,[In] const GUID* pKeyExchangeType,[Out] unsigned int* pPrivateInputSize,[Out] unsigned int* pPrivateOutputSize) - ID3D11VideoDevice1::GetCryptoSessionPrivateDataSize -
- - -

Retrieves capabilities and limitations of the video decoder.

-
-

The decode profile for which the capabilities are queried.

-

The video width for which the capabilities are queried.

-

The video height for which the capabilities are queried.

-

The frame rate of the video content. This information is used by the driver to determine whether the video can be decoded in real-time.

-

The bit rate of the video stream. A value of zero indicates that the bit rate can be ignored.

-

The type of cryptography used to encrypt the video stream. A value of null indicates that the video stream is not encrypted.

-

A reference to a bitwise OR combination of values specifying the decoder capabilities.

-

This method returns one of the following error codes.

The operation completed successfully.
E_INVALIDARGAn invalid parameter was passed or this function was called using an invalid calling pattern.

?

- - dn894144 - HRESULT ID3D11VideoDevice1::GetVideoDecoderCaps([In] const GUID* pDecoderProfile,[In] unsigned int SampleWidth,[In] unsigned int SampleHeight,[In] const DXGI_RATIONAL* pFrameRate,[In] unsigned int BitRate,[In, Optional] const GUID* pCryptoType,[Out] unsigned int* pDecoderCaps) - ID3D11VideoDevice1::GetVideoDecoderCaps -
- - -

Indicates whether the video decoder supports downsampling with the specified input format, and whether real-time downsampling is supported.

-
-

An object describing the decoding profile, the resolution, and format of the input stream. This is the resolution and format to be downsampled.

-

A value that specifies the colorspace of the reference frame data.

-

The configuration data associated with the decode profile.

-

The frame rate of the video content. This is used by the driver to determine whether the video can be decoded in real-time.

-

An object describing the resolution, format, and colorspace of the output frames. This is the destination resolution and format of the downsample operation.

-

Pointer to a boolean value set by the driver that indicates if downsampling is supported with the specified input data. True if the driver supports the requested downsampling; otherwise, false.

-

Pointer to a boolean value set by the driver that indicates if real-time decoding is supported with the specified input data. True if the driver supports the requested real-time decoding; otherwise, false. Note that the returned value is based on the current configuration of the video decoder and does not guarantee that real-time decoding will be supported for future downsampling operations.

-

This method returns one of the following error codes.

The operation completed successfully.
E_INVALIDARGAn invalid parameter was passed or this function was called using an invalid calling pattern.

?

- -

You should call GetVideoDecoderCaps to determine whether decoder downsampling is supported before checking support for a specific configuration.

-
- - dn894142 - HRESULT ID3D11VideoDevice1::CheckVideoDecoderDownsampling([In] const D3D11_VIDEO_DECODER_DESC* pInputDesc,[In] DXGI_COLOR_SPACE_TYPE InputColorSpace,[In] const D3D11_VIDEO_DECODER_CONFIG* pInputConfig,[In] const DXGI_RATIONAL* pFrameRate,[In] const D3D11_VIDEO_SAMPLE_DESC* pOutputDesc,[Out] BOOL* pSupported,[Out] BOOL* pRealTimeHint) - ID3D11VideoDevice1::CheckVideoDecoderDownsampling -
- - -

Allows the driver to recommend optimal output downsample parameters from the input parameters.

-
-

A object describing the decoding profile, the resolution, and format of the input stream. This is the resolution and format to be downsampled.

-

A value that specifies the colorspace of the reference frame data.

-

The configuration data associated with the decode profile.

-

The frame rate of the video content. This is used by the driver to determine whether the video can be decoded in real-time.

-

Pointer to a structure that the driver populates with the recommended output buffer parameters for a downsample operation. The driver will attempt to recommend parameters that can support real-time decoding. If it is unable to do so, the driver will recommend values that are as close to the real-time solution as possible.

-

This method returns one of the following error codes.

The operation completed successfully.
E_INVALIDARGAn invalid parameter was passed or this function was called using an invalid calling pattern.

?

- -

You should call GetVideoDecoderCaps to determine whether decoder downsampling is supported before checking support for a specific configuration.

-
- - dn894145 - HRESULT ID3D11VideoDevice1::RecommendVideoDecoderDownsampleParameters([In] const D3D11_VIDEO_DECODER_DESC* pInputDesc,[In] DXGI_COLOR_SPACE_TYPE InputColorSpace,[In] const D3D11_VIDEO_DECODER_CONFIG* pInputConfig,[In] const DXGI_RATIONAL* pFrameRate,[Out] D3D11_VIDEO_SAMPLE_DESC* pRecommendedOutputDesc) - ID3D11VideoDevice1::RecommendVideoDecoderDownsampleParameters -
- - -

Represents a video processor for Microsoft Direct3D?11.

-
- -

To get a reference to this interface, call .

-
- - hh447799 - ID3D11VideoProcessor - ID3D11VideoProcessor -
- - - Initializes a new instance of the 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 content description that was used to create the video processor.

-
- - hh447811 - GetContentDesc - GetContentDesc - void ID3D11VideoProcessor::GetContentDesc([Out] D3D11_VIDEO_PROCESSOR_CONTENT_DESC* pDesc) -
- - -

Gets the rate conversion capabilities of the video processor.

-
- - hh447813 - GetRateConversionCaps - GetRateConversionCaps - void ID3D11VideoProcessor::GetRateConversionCaps([Out] D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS* pCaps) -
- - -

Gets the content description that was used to create the video processor.

-
-

A reference to a structure that receives the content description.

- - hh447811 - void ID3D11VideoProcessor::GetContentDesc([Out] D3D11_VIDEO_PROCESSOR_CONTENT_DESC* pDesc) - ID3D11VideoProcessor::GetContentDesc -
- - -

Gets the rate conversion capabilities of the video processor.

-
-

A reference to a structure that receives the rate conversion capabilities.

- - hh447813 - void ID3D11VideoProcessor::GetRateConversionCaps([Out] D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS* pCaps) - ID3D11VideoProcessor::GetRateConversionCaps -
- - -

Gets the content description that was used to create this enumerator.

-
- - hh447803 - ID3D11VideoProcessorEnumerator - ID3D11VideoProcessorEnumerator -
- - - Initializes a new instance of the 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 content description that was used to create this enumerator.

-
- - hh447803 - GetVideoProcessorContentDesc - GetVideoProcessorContentDesc - HRESULT ID3D11VideoProcessorEnumerator::GetVideoProcessorContentDesc([Out] D3D11_VIDEO_PROCESSOR_CONTENT_DESC* pContentDesc) -
- - -

Gets the capabilities of the video processor.

-
- - hh447802 - GetVideoProcessorCaps - GetVideoProcessorCaps - HRESULT ID3D11VideoProcessorEnumerator::GetVideoProcessorCaps([Out] D3D11_VIDEO_PROCESSOR_CAPS* pCaps) -
- - -

Gets the content description that was used to create this enumerator.

-
-

A reference to a structure that receives the content description.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh447803 - HRESULT ID3D11VideoProcessorEnumerator::GetVideoProcessorContentDesc([Out] D3D11_VIDEO_PROCESSOR_CONTENT_DESC* pContentDesc) - ID3D11VideoProcessorEnumerator::GetVideoProcessorContentDesc -
- - -

Queries whether the video processor supports a specified video format.

-
-

The video format to query, specified as a value.

-

Receives a bitwise OR of zero or more flags from the enumeration.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh447801 - HRESULT ID3D11VideoProcessorEnumerator::CheckVideoProcessorFormat([In] DXGI_FORMAT Format,[Out] unsigned int* pFlags) - ID3D11VideoProcessorEnumerator::CheckVideoProcessorFormat -
- - -

Gets the capabilities of the video processor.

-
-

A reference to a structure that receives the capabilities.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh447802 - HRESULT ID3D11VideoProcessorEnumerator::GetVideoProcessorCaps([Out] D3D11_VIDEO_PROCESSOR_CAPS* pCaps) - ID3D11VideoProcessorEnumerator::GetVideoProcessorCaps -
- - -

Returns a group of video processor capabilities that are associated with frame-rate conversion, including deinterlacing and inverse telecine.

-
-

The zero-based index of the group to retrieve. To get the maximum index, call and check the RateConversionCapsCount member of the structure.

-

A reference to a structure that receives the frame-rate conversion capabilities.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

The capabilities defined in the structure are interdependent. Therefore, the driver can support multiple, distinct groups of these capabilities.

-
- - hh447806 - HRESULT ID3D11VideoProcessorEnumerator::GetVideoProcessorRateConversionCaps([In] unsigned int TypeIndex,[Out] D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS* pCaps) - ID3D11VideoProcessorEnumerator::GetVideoProcessorRateConversionCaps -
- - -

Gets a list of custom frame rates that a video processor supports.

-
-

The zero-based index of the frame-rate capability group. To get the maxmum index, call and check the RateConversionCapsCount member of the structure.

-

The zero-based index of the custom rate to retrieve. To get the maximum index, call and check the CustomRateCount member of the structure.

This index value is always relative to the capability group specified in the TypeIndex parameter.

-

A reference to a structure that receives the custom rate.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh447804 - HRESULT ID3D11VideoProcessorEnumerator::GetVideoProcessorCustomRate([In] unsigned int TypeIndex,[In] unsigned int CustomRateIndex,[Out] D3D11_VIDEO_PROCESSOR_CUSTOM_RATE* pRate) - ID3D11VideoProcessorEnumerator::GetVideoProcessorCustomRate -
- - -

Gets the range of values for an image filter.

-
-

The type of image filter, specified as a value.

-

A reference to a structure. The method fills the structure with the range of values for the specified filter.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh447805 - HRESULT ID3D11VideoProcessorEnumerator::GetVideoProcessorFilterRange([In] D3D11_VIDEO_PROCESSOR_FILTER Filter,[Out] D3D11_VIDEO_PROCESSOR_FILTER_RANGE* pRange) - ID3D11VideoProcessorEnumerator::GetVideoProcessorFilterRange -
- - -

Enumerates the video processor capabilities of a Microsoft Direct3D?11 device.

-
- -

To get a reference to this interface, call .

-
- - dn894146 - ID3D11VideoProcessorEnumerator1 - ID3D11VideoProcessorEnumerator1 -
- - - Initializes a new instance of the 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 driver supports the specified combination of format and colorspace conversions.

-
-

The format of the video processor input.

-

The colorspace of the video processor input.

-

The format of the video processor output.

-

The colorspace of the video processor output.

-

Pointer to a boolean that is set by the driver to indicate if the specified combination of format and colorspace conversions is supported. True if the conversion is supported; otherwise, false.

-

This method returns one of the following error codes.

The operation completed successfully.
E_INVALIDARGAn invalid parameter was passed or this function was called using an invalid calling pattern.

?

- - dn894147 - HRESULT ID3D11VideoProcessorEnumerator1::CheckVideoProcessorFormatConversion([In] DXGI_FORMAT InputFormat,[In] DXGI_COLOR_SPACE_TYPE InputColorSpace,[In] DXGI_FORMAT OutputFormat,[In] DXGI_COLOR_SPACE_TYPE OutputColorSpace,[Out] BOOL* pSupported) - ID3D11VideoProcessorEnumerator1::CheckVideoProcessorFormatConversion -
- - -

Identifies the input surfaces that can be accessed during video processing.

-
- -

To get a reference to this interface, call .

-
- - hh447807 - ID3D11VideoProcessorInputView - ID3D11VideoProcessorInputView -
- - - Initializes a new instance of the 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 properties of the video processor input view.

-
- - hh447808 - GetDesc - GetDesc - void ID3D11VideoProcessorInputView::GetDesc([Out] D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC* pDesc) -
- - -

Gets the properties of the video processor input view.

-
-

A reference to a structure. The method fills the structure with the view properties.

- - hh447808 - void ID3D11VideoProcessorInputView::GetDesc([Out] D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC* pDesc) - ID3D11VideoProcessorInputView::GetDesc -
- - -

Identifies the output surfaces that can be accessed during video processing.

-
- -

To get a reference to this interface, call .

-
- - hh447809 - ID3D11VideoProcessorOutputView - ID3D11VideoProcessorOutputView -
- - - Initializes a new instance of the 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 properties of the video processor output view.

-
- - hh447810 - GetDesc - GetDesc - void ID3D11VideoProcessorOutputView::GetDesc([Out] D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC* pDesc) -
- - -

Gets the properties of the video processor output view.

-
-

A reference to a structure. The method fills the structure with the view properties.

- - hh447810 - void ID3D11VideoProcessorOutputView::GetDesc([Out] D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC* pDesc) - ID3D11VideoProcessorOutputView::GetDesc -
- - -

Contains an initialization vector (IV) for 128-bit Advanced Encryption Standard CTR mode (AES-CTR) block cipher encryption.

-
- - hh447597 - D3D11_AES_CTR_IV - D3D11_AES_CTR_IV -
- - -

The IV, in big-endian format.

-
- - hh447597 - unsigned longlong IV - unsigned longlong IV -
- - -

The block count, in big-endian format.

-
- - hh447597 - unsigned longlong Count - unsigned longlong Count -
- - -

Contains input data for a D3D11_AUTHENTICATED_CONFIGURE_ENCRYPTION_WHEN_ACCESSIBLE command.

-
- - hh447600 - D3D11_AUTHENTICATED_CONFIGURE_ACCESSIBLE_ENCRYPTION_INPUT - D3D11_AUTHENTICATED_CONFIGURE_ACCESSIBLE_ENCRYPTION_INPUT -
- - -

A structure that contains the command and other data.

-
- - hh447600 - D3D11_AUTHENTICATED_CONFIGURE_INPUT Parameters - D3D11_AUTHENTICATED_CONFIGURE_INPUT Parameters -
- - -

A that specifies the type of encryption to apply.

-
- - hh447600 - GUID EncryptionGuid - GUID EncryptionGuid -
- - -

Contains input data for a D3D11_AUTHENTICATED_CONFIGURE_CRYPTO_SESSION command.

-
- - hh447601 - D3D11_AUTHENTICATED_CONFIGURE_CRYPTO_SESSION_INPUT - D3D11_AUTHENTICATED_CONFIGURE_CRYPTO_SESSION_INPUT -
- - -

A structure that contains the command and other data.

-
- - hh447601 - D3D11_AUTHENTICATED_CONFIGURE_INPUT Parameters - D3D11_AUTHENTICATED_CONFIGURE_INPUT Parameters -
- - -

A handle to the decoder device. Get this from .

-
- - hh447601 - void* DecoderHandle - void DecoderHandle -
- - -

A handle to the cryptographic session. Get this from .

-
- - hh447601 - void* CryptoSessionHandle - void CryptoSessionHandle -
- - -

A handle to the Direct3D device. Get this from D3D11VideoContext::QueryAuthenticatedChannel using D3D11_AUTHENTICATED_QUERY_DEVICE_HANDLE. -

-
- - hh447601 - void* DeviceHandle - void DeviceHandle -
- - -

Contains input data for a D3D11_AUTHENTICATED_CONFIGURE_INITIALIZE command.

-
- - hh447602 - D3D11_AUTHENTICATED_CONFIGURE_INITIALIZE_INPUT - D3D11_AUTHENTICATED_CONFIGURE_INITIALIZE_INPUT -
- - -

A structure that contains the command and other data.

-
- - hh447602 - D3D11_AUTHENTICATED_CONFIGURE_INPUT Parameters - D3D11_AUTHENTICATED_CONFIGURE_INPUT Parameters -
- - -

The initial sequence number for queries.

-
- - hh447602 - unsigned int StartSequenceQuery - unsigned int StartSequenceQuery -
- - -

The initial sequence number for commands.

-
- - hh447602 - unsigned int StartSequenceConfigure - unsigned int StartSequenceConfigure -
- - -

Contains input data for the method.

-
- - hh447603 - D3D11_AUTHENTICATED_CONFIGURE_INPUT - D3D11_AUTHENTICATED_CONFIGURE_INPUT -
- - - No documentation. - - - hh447603 - D3D11_OMAC omac - D3D11_OMAC omac - - - - No documentation. - - - hh447603 - GUID ConfigureType - GUID ConfigureType - - - - No documentation. - - - hh447603 - void* hChannel - void hChannel - - - - No documentation. - - - hh447603 - unsigned int SequenceNumber - unsigned int SequenceNumber - - - -

Contains the response from the method.

-
- - hh447604 - D3D11_AUTHENTICATED_CONFIGURE_OUTPUT - D3D11_AUTHENTICATED_CONFIGURE_OUTPUT -
- - - No documentation. - - - hh447604 - D3D11_OMAC omac - D3D11_OMAC omac - - - - No documentation. - - - hh447604 - GUID ConfigureType - GUID ConfigureType - - - - No documentation. - - - hh447604 - void* hChannel - void hChannel - - - - No documentation. - - - hh447604 - unsigned int SequenceNumber - unsigned int SequenceNumber - - - - No documentation. - - - hh447604 - HRESULT ReturnCode - HRESULT ReturnCode - - - -

Contains input data for a D3D11_AUTHENTICATED_CONFIGURE_PROTECTION command.

-
- - hh447598 - D3D11_AUTHENTICATED_CONFIGURE_PROTECTION_INPUT - D3D11_AUTHENTICATED_CONFIGURE_PROTECTION_INPUT -
- - -

A structure that contains the command and other data.

-
- - hh447598 - D3D11_AUTHENTICATED_CONFIGURE_INPUT Parameters - D3D11_AUTHENTICATED_CONFIGURE_INPUT Parameters -
- - -

A union that specifies the protection level.

-
- - hh447598 - D3D11_AUTHENTICATED_PROTECTION_FLAGS Protections - D3D11_AUTHENTICATED_PROTECTION_FLAGS Protections -
- - -

Contains input data for a D3D11_AUTHENTICATED_CONFIGURE_SHARED_RESOURCE command.

-
- - hh447605 - D3D11_AUTHENTICATED_CONFIGURE_SHARED_RESOURCE_INPUT - D3D11_AUTHENTICATED_CONFIGURE_SHARED_RESOURCE_INPUT -
- - -

A structure that contains the command and other data.

-
- - hh447605 - D3D11_AUTHENTICATED_CONFIGURE_INPUT Parameters - D3D11_AUTHENTICATED_CONFIGURE_INPUT Parameters -
- - -

A value that specifies the type of process. To specify the Desktop Window Manager (DWM) process, set this member to . Otherwise, set this member to and set the ProcessHandle member to a valid handle.

-
- - hh447605 - D3D11_AUTHENTICATED_PROCESS_IDENTIFIER_TYPE ProcessType - D3D11_AUTHENTICATED_PROCESS_IDENTIFIER_TYPE ProcessType -
- - -

A process handle. If the ProcessType member equals , the ProcessHandle member specifies a handle to a process. Otherwise, the value is ignored.

-
- - hh447605 - void* ProcessHandle - void ProcessHandle -
- - -

If TRUE, the specified process has access to restricted shared resources.

-
- - hh447605 - BOOL AllowAccess - BOOL AllowAccess -
- - -

Specifies the protection level for video content.

-
- - hh447607 - D3D11_AUTHENTICATED_PROTECTION_FLAGS - D3D11_AUTHENTICATED_PROTECTION_FLAGS -
- - -
ProtectionEnabled

If 1, video content protection is enabled.

OverlayOrFullscreenRequired

If 1, the application requires video to be displayed using either a hardware overlay or full-screen exclusive mode.

Reserved

Reserved. Set all bits to zero.

-
- - hh447607 - D3D11_AUTHENTICATED_PROTECTION_FLAGS___MIDL___MIDL_itf_d3d11_0000_0034_0001_INNER Flags - D3D11_AUTHENTICATED_PROTECTION_FLAGS___MIDL___MIDL_itf_d3d11_0000_0034_0001_INNER Flags -
- - -

Use this member to access all of the bits in the union.

-
- - hh447607 - unsigned int Value - unsigned int Value -
- - - No documentation. - - - D3D11_AUTHENTICATED_PROTECTION_FLAGS___MIDL___MIDL_itf_d3d11_0000_0034_0001_INNER - D3D11_AUTHENTICATED_PROTECTION_FLAGS___MIDL___MIDL_itf_d3d11_0000_0034_0001_INNER - - - - No documentation. - - - unsigned int ProtectionEnabled - unsigned int ProtectionEnabled - - - - No documentation. - - - unsigned int OverlayOrFullscreenRequired - unsigned int OverlayOrFullscreenRequired - - - - No documentation. - - - unsigned int Reserved - unsigned int Reserved - - - -

Contains the response to a D3D11_AUTHENTICATED_QUERY_ENCRYPTION_WHEN_ACCESSIBLE_GUID_COUNT query.

-
- - hh447608 - D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_COUNT_OUTPUT - D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_COUNT_OUTPUT -
- - -

A structure that contains a Message Authentication Code (MAC) and other data.

-
- - hh447608 - D3D11_AUTHENTICATED_QUERY_OUTPUT Output - D3D11_AUTHENTICATED_QUERY_OUTPUT Output -
- - -

The number of encryption GUIDs.

-
- - hh447608 - unsigned int EncryptionGuidCount - unsigned int EncryptionGuidCount -
- - -

Contains input data for a D3D11_AUTHENTICATED_QUERY_ENCRYPTION_WHEN_ACCESSIBLE_GUID query.

-
- - hh447609 - D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_INPUT - D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_INPUT -
- - -

A structure that contains the for the query and other data.

-
- - hh447609 - D3D11_AUTHENTICATED_QUERY_INPUT Input - D3D11_AUTHENTICATED_QUERY_INPUT Input -
- - -

The index of the encryption .

-
- - hh447609 - unsigned int EncryptionGuidIndex - unsigned int EncryptionGuidIndex -
- - -

Contains the response to a D3D11_AUTHENTICATED_QUERY_ENCRYPTION_WHEN_ACCESSIBLE_GUID query.

-
- - hh447610 - D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_OUTPUT - D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_OUTPUT -
- - -

A structure that contains a Message Authentication Code (MAC) and other data.

-
- - hh447610 - D3D11_AUTHENTICATED_QUERY_OUTPUT Output - D3D11_AUTHENTICATED_QUERY_OUTPUT Output -
- - -

The index of the encryption .

-
- - hh447610 - unsigned int EncryptionGuidIndex - unsigned int EncryptionGuidIndex -
- - -

A that specifies a supported encryption type.

-
- - hh447610 - GUID EncryptionGuid - GUID EncryptionGuid -
- - - No documentation. - - - D3D11_AUTHENTICATED_QUERY_ACESSIBILITY_OUTPUT - D3D11_AUTHENTICATED_QUERY_ACESSIBILITY_OUTPUT - - - - No documentation. - - - D3D11_AUTHENTICATED_QUERY_OUTPUT Output - D3D11_AUTHENTICATED_QUERY_OUTPUT Output - - - - No documentation. - - - D3D11_BUS_TYPE BusType - D3D11_BUS_TYPE BusType - - - - No documentation. - - - BOOL AccessibleInContiguousBlocks - BOOL AccessibleInContiguousBlocks - - - - No documentation. - - - BOOL AccessibleInNonContiguousBlocks - BOOL AccessibleInNonContiguousBlocks - - - -

Contains the response to a D3D11_AUTHENTICATED_QUERY_CHANNEL_TYPE query.

-
- - hh447612 - D3D11_AUTHENTICATED_QUERY_CHANNEL_TYPE_OUTPUT - D3D11_AUTHENTICATED_QUERY_CHANNEL_TYPE_OUTPUT -
- - -

A structure that contains a Message Authentication Code (MAC) and other data.

-
- - hh447612 - D3D11_AUTHENTICATED_QUERY_OUTPUT Output - D3D11_AUTHENTICATED_QUERY_OUTPUT Output -
- - -

A value that specifies the channel type.

-
- - hh447612 - D3D11_AUTHENTICATED_CHANNEL_TYPE ChannelType - D3D11_AUTHENTICATED_CHANNEL_TYPE ChannelType -
- - -

Contains input data for a D3D11_AUTHENTICATED_QUERY_CRYPTO_SESSION query.

-
- - hh447613 - D3D11_AUTHENTICATED_QUERY_CRYPTO_SESSION_INPUT - D3D11_AUTHENTICATED_QUERY_CRYPTO_SESSION_INPUT -
- - -

A structure that contains the for the query and other data.

-
- - hh447613 - D3D11_AUTHENTICATED_QUERY_INPUT Input - D3D11_AUTHENTICATED_QUERY_INPUT Input -
- - -

A handle to a decoder device.

-
- - hh447613 - void* DecoderHandle - void DecoderHandle -
- - -

Contains the response to a D3D11_AUTHENTICATED_QUERY_CRYPTO_SESSION query.

-
- - hh447614 - D3D11_AUTHENTICATED_QUERY_CRYPTO_SESSION_OUTPUT - D3D11_AUTHENTICATED_QUERY_CRYPTO_SESSION_OUTPUT -
- - -

A structure that contains a Message Authentication Code (MAC) and other data.

-
- - hh447614 - D3D11_AUTHENTICATED_QUERY_OUTPUT Output - D3D11_AUTHENTICATED_QUERY_OUTPUT Output -
- - -

A handle to a decoder device.

-
- - hh447614 - void* DecoderHandle - void DecoderHandle -
- - -

A handle to the cryptographic session that is associated with the decoder device.

-
- - hh447614 - void* CryptoSessionHandle - void CryptoSessionHandle -
- - -

A handle to the Direct3D device that is associated with the decoder device.

-
- - hh447614 - void* DeviceHandle - void DeviceHandle -
- - -

Contains the response to a D3D11_AUTHENTICATED_QUERY_CURRENT_ENCRYPTION_WHEN_ACCESSIBLE query.

-
- - hh447615 - D3D11_AUTHENTICATED_QUERY_CURRENT_ACCESSIBILITY_ENCRYPTION_OUTPUT - D3D11_AUTHENTICATED_QUERY_CURRENT_ACCESSIBILITY_ENCRYPTION_OUTPUT -
- - -

A structure that contains a Message Authentication Code (MAC) and other data.

-
- - hh447615 - D3D11_AUTHENTICATED_QUERY_OUTPUT Output - D3D11_AUTHENTICATED_QUERY_OUTPUT Output -
- - -

A that specifies the current encryption type.

-
- - hh447615 - GUID EncryptionGuid - GUID EncryptionGuid -
- - -

Contains the response to a D3D11_AUTHENTICATED_QUERY_DEVICE_HANDLE query.

-
- - hh447616 - D3D11_AUTHENTICATED_QUERY_DEVICE_HANDLE_OUTPUT - D3D11_AUTHENTICATED_QUERY_DEVICE_HANDLE_OUTPUT -
- - -

A structure that contains a Message Authentication Code (MAC) and other data.

-
- - hh447616 - D3D11_AUTHENTICATED_QUERY_OUTPUT Output - D3D11_AUTHENTICATED_QUERY_OUTPUT Output -
- - -

A handle to the device.

-
- - hh447616 - void* DeviceHandle - void DeviceHandle -
- - -

Contains input data for the method.

-
- - hh447617 - D3D11_AUTHENTICATED_QUERY_INPUT - D3D11_AUTHENTICATED_QUERY_INPUT -
- - - No documentation. - - - hh447617 - GUID QueryType - GUID QueryType - - - - No documentation. - - - hh447617 - void* hChannel - void hChannel - - - - No documentation. - - - hh447617 - unsigned int SequenceNumber - unsigned int SequenceNumber - - - -

Contains a response from the method.

-
- - hh447618 - D3D11_AUTHENTICATED_QUERY_OUTPUT - D3D11_AUTHENTICATED_QUERY_OUTPUT -
- - - No documentation. - - - hh447618 - D3D11_OMAC omac - D3D11_OMAC omac - - - - No documentation. - - - hh447618 - GUID QueryType - GUID QueryType - - - - No documentation. - - - hh447618 - void* hChannel - void hChannel - - - - No documentation. - - - hh447618 - unsigned int SequenceNumber - unsigned int SequenceNumber - - - - No documentation. - - - hh447618 - HRESULT ReturnCode - HRESULT ReturnCode - - - -

Contains input data for a D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_COUNT query.

-
- - hh447619 - D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_COUNT_INPUT - D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_COUNT_INPUT -
- - -

A structure that contains the for the query and other data.

-
- - hh447619 - D3D11_AUTHENTICATED_QUERY_INPUT Input - D3D11_AUTHENTICATED_QUERY_INPUT Input -
- - -

A handle to the device.

-
- - hh447619 - void* DeviceHandle - void DeviceHandle -
- - -

A handle to the cryptographic session.

-
- - hh447619 - void* CryptoSessionHandle - void CryptoSessionHandle -
- - -

Contains the response to a D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_COUNT query.

-
- - hh447620 - D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_COUNT_OUTPUT - D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_COUNT_OUTPUT -
- - -

A structure that contains a Message Authentication Code (MAC) and other data.

-
- - hh447620 - D3D11_AUTHENTICATED_QUERY_OUTPUT Output - D3D11_AUTHENTICATED_QUERY_OUTPUT Output -
- - -

A handle to the device.

-
- - hh447620 - void* DeviceHandle - void DeviceHandle -
- - -

A handle to the cryptographic session.

-
- - hh447620 - void* CryptoSessionHandle - void CryptoSessionHandle -
- - -

The number of output IDs associated with the specified device and cryptographic session.

-
- - hh447620 - unsigned int OutputIDCount - unsigned int OutputIDCount -
- - -

Contains input data for a D3D11_AUTHENTICATED_QUERY_OUTPUT_ID query.

-
- - hh447621 - D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_INPUT - D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_INPUT -
- - -

A structure that contains the for the query and other data.

-
- - hh447621 - D3D11_AUTHENTICATED_QUERY_INPUT Input - D3D11_AUTHENTICATED_QUERY_INPUT Input -
- - -

A handle to the device.

-
- - hh447621 - void* DeviceHandle - void DeviceHandle -
- - -

A handle to the cryptographic session.

-
- - hh447621 - void* CryptoSessionHandle - void CryptoSessionHandle -
- - -

The index of the output ID.

-
- - hh447621 - unsigned int OutputIDIndex - unsigned int OutputIDIndex -
- - -

Contains the response to a D3D11_AUTHENTICATED_QUERY_OUTPUT_ID query.

-
- - hh447622 - D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_OUTPUT - D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_OUTPUT -
- - -

A structure that contains a Message Authentication Code (MAC) and other data.

-
- - hh447622 - D3D11_AUTHENTICATED_QUERY_OUTPUT Output - D3D11_AUTHENTICATED_QUERY_OUTPUT Output -
- - -

A handle to the device.

-
- - hh447622 - void* DeviceHandle - void DeviceHandle -
- - -

A handle to the cryptographic session.

-
- - hh447622 - void* CryptoSessionHandle - void CryptoSessionHandle -
- - -

The index of the output ID.

-
- - hh447622 - unsigned int OutputIDIndex - unsigned int OutputIDIndex -
- - -

An output ID that is associated with the specified device and cryptographic session.

-
- - hh447622 - unsigned longlong OutputID - unsigned longlong OutputID -
- - -

Contains the response to a D3D11_AUTHENTICATED_QUERY_PROTECTION query.

-
- - hh447623 - D3D11_AUTHENTICATED_QUERY_PROTECTION_OUTPUT - D3D11_AUTHENTICATED_QUERY_PROTECTION_OUTPUT -
- - -

A structure that contains a Message Authentication Code (MAC) and other data.

-
- - hh447623 - D3D11_AUTHENTICATED_QUERY_OUTPUT Output - D3D11_AUTHENTICATED_QUERY_OUTPUT Output -
- - -

A union that specifies the protection level.

-
- - hh447623 - D3D11_AUTHENTICATED_PROTECTION_FLAGS ProtectionFlags - D3D11_AUTHENTICATED_PROTECTION_FLAGS ProtectionFlags -
- - -

Contains the response to a D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_COUNT query.

-
- - hh447624 - D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_COUNT_OUTPUT - D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_COUNT_OUTPUT -
- - -

A structure that contains a Message Authentication Code (MAC) and other data.

-
- - hh447624 - D3D11_AUTHENTICATED_QUERY_OUTPUT Output - D3D11_AUTHENTICATED_QUERY_OUTPUT Output -
- - -

The number of processes that are allowed to open shared resources that have restricted access. A process cannot open such a resource unless the process has been granted access.

-
- - hh447624 - unsigned int RestrictedSharedResourceProcessCount - unsigned int RestrictedSharedResourceProcessCount -
- - -

Contains input data for a D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS query.

-
- - hh447625 - D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_INPUT - D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_INPUT -
- - -

A structure that contains the for the query and other data.

-
- - hh447625 - D3D11_AUTHENTICATED_QUERY_INPUT Input - D3D11_AUTHENTICATED_QUERY_INPUT Input -
- - -

The index of the process.

-
- - hh447625 - unsigned int ProcessIndex - unsigned int ProcessIndex -
- - -

Contains the response to a D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS query.

-
- -

The Desktop Window Manager (DWM) process is identified by setting ProcessIdentifier equal to . Other processes are identified by setting the process handle in ProcessHandle and setting ProcessIdentifier equal to .

-
- - hh447626 - D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_OUTPUT - D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_OUTPUT -
- - -

A structure that contains a Message Authentication Code (MAC) and other data.

-
- - hh447626 - D3D11_AUTHENTICATED_QUERY_OUTPUT Output - D3D11_AUTHENTICATED_QUERY_OUTPUT Output -
- - -

The index of the process in the list of processes.

-
- - hh447626 - unsigned int ProcessIndex - unsigned int ProcessIndex -
- - -

A value that specifies the type of process.

-
- - hh447626 - D3D11_AUTHENTICATED_PROCESS_IDENTIFIER_TYPE ProcessIdentifier - D3D11_AUTHENTICATED_PROCESS_IDENTIFIER_TYPE ProcessIdentifier -
- - -

A process handle. If the ProcessIdentifier member equals , the ProcessHandle member contains a valid handle to a process. Otherwise, this member is ignored.

-
- - hh447626 - void* ProcessHandle - void ProcessHandle -
- - -

Contains the response to a D3D11_AUTHENTICATED_QUERY_UNRESTRICTED_PROTECTED_SHARED_RESOURCE_COUNT query.

-
- - hh447627 - D3D11_AUTHENTICATED_QUERY_UNRESTRICTED_PROTECTED_SHARED_RESOURCE_COUNT_OUTPUT - D3D11_AUTHENTICATED_QUERY_UNRESTRICTED_PROTECTED_SHARED_RESOURCE_COUNT_OUTPUT -
- - -

A structure that contains a Message Authentication Code (MAC) and other data.

-
- - hh447627 - D3D11_AUTHENTICATED_QUERY_OUTPUT Output - D3D11_AUTHENTICATED_QUERY_OUTPUT Output -
- - -

The number of protected, shared resources that can be opened by any process without restrictions.

-
- - hh447627 - unsigned int UnrestrictedProtectedSharedResourceCount - unsigned int UnrestrictedProtectedSharedResourceCount -
- - - No documentation. - - - CD3D11_VIDEO_DEFAULT - CD3D11_VIDEO_DEFAULT - - - -

Describes an HLSL class instance.

-
- -

The structure is returned by the method.

The members of this structure except InstanceIndex are valid (non default values) if they describe a class instance aquired using . The InstanceIndex member is only valid when the class instance is aquired using .

-
- - ff476098 - D3D11_CLASS_INSTANCE_DESC - D3D11_CLASS_INSTANCE_DESC -
- - -

The instance ID of an HLSL class; the default value is 0.

-
- - ff476098 - unsigned int InstanceId - unsigned int InstanceId -
- - -

The instance index of an HLSL class; the default value is 0.

-
- - ff476098 - unsigned int InstanceIndex - unsigned int InstanceIndex -
- - -

The type ID of an HLSL class; the default value is 0.

-
- - ff476098 - unsigned int TypeId - unsigned int TypeId -
- - -

Describes the constant buffer associated with an HLSL class; the default value is 0.

-
- - ff476098 - unsigned int ConstantBuffer - unsigned int ConstantBuffer -
- - -

The base constant buffer offset associated with an HLSL class; the default value is 0.

-
- - ff476098 - unsigned int BaseConstantBufferOffset - unsigned int BaseConstantBufferOffset -
- - -

The base texture associated with an HLSL class; the default value is 127.

-
- - ff476098 - unsigned int BaseTexture - unsigned int BaseTexture -
- - -

The base sampler associated with an HLSL class; the default value is 15.

-
- - ff476098 - unsigned int BaseSampler - unsigned int BaseSampler -
- - -

True if the class was created; the default value is false.

-
- - ff476098 - BOOL Created - BOOL Created -
- - -

Information about the video card's performance counter capabilities.

-
- -

This structure is returned by .

-
- - ff476104 - D3D11_COUNTER_INFO - D3D11_COUNTER_INFO -
- - -

Largest device-dependent counter ID that the device supports. If none are supported, this value will be 0. Otherwise it will be greater than or equal to . See .

-
- - ff476104 - D3D11_COUNTER LastDeviceDependentCounter - D3D11_COUNTER LastDeviceDependentCounter -
- - -

Number of counters that can be simultaneously supported.

-
- - ff476104 - unsigned int NumSimultaneousCounters - unsigned int NumSimultaneousCounters -
- - -

Number of detectable parallel units that the counter is able to discern. Values are 1 ~ 4. Use NumDetectableParallelUnits to interpret the values of the VERTEX_PROCESSING, GEOMETRY_PROCESSING, PIXEL_PROCESSING, and OTHER_GPU_PROCESSING counters.

-
- - ff476104 - unsigned char NumDetectableParallelUnits - unsigned char NumDetectableParallelUnits -
- - -

Describes a counter.

-
- -

This structure is used by , and .

-
- - ff476103 - D3D11_COUNTER_DESC - D3D11_COUNTER_DESC -
- - -

Type of counter (see ).

-
- - ff476103 - D3D11_COUNTER Counter - D3D11_COUNTER Counter -
- - -

Reserved.

-
- - ff476103 - unsigned int MiscFlags - unsigned int MiscFlags -
- - -

Used with to override flags that would be inferred by the resource properties or heap properties, including bind flags, misc flags, and CPU access flags.

-
- -

Use this structure with CreateWrappedResource.

-
- - dn914753 - D3D11_RESOURCE_FLAGS - D3D11_RESOURCE_FLAGS -
- - - No documentation. - - - dn914753 - unsigned int BindFlags - unsigned int BindFlags - - - - No documentation. - - - dn914753 - unsigned int MiscFlags - unsigned int MiscFlags - - - - No documentation. - - - dn914753 - unsigned int CPUAccessFlags - unsigned int CPUAccessFlags - - - - No documentation. - - - dn914753 - unsigned int StructureByteStride - unsigned int StructureByteStride - - - -

Stencil operations that can be performed based on the results of stencil test.

-
- -

All stencil operations are specified as a . The stencil operation can be set differently based on the outcome of the stencil test (which is referred to as StencilFunc in the stencil test portion of depth-stencil testing.

This structure is a member of a depth-stencil description.

-
- - ff476109 - D3D11_DEPTH_STENCILOP_DESC - D3D11_DEPTH_STENCILOP_DESC -
- - -

The stencil operation to perform when stencil testing fails.

-
- - ff476109 - D3D11_STENCIL_OP StencilFailOp - D3D11_STENCIL_OP StencilFailOp -
- - -

The stencil operation to perform when stencil testing passes and depth testing fails.

-
- - ff476109 - D3D11_STENCIL_OP StencilDepthFailOp - D3D11_STENCIL_OP StencilDepthFailOp -
- - -

The stencil operation to perform when stencil testing and depth testing both pass.

-
- - ff476109 - D3D11_STENCIL_OP StencilPassOp - D3D11_STENCIL_OP StencilPassOp -
- - -

A function that compares stencil data against existing stencil data. The function options are listed in .

-
- - ff476109 - D3D11_COMPARISON_FUNC StencilFunc - D3D11_COMPARISON_FUNC StencilFunc -
- - -

Specifies the subresources of a texture that are accessible from a depth-stencil view.

-
- -

These are valid formats for a depth-stencil view:

A depth-stencil view cannot use a typeless format. If the format chosen is , then the format of the parent resource is used.

A depth-stencil-view description is needed when calling .

-
- - ff476112 - D3D11_DEPTH_STENCIL_VIEW_DESC - D3D11_DEPTH_STENCIL_VIEW_DESC -
- - -

Specifies the subresource from a 1D texture that is accessible to a depth-stencil view.

-
- -

This structure is one member of a depth-stencil-view description (see ).

-
- - ff476229 - D3D11_TEX1D_DSV - D3D11_TEX1D_DSV -
- - -

The index of the first mipmap level to use.

-
- - ff476229 - unsigned int MipSlice - unsigned int MipSlice -
- - -

Specifies the subresources from an array of 1D textures to use in a depth-stencil view.

-
- -

This structure is one member of a depth-stencil-view description (see ).

-
- - ff476225 - D3D11_TEX1D_ARRAY_DSV - D3D11_TEX1D_ARRAY_DSV -
- - -

The index of the first mipmap level to use.

-
- - ff476225 - unsigned int MipSlice - unsigned int MipSlice -
- - -

The index of the first texture to use in an array of textures.

-
- - ff476225 - unsigned int FirstArraySlice - unsigned int FirstArraySlice -
- - -

Number of textures to use.

-
- - ff476225 - unsigned int ArraySize - unsigned int ArraySize -
- - -

Specifies the subresource from a 2D texture that is accessible to a depth-stencil view.

-
- -

This structure is one member of a depth-stencil-view description (see ).

-
- - ff476243 - D3D11_TEX2D_DSV - D3D11_TEX2D_DSV -
- - -

The index of the first mipmap level to use.

-
- - ff476243 - unsigned int MipSlice - unsigned int MipSlice -
- - -

Specifies the subresources from an array 2D textures that are accessible to a depth-stencil view.

-
- -

This structure is one member of a depth-stencil-view description (see ).

-
- - ff476239 - D3D11_TEX2D_ARRAY_DSV - D3D11_TEX2D_ARRAY_DSV -
- - -

The index of the first mipmap level to use.

-
- - ff476239 - unsigned int MipSlice - unsigned int MipSlice -
- - -

The index of the first texture to use in an array of textures.

-
- - ff476239 - unsigned int FirstArraySlice - unsigned int FirstArraySlice -
- - -

Number of textures to use.

-
- - ff476239 - unsigned int ArraySize - unsigned int ArraySize -
- - -

Specifies the subresource from a multisampled 2D texture that is accessible to a depth-stencil view.

-
- -

Because a multisampled 2D texture contains a single subtexture, there is nothing to specify; this unused member is included so that this structure will compile in C.

-
- - ff476236 - D3D11_TEX2DMS_DSV - D3D11_TEX2DMS_DSV -
- - -

Unused.

-
- - ff476236 - unsigned int UnusedField_NothingToDefine - unsigned int UnusedField_NothingToDefine -
- - -

Specifies the subresources from an array of multisampled 2D textures for a depth-stencil view.

-
- -

This structure is one member of a depth-stencil-view description (see ).

-
- - ff476233 - D3D11_TEX2DMS_ARRAY_DSV - D3D11_TEX2DMS_ARRAY_DSV -
- - -

The index of the first texture to use in an array of textures.

-
- - ff476233 - unsigned int FirstArraySlice - unsigned int FirstArraySlice -
- - -

Number of textures to use.

-
- - ff476233 - unsigned int ArraySize - unsigned int ArraySize -
- - -

Resource data format (see ). See remarks for allowable formats.

-
- - ff476112 - DXGI_FORMAT Format - DXGI_FORMAT Format -
- - -

Type of resource (see ). Specifies how a depth-stencil resource will be accessed; the value is stored in the union in this structure.

-
- - ff476112 - D3D11_DSV_DIMENSION ViewDimension - D3D11_DSV_DIMENSION ViewDimension -
- - -

A value that describes whether the texture is read only. Pass 0 to specify that it is not read only; otherwise, pass one of the members of the enumerated type.

-
- - ff476112 - D3D11_DSV_FLAG Flags - D3D11_DSV_FLAG Flags -
- - -

Specifies a 1D texture subresource (see ).

-
- - ff476112 - D3D11_TEX1D_DSV Texture1D - D3D11_TEX1D_DSV Texture1D -
- - -

Specifies an array of 1D texture subresources (see ).

-
- - ff476112 - D3D11_TEX1D_ARRAY_DSV Texture1DArray - D3D11_TEX1D_ARRAY_DSV Texture1DArray -
- - -

Specifies a 2D texture subresource (see ).

-
- - ff476112 - D3D11_TEX2D_DSV Texture2D - D3D11_TEX2D_DSV Texture2D -
- - -

Specifies an array of 2D texture subresources (see ).

-
- - ff476112 - D3D11_TEX2D_ARRAY_DSV Texture2DArray - D3D11_TEX2D_ARRAY_DSV Texture2DArray -
- - -

Specifies a multisampled 2D texture (see ).

-
- - ff476112 - D3D11_TEX2DMS_DSV Texture2DMS - D3D11_TEX2DMS_DSV Texture2DMS -
- - -

Specifies an array of multisampled 2D textures (see ).

-
- - ff476112 - D3D11_TEX2DMS_ARRAY_DSV Texture2DMSArray - D3D11_TEX2DMS_ARRAY_DSV Texture2DMSArray -
- - -

Arguments for draw indexed instanced indirect.

-
- -

The members of this structure serve the same purpose as the parameters of .

-
- - dn912868 - D3D11_DRAW_INDEXED_INSTANCED_INDIRECT_ARGS - D3D11_DRAW_INDEXED_INSTANCED_INDIRECT_ARGS -
- - -

The number of indices read from the index buffer for each instance.

-
- - dn912868 - unsigned int IndexCountPerInstance - unsigned int IndexCountPerInstance -
- - -

The number of instances to draw.

-
- - dn912868 - unsigned int InstanceCount - unsigned int InstanceCount -
- - -

The location of the first index read by the GPU from the index buffer.

-
- - dn912868 - unsigned int StartIndexLocation - unsigned int StartIndexLocation -
- - -

A value added to each index before reading a vertex from the vertex buffer.

-
- - dn912868 - int BaseVertexLocation - int BaseVertexLocation -
- - -

A value added to each index before reading per-instance data from a vertex buffer.

-
- - dn912868 - unsigned int StartInstanceLocation - unsigned int StartInstanceLocation -
- - -

Arguments for draw instanced indirect.

-
- -

The members of this structure serve the same purpose as the parameters of .

-
- - dn912869 - D3D11_DRAW_INSTANCED_INDIRECT_ARGS - D3D11_DRAW_INSTANCED_INDIRECT_ARGS -
- - -

The number of vertices to draw.

-
- - dn912869 - unsigned int VertexCountPerInstance - unsigned int VertexCountPerInstance -
- - -

The number of instances to draw.

-
- - dn912869 - unsigned int InstanceCount - unsigned int InstanceCount -
- - -

The index of the first vertex.

-
- - dn912869 - unsigned int StartVertexLocation - unsigned int StartVertexLocation -
- - -

A value added to each index before reading per-instance data from a vertex buffer.

-
- - dn912869 - unsigned int StartInstanceLocation - unsigned int StartInstanceLocation -
- - -

Specifies which bytes in a video surface are encrypted.

-
- - hh447630 - D3D11_ENCRYPTED_BLOCK_INFO - D3D11_ENCRYPTED_BLOCK_INFO -
- - -

The number of bytes that are encrypted at the start of the buffer.

-
- - hh447630 - unsigned int NumEncryptedBytesAtBeginning - unsigned int NumEncryptedBytesAtBeginning -
- - -

The number of bytes that are skipped after the first NumEncryptedBytesAtBeginning bytes, and then after each block of NumBytesInEncryptPattern bytes. Skipped bytes are not encrypted.

-
- - hh447630 - unsigned int NumBytesInSkipPattern - unsigned int NumBytesInSkipPattern -
- - -

The number of bytes that are encrypted after each block of skipped bytes.

-
- - hh447630 - unsigned int NumBytesInEncryptPattern - unsigned int NumBytesInEncryptPattern -
- - - Note??This structure is supported by the Direct3D 11.1 runtime, which is available on Windows?8 and later operating systems.?

Describes information about Direct3D 11.1 adapter architecture.

-
- - hh404455 - D3D11_FEATURE_DATA_ARCHITECTURE_INFO - D3D11_FEATURE_DATA_ARCHITECTURE_INFO -
- - -

Specifies whether a rendering device batches rendering commands and performs multipass rendering into tiles or bins over a render area. Certain API usage patterns that are fine for TileBasedDefferredRenderers (TBDRs) can perform worse on non-TBDRs and vice versa. Applications that are careful about rendering can be friendly to both TBDR and non-TBDR architectures. TRUE if the rendering device batches rendering commands and otherwise.

-
- - hh404455 - BOOL TileBasedDeferredRenderer - BOOL TileBasedDeferredRenderer -
- - -

Describes compute shader and raw and structured buffer support in the current graphics driver.

-
- -

Direct3D 11 devices () are required to support Compute Shader model 5.0. Direct3D 10.x devices (, ) can optionally support Compute Shader model 4.0 or 4.1.

-
- - ff476126 - D3D11_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS - D3D11_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS -
- - -

TRUE if compute shaders and raw and structured buffers are supported; otherwise .

-
- - ff476126 - BOOL ComputeShaders_Plus_RawAndStructuredBuffers_Via_Shader_4_x - BOOL ComputeShaders_Plus_RawAndStructuredBuffers_Via_Shader_4_x -
- - - Note??This structure is supported by the Direct3D 11.1 runtime, which is available on Windows?8 and later operating systems.?

Describes Direct3D 11.1 feature options in the current graphics driver.

-
- -

If a Microsoft Direct3D device supports feature level 11.1 (), when you call with , CheckFeatureSupport returns a reference to with all member set to TRUE except the SAD4ShaderInstructions and ExtendedDoublesShaderInstructions members, which are optionally supported by the hardware and driver and therefore can be TRUE or .

Feature level 11.1 provides the following additional features:

  • UAVs at every shader stage with 64 UAV bind slots instead of 8.
  • Target-independent rasterization, which enables you to set the ForcedSampleCount member of to 1, 4, 8, or 16 and to render to RTVs with a single sample.
  • UAV-only rendering with the ForcedSampleCount member of set to up to 16 (only up to 8 for feature level 11).

The runtime always sets the following groupings of members identically. That is, all the values in a grouping are TRUE or together:

  • DiscardAPIsSeenByDriver and FlagsForUpdateAndCopySeenByDriver
  • ClearView, CopyWithOverlap, ConstantBufferPartialUpdate, ConstantBufferOffsetting, and MapNoOverwriteOnDynamicConstantBuffer
  • MapNoOverwriteOnDynamicBufferSRV and MultisampleRTVWithForcedSampleCountOne
-
- - hh404457 - D3D11_FEATURE_DATA_D3D11_OPTIONS - D3D11_FEATURE_DATA_D3D11_OPTIONS -
- - -

Specifies whether logic operations are available in blend state. The runtime sets this member to TRUE if logic operations are available in blend state and otherwise. This member is for feature level 9.1, 9.2, and 9.3. This member is optional for feature level 10, 10.1, and 11. This member is TRUE for feature level 11.1.

-
- - hh404457 - BOOL OutputMergerLogicOp - BOOL OutputMergerLogicOp -
- - -

Specifies whether the driver can render with no render target views (RTVs) or depth stencil views (DSVs), and only unordered access views (UAVs) bound. The runtime sets this member to TRUE if the driver can render with no RTVs or DSVs and only UAVs bound and otherwise. If TRUE, you can set the ForcedSampleCount member of to 1, 4, or 8 when you render with no RTVs or DSV and only UAVs bound. For feature level 11.1, this member is always TRUE and you can also set ForcedSampleCount to 16 in addition to 1, 4, or 8. The default value of ForcedSampleCount is 0, which means the same as if the value is set to 1. You can always set ForcedSampleCount to 0 or 1 for UAV-only rendering independently of how this member is set.

-
- - hh404457 - BOOL UAVOnlyRenderingForcedSampleCount - BOOL UAVOnlyRenderingForcedSampleCount -
- - -

Specifies whether the driver supports the and methods. The runtime sets this member to TRUE if the driver supports these methods and otherwise. How this member is set does not indicate whether the driver actually uses these methods; that is, the driver might ignore these methods if they are not useful to the hardware. If , the runtime does not expose these methods to the driver because the driver does not support them. You can monitor this member during development to rule out legacy drivers on hardware where these methods might have otherwise been beneficial. You are not required to write separate code paths based on whether this member is TRUE or ; you can call these methods whenever applicable.

-
- - hh404457 - BOOL DiscardAPIsSeenByDriver - BOOL DiscardAPIsSeenByDriver -
- - -

Specifies whether the driver supports new semantics for copy and update that are exposed by the and methods. The runtime sets this member to TRUE if the driver supports new semantics for copy and update. The runtime sets this member to only for legacy drivers. The runtime handles this member similarly to the DiscardAPIsSeenByDriver member.

-
- - hh404457 - BOOL FlagsForUpdateAndCopySeenByDriver - BOOL FlagsForUpdateAndCopySeenByDriver -
- - -

Specifies whether the driver supports the method. The runtime sets this member to TRUE if the driver supports this method and otherwise. If , the runtime does not expose this method to the driver because the driver does not support it.

Note??For feature level 9.1, 9.2, and 9.3, this member is always TRUE because the option is emulated by the runtime. ?
-
- - hh404457 - BOOL ClearView - BOOL ClearView -
- - -

Specifies whether you can call with overlapping source and destination rectangles. The runtime sets this member to TRUE if you can call CopySubresourceRegion1 with overlapping source and destination rectangles and otherwise. If , the runtime does not expose this method to the driver because the driver does not support it.

Note??For feature level 9.1, 9.2, and 9.3, this member is always TRUE because drivers already support the option for these feature levels. ?
-
- - hh404457 - BOOL CopyWithOverlap - BOOL CopyWithOverlap -
- - -

Specifies whether the driver supports partial updates of constant buffers. The runtime sets this member to TRUE if the driver supports partial updates of constant buffers and otherwise. If , the runtime does not expose this operation to the driver because the driver does not support it.

Note??For feature level 9.1, 9.2, and 9.3, this member is always TRUE because the option is emulated by the runtime. ?
-
- - hh404457 - BOOL ConstantBufferPartialUpdate - BOOL ConstantBufferPartialUpdate -
- - -

Specifies whether the driver supports new semantics for setting offsets in constant buffers for a shader. The runtime sets this member to TRUE if the driver supports allowing you to specify offsets when you call new methods like the method and otherwise. If , the runtime does not expose this operation to the driver because the driver does not support it.

Note??For feature level 9.1, 9.2, and 9.3, this member is always TRUE because the option is emulated by the runtime. ?
-
- - hh404457 - BOOL ConstantBufferOffsetting - BOOL ConstantBufferOffsetting -
- - -

Specifies whether you can call with on a dynamic constant buffer (that is, whether the driver supports this operation). The runtime sets this member to TRUE if the driver supports this operation and otherwise. If , the runtime fails this method because the driver does not support the operation.

Note??For feature level 9.1, 9.2, and 9.3, this member is always TRUE because the option is emulated by the runtime. ?
-
- - hh404457 - BOOL MapNoOverwriteOnDynamicConstantBuffer - BOOL MapNoOverwriteOnDynamicConstantBuffer -
- - -

Specifies whether you can call with on a dynamic buffer SRV (that is, whether the driver supports this operation). The runtime sets this member to TRUE if the driver supports this operation and otherwise. If , the runtime fails this method because the driver does not support the operation.

-
- - hh404457 - BOOL MapNoOverwriteOnDynamicBufferSRV - BOOL MapNoOverwriteOnDynamicBufferSRV -
- - -

Specifies whether the driver supports multisample rendering when you render with RTVs bound. If TRUE, you can set the ForcedSampleCount member of to 1 with a multisample RTV bound. The driver can support this option on feature level 10 and higher. If , the rasterizer-state creation will fail because the driver is legacy or the feature level is too low.

-
- - hh404457 - BOOL MultisampleRTVWithForcedSampleCountOne - BOOL MultisampleRTVWithForcedSampleCountOne -
- - -

Specifies whether the hardware and driver support the msad4 intrinsic function in shaders. The runtime sets this member to TRUE if the hardware and driver support calls to msad4 intrinsic functions in shaders. If , the driver is legacy or the hardware does not support the option; the runtime will fail shader creation for shaders that use msad4.

-
- - hh404457 - BOOL SAD4ShaderInstructions - BOOL SAD4ShaderInstructions -
- - -

Specifies whether the hardware and driver support the fma intrinsic function and other extended doubles instructions (DDIV and DRCP) in shaders. The fma intrinsic function emits an extended doubles DFMA instruction. The runtime sets this member to TRUE if the hardware and driver support extended doubles instructions in shaders (shader model 5 and higher). Support of this option implies support of basic double-precision shader instructions as well. You can use the value to query for support of double-precision shaders. If , the hardware and driver do not support the option; the runtime will fail shader creation for shaders that use extended doubles instructions.

-
- - hh404457 - BOOL ExtendedDoublesShaderInstructions - BOOL ExtendedDoublesShaderInstructions -
- - -

Specifies whether the hardware and driver support sharing a greater variety of Texture2D resource types and formats. The runtime sets this member to TRUE if the hardware and driver support extended Texture2D resource sharing.

-
- - hh404457 - BOOL ExtendedResourceSharing - BOOL ExtendedResourceSharing -
- - - Note?? This structure is supported by the Direct3D 11.2 runtime, which is available on Windows?8.1 and later operating systems.?

Describes Direct3D 11.2 feature options in the current graphics driver.

-
- -

If the Direct3D API is the Direct3D 11.2 runtime and can support 11.2 features, for will return a SUCCESS code when valid parameters are passed. The members of will be set appropriately based on the system's graphics hardware and graphics driver.

-
- - dn280377 - D3D11_FEATURE_DATA_D3D11_OPTIONS1 - D3D11_FEATURE_DATA_D3D11_OPTIONS1 -
- - -

Specifies whether the hardware and driver support tiled resources. The runtime sets this member to a -typed value that indicates if the hardware and driver support tiled resources and at what tier level.

-
- - dn280377 - D3D11_TILED_RESOURCES_TIER TiledResourcesTier - D3D11_TILED_RESOURCES_TIER TiledResourcesTier -
- - -

Specifies whether the hardware and driver support the filtering options () of comparing the result to the minimum or maximum value during texture sampling. The runtime sets this member to TRUE if the hardware and driver support these filtering options.

-
- - dn280377 - BOOL MinMaxFiltering - BOOL MinMaxFiltering -
- - -

Specifies whether the hardware and driver also support the method on depth formats. For info about valid depth formats, see .

-
- - dn280377 - BOOL ClearViewAlsoSupportsDepthOnlyFormats - BOOL ClearViewAlsoSupportsDepthOnlyFormats -
- - -

Specifies support for creating resources that can be passed to the and methods. This means that the CPUAccessFlags member of the structure may be set with the desired elements when the Usage member of is set to . The runtime sets this member to TRUE if the hardware is capable of at least and the graphics device driver supports mappable default buffers.

-
- - dn280377 - BOOL MapOnDefaultBuffers - BOOL MapOnDefaultBuffers -
- - - No documentation. - - - D3D11_FEATURE_DATA_D3D11_OPTIONS2 - D3D11_FEATURE_DATA_D3D11_OPTIONS2 - - - - No documentation. - - - BOOL PSSpecifiedStencilRefSupported - BOOL PSSpecifiedStencilRefSupported - - - - No documentation. - - - BOOL TypedUAVLoadAdditionalFormats - BOOL TypedUAVLoadAdditionalFormats - - - - No documentation. - - - BOOL ROVsSupported - BOOL ROVsSupported - - - - No documentation. - - - D3D11_CONSERVATIVE_RASTERIZATION_TIER ConservativeRasterizationTier - D3D11_CONSERVATIVE_RASTERIZATION_TIER ConservativeRasterizationTier - - - - No documentation. - - - D3D11_TILED_RESOURCES_TIER TiledResourcesTier - D3D11_TILED_RESOURCES_TIER TiledResourcesTier - - - - No documentation. - - - BOOL MapOnDefaultTextures - BOOL MapOnDefaultTextures - - - - No documentation. - - - BOOL StandardSwizzle - BOOL StandardSwizzle - - - - No documentation. - - - BOOL UnifiedMemoryArchitecture - BOOL UnifiedMemoryArchitecture - - - -

Describes Direct3D 11.3 feature options in the current graphics driver.

-
- - dn933226 - D3D11_FEATURE_DATA_D3D11_OPTIONS3 - D3D11_FEATURE_DATA_D3D11_OPTIONS3 -
- - -

Whether to use the VP and RT array index from any shader feeding the rasterizer.

-
- - dn933226 - BOOL VPAndRTArrayIndexFromAnyShaderFeedingRasterizer - BOOL VPAndRTArrayIndexFromAnyShaderFeedingRasterizer -
- - -

Describes Direct3D 11.4 feature options in the current graphics driver.

-
- -

Use this structure with the member of .

Refer to the section on NV12 in Direct3D 11.4 Features.

-
- - mt732994 - D3D11_FEATURE_DATA_D3D11_OPTIONS4 - D3D11_FEATURE_DATA_D3D11_OPTIONS4 -
- - -

Specifies a that determines if NV12 textures can be shared across processes and D3D devices.

-
- - mt732994 - BOOL ExtendedNV12SharedTextureSupported - BOOL ExtendedNV12SharedTextureSupported -
- - - Note??This structure is supported by the Direct3D 11.1 runtime, which is available on Windows?8 and later operating systems.?

Describes Direct3D 9 feature options in the current graphics driver.

-
- - hh404458 - D3D11_FEATURE_DATA_D3D9_OPTIONS - D3D11_FEATURE_DATA_D3D9_OPTIONS -
- - -

Specifies whether the driver supports the nonpowers-of-2-unconditionally feature. For more information about this feature, see feature level. The runtime sets this member to TRUE for hardware at Direct3D 10 and higher feature levels. For hardware at Direct3D 9.3 and lower feature levels, the runtime sets this member to if the hardware and driver support the powers-of-2 (2D textures must have widths and heights specified as powers of two) feature or the nonpowers-of-2-conditionally feature. For more information about this feature, see feature level.

-
- - hh404458 - BOOL FullNonPow2TextureSupport - BOOL FullNonPow2TextureSupport -
- - - Note??This structure is supported by the Direct3D 11.2 runtime, which is available on Windows?8.1 and later operating systems.?

Describes Direct3D 9 feature options in the current graphics driver.

-
- -

You can use the enumeration value with to query a driver about support for Direct3D 9 feature options rather than making multiple calls to by using , , and , which provide identical info about supported Direct3D 9 feature options.

-
- - dn629642 - D3D11_FEATURE_DATA_D3D9_OPTIONS1 - D3D11_FEATURE_DATA_D3D9_OPTIONS1 -
- - -

Specifies whether the driver supports the nonpowers-of-2-unconditionally feature. For more info about this feature, see feature level. The runtime sets this member to TRUE for hardware at Direct3D 10 and higher feature levels. For hardware at Direct3D 9.3 and lower feature levels, the runtime sets this member to if the hardware and driver support the powers-of-2 (2D textures must have widths and heights specified as powers of two) feature or the nonpowers-of-2-conditionally feature.

-
- - dn629642 - BOOL FullNonPow2TextureSupported - BOOL FullNonPow2TextureSupported -
- - -

Specifies whether the driver supports the shadowing feature with the comparison-filtering mode set to less than or equal to. The runtime sets this member to TRUE for hardware at Direct3D 10 and higher feature levels. For hardware at Direct3D 9.3 and lower feature levels, the runtime sets this member to TRUE only if the hardware and driver support the shadowing feature; otherwise .

-
- - dn629642 - BOOL DepthAsTextureWithLessEqualComparisonFilterSupported - BOOL DepthAsTextureWithLessEqualComparisonFilterSupported -
- - -

Specifies whether the hardware and driver support simple instancing. The runtime sets this member to TRUE if the hardware and driver support simple instancing.

-
- - dn629642 - BOOL SimpleInstancingSupported - BOOL SimpleInstancingSupported -
- - -

Specifies whether the hardware and driver support setting a single face of a TextureCube as a render target while the depth stencil surface that is bound alongside can be a Texture2D (as opposed to TextureCube). The runtime sets this member to TRUE if the hardware and driver support this feature; otherwise .

If the hardware and driver don't support this feature, the app must match the render target surface type with the depth stencil surface type. Because hardware at Direct3D 9.3 and lower feature levels doesn't allow TextureCube depth surfaces, the only way to render a scene into a TextureCube while having depth buffering enabled is to render each TextureCube face separately to a Texture2D render target first (because that can be matched with a Texture2D depth), and then copy the results into the TextureCube. If the hardware and driver support this feature, the app can just render to the TextureCube faces directly while getting depth buffering out of a Texture2D depth buffer.

You only need to query this feature from hardware at Direct3D 9.3 and lower feature levels because hardware at Direct3D 10.0 and higher feature levels allow TextureCube depth surfaces.

-
- - dn629642 - BOOL TextureCubeFaceRenderTargetWithNonCubeDepthStencilSupported - BOOL TextureCubeFaceRenderTargetWithNonCubeDepthStencilSupported -
- - - Note??This structure is supported by the Direct3D 11.1 runtime, which is available on Windows?8 and later operating systems.?

Describes Direct3D?9 shadow support in the current graphics driver.

-
- -

Shadows are an important element in realistic 3D scenes. You can use the shadow buffer technique to render shadows. The basic principle of the technique is to use a depth buffer to store the scene depth info from the perspective of the light source, and then compare each point rendered in the scene with that buffer to determine if it is in shadow.

To render objects into the scene with shadows on them, you create sampler state objects with comparison filtering set and the comparison mode (ComparisonFunc) to LessEqual. You can also set BorderColor addressing on this depth sampler, even though BorderColor isn't typically allowed on feature levels 9.1 and 9.2. By using the border color and picking 0.0 or 1.0 as the border color value, you can control whether the regions off the edge of the shadow map appear to be always in shadow or never in shadow respectively. - You can control the shadow filter quality by the Mag and Min filter settings in the comparison sampler. Point sampling will produce shadows with non-anti-aliased edges. Linear filter sampler settings will result in higher quality shadow edges, but might affect performance on some power-optimized devices.

Note??If you use a separate setting for Mag versus Min filter options, you produce an undefined result. Anisotropic filtering is not supported. The Mip filter choice is not relevant because feature level 9.x does not allow mipmapped depth buffers.?Note??On feature level 9.x, you can't compile a shader with the SampleCmp and SampleCmpLevelZero intrinsic functions by using older versions of the compiler. For example, you can't use the fxc.exe compiler that ships with the DirectX SDK or use the ** functions (like ) that are implemented in D3DCompiler_43.dll and earlier. These intrinsic functions on feature level 9.x are only supported in the fxc.exe compiler that ships with the Windows?8 SDK and later and with the ** functions that are implemented in D3DCompiler_44.dll and later. - But these intrinsic functions are present in shader models for feature levels higher than 9.x.? -
- - jj247569 - D3D11_FEATURE_DATA_D3D9_SHADOW_SUPPORT - D3D11_FEATURE_DATA_D3D9_SHADOW_SUPPORT -
- - -

Specifies whether the driver supports the shadowing feature with the comparison-filtering mode set to less than or equal to. The runtime sets this member to TRUE for hardware at Direct3D 10 and higher feature levels. For hardware at Direct3D 9.3 and lower feature levels, the runtime sets this member to TRUE only if the hardware and driver support the shadowing feature; otherwise .

-
- - jj247569 - BOOL SupportsDepthAsTextureWithLessEqualComparisonFilter - BOOL SupportsDepthAsTextureWithLessEqualComparisonFilter -
- - - Note?? This structure is supported by the Direct3D 11.2 runtime, which is available on Windows?8.1 and later operating systems.?

Describes whether simple instancing is supported.

-
- -

If the Direct3D API is the Direct3D 11.2 runtime and can support 11.2 features, for will return a SUCCESS code when valid parameters are passed. The SimpleInstancingSupported member of will be set to TRUE or .

Simple instancing means that instancing is supported with the caveat that the InstanceDataStepRate member of the structure must be equal to 1. This does not change the full instancing support provided by hardware at feature level 9.3 and above, and is meant to expose the instancing support that may be available on feature level 9.2 and 9.1 hardware.

-
- - dn280414 - D3D11_FEATURE_DATA_D3D9_SIMPLE_INSTANCING_SUPPORT - D3D11_FEATURE_DATA_D3D9_SIMPLE_INSTANCING_SUPPORT -
- - -

Specifies whether the hardware and driver support simple instancing. The runtime sets this member to TRUE if the hardware and driver support simple instancing.

-
- - dn280414 - BOOL SimpleInstancingSupported - BOOL SimpleInstancingSupported -
- - -

Describes double data type support in the current graphics driver.

-
- -

If the runtime sets DoublePrecisionFloatShaderOps to TRUE, the hardware and driver support the following Shader Model 5 instructions:

  • dadd
  • dmax
  • dmin
  • dmul
  • deq
  • dge
  • dlt
  • dne
  • dmov
  • dmovc
  • dtof
  • ftod
Note??If DoublePrecisionFloatShaderOps is TRUE, the hardware and driver do not necessarily support double-precision division.? -
- - ff476127 - D3D11_FEATURE_DATA_DOUBLES - D3D11_FEATURE_DATA_DOUBLES -
- - -

Specifies whether double types are allowed. If TRUE, double types are allowed; otherwise . The runtime must set DoublePrecisionFloatShaderOps to TRUE in order for you to use any HLSL shader that is compiled with a double type.

-
- - ff476127 - BOOL DoublePrecisionFloatShaderOps - BOOL DoublePrecisionFloatShaderOps -
- - -

Describes which resources are supported by the current graphics driver for a given format.

-
- - ff476128 - D3D11_FEATURE_DATA_FORMAT_SUPPORT - D3D11_FEATURE_DATA_FORMAT_SUPPORT -
- - -

to return information on.

-
- - ff476128 - DXGI_FORMAT InFormat - DXGI_FORMAT InFormat -
- - -

Combination of flags indicating which resources are supported.

-
- - ff476128 - D3D11_FORMAT_SUPPORT OutFormatSupport - D3D11_FORMAT_SUPPORT OutFormatSupport -
- - -

Describes which unordered resource options are supported by the current graphics driver for a given format.

-
- - ff476129 - D3D11_FEATURE_DATA_FORMAT_SUPPORT2 - D3D11_FEATURE_DATA_FORMAT_SUPPORT2 -
- - -

to return information on.

-
- - ff476129 - DXGI_FORMAT InFormat - DXGI_FORMAT InFormat -
- - -

Combination of flags indicating which unordered resource options are supported.

-
- - ff476129 - D3D11_FORMAT_SUPPORT2 OutFormatSupport2 - D3D11_FORMAT_SUPPORT2 OutFormatSupport2 -
- - -

Describes feature data GPU virtual address support, including maximum address bits per resource and per process.

-
- -

See .

-
- - mt158212 - D3D11_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT - D3D11_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT -
- - -

The maximum GPU virtual address bits per resource.

-
- - mt158212 - unsigned int MaxGPUVirtualAddressBitsPerResource - unsigned int MaxGPUVirtualAddressBitsPerResource -
- - -

The maximum GPU virtual address bits per process.

-
- - mt158212 - unsigned int MaxGPUVirtualAddressBitsPerProcess - unsigned int MaxGPUVirtualAddressBitsPerProcess -
- - - Note??This structure is supported by the Direct3D 11.2 runtime, which is available on Windows?8.1 and later operating systems.?

Describes whether a GPU profiling technique is supported.

-
- -

If the Direct3D API is the Direct3D 11.2 runtime and can support 11.2 features, for will return a SUCCESS code when valid parameters are passed. The Profile member of will be set to TRUE or .

-
- - dn280415 - D3D11_FEATURE_DATA_MARKER_SUPPORT - D3D11_FEATURE_DATA_MARKER_SUPPORT -
- - -

Specifies whether the hardware and driver support a GPU profiling technique that can be used with development tools. The runtime sets this member to TRUE if the hardware and driver support data marking.

-
- - dn280415 - BOOL Profile - BOOL Profile -
- - -

Stencil operations that can be performed based on the results of stencil test.

-
- -

All stencil operations are specified as a . The stencil operation can be set differently based on the outcome of the stencil test (which is referred to as StencilFunc in the stencil test portion of depth-stencil testing.

This structure is a member of a depth-stencil description.

-
- - ff476109 - D3D11_FEATURE_DATA_SHADER_CACHE - D3D11_FEATURE_DATA_SHADER_CACHE -
- - -

The stencil operation to perform when stencil testing fails.

-
- - ff476109 - unsigned int SupportFlags - unsigned int SupportFlags -
- - - Note??This structure is supported by the Direct3D 11.1 runtime, which is available on Windows?8 and later operating systems.?

Describes precision support options for shaders in the current graphics driver.

-
- -

For hardware at Direct3D 10 and higher feature levels, the runtime sets both members identically. For hardware at Direct3D 9.3 and lower feature levels, the runtime can set a lower precision support in the PixelShaderMinPrecision member than the AllOtherShaderStagesMinPrecision member; for 9.3 and lower, all other shader stages represent only the vertex shader.

For more info about HLSL minimum precision, see using HLSL minimum precision.

-
- - hh404460 - D3D11_FEATURE_DATA_SHADER_MIN_PRECISION_SUPPORT - D3D11_FEATURE_DATA_SHADER_MIN_PRECISION_SUPPORT -
- - -

A combination of -typed values that are combined by using a bitwise OR operation. The resulting value specifies minimum precision levels that the driver supports for the pixel shader. A value of zero indicates that the driver supports only full 32-bit precision for the pixel shader.

-
- - hh404460 - unsigned int PixelShaderMinPrecision - unsigned int PixelShaderMinPrecision -
- - -

A combination of -typed values that are combined by using a bitwise OR operation. The resulting value specifies minimum precision levels that the driver supports for all other shader stages. A value of zero indicates that the driver supports only full 32-bit precision for all other shader stages.

-
- - hh404460 - unsigned int AllOtherShaderStagesMinPrecision - unsigned int AllOtherShaderStagesMinPrecision -
- - -

Describes the multi-threading features that are supported by the current graphics driver.

-
- -

Use the structure with the method to determine multi-threading support.

-
- - ff476130 - D3D11_FEATURE_DATA_THREADING - D3D11_FEATURE_DATA_THREADING -
- - -

TRUE means resources can be created concurrently on multiple threads while drawing; means that the presence of coarse synchronization will prevent concurrency.

-
- - ff476130 - BOOL DriverConcurrentCreates - BOOL DriverConcurrentCreates -
- - -

TRUE means command lists are supported by the current driver; means that the API will emulate deferred contexts and command lists with software.

-
- - ff476130 - BOOL DriverCommandLists - BOOL DriverCommandLists -
- - -

Allow or deny certain types of messages to pass through a filter.

-
- - ff476178 - D3D11_INFO_QUEUE_FILTER - D3D11_INFO_QUEUE_FILTER -
- - -

Number of message categories to allow or deny.

-
- - ff476178 - D3D11_INFO_QUEUE_FILTER_DESC AllowList - D3D11_INFO_QUEUE_FILTER_DESC AllowList -
- - -

Array of message categories to allow or deny. Array must have at least NumCategories members (see ).

-
- - ff476178 - D3D11_INFO_QUEUE_FILTER_DESC DenyList - D3D11_INFO_QUEUE_FILTER_DESC DenyList -
- - -

Allow or deny certain types of messages to pass through a filter.

-
- - ff476178 - D3D11_INFO_QUEUE_FILTER_DESC - D3D11_INFO_QUEUE_FILTER_DESC -
- - -

Number of message categories to allow or deny.

-
- - ff476178 - unsigned int NumCategories - unsigned int NumCategories -
- - -

Array of message categories to allow or deny. Array must have at least NumCategories members (see ).

-
- - ff476178 - D3D11_MESSAGE_CATEGORY* pCategoryList - D3D11_MESSAGE_CATEGORY pCategoryList -
- - -

Number of message severity levels to allow or deny.

-
- - ff476178 - unsigned int NumSeverities - unsigned int NumSeverities -
- - -

Array of message severity levels to allow or deny. Array must have at least NumSeverities members (see ).

-
- - ff476178 - D3D11_MESSAGE_SEVERITY* pSeverityList - D3D11_MESSAGE_SEVERITY pSeverityList -
- - -

Number of message IDs to allow or deny.

-
- - ff476178 - unsigned int NumIDs - unsigned int NumIDs -
- - -

Array of message IDs to allow or deny. Array must have at least NumIDs members (see ).

-
- - ff476178 - D3D11_MESSAGE_ID* pIDList - D3D11_MESSAGE_ID pIDList -
- - - Gets or sets the categories. - - - The categories. - - - - - Gets or sets the severities. - - - The severities. - - - - - Gets or sets the ids. - - - The ids. - - - - -

A description of a single element for the input-assembler stage.

-
- -

An input-layout object contains an array of structures, each structure defines one element being read from an input slot. Create an input-layout object by calling . For an example, see the "Create the Input-Layout Object" subtopic under the Getting Started with the Input-Assembler Stage topic.

-
- - ff476180 - D3D11_INPUT_ELEMENT_DESC - D3D11_INPUT_ELEMENT_DESC -
- - -

The HLSL semantic associated with this element in a shader input-signature.

-
- - ff476180 - 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 component would have different semantic indices (0, 1, 2, and 3).

-
- - ff476180 - unsigned int SemanticIndex - unsigned int SemanticIndex -
- - -

The data type of the element data. See .

-
- - ff476180 - DXGI_FORMAT Format - DXGI_FORMAT Format -
- - -

An integer value that identifies the input-assembler (see input slot). Valid values are between 0 and 15, defined in D3D11.h.

-
- - ff476180 - unsigned int InputSlot - unsigned int InputSlot -
- - -

Optional. Offset (in bytes) between each element. Use D3D11_APPEND_ALIGNED_ELEMENT for convenience to define the current element directly after the previous one, including any packing if necessary.

-
- - ff476180 - unsigned int AlignedByteOffset - unsigned int AlignedByteOffset -
- - -

Identifies the input data class for a single input slot (see ).

-
- - ff476180 - D3D11_INPUT_CLASSIFICATION InputSlotClass - D3D11_INPUT_CLASSIFICATION InputSlotClass -
- - -

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 (the slot class is set to ).

-
- - ff476180 - unsigned int InstanceDataStepRate - unsigned int InstanceDataStepRate -
- - - 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 neccessary. - - A value used to align input elements. - D3D11_APPEND_ALIGNED_ELEMENT - - - - 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. - - - - 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. - An integer value that identifies the input-assembler. Valid values are between 0 and 15. - - - - 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. - - - - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Represents key exchange data for hardware content protection.

-
- -

A reference to this structure is passed in the pData parameter of method when the is creating using the D3D11_KEY_EXCHANGE_HW_PROTECTION key exchange type.

-
- - dn894115 - D3D11_KEY_EXCHANGE_HW_PROTECTION_DATA - D3D11_KEY_EXCHANGE_HW_PROTECTION_DATA -
- - -

The function ID of the DRM command. The values and meanings of the function ID are defined by the DRM specification.

-
- - dn894115 - unsigned int HWProtectionFunctionID - unsigned int HWProtectionFunctionID -
- - -

Pointer to a buffer containing a structure that specifies memory reserved for IHV use and the input data for the DRM command.

-
- - dn894115 - D3D11_KEY_EXCHANGE_HW_PROTECTION_INPUT_DATA* pInputData - D3D11_KEY_EXCHANGE_HW_PROTECTION_INPUT_DATA pInputData -
- - -

Pointer to a buffer containing a structure that specifies memory reserved for IHV use and the input data for the DRM command.

-
- - dn894115 - D3D11_KEY_EXCHANGE_HW_PROTECTION_OUTPUT_DATA* pOutputData - D3D11_KEY_EXCHANGE_HW_PROTECTION_OUTPUT_DATA pOutputData -
- - -

The result of the hardware DRM command.

-
- - dn894115 - HRESULT Status - HRESULT Status -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Represents key exchange input data for hardware content protection.

-
- - dn894116 - D3D11_KEY_EXCHANGE_HW_PROTECTION_INPUT_DATA - D3D11_KEY_EXCHANGE_HW_PROTECTION_INPUT_DATA -
- - -

The size of the private data reserved for IHV usage. This size is determined from the pPrivateInputSize parameter returned by the function.

-
- - dn894116 - unsigned int PrivateDataSize - unsigned int PrivateDataSize -
- - -

The size of the DRM command data.

-
- - dn894116 - unsigned int HWProtectionDataSize - unsigned int HWProtectionDataSize -
- - -

If PrivateDataSize is greater than 0, pbInput[0] ? pbInput[PrivateDataSize - 1] is reserved for IHV use.

pbInput[PrivateDataSize] ? pbInput[HWProtectionDataSize + PrivateDataSize - 1] contains the input data for the DRM command. The format and size of the DRM command is defined by the DRM specification.

-
- - dn894116 - unsigned char pbInput[4] - unsigned char pbInput -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Represents key exchange output data for hardware content protection.

-
- - dn894117 - D3D11_KEY_EXCHANGE_HW_PROTECTION_OUTPUT_DATA - D3D11_KEY_EXCHANGE_HW_PROTECTION_OUTPUT_DATA -
- - -

The size of the private data reserved for IHV usage. This size is determined from the pPrivateOutputSize parameter returned by the function.

-
- - dn894117 - unsigned int PrivateDataSize - unsigned int PrivateDataSize -
- - -

The maximum size of data that the driver can return in the output buffer. The last byte that it can write to is pbOuput[PrivateDataSize + MaxHWProtectionDataSize ? 1].

-
- - dn894117 - unsigned int MaxHWProtectionDataSize - unsigned int MaxHWProtectionDataSize -
- - -

The size of the output data written by the driver.

-
- - dn894117 - unsigned int HWProtectionDataSize - unsigned int HWProtectionDataSize -
- - -

The number of 100 nanosecond units spent transporting the data.

-
- - dn894117 - unsigned longlong TransportTime - unsigned longlong TransportTime -
- - -

The number of 100 nanosecond units spent executing the content protection command.

-
- - dn894117 - unsigned longlong ExecutionTime - unsigned longlong ExecutionTime -
- - -

If PrivateDataSize is greater than 0, pbInput[0] ? pbOutput[PrivateDataSize - 1] is reserved for IHV use.

pbOutput[PrivateDataSize] ? pbOutput[HWProtectionDataSize + PrivateDataSize - 1] contains the input data for the DRM command. The format and size of the DRM command is defined by the DRM specification.

-
- - dn894117 - unsigned char pbOutput[4] - unsigned char pbOutput -
- - -

A debug message in the Information Queue.

-
- -

This structure is returned from as part of the Information Queue feature (see Interface).

-
- - ff476184 - D3D11_MESSAGE - D3D11_MESSAGE -
- - -

The category of the message. See .

-
- - ff476184 - D3D11_MESSAGE_CATEGORY Category - D3D11_MESSAGE_CATEGORY Category -
- - -

The severity of the message. See .

-
- - ff476184 - D3D11_MESSAGE_SEVERITY Severity - D3D11_MESSAGE_SEVERITY Severity -
- - -

The ID of the message. See .

-
- - ff476184 - D3D11_MESSAGE_ID ID - D3D11_MESSAGE_ID ID -
- - -

The message string.

-
- - ff476184 - const char* pDescription - char pDescription -
- - -

The length of pDescription in bytes.

-
- - ff476184 - SIZE_T DescriptionByteLength - SIZE_T DescriptionByteLength -
- - - - - -

Contains a Message Authentication Code (MAC).

-
- - hh447631 - D3D11_OMAC - D3D11_OMAC -
- - -

A byte array that contains the cryptographic MAC value of the message.

-
- - hh447631 - unsigned char Omac[16] - unsigned char Omac -
- - -

Describes the tile structure of a tiled resource with mipmaps.

-
- - dn280418 - D3D11_PACKED_MIP_DESC - D3D11_PACKED_MIP_DESC -
- - -

Number of standard mipmaps in the tiled resource.

-
- - dn280418 - unsigned char NumStandardMips - unsigned char NumStandardMips -
- - -

Number of packed mipmaps in the tiled resource.

This number starts from the least detailed mipmap (either sharing tiles or using non standard tile layout). This number is 0 if no - such packing is in the resource. For array surfaces, this value is the number of mipmaps that are packed for a given array slice where each array slice repeats the same - packing. -

On Tier_2 tiled resources hardware, mipmaps that fill at least one standard shaped tile in all dimensions - are not allowed to be included in the set of packed mipmaps. On Tier_1 hardware, mipmaps that are an integer multiple of one standard shaped tile in all dimensions are not allowed to be included in the set of packed mipmaps. Mipmaps with at least one - dimension less than the standard tile shape may or may not be packed. When a given mipmap needs to be packed, all coarser - mipmaps for a given array slice are considered packed as well. -

-
- - dn280418 - unsigned char NumPackedMips - unsigned char NumPackedMips -
- - -

Number of tiles for the packed mipmaps in the tiled resource.

If there is no packing, this value is meaningless and is set to 0. - Otherwise, it is set to the number of tiles - that are needed to represent the set of packed mipmaps. - The pixel layout within the packed mipmaps is hardware specific. - If apps define only partial mappings for the set of tiles in packed mipmaps, read and write behavior is vendor specific and undefined. - For arrays, this value is only the count of packed mipmaps within - the subresources for each array slice.

-
- - dn280418 - unsigned int NumTilesForPackedMips - unsigned int NumTilesForPackedMips -
- - -

Offset of the first packed tile for the resource - in the overall range of tiles. If NumPackedMips is 0, this - value is meaningless and is 0. Otherwise, it is the - offset of the first packed tile for the resource in the overall - range of tiles for the resource. A value of 0 for - StartTileIndexInOverallResource means the entire resource is packed. - For array surfaces, this is the offset for the tiles that contain the packed - mipmaps for the first array slice. Packed mipmaps for each array slice in arrayed surfaces are at this offset - past the beginning of the tiles for each array slice.

Note??The - number of overall tiles, packed or not, for a given array slice is - simply the total number of tiles for the resource divided by the - resource's array size, so it is easy to locate the range of tiles for - any given array slice, out of which StartTileIndexInOverallResource identifies - which of those are packed. ?
-
- - dn280418 - unsigned int StartTileIndexInOverallResource - unsigned int StartTileIndexInOverallResource -
- - -

Query information about graphics-pipeline activity in between calls to and .

-
- - ff476192 - D3D11_QUERY_DATA_PIPELINE_STATISTICS - D3D11_QUERY_DATA_PIPELINE_STATISTICS -
- - - No documentation. - - - ff476192 - unsigned longlong IAVertices - unsigned longlong IAVertices - - - - No documentation. - - - ff476192 - unsigned longlong IAPrimitives - unsigned longlong IAPrimitives - - - - No documentation. - - - ff476192 - unsigned longlong VSInvocations - unsigned longlong VSInvocations - - - - No documentation. - - - ff476192 - unsigned longlong GSInvocations - unsigned longlong GSInvocations - - - - No documentation. - - - ff476192 - unsigned longlong GSPrimitives - unsigned longlong GSPrimitives - - - - No documentation. - - - ff476192 - unsigned longlong CInvocations - unsigned longlong CInvocations - - - - No documentation. - - - ff476192 - unsigned longlong CPrimitives - unsigned longlong CPrimitives - - - - No documentation. - - - ff476192 - unsigned longlong PSInvocations - unsigned longlong PSInvocations - - - - No documentation. - - - ff476192 - unsigned longlong HSInvocations - unsigned longlong HSInvocations - - - - No documentation. - - - ff476192 - unsigned longlong DSInvocations - unsigned longlong DSInvocations - - - - No documentation. - - - ff476192 - unsigned longlong CSInvocations - unsigned longlong CSInvocations - - - -

Query information about the reliability of a timestamp query.

-
- -

For a list of query types see .

-
- - ff476194 - D3D11_QUERY_DATA_TIMESTAMP_DISJOINT - D3D11_QUERY_DATA_TIMESTAMP_DISJOINT -
- - -

How frequently the GPU counter increments in Hz.

-
- - ff476194 - unsigned longlong Frequency - unsigned longlong Frequency -
- - -

If this is TRUE, something occurred in between the query's and calls that caused the timestamp counter to become discontinuous or disjoint, such as unplugging the AC cord on a laptop, overheating, or throttling up/down due to laptop savings events. The timestamp returned by for a timestamp query is only reliable if Disjoint is .

-
- - ff476194 - BOOL Disjoint - BOOL Disjoint -
- - -

Describes a query.

-
- - ff476195 - D3D11_QUERY_DESC - D3D11_QUERY_DESC -
- - -

Type of query (see ).

-
- - ff476195 - D3D11_QUERY Query - D3D11_QUERY Query -
- - -

Miscellaneous flags (see ).

-
- - ff476195 - D3D11_QUERY_MISC_FLAG MiscFlags - D3D11_QUERY_MISC_FLAG MiscFlags -
- - -

Describes a query.

-
- - dn899156 - D3D11_QUERY_DESC1 - D3D11_QUERY_DESC1 -
- - -

A -typed value that specifies the type of query.

-
- - dn899156 - D3D11_QUERY Query - D3D11_QUERY Query -
- - -

A combination of -typed values that are combined by using a bitwise OR operation. The resulting value specifies query behavior.

-
- - dn899156 - unsigned int MiscFlags - unsigned int MiscFlags -
- - -

A -typed value that specifies the context for the query.

-
- - dn899156 - D3D11_CONTEXT_TYPE ContextType - D3D11_CONTEXT_TYPE ContextType -
- - -

Describes rasterizer state.

-
- -

Rasterizer state defines the behavior of the rasterizer stage. To create a rasterizer-state object, call . To set rasterizer state, call .

If you do not specify some rasterizer state, the Direct3D runtime uses the following default values for rasterizer state.

StateDefault Value
FillModeSolid
CullModeBack
FrontCounterClockwise
DepthBias0
SlopeScaledDepthBias0.0f
DepthBiasClamp0.0f
DepthClipEnableTRUE
ScissorEnable
MultisampleEnable
AntialiasedLineEnable

?

Note??For feature levels 9.1, 9.2, 9.3, and 10.0, if you set MultisampleEnable to , the runtime renders all points, lines, and triangles without anti-aliasing even for render targets with a sample count greater than 1. For feature levels 10.1 and higher, the setting of MultisampleEnable has no effect on points and triangles with regard to MSAA and impacts only the selection of the line-rendering algorithm as shown in this table:?

Line-rendering algorithmMultisampleEnableAntialiasedLineEnable
Aliased
Alpha antialiasedTRUE
QuadrilateralTRUE
QuadrilateralTRUETRUE

?

The settings of the MultisampleEnable and AntialiasedLineEnable members apply only to multisample antialiasing (MSAA) render targets (that is, render targets with sample counts greater than 1). Because of the differences in feature-level behavior and as long as you aren?t performing any line drawing or don?t mind that lines render as quadrilaterals, we recommend that you always set MultisampleEnable to TRUE whenever you render on MSAA render targets.

-
- - ff476198 - D3D11_RASTERIZER_DESC - D3D11_RASTERIZER_DESC -
- - -

Determines the fill mode to use when rendering (see ).

-
- - ff476198 - D3D11_FILL_MODE FillMode - D3D11_FILL_MODE FillMode -
- - -

Indicates triangles facing the specified direction are not drawn (see ).

-
- - ff476198 - D3D11_CULL_MODE CullMode - D3D11_CULL_MODE CullMode -
- - -

Determines if a triangle is front- or back-facing. If this parameter is TRUE, a triangle will be considered front-facing if its vertices are counter-clockwise on the render target and considered back-facing if they are clockwise. If this parameter is , the opposite is true.

-
- - ff476198 - BOOL FrontCounterClockwise - BOOL FrontCounterClockwise -
- - -

Depth value added to a given pixel. For info about depth bias, see Depth Bias.

-
- - ff476198 - int DepthBias - int DepthBias -
- - -

Maximum depth bias of a pixel. For info about depth bias, see Depth Bias.

-
- - ff476198 - float DepthBiasClamp - float DepthBiasClamp -
- - -

Scalar on a given pixel's slope. For info about depth bias, see Depth Bias.

-
- - ff476198 - float SlopeScaledDepthBias - float SlopeScaledDepthBias -
- - -

Enable clipping based on distance.

The hardware always performs x and y clipping of rasterized coordinates. When DepthClipEnable is set to the default?TRUE, the hardware also clips the z value (that is, the hardware performs the last step of the following algorithm). -

0 < w - -w <= x <= w (or arbitrarily wider range if implementation uses a guard band to reduce clipping burden) - -w <= y <= w (or arbitrarily wider range if implementation uses a guard band to reduce clipping burden) - 0 <= z <= w -

When you set DepthClipEnable to , the hardware skips the z clipping (that is, the last step in the preceding algorithm). However, the hardware still performs the "0 < w" clipping. When z clipping is disabled, improper depth ordering at the pixel level might result. However, when z clipping is disabled, stencil shadow implementations are simplified. In other words, you can avoid complex special-case handling for geometry that goes beyond the back clipping plane. -

-
- - ff476198 - BOOL DepthClipEnable - BOOL DepthClipEnable -
- - -

Enable scissor-rectangle culling. All pixels outside an active scissor rectangle are culled.

-
- - ff476198 - BOOL ScissorEnable - BOOL ScissorEnable -
- - -

Specifies whether to use the quadrilateral or alpha line anti-aliasing algorithm on multisample antialiasing (MSAA) render targets. Set to TRUE to use the quadrilateral line anti-aliasing algorithm and to to use the alpha line anti-aliasing algorithm. For more info about this member, see Remarks.

-
- - ff476198 - BOOL MultisampleEnable - BOOL MultisampleEnable -
- - -

Specifies whether to enable line antialiasing; only applies if doing line drawing and MultisampleEnable is . For more info about this member, see Remarks.

-
- - ff476198 - BOOL AntialiasedLineEnable - BOOL AntialiasedLineEnable -
- - - Returns default values for . - - - See MSDN documentation for default values. - - - - - Note??This structure is supported by the Direct3D 11.1 runtime, which is available on Windows?8 and later operating systems.?

Describes rasterizer state.

-
- -

Rasterizer state defines the behavior of the rasterizer stage. To create a rasterizer-state object, call . To set rasterizer state, call .

If you do not specify some rasterizer state, the Direct3D runtime uses the following default values for rasterizer state.

StateDefault Value
FillModeSolid
CullModeBack
FrontCounterClockwise
DepthBias0
SlopeScaledDepthBias0.0f
DepthBiasClamp0.0f
DepthClipEnableTRUE
ScissorEnable
MultisampleEnable
AntialiasedLineEnable
ForcedSampleCount0

?

Note??For feature levels 9.1, 9.2, 9.3, and 10.0, if you set MultisampleEnable to , the runtime renders all points, lines, and triangles without anti-aliasing even for render targets with a sample count greater than 1. For feature levels 10.1 and higher, the setting of MultisampleEnable has no effect on points and triangles with regard to MSAA and impacts only the selection of the line-rendering algorithm as shown in this table:?

Line-rendering algorithmMultisampleEnableAntialiasedLineEnable
Aliased
Alpha antialiasedTRUE
QuadrilateralTRUE
QuadrilateralTRUETRUE

?

The settings of the MultisampleEnable and AntialiasedLineEnable members apply only to multisample antialiasing (MSAA) render targets (that is, render targets with sample counts greater than 1). Because of the differences in feature-level behavior and as long as you aren?t performing any line drawing or don?t mind that lines render as quadrilaterals, we recommend that you always set MultisampleEnable to TRUE whenever you render on MSAA render targets.

-
- - hh404489 - D3D11_RASTERIZER_DESC1 - D3D11_RASTERIZER_DESC1 -
- - -

Determines the fill mode to use when rendering.

-
- - hh404489 - D3D11_FILL_MODE FillMode - D3D11_FILL_MODE FillMode -
- - -

Indicates that triangles facing the specified direction are not drawn.

-
- - hh404489 - D3D11_CULL_MODE CullMode - D3D11_CULL_MODE CullMode -
- - -

Specifies whether a triangle is front- or back-facing. If TRUE, a triangle will be considered front-facing if its vertices are counter-clockwise on the render target and considered back-facing if they are clockwise. If , the opposite is true.

-
- - hh404489 - BOOL FrontCounterClockwise - BOOL FrontCounterClockwise -
- - -

Depth value added to a given pixel. For info about depth bias, see Depth Bias.

-
- - hh404489 - int DepthBias - int DepthBias -
- - -

Maximum depth bias of a pixel. For info about depth bias, see Depth Bias.

-
- - hh404489 - float DepthBiasClamp - float DepthBiasClamp -
- - -

Scalar on a given pixel's slope. For info about depth bias, see Depth Bias.

-
- - hh404489 - float SlopeScaledDepthBias - float SlopeScaledDepthBias -
- - -

Specifies whether to enable clipping based on distance.

The hardware always performs x and y clipping of rasterized coordinates. When DepthClipEnable is set to the default?TRUE, the hardware also clips the z value (that is, the hardware performs the last step of the following algorithm). -

0 < w - -w <= x <= w (or arbitrarily wider range if implementation uses a guard band to reduce clipping burden) - -w <= y <= w (or arbitrarily wider range if implementation uses a guard band to reduce clipping burden) - 0 <= z <= w -

When you set DepthClipEnable to , the hardware skips the z clipping (that is, the last step in the preceding algorithm). However, the hardware still performs the "0 < w" clipping. When z clipping is disabled, improper depth ordering at the pixel level might result. However, when z clipping is disabled, stencil shadow implementations are simplified. In other words, you can avoid complex special-case handling for geometry that goes beyond the back clipping plane. -

-
- - hh404489 - BOOL DepthClipEnable - BOOL DepthClipEnable -
- - -

Specifies whether to enable scissor-rectangle culling. All pixels outside an active scissor rectangle are culled.

-
- - hh404489 - BOOL ScissorEnable - BOOL ScissorEnable -
- - -

Specifies whether to use the quadrilateral or alpha line anti-aliasing algorithm on multisample antialiasing (MSAA) render targets. Set to TRUE to use the quadrilateral line anti-aliasing algorithm and to to use the alpha line anti-aliasing algorithm. For more info about this member, see Remarks.

-
- - hh404489 - BOOL MultisampleEnable - BOOL MultisampleEnable -
- - -

Specifies whether to enable line antialiasing; only applies if doing line drawing and MultisampleEnable is . For more info about this member, see Remarks.

-
- - hh404489 - BOOL AntialiasedLineEnable - BOOL AntialiasedLineEnable -
- - -

The sample count that is forced while UAV rendering or rasterizing. Valid values are 0, 1, 2, 4, 8, and optionally 16. 0 indicates that the sample count is not forced.

Note??

If you want to render with ForcedSampleCount set to 1 or greater, you must follow these guidelines:

  • Don't bind depth-stencil views.
  • Disable depth testing.
  • Ensure the shader doesn't output depth.
  • If you have any render-target views bound () and ForcedSampleCount is greater than 1, ensure that every render target has only a single sample.
  • Don't operate the shader at sample frequency. Therefore, returns .
Otherwise, rendering behavior is undefined. For info about how to configure depth-stencil, see Configuring Depth-Stencil Functionality. ?
-
- - hh404489 - unsigned int ForcedSampleCount - unsigned int ForcedSampleCount -
- - - Returns default values for . - - - See MSDN documentation for default values. - - - - -

Describes rasterizer state.

-
- -

Rasterizer state defines the behavior of the rasterizer stage. To create a rasterizer-state object, call . To set rasterizer state, call .

If you do not specify some rasterizer state, the Direct3D runtime uses the following default values for rasterizer state.

StateDefault Value
FillModeSolid
CullModeBack
FrontCounterClockwise
DepthBias0
SlopeScaledDepthBias0.0f
DepthBiasClamp0.0f
DepthClipEnableTRUE
ScissorEnable
MultisampleEnable
AntialiasedLineEnable
ForcedSampleCount0
ConservativeRaster

?

Note??For feature levels 9.1, 9.2, 9.3, and 10.0, if you set MultisampleEnable to , the runtime renders all points, lines, and triangles without anti-aliasing even for render targets with a sample count greater than 1. For feature levels 10.1 and higher, the setting of MultisampleEnable has no effect on points and triangles with regard to MSAA and impacts only the selection of the line-rendering algorithm as shown in this table:?

Line-rendering algorithmMultisampleEnableAntialiasedLineEnable
Aliased
Alpha antialiasedTRUE
QuadrilateralTRUE
QuadrilateralTRUETRUE

?

The settings of the MultisampleEnable and AntialiasedLineEnable members apply only to multisample antialiasing (MSAA) render targets (that is, render targets with sample counts greater than 1). Because of the differences in feature-level behavior and as long as you aren?t performing any line drawing or don?t mind that lines render as quadrilaterals, we recommend that you always set MultisampleEnable to TRUE whenever you render on MSAA render targets.

-
- - dn899157 - D3D11_RASTERIZER_DESC2 - D3D11_RASTERIZER_DESC2 -
- - -

A -typed value that determines the fill mode to use when rendering.

-
- - dn899157 - D3D11_FILL_MODE FillMode - D3D11_FILL_MODE FillMode -
- - -

A -typed value that indicates that triangles facing the specified direction are not drawn.

-
- - dn899157 - D3D11_CULL_MODE CullMode - D3D11_CULL_MODE CullMode -
- - -

Specifies whether a triangle is front- or back-facing. If TRUE, a triangle will be considered front-facing if its vertices are counter-clockwise on the render target and considered back-facing if they are clockwise. If , the opposite is true.

-
- - dn899157 - BOOL FrontCounterClockwise - BOOL FrontCounterClockwise -
- - -

Depth value added to a given pixel. For info about depth bias, see Depth Bias.

-
- - dn899157 - int DepthBias - int DepthBias -
- - -

Maximum depth bias of a pixel. For info about depth bias, see Depth Bias.

-
- - dn899157 - float DepthBiasClamp - float DepthBiasClamp -
- - -

Scalar on a given pixel's slope. For info about depth bias, see Depth Bias.

-
- - dn899157 - float SlopeScaledDepthBias - float SlopeScaledDepthBias -
- - -

Specifies whether to enable clipping based on distance.

The hardware always performs x and y clipping of rasterized coordinates. When DepthClipEnable is set to the default?TRUE, the hardware also clips the z value (that is, the hardware performs the last step of the following algorithm). -

0 < w - -w <= x <= w (or arbitrarily wider range if implementation uses a guard band to reduce clipping burden) - -w <= y <= w (or arbitrarily wider range if implementation uses a guard band to reduce clipping burden) - 0 <= z <= w -

When you set DepthClipEnable to , the hardware skips the z clipping (that is, the last step in the preceding algorithm). However, the hardware still performs the "0 < w" clipping. When z clipping is disabled, improper depth ordering at the pixel level might result. However, when z clipping is disabled, stencil shadow implementations are simplified. In other words, you can avoid complex special-case handling for geometry that goes beyond the back clipping plane. -

-
- - dn899157 - BOOL DepthClipEnable - BOOL DepthClipEnable -
- - -

Specifies whether to enable scissor-rectangle culling. All pixels outside an active scissor rectangle are culled.

-
- - dn899157 - BOOL ScissorEnable - BOOL ScissorEnable -
- - -

Specifies whether to use the quadrilateral or alpha line anti-aliasing algorithm on multisample antialiasing (MSAA) render targets. Set to TRUE to use the quadrilateral line anti-aliasing algorithm and to to use the alpha line anti-aliasing algorithm. For more info about this member, see Remarks.

-
- - dn899157 - BOOL MultisampleEnable - BOOL MultisampleEnable -
- - -

Specifies whether to enable line antialiasing; only applies if doing line drawing and MultisampleEnable is . For more info about this member, see Remarks.

-
- - dn899157 - BOOL AntialiasedLineEnable - BOOL AntialiasedLineEnable -
- - -

The sample count that is forced while UAV rendering or rasterizing. Valid values are 0, 1, 2, 4, 8, and optionally 16. 0 indicates that the sample count is not forced.

Note??

If you want to render with ForcedSampleCount set to 1 or greater, you must follow these guidelines:

  • Don't bind depth-stencil views.
  • Disable depth testing.
  • Ensure the shader doesn't output depth.
  • If you have any render-target views bound () and ForcedSampleCount is greater than 1, ensure that every render target has only a single sample.
  • Don't operate the shader at sample frequency. Therefore, returns .
Otherwise, rendering behavior is undefined. For info about how to configure depth-stencil, see Configuring Depth-Stencil Functionality. ?
-
- - dn899157 - unsigned int ForcedSampleCount - unsigned int ForcedSampleCount -
- - -

A -typed value that identifies whether conservative rasterization is on or off.

-
- - dn899157 - D3D11_CONSERVATIVE_RASTERIZATION_MODE ConservativeRaster - D3D11_CONSERVATIVE_RASTERIZATION_MODE ConservativeRaster -
- - -

Describes the blend state for a render target.

-
- -

You specify an array of structures in the RenderTarget member of the structure to describe the blend states for render targets; you can bind up to eight render targets to the output-merger stage at one time.

For info about how blending is done, see the output-merger stage.

Here are the default values for blend state.

StateDefault Value
BlendEnable
SrcBlend
DestBlend
BlendOp
SrcBlendAlpha
DestBlendAlpha
BlendOpAlpha
RenderTargetWriteMask

?

-
- - ff476200 - D3D11_RENDER_TARGET_BLEND_DESC - D3D11_RENDER_TARGET_BLEND_DESC -
- - -

Enable (or disable) blending.

-
- - ff476200 - BOOL BlendEnable - BOOL BlendEnable -
- - -

This blend option specifies the operation to perform on the RGB value that the pixel shader outputs. The BlendOp member defines how to combine the SrcBlend and DestBlend operations.

-
- - ff476200 - D3D11_BLEND SrcBlend - D3D11_BLEND SrcBlend -
- - -

This blend option specifies the operation to perform on the current RGB value in the render target. The BlendOp member defines how to combine the SrcBlend and DestBlend operations.

-
- - ff476200 - D3D11_BLEND DestBlend - D3D11_BLEND DestBlend -
- - -

This blend operation defines how to combine the SrcBlend and DestBlend operations.

-
- - ff476200 - D3D11_BLEND_OP BlendOp - D3D11_BLEND_OP BlendOp -
- - -

This blend option specifies the operation to perform on the alpha value that the pixel shader outputs. Blend options that end in _COLOR are not allowed. The BlendOpAlpha member defines how to combine the SrcBlendAlpha and DestBlendAlpha operations.

-
- - ff476200 - D3D11_BLEND SrcBlendAlpha - D3D11_BLEND SrcBlendAlpha -
- - -

This blend option specifies the operation to perform on the current alpha value in the render target. Blend options that end in _COLOR are not allowed. The BlendOpAlpha member defines how to combine the SrcBlendAlpha and DestBlendAlpha operations.

-
- - ff476200 - D3D11_BLEND DestBlendAlpha - D3D11_BLEND DestBlendAlpha -
- - -

This blend operation defines how to combine the SrcBlendAlpha and DestBlendAlpha operations.

-
- - ff476200 - D3D11_BLEND_OP BlendOpAlpha - D3D11_BLEND_OP BlendOpAlpha -
- - -

A write mask.

-
- - ff476200 - D3D11_COLOR_WRITE_ENABLE RenderTargetWriteMask - D3D11_COLOR_WRITE_ENABLE RenderTargetWriteMask -
- - - Initializes a new instance of the struct. - - The is blend enabled. - The source blend. - The destination blend. - The blend operation. - The source alpha blend. - The destination alpha blend. - The alpha blend operation. - The render target write mask. - - - - Note??This structure is supported by the Direct3D 11.1 runtime, which is available on Windows?8 and later operating systems.?

Describes the blend state for a render target.

-
- -

You specify an array of structures in the RenderTarget member of the structure to describe the blend states for render targets; you can bind up to eight render targets to the output-merger stage at one time.

For info about how blending is done, see the output-merger stage.

Here are the default values for blend state.

StateDefault Value
BlendEnable
LogicOpEnable
SrcBlend
DestBlend
BlendOp
SrcBlendAlpha
DestBlendAlpha
BlendOpAlpha
LogicOp
RenderTargetWriteMask

?

-
- - hh404492 - D3D11_RENDER_TARGET_BLEND_DESC1 - D3D11_RENDER_TARGET_BLEND_DESC1 -
- - -

Enable (or disable) blending.

-
- - hh404492 - BOOL BlendEnable - BOOL BlendEnable -
- - -

Enable (or disable) a logical operation.

-
- - hh404492 - BOOL LogicOpEnable - BOOL LogicOpEnable -
- - -

This blend option specifies the operation to perform on the RGB value that the pixel shader outputs. The BlendOp member defines how to combine the SrcBlend and DestBlend operations.

-
- - hh404492 - D3D11_BLEND SrcBlend - D3D11_BLEND SrcBlend -
- - -

This blend option specifies the operation to perform on the current RGB value in the render target. The BlendOp member defines how to combine the SrcBlend and DestBlend operations.

-
- - hh404492 - D3D11_BLEND DestBlend - D3D11_BLEND DestBlend -
- - -

This blend operation defines how to combine the SrcBlend and DestBlend operations.

-
- - hh404492 - D3D11_BLEND_OP BlendOp - D3D11_BLEND_OP BlendOp -
- - -

This blend option specifies the operation to perform on the alpha value that the pixel shader outputs. Blend options that end in _COLOR are not allowed. The BlendOpAlpha member defines how to combine the SrcBlendAlpha and DestBlendAlpha operations.

-
- - hh404492 - D3D11_BLEND SrcBlendAlpha - D3D11_BLEND SrcBlendAlpha -
- - -

This blend option specifies the operation to perform on the current alpha value in the render target. Blend options that end in _COLOR are not allowed. The BlendOpAlpha member defines how to combine the SrcBlendAlpha and DestBlendAlpha operations.

-
- - hh404492 - D3D11_BLEND DestBlendAlpha - D3D11_BLEND DestBlendAlpha -
- - -

This blend operation defines how to combine the SrcBlendAlpha and DestBlendAlpha operations.

-
- - hh404492 - D3D11_BLEND_OP BlendOpAlpha - D3D11_BLEND_OP BlendOpAlpha -
- - -

A -typed value that specifies the logical operation to configure for the render target.

-
- - hh404492 - D3D11_LOGIC_OP LogicOp - D3D11_LOGIC_OP LogicOp -
- - -

A write mask.

-
- - hh404492 - D3D11_COLOR_WRITE_ENABLE RenderTargetWriteMask - D3D11_COLOR_WRITE_ENABLE RenderTargetWriteMask -
- - -

Specifies the subresources from a resource that are accessible using a render-target view.

-
- -

A render-target-view description is passed into to create a render target.

A render-target-view cannot use the following formats:

  • Any typeless format.
  • DXGI_FORMAT_R32G32B32 if the view will be used to bind a buffer (vertex, index, constant, or stream-output).

If the format is set to , then the format of the resource that the view binds to the pipeline will be used.

-
- - ff476201 - D3D11_RENDER_TARGET_VIEW_DESC - D3D11_RENDER_TARGET_VIEW_DESC -
- - -

Specifies the elements in a buffer resource to use in a render-target view.

-
- -

A render-target view is a member of a render-target-view description (see ). Create a render-target view by calling .

-
- - ff476093 - D3D11_BUFFER_RTV - D3D11_BUFFER_RTV -
- - -

Number of bytes between the beginning of the buffer and the first element to access.

-
- - ff476093 - unsigned int FirstElement - unsigned int FirstElement -
- - -

The offset of the first element in the view to access, relative to element 0.

-
- - ff476093 - unsigned int ElementOffset - unsigned int ElementOffset -
- - -

The total number of elements in the view.

-
- - ff476093 - unsigned int NumElements - unsigned int NumElements -
- - -

The width of each element (in bytes). This can be determined from the format stored in the render-target-view description.

-
- - ff476093 - unsigned int ElementWidth - unsigned int ElementWidth -
- - -

Specifies the subresource from a 1D texture to use in a render-target view.

-
- -

This structure is one member of a render-target-view description (see ).

-
- - ff476230 - D3D11_TEX1D_RTV - D3D11_TEX1D_RTV -
- - -

The index of the mipmap level to use mip slice.

-
- - ff476230 - unsigned int MipSlice - unsigned int MipSlice -
- - -

Specifies the subresources from an array of 1D textures to use in a render-target view.

-
- -

This structure is one member of a render-target-view description (see ).

-
- - ff476226 - D3D11_TEX1D_ARRAY_RTV - D3D11_TEX1D_ARRAY_RTV -
- - -

The index of the mipmap level to use mip slice.

-
- - ff476226 - unsigned int MipSlice - unsigned int MipSlice -
- - -

The index of the first texture to use in an array of textures.

-
- - ff476226 - unsigned int FirstArraySlice - unsigned int FirstArraySlice -
- - -

Number of textures to use.

-
- - ff476226 - unsigned int ArraySize - unsigned int ArraySize -
- - -

Specifies the subresource from a 2D texture to use in a render-target view.

-
- -

This structure is one member of a render-target-view description (see ).

-
- - ff476244 - D3D11_TEX2D_RTV - D3D11_TEX2D_RTV -
- - -

The index of the mipmap level to use mip slice.

-
- - ff476244 - unsigned int MipSlice - unsigned int MipSlice -
- - -

Specifies the subresource from a multisampled 2D texture to use in a render-target view.

-
- -

Since a multisampled 2D texture contains a single subresource, there is actually nothing to specify in . Consequently, UnusedField_NothingToDefine is included so that this structure will compile in C.

-
- - ff476237 - D3D11_TEX2DMS_RTV - D3D11_TEX2DMS_RTV -
- - -

Integer of any value. See remarks.

-
- - ff476237 - unsigned int UnusedField_NothingToDefine - unsigned int UnusedField_NothingToDefine -
- - -

Specifies the subresources from an array of 2D textures to use in a render-target view.

-
- -

This structure is one member of a render-target-view description (see ).

-
- - ff476240 - D3D11_TEX2D_ARRAY_RTV - D3D11_TEX2D_ARRAY_RTV -
- - -

The index of the mipmap level to use mip slice.

-
- - ff476240 - unsigned int MipSlice - unsigned int MipSlice -
- - -

The index of the first texture to use in an array of textures.

-
- - ff476240 - unsigned int FirstArraySlice - unsigned int FirstArraySlice -
- - -

Number of textures in the array to use in the render target view, starting from FirstArraySlice.

-
- - ff476240 - unsigned int ArraySize - unsigned int ArraySize -
- - -

Specifies the subresources from a an array of multisampled 2D textures to use in a render-target view.

-
- -

This structure is one member of a render-target-view description (see ).

-
- - ff476234 - D3D11_TEX2DMS_ARRAY_RTV - D3D11_TEX2DMS_ARRAY_RTV -
- - -

The index of the first texture to use in an array of textures.

-
- - ff476234 - unsigned int FirstArraySlice - unsigned int FirstArraySlice -
- - -

Number of textures to use.

-
- - ff476234 - unsigned int ArraySize - unsigned int ArraySize -
- - -

Specifies the subresources from a 3D texture to use in a render-target view.

-
- -

This structure is one member of a render target view. See .

-
- - ff476247 - D3D11_TEX3D_RTV - D3D11_TEX3D_RTV -
- - -

The index of the mipmap level to use mip slice.

-
- - ff476247 - unsigned int MipSlice - unsigned int MipSlice -
- - -

First depth level to use.

-
- - ff476247 - unsigned int FirstWSlice - unsigned int FirstWSlice -
- - -

Number of depth levels to use in the render-target view, starting from FirstWSlice. A value of -1 indicates all of the slices along the w axis, starting from FirstWSlice.

-
- - ff476247 - unsigned int WSize - unsigned int WSize -
- - -

The data format (see ).

-
- - ff476201 - DXGI_FORMAT Format - DXGI_FORMAT Format -
- - -

The resource type (see ), which specifies how the render-target resource will be accessed.

-
- - ff476201 - D3D11_RTV_DIMENSION ViewDimension - D3D11_RTV_DIMENSION ViewDimension -
- - -

Specifies which buffer elements can be accessed (see ).

-
- - ff476201 - D3D11_BUFFER_RTV Buffer - D3D11_BUFFER_RTV Buffer -
- - -

Specifies the subresources in a 1D texture that can be accessed (see ).

-
- - ff476201 - D3D11_TEX1D_RTV Texture1D - D3D11_TEX1D_RTV Texture1D -
- - -

Specifies the subresources in a 1D texture array that can be accessed (see ).

-
- - ff476201 - D3D11_TEX1D_ARRAY_RTV Texture1DArray - D3D11_TEX1D_ARRAY_RTV Texture1DArray -
- - -

Specifies the subresources in a 2D texture that can be accessed (see ).

-
- - ff476201 - D3D11_TEX2D_RTV Texture2D - D3D11_TEX2D_RTV Texture2D -
- - -

Specifies the subresources in a 2D texture array that can be accessed (see ).

-
- - ff476201 - D3D11_TEX2D_ARRAY_RTV Texture2DArray - D3D11_TEX2D_ARRAY_RTV Texture2DArray -
- - -

Specifies a single subresource because a multisampled 2D texture only contains one subresource (see ).

-
- - ff476201 - D3D11_TEX2DMS_RTV Texture2DMS - D3D11_TEX2DMS_RTV Texture2DMS -
- - -

Specifies the subresources in a multisampled 2D texture array that can be accessed (see ).

-
- - ff476201 - D3D11_TEX2DMS_ARRAY_RTV Texture2DMSArray - D3D11_TEX2DMS_ARRAY_RTV Texture2DMSArray -
- - -

Specifies subresources in a 3D texture that can be accessed (see ).

-
- - ff476201 - D3D11_TEX3D_RTV Texture3D - D3D11_TEX3D_RTV Texture3D -
- - -

Describes the subresources from a resource that are accessible using a render-target view.

-
- -

A render-target-view description is passed into to create a render target.

A render-target-view can't use the following formats:

  • Any typeless format.
  • DXGI_FORMAT_R32G32B32 if the view will be used to bind a buffer (vertex, index, constant, or stream-output).

If the format is set to , then the format of the resource that the view binds to the pipeline will be used.

-
- - dn899158 - D3D11_RENDER_TARGET_VIEW_DESC1 - D3D11_RENDER_TARGET_VIEW_DESC1 -
- - -

Describes the subresource from a 2D texture to use in a render-target view.

-
- - dn899163 - D3D11_TEX2D_RTV1 - D3D11_TEX2D_RTV1 -
- - -

The index of the mipmap level to use mip slice.

-
- - dn899163 - unsigned int MipSlice - unsigned int MipSlice -
- - -

The index (plane slice number) of the plane to use in the texture.

-
- - dn899163 - unsigned int PlaneSlice - unsigned int PlaneSlice -
- - -

Describes the subresources from an array of 2D textures to use in a render-target view.

-
- - dn899160 - D3D11_TEX2D_ARRAY_RTV1 - D3D11_TEX2D_ARRAY_RTV1 -
- - -

The index of the mipmap level to use mip slice.

-
- - dn899160 - unsigned int MipSlice - unsigned int MipSlice -
- - -

The index of the first texture to use in an array of textures.

-
- - dn899160 - unsigned int FirstArraySlice - unsigned int FirstArraySlice -
- - -

Number of textures in the array to use in the render-target view, starting from FirstArraySlice.

-
- - dn899160 - unsigned int ArraySize - unsigned int ArraySize -
- - -

The index (plane slice number) of the plane to use in an array of textures.

-
- - dn899160 - unsigned int PlaneSlice - unsigned int PlaneSlice -
- - -

A -typed value that specifies the data format.

-
- - dn899158 - DXGI_FORMAT Format - DXGI_FORMAT Format -
- - -

A -typed value that specifies the resource type and how the render-target resource will be accessed.

-
- - dn899158 - D3D11_RTV_DIMENSION ViewDimension - D3D11_RTV_DIMENSION ViewDimension -
- - -

A structure that specifies which buffer elements can be accessed.

-
- - dn899158 - D3D11_BUFFER_RTV Buffer - D3D11_BUFFER_RTV Buffer -
- - -

A structure that specifies the subresources in a 1D texture that can be accessed.

-
- - dn899158 - D3D11_TEX1D_RTV Texture1D - D3D11_TEX1D_RTV Texture1D -
- - -

A structure that specifies the subresources in a 1D texture array that can be accessed.

-
- - dn899158 - D3D11_TEX1D_ARRAY_RTV Texture1DArray - D3D11_TEX1D_ARRAY_RTV Texture1DArray -
- - -

A structure that specifies the subresources in a 2D texture that can be accessed.

-
- - dn899158 - D3D11_TEX2D_RTV1 Texture2D - D3D11_TEX2D_RTV1 Texture2D -
- - -

A structure that specifies the subresources in a 2D texture array that can be accessed.

-
- - dn899158 - D3D11_TEX2D_ARRAY_RTV1 Texture2DArray - D3D11_TEX2D_ARRAY_RTV1 Texture2DArray -
- - -

A structure that specifies a single subresource because a multisampled 2D texture only contains one subresource.

-
- - dn899158 - D3D11_TEX2DMS_RTV Texture2DMS - D3D11_TEX2DMS_RTV Texture2DMS -
- - -

A structure that specifies the subresources in a multisampled 2D texture array that can be accessed.

-
- - dn899158 - D3D11_TEX2DMS_ARRAY_RTV Texture2DMSArray - D3D11_TEX2DMS_ARRAY_RTV Texture2DMSArray -
- - -

A structure that specifies subresources in a 3D texture that can be accessed.

-
- - dn899158 - D3D11_TEX3D_RTV Texture3D - D3D11_TEX3D_RTV Texture3D -
- - -

Defines a 3D box.

-
- -

The following diagram shows a 3D box, where the origin is the left, front, top corner.

The values for right, bottom, and back are each one pixel past the end of the pixels that are included in the box region. That is, the values for left, top, and front are included in the box region while the values for right, bottom, and back are excluded from the box region. For example, for a box that is one pixel wide, (right - left) == 1; the box region includes the left pixel but not the right pixel.

Coordinates of a box are in bytes for buffers and in texels for textures.

-
- - ff476089 - D3D11_BOX - D3D11_BOX -
- - -

The x position of the left hand side of the box.

-
- - ff476089 - unsigned int left - unsigned int left -
- - -

The y position of the top of the box.

-
- - ff476089 - unsigned int top - unsigned int top -
- - -

The z position of the front of the box.

-
- - ff476089 - unsigned int front - unsigned int front -
- - -

The x position of the right hand side of the box.

-
- - ff476089 - unsigned int right - unsigned int right -
- - -

The y position of the bottom of the box.

-
- - ff476089 - unsigned int bottom - unsigned int bottom -
- - -

The z position of the back of the box.

-
- - ff476089 - unsigned int back - unsigned int back -
- - - Initialize a new instance of struct. - - Left coordinates (inclusive) - Top coordinates (inclusive) - Front coordinates (inclusive) - Right coordinates (exclusive) - Bottom coordinates (exclusive) - Back coordinates (exclusive) - -
    -
  • For a Width of 1 pixels, (right - left) = 1. If left = 0, right = Width.
  • -
  • For a Height of 1 pixels, (bottom - top) = 1. If top = 0, bottom = Height.
  • -
  • For a Depth of 1 pixels, (back - front) = 1. If front = 0, back = Depth.
  • -
-
-
- - -

Describes a sampler state.

-
- -

These are the default values for sampler state.

StateDefault Value
Filter
AddressU
AddressV
AddressW
MinLOD-3.402823466e+38F (-FLT_MAX)
MaxLOD3.402823466e+38F (FLT_MAX)
MipMapLODBias0.0f
MaxAnisotropy1
ComparisonFunc
BorderColorfloat4(1.0f,1.0f,1.0f,1.0f)
TextureN/A

?

-
- - ff476207 - D3D11_SAMPLER_DESC - D3D11_SAMPLER_DESC -
- - -

Filtering method to use when sampling a texture (see ).

-
- - ff476207 - D3D11_FILTER Filter - D3D11_FILTER Filter -
- - -

Method to use for resolving a u texture coordinate that is outside the 0 to 1 range (see ).

-
- - ff476207 - D3D11_TEXTURE_ADDRESS_MODE AddressU - D3D11_TEXTURE_ADDRESS_MODE AddressU -
- - -

Method to use for resolving a v texture coordinate that is outside the 0 to 1 range.

-
- - ff476207 - D3D11_TEXTURE_ADDRESS_MODE AddressV - D3D11_TEXTURE_ADDRESS_MODE AddressV -
- - -

Method to use for resolving a w texture coordinate that is outside the 0 to 1 range.

-
- - ff476207 - D3D11_TEXTURE_ADDRESS_MODE AddressW - D3D11_TEXTURE_ADDRESS_MODE AddressW -
- - -

Offset from the calculated mipmap level. For example, if Direct3D calculates that a texture should be sampled at mipmap level 3 and MipLODBias is 2, then the texture will be sampled at mipmap level 5.

-
- - ff476207 - float MipLODBias - float MipLODBias -
- - -

Clamping value used if or is specified in Filter. Valid values are between 1 and 16.

-
- - ff476207 - unsigned int MaxAnisotropy - unsigned int MaxAnisotropy -
- - -

A function that compares sampled data against existing sampled data. The function options are listed in .

-
- - ff476207 - D3D11_COMPARISON_FUNC ComparisonFunc - D3D11_COMPARISON_FUNC ComparisonFunc -
- - -

Border color to use if is specified for AddressU, AddressV, or AddressW. Range must be between 0.0 and 1.0 inclusive.

-
- - ff476207 - SHARPDX_COLOR4 BorderColor - SHARPDX_COLOR4 BorderColor -
- - -

Lower end of the mipmap range to clamp access to, where 0 is the largest and most detailed mipmap level and any level higher than that is less detailed.

-
- - ff476207 - float MinLOD - float MinLOD -
- - -

Upper end of the mipmap range to clamp access to, where 0 is the largest and most detailed mipmap level and any level higher than that is less detailed. This value must be greater than or equal to MinLOD. To have no upper limit on LOD set this to a large value such as D3D11_FLOAT32_MAX.

-
- - ff476207 - float MaxLOD - float MaxLOD -
- - - Returns default values for . - - - See MSDN documentation for default values. - - - - -

Describes a shader-resource view.

-
- -

A view is a format-specific way to look at the data in a resource. The view determines what data to look at, and how it is cast when read.

When viewing a resource, the resource-view description must specify a typed format, that is compatible with the resource format. So that means that you cannot create a resource-view description using any format with _TYPELESS in the name. You can however view a typeless resource by specifying a typed format for the view. For example, a resource can be viewed with one of these typed formats: , , and , since these typed formats are compatible with the typeless resource.

Create a shader-resource-view description by calling . To view a shader-resource-view description, call .

-
- - ff476211 - D3D11_SHADER_RESOURCE_VIEW_DESC - D3D11_SHADER_RESOURCE_VIEW_DESC -
- - -

Specifies the elements in a buffer resource to use in a shader-resource view.

-
- -

The structure is a member of the structure, which represents a shader-resource view description. You can create a shader-resource view by calling the method.

-
- - ff476094 - D3D11_BUFFER_SRV - D3D11_BUFFER_SRV -
- - -

Number of bytes between the beginning of the buffer and the first element to access.

-
- - ff476094 - unsigned int FirstElement - unsigned int FirstElement -
- - -

The offset of the first element in the view to access, relative to element 0.

-
- - ff476094 - unsigned int ElementOffset - unsigned int ElementOffset -
- - -

The total number of elements in the view.

-
- - ff476094 - unsigned int NumElements - unsigned int NumElements -
- - -

The width of each element (in bytes). This can be determined from the format stored in the shader-resource-view description.

-
- - ff476094 - unsigned int ElementWidth - unsigned int ElementWidth -
- - -

Describes the elements in a raw buffer resource to use in a shader-resource view.

-
- -

This structure is used by to create a raw view of a buffer.

-
- - ff476090 - D3D11_BUFFEREX_SRV - D3D11_BUFFEREX_SRV -
- - -

The index of the first element to be accessed by the view.

-
- - ff476090 - unsigned int FirstElement - unsigned int FirstElement -
- - -

The number of elements in the resource.

-
- - ff476090 - unsigned int NumElements - unsigned int NumElements -
- - -

A -typed value that identifies view options for the buffer. Currently, the only option is to identify a raw view of the buffer. For more info about raw viewing of buffers, see Raw Views of Buffers.

-
- - ff476090 - D3D11_BUFFEREX_SRV_FLAG Flags - D3D11_BUFFEREX_SRV_FLAG Flags -
- - -

Specifies the subresource from a 1D texture to use in a shader-resource view.

-
- -

This structure is one member of a shader-resource-view description (see ).

As an example, assuming MostDetailedMip = 6 and MipLevels = 2, the view will have access to 2 mipmap levels, 6 and 7, of the original texture for which creates the view. In this situation, MostDetailedMip is greater than the MipLevels in the view. However, MostDetailedMip is not greater than the MipLevels in the original resource.

-
- - ff476231 - D3D11_TEX1D_SRV - D3D11_TEX1D_SRV -
- - -

Index of the most detailed mipmap level to use; this number is between 0 and MipLevels (from the original Texture1D for which creates a view) -1.

-
- - ff476231 - unsigned int MostDetailedMip - unsigned int MostDetailedMip -
- - -

The maximum number of mipmap levels for the view of the texture. See the remarks.

Set to -1 to indicate all the mipmap levels from MostDetailedMip on down to least detailed.

-
- - ff476231 - unsigned int MipLevels - unsigned int MipLevels -
- - -

Specifies the subresources from an array of 1D textures to use in a shader-resource view.

-
- -

This structure is one member of a shader-resource-view description (see ).

-
- - ff476227 - D3D11_TEX1D_ARRAY_SRV - D3D11_TEX1D_ARRAY_SRV -
- - -

Index of the most detailed mipmap level to use; this number is between 0 and MipLevels (from the original Texture1D for which creates a view) -1.

-
- - ff476227 - unsigned int MostDetailedMip - unsigned int MostDetailedMip -
- - -

The maximum number of mipmap levels for the view of the texture. See the remarks in .

Set to -1 to indicate all the mipmap levels from MostDetailedMip on down to least detailed.

-
- - ff476227 - unsigned int MipLevels - unsigned int MipLevels -
- - -

The index of the first texture to use in an array of textures.

-
- - ff476227 - unsigned int FirstArraySlice - unsigned int FirstArraySlice -
- - -

Number of textures in the array.

-
- - ff476227 - unsigned int ArraySize - unsigned int ArraySize -
- - -

Specifies the subresource from a 2D texture to use in a shader-resource view.

-
- -

This structure is one member of a shader-resource-view description (see ).

-
- - ff476245 - D3D11_TEX2D_SRV - D3D11_TEX2D_SRV -
- - -

Index of the most detailed mipmap level to use; this number is between 0 and MipLevels (from the original Texture2D for which creates a view) -1.

-
- - ff476245 - unsigned int MostDetailedMip - unsigned int MostDetailedMip -
- - -

The maximum number of mipmap levels for the view of the texture. See the remarks in .

Set to -1 to indicate all the mipmap levels from MostDetailedMip on down to least detailed.

-
- - ff476245 - unsigned int MipLevels - unsigned int MipLevels -
- - -

Specifies the subresources from an array of 2D textures to use in a shader-resource view.

-
- -

This structure is one member of a shader-resource-view description (see ).

-
- - ff476241 - D3D11_TEX2D_ARRAY_SRV - D3D11_TEX2D_ARRAY_SRV -
- - -

Index of the most detailed mipmap level to use; this number is between 0 and MipLevels (from the original Texture2D for which creates a view) -1.

-
- - ff476241 - unsigned int MostDetailedMip - unsigned int MostDetailedMip -
- - -

The maximum number of mipmap levels for the view of the texture. See the remarks in .

Set to -1 to indicate all the mipmap levels from MostDetailedMip on down to least detailed.

-
- - ff476241 - unsigned int MipLevels - unsigned int MipLevels -
- - -

The index of the first texture to use in an array of textures.

-
- - ff476241 - unsigned int FirstArraySlice - unsigned int FirstArraySlice -
- - -

Number of textures in the array.

-
- - ff476241 - unsigned int ArraySize - unsigned int ArraySize -
- - -

Specifies the subresources from a 3D texture to use in a shader-resource view.

-
- -

This structure is one member of a shader-resource-view description (see ).

-
- - ff476248 - D3D11_TEX3D_SRV - D3D11_TEX3D_SRV -
- - -

Index of the most detailed mipmap level to use; this number is between 0 and MipLevels (from the original Texture3D for which creates a view) -1.

-
- - ff476248 - unsigned int MostDetailedMip - unsigned int MostDetailedMip -
- - -

The maximum number of mipmap levels for the view of the texture. See the remarks in .

Set to -1 to indicate all the mipmap levels from MostDetailedMip on down to least detailed.

-
- - ff476248 - unsigned int MipLevels - unsigned int MipLevels -
- - -

Specifies the subresource from a cube texture to use in a shader-resource view.

-
- -

This structure is one member of a shader-resource-view description (see ).

-
- - ff476251 - D3D11_TEXCUBE_SRV - D3D11_TEXCUBE_SRV -
- - -

Index of the most detailed mipmap level to use; this number is between 0 and MipLevels (from the original TextureCube for which creates a view) -1.

-
- - ff476251 - unsigned int MostDetailedMip - unsigned int MostDetailedMip -
- - -

The maximum number of mipmap levels for the view of the texture. See the remarks in .

Set to -1 to indicate all the mipmap levels from MostDetailedMip on down to least detailed.

-
- - ff476251 - unsigned int MipLevels - unsigned int MipLevels -
- - -

Specifies the subresources from an array of cube textures to use in a shader-resource view.

-
- -

This structure is one member of a shader-resource-view description (see ).

-
- - ff476250 - D3D11_TEXCUBE_ARRAY_SRV - D3D11_TEXCUBE_ARRAY_SRV -
- - -

Index of the most detailed mipmap level to use; this number is between 0 and MipLevels (from the original TextureCube for which creates a view) -1.

-
- - ff476250 - unsigned int MostDetailedMip - unsigned int MostDetailedMip -
- - -

The maximum number of mipmap levels for the view of the texture. See the remarks in .

Set to -1 to indicate all the mipmap levels from MostDetailedMip on down to least detailed.

-
- - ff476250 - unsigned int MipLevels - unsigned int MipLevels -
- - -

Index of the first 2D texture to use.

-
- - ff476250 - unsigned int First2DArrayFace - unsigned int First2DArrayFace -
- - -

Number of cube textures in the array.

-
- - ff476250 - unsigned int NumCubes - unsigned int NumCubes -
- - -

Specifies the subresources from a multisampled 2D texture to use in a shader-resource view.

-
- -

Since a multisampled 2D texture contains a single subresource, there is actually nothing to specify in . Consequently, UnusedField_NothingToDefine is included so that this structure will compile in C.

-
- - ff476238 - D3D11_TEX2DMS_SRV - D3D11_TEX2DMS_SRV -
- - -

Integer of any value. See remarks.

-
- - ff476238 - unsigned int UnusedField_NothingToDefine - unsigned int UnusedField_NothingToDefine -
- - -

Specifies the subresources from an array of multisampled 2D textures to use in a shader-resource view.

-
- -

This structure is one member of a shader-resource-view description (see ).

-
- - ff476235 - D3D11_TEX2DMS_ARRAY_SRV - D3D11_TEX2DMS_ARRAY_SRV -
- - -

The index of the first texture to use in an array of textures.

-
- - ff476235 - unsigned int FirstArraySlice - unsigned int FirstArraySlice -
- - -

Number of textures to use.

-
- - ff476235 - unsigned int ArraySize - unsigned int ArraySize -
- - -

A specifying the viewing format. See remarks.

-
- - ff476211 - DXGI_FORMAT Format - DXGI_FORMAT Format -
- - -

The resource type of the view. See D3D11_SRV_DIMENSION. This should be the same as the resource type of the underlying resource. This parameter also determines which _SRV to use in the union below.

-
- - ff476211 - D3D_SRV_DIMENSION ViewDimension - D3D_SRV_DIMENSION ViewDimension -
- - -

View the resource as a buffer using information from a shader-resource view (see ).

-
- - ff476211 - D3D11_BUFFER_SRV Buffer - D3D11_BUFFER_SRV Buffer -
- - -

View the resource as a 1D texture using information from a shader-resource view (see ).

-
- - ff476211 - D3D11_TEX1D_SRV Texture1D - D3D11_TEX1D_SRV Texture1D -
- - -

View the resource as a 1D-texture array using information from a shader-resource view (see ).

-
- - ff476211 - D3D11_TEX1D_ARRAY_SRV Texture1DArray - D3D11_TEX1D_ARRAY_SRV Texture1DArray -
- - -

View the resource as a 2D-texture using information from a shader-resource view (see ).

-
- - ff476211 - D3D11_TEX2D_SRV Texture2D - D3D11_TEX2D_SRV Texture2D -
- - -

View the resource as a 2D-texture array using information from a shader-resource view (see ).

-
- - ff476211 - D3D11_TEX2D_ARRAY_SRV Texture2DArray - D3D11_TEX2D_ARRAY_SRV Texture2DArray -
- - -

View the resource as a 2D-multisampled texture using information from a shader-resource view (see ).

-
- - ff476211 - D3D11_TEX2DMS_SRV Texture2DMS - D3D11_TEX2DMS_SRV Texture2DMS -
- - -

View the resource as a 2D-multisampled-texture array using information from a shader-resource view (see ).

-
- - ff476211 - D3D11_TEX2DMS_ARRAY_SRV Texture2DMSArray - D3D11_TEX2DMS_ARRAY_SRV Texture2DMSArray -
- - -

View the resource as a 3D texture using information from a shader-resource view (see ).

-
- - ff476211 - D3D11_TEX3D_SRV Texture3D - D3D11_TEX3D_SRV Texture3D -
- - -

View the resource as a 3D-cube texture using information from a shader-resource view (see ).

-
- - ff476211 - D3D11_TEXCUBE_SRV TextureCube - D3D11_TEXCUBE_SRV TextureCube -
- - -

View the resource as a 3D-cube-texture array using information from a shader-resource view (see ).

-
- - ff476211 - D3D11_TEXCUBE_ARRAY_SRV TextureCubeArray - D3D11_TEXCUBE_ARRAY_SRV TextureCubeArray -
- - -

View the resource as a raw buffer using information from a shader-resource view (see ). For more info about raw viewing of buffers, see Raw Views of Buffers.

-
- - ff476211 - D3D11_BUFFEREX_SRV BufferEx - D3D11_BUFFEREX_SRV BufferEx -
- - -

Describes a shader-resource view.

-
- -

A view is a format-specific way to look at the data in a resource. The view determines what data to look at, and how it is cast when read.

When viewing a resource, the resource-view description must specify a typed format, that is compatible with the resource format. So that means that you cannot create a resource-view description using any format with _TYPELESS in the name. You can however view a typeless resource by specifying a typed format for the view. For example, a resource can be viewed with one of these typed formats: , , and , since these typed formats are compatible with the typeless resource.

Create a shader-resource-view description by calling . To view a shader-resource-view description, call .

-
- - dn899159 - D3D11_SHADER_RESOURCE_VIEW_DESC1 - D3D11_SHADER_RESOURCE_VIEW_DESC1 -
- - -

Describes the subresource from a 2D texture to use in a shader-resource view.

-
- - dn899164 - D3D11_TEX2D_SRV1 - D3D11_TEX2D_SRV1 -
- - -

Index of the most detailed mipmap level to use; this number is between 0 and (MipLevels (from the original Texture2D for which creates a view) - 1 ).

-
- - dn899164 - unsigned int MostDetailedMip - unsigned int MostDetailedMip -
- - -

The maximum number of mipmap levels for the view of the texture. See the remarks in .

Set to -1 to indicate all the mipmap levels from MostDetailedMip on down to least detailed.

-
- - dn899164 - unsigned int MipLevels - unsigned int MipLevels -
- - -

The index (plane slice number) of the plane to use in the texture.

-
- - dn899164 - unsigned int PlaneSlice - unsigned int PlaneSlice -
- - -

Describes the subresources from an array of 2D textures to use in a shader-resource view.

-
- - dn899161 - D3D11_TEX2D_ARRAY_SRV1 - D3D11_TEX2D_ARRAY_SRV1 -
- - -

Index of the most detailed mipmap level to use; this number is between 0 and ( MipLevels (from the original Texture2D for which creates a view) - 1).

-
- - dn899161 - unsigned int MostDetailedMip - unsigned int MostDetailedMip -
- - -

The maximum number of mipmap levels for the view of the texture. See the remarks in .

Set to -1 to indicate all the mipmap levels from MostDetailedMip on down to least detailed.

-
- - dn899161 - unsigned int MipLevels - unsigned int MipLevels -
- - -

The index of the first texture to use in an array of textures.

-
- - dn899161 - unsigned int FirstArraySlice - unsigned int FirstArraySlice -
- - -

Number of textures in the array.

-
- - dn899161 - unsigned int ArraySize - unsigned int ArraySize -
- - -

The index (plane slice number) of the plane to use in an array of textures.

-
- - dn899161 - unsigned int PlaneSlice - unsigned int PlaneSlice -
- - -

A -typed value that specifies the viewing format. See remarks.

-
- - dn899159 - DXGI_FORMAT Format - DXGI_FORMAT Format -
- - -

A D3D11_SRV_DIMENSION-typed value that specifies the resource type of the view. This type is the same as the resource type of the underlying resource. This member also determines which _SRV to use in the union below.

-
- - dn899159 - D3D_SRV_DIMENSION ViewDimension - D3D_SRV_DIMENSION ViewDimension -
- - -

A structure that views the resource as a buffer.

-
- - dn899159 - D3D11_BUFFER_SRV Buffer - D3D11_BUFFER_SRV Buffer -
- - -

A structure that views the resource as a 1D texture.

-
- - dn899159 - D3D11_TEX1D_SRV Texture1D - D3D11_TEX1D_SRV Texture1D -
- - -

A structure that views the resource as a 1D-texture array.

-
- - dn899159 - D3D11_TEX1D_ARRAY_SRV Texture1DArray - D3D11_TEX1D_ARRAY_SRV Texture1DArray -
- - -

A structure that views the resource as a 2D-texture.

-
- - dn899159 - D3D11_TEX2D_SRV1 Texture2D - D3D11_TEX2D_SRV1 Texture2D -
- - -

A structure that views the resource as a 2D-texture array.

-
- - dn899159 - D3D11_TEX2D_ARRAY_SRV1 Texture2DArray - D3D11_TEX2D_ARRAY_SRV1 Texture2DArray -
- - -

A structure that views the resource as a 2D-multisampled texture.

-
- - dn899159 - D3D11_TEX2DMS_SRV Texture2DMS - D3D11_TEX2DMS_SRV Texture2DMS -
- - -

A structure that views the resource as a 2D-multisampled-texture array.

-
- - dn899159 - D3D11_TEX2DMS_ARRAY_SRV Texture2DMSArray - D3D11_TEX2DMS_ARRAY_SRV Texture2DMSArray -
- - -

A structure that views the resource as a 3D texture.

-
- - dn899159 - D3D11_TEX3D_SRV Texture3D - D3D11_TEX3D_SRV Texture3D -
- - -

A structure that views the resource as a 3D-cube texture.

-
- - dn899159 - D3D11_TEXCUBE_SRV TextureCube - D3D11_TEXCUBE_SRV TextureCube -
- - -

A structure that views the resource as a 3D-cube-texture array.

-
- - dn899159 - D3D11_TEXCUBE_ARRAY_SRV TextureCubeArray - D3D11_TEXCUBE_ARRAY_SRV TextureCubeArray -
- - -

A structure that views the resource as a raw buffer. For more info about raw viewing of buffers, see Raw Views of Buffers.

-
- - dn899159 - D3D11_BUFFEREX_SRV BufferEx - D3D11_BUFFEREX_SRV BufferEx -
- - -

Description of a vertex element in a vertex buffer in an output slot.

-
- - ff476216 - D3D11_SO_DECLARATION_ENTRY - D3D11_SO_DECLARATION_ENTRY -
- - -

Zero-based, stream number.

-
- - ff476216 - unsigned int Stream - unsigned int Stream -
- - -

Type of output element; possible values include: "POSITION", "NORMAL", or "TEXCOORD0". Note that if SemanticName is null then ComponentCount can be greater than 4 and the described entry will be a gap in the stream out where no data will be written.

-
- - ff476216 - const char* SemanticName - char SemanticName -
- - -

Output element's zero-based index. Should be used if, for example, you have more than one texture coordinate stored in each vertex.

-
- - ff476216 - unsigned int SemanticIndex - unsigned int SemanticIndex -
- - -

Which component of the entry to begin writing out to. Valid values are 0 to 3. For example, if you only wish to output to the y and z components of a position, then StartComponent should be 1 and ComponentCount should be 2.

-
- - ff476216 - unsigned char StartComponent - unsigned char StartComponent -
- - -

The number of components of the entry to write out to. Valid values are 1 to 4. For example, if you only wish to output to the y and z components of a position, then StartComponent should be 1 and ComponentCount should be 2. Note that if SemanticName is null then ComponentCount can be greater than 4 and the described entry will be a gap in the stream out where no data will be written.

-
- - ff476216 - unsigned char ComponentCount - unsigned char ComponentCount -
- - -

The associated stream output buffer that is bound to the pipeline (see ). The valid range for OutputSlot is 0 to 3.

-
- - ff476216 - unsigned char OutputSlot - unsigned char OutputSlot -
- - - Initializes a new instance of the struct. - - Zero-based, stream number - Name of the semantic. - Index of the semantic. - The start component. - The component count. - The output slot. - - - -

Query information about the amount of data streamed out to the stream-output buffers in between and .

-
- - ff476193 - D3D11_QUERY_DATA_SO_STATISTICS - D3D11_QUERY_DATA_SO_STATISTICS -
- - - No documentation. - - - ff476193 - unsigned longlong NumPrimitivesWritten - unsigned longlong NumPrimitivesWritten - - - - No documentation. - - - ff476193 - unsigned longlong PrimitivesStorageNeeded - unsigned longlong PrimitivesStorageNeeded - - - -

Describes a tiled subresource volume.

-
- -

Each packed mipmap is individually reported as 0 for WidthInTiles, HeightInTiles and DepthInTiles. -

The total number of tiles in subresources is WidthInTiles*HeightInTiles*DepthInTiles.

-
- - dn280434 - D3D11_SUBRESOURCE_TILING - D3D11_SUBRESOURCE_TILING -
- - -

The width in tiles of the subresource.

-
- - dn280434 - unsigned int WidthInTiles - unsigned int WidthInTiles -
- - -

The height in tiles of the subresource.

-
- - dn280434 - unsigned short HeightInTiles - unsigned short HeightInTiles -
- - -

The depth in tiles of the subresource.

-
- - dn280434 - unsigned short DepthInTiles - unsigned short DepthInTiles -
- - -

The index of the tile in the overall tiled subresource to start with.

GetResourceTiling sets StartTileIndexInOverallResource to D3D11_PACKED_TILE (0xffffffff) to indicate that the whole - structure is meaningless, and the info to which the pPackedMipDesc parameter of GetResourceTiling points applies. For packed tiles, the description of the packed mipmaps comes from a structure instead. -

-
- - dn280434 - unsigned int StartTileIndexInOverallResource - unsigned int StartTileIndexInOverallResource -
- - -

Describes a 1D texture.

-
- -

This structure is used in a call to .

In addition to this structure, you can also use the CD3D11_TEXTURE1D_DESC derived structure, which is defined in D3D11.h and behaves like an inherited class, to help create a texture description.

The texture size range is determined by the feature level at which you create the device and not the Microsoft Direct3D interface version. For example, if you use Microsoft Direct3D?10 hardware at feature level 10 () and call to create an , you must constrain the maximum texture size to D3D10_REQ_TEXTURE1D_U_DIMENSION (8192) when you create your 1D texture.

-
- - ff476252 - D3D11_TEXTURE1D_DESC - D3D11_TEXTURE1D_DESC -
- - -

Texture width (in texels). The range is from 1 to (16384). However, the range is actually constrained by the feature level at which you create the rendering device. For more information about restrictions, see Remarks.

-
- - ff476252 - unsigned int Width - unsigned int Width -
- - -

The maximum number of mipmap levels in the texture. See the remarks in . Use 1 for a multisampled texture; or 0 to generate a full set of subtextures.

-
- - ff476252 - unsigned int MipLevels - unsigned int MipLevels -
- - -

Number of textures in the array. The range is from 1 to (2048). However, the range is actually constrained by the feature level at which you create the rendering device. For more information about restrictions, see Remarks.

-
- - ff476252 - unsigned int ArraySize - unsigned int ArraySize -
- - -

Texture format (see ).

-
- - ff476252 - DXGI_FORMAT Format - DXGI_FORMAT Format -
- - -

Value that identifies how the texture is to be read from and written to. The most common value is ; see for all possible values.

-
- - ff476252 - D3D11_USAGE Usage - D3D11_USAGE Usage -
- - -

Flags (see ) for binding to pipeline stages. The flags can be combined by a logical OR. For a 1D texture, the allowable values are: , and .

-
- - ff476252 - D3D11_BIND_FLAG BindFlags - D3D11_BIND_FLAG BindFlags -
- - -

Flags (see ) to specify the types of CPU access allowed. Use 0 if CPU access is not required. These flags can be combined with a logical OR.

-
- - ff476252 - D3D11_CPU_ACCESS_FLAG CPUAccessFlags - D3D11_CPU_ACCESS_FLAG CPUAccessFlags -
- - -

Flags (see ) that identify other, less common resource options. Use 0 if none of these flags apply. These flags can be combined with a logical OR.

-
- - ff476252 - D3D11_RESOURCE_MISC_FLAG MiscFlags - D3D11_RESOURCE_MISC_FLAG MiscFlags -
- - -

Identifies a texture resource for a video processor output view.

-
- - hh447632 - D3D11_TEX2D_ARRAY_VPOV - D3D11_TEX2D_ARRAY_VPOV -
- - -

The zero-based index into the array of subtextures.

-
- - hh447632 - unsigned int MipSlice - unsigned int MipSlice -
- - -

The index of the first texture to use.

-
- - hh447632 - unsigned int FirstArraySlice - unsigned int FirstArraySlice -
- - -

The number of textures in the array.

-
- - hh447632 - unsigned int ArraySize - unsigned int ArraySize -
- - -

Describes a 2D texture.

-
- -

This structure is used in a call to .

In addition to this structure, you can also use the CD3D11_TEXTURE2D_DESC derived structure, which is defined in D3D11.h and behaves like an inherited class, to help create a texture description.

The device places some size restrictions (must be multiples of a minimum size) for a subsampled, block compressed, or bit-format resource.

The texture size range is determined by the feature level at which you create the device and not the Microsoft Direct3D interface version. For example, if you use Microsoft Direct3D?10 hardware at feature level 10 () and call to create an , you must constrain the maximum texture size to D3D10_REQ_TEXTURE2D_U_OR_V_DIMENSION (8192) when you create your 2D texture.

-
- - ff476253 - D3D11_TEXTURE2D_DESC - D3D11_TEXTURE2D_DESC -
- - -

Texture width (in texels). The range is from 1 to (16384). For a texture cube-map, the range is from 1 to (16384). However, the range is actually constrained by the feature level at which you create the rendering device. For more information about restrictions, see Remarks.

-
- - ff476253 - unsigned int Width - unsigned int Width -
- - -

Texture height (in texels). The range is from 1 to (16384). For a texture cube-map, the range is from 1 to (16384). However, the range is actually constrained by the feature level at which you create the rendering device. For more information about restrictions, see Remarks.

-
- - ff476253 - unsigned int Height - unsigned int Height -
- - -

The maximum number of mipmap levels in the texture. See the remarks in . Use 1 for a multisampled texture; or 0 to generate a full set of subtextures.

-
- - ff476253 - unsigned int MipLevels - unsigned int MipLevels -
- - -

Number of textures in the texture array. The range is from 1 to (2048). For a texture cube-map, this value is a multiple of 6 (that is, 6 times the value in the NumCubes member of ), and the range is from 6 to 2046. The range is actually constrained by the feature level at which you create the rendering device. For more information about restrictions, see Remarks.

-
- - ff476253 - unsigned int ArraySize - unsigned int ArraySize -
- - -

Texture format (see ).

-
- - ff476253 - DXGI_FORMAT Format - DXGI_FORMAT Format -
- - -

Structure that specifies multisampling parameters for the texture. See .

-
- - ff476253 - DXGI_SAMPLE_DESC SampleDesc - DXGI_SAMPLE_DESC SampleDesc -
- - -

Value that identifies how the texture is to be read from and written to. The most common value is ; see for all possible values.

-
- - ff476253 - D3D11_USAGE Usage - D3D11_USAGE Usage -
- - -

Flags (see ) for binding to pipeline stages. The flags can be combined by a logical OR.

-
- - ff476253 - D3D11_BIND_FLAG BindFlags - D3D11_BIND_FLAG BindFlags -
- - -

Flags (see ) to specify the types of CPU access allowed. Use 0 if CPU access is not required. These flags can be combined with a logical OR.

-
- - ff476253 - D3D11_CPU_ACCESS_FLAG CPUAccessFlags - D3D11_CPU_ACCESS_FLAG CPUAccessFlags -
- - -

Flags (see ) that identify other, less common resource options. Use 0 if none of these flags apply. These flags can be combined by using a logical OR. For a texture cube-map, set the flag. Cube-map arrays (that is, ArraySize > 6) require feature level or higher.

-
- - ff476253 - D3D11_RESOURCE_MISC_FLAG MiscFlags - D3D11_RESOURCE_MISC_FLAG MiscFlags -
- - -

Describes a 2D texture.

-
- -

This structure is used in a call to .

In addition to this structure, you can also use the CD3D11_TEXTURE2D_DESC1 derived structure, which is defined in D3D11_3.h and behaves like an inherited class, to help create a texture description.

The device places some size restrictions (must be multiples of a minimum size) for a subsampled, block compressed, or bit-format resource.

The texture size range is determined by the feature level at which you create the device and not the Microsoft Direct3D interface version. For example, if you use Microsoft Direct3D?10 hardware at feature level 10 () and call to create an , you must constrain the maximum texture size to D3D10_REQ_TEXTURE2D_U_OR_V_DIMENSION (8192) when you create your 2D texture.

-
- - dn899166 - D3D11_TEXTURE2D_DESC1 - D3D11_TEXTURE2D_DESC1 -
- - -

Texture width (in texels). The range is from 1 to (16384). For a texture cube-map, the range is from 1 to (16384). However, the range is actually constrained by the feature level at which you create the rendering device. For more information about restrictions, see Remarks.

-
- - dn899166 - unsigned int Width - unsigned int Width -
- - -

Texture height (in texels). The range is from 1 to (16384). For a texture cube-map, the range is from 1 to (16384). However, the range is actually constrained by the feature level at which you create the rendering device. For more information about restrictions, see Remarks.

-
- - dn899166 - unsigned int Height - unsigned int Height -
- - -

The maximum number of mipmap levels in the texture. See the remarks in . Use 1 for a multisampled texture; or 0 to generate a full set of subtextures.

-
- - dn899166 - unsigned int MipLevels - unsigned int MipLevels -
- - -

Number of textures in the texture array. The range is from 1 to (2048). For a texture cube-map, this value is a multiple of 6 (that is, 6 times the value in the NumCubes member of ), and the range is from 6 to 2046. The range is actually constrained by the feature level at which you create the rendering device. For more information about restrictions, see Remarks.

-
- - dn899166 - unsigned int ArraySize - unsigned int ArraySize -
- - -

Texture format (see ).

-
- - dn899166 - DXGI_FORMAT Format - DXGI_FORMAT Format -
- - -

Structure that specifies multisampling parameters for the texture. See .

-
- - dn899166 - DXGI_SAMPLE_DESC SampleDesc - DXGI_SAMPLE_DESC SampleDesc -
- - -

Value that identifies how the texture is to be read from and written to. The most common value is ; see for all possible values.

-
- - dn899166 - D3D11_USAGE Usage - D3D11_USAGE Usage -
- - -

Flags (see ) for binding to pipeline stages. The flags can be combined by a logical OR.

-
- - dn899166 - D3D11_BIND_FLAG BindFlags - D3D11_BIND_FLAG BindFlags -
- - -

Flags (see ) to specify the types of CPU access allowed. Use 0 if CPU access is not required. These flags can be combined with a logical OR.

-
- - dn899166 - D3D11_CPU_ACCESS_FLAG CPUAccessFlags - D3D11_CPU_ACCESS_FLAG CPUAccessFlags -
- - -

Flags (see ) that identify other, less common resource options. Use 0 if none of these flags apply. These flags can be combined by using a logical OR. For a texture cube-map, set the flag. Cube-map arrays (that is, ArraySize > 6) require feature level or higher.

-
- - dn899166 - D3D11_RESOURCE_MISC_FLAG MiscFlags - D3D11_RESOURCE_MISC_FLAG MiscFlags -
- - -

A -typed value that identifies the layout of the texture.

The TextureLayout parameter selects both the actual layout of the texture in memory and the layout visible to the application while the texture is mapped. These flags may not be requested without CPU access also requested.

It is illegal to set CPU access flags on default textures without also setting TextureLayout to a value other than .

may only be used to create non-multisampled, textures with a single subresource (Planar YUV textures are supported). These textures may only be used as a source and destination of copy operations, and BindFlags must be zero. -

may only be used to create non-multisampled, non-depth-stencil textures.

-
- - dn899166 - D3D11_TEXTURE_LAYOUT TextureLayout - D3D11_TEXTURE_LAYOUT TextureLayout -
- - -

Identifies the texture resource for a video decoder output view.

-
- - hh447633 - D3D11_TEX2D_VDOV - D3D11_TEX2D_VDOV -
- - -

The zero-based index of the texture.

-
- - hh447633 - unsigned int ArraySlice - unsigned int ArraySlice -
- - -

Identifies the texture resource for a video processor input view.

-
- - hh447634 - D3D11_TEX2D_VPIV - D3D11_TEX2D_VPIV -
- - -

The zero-based index into the array of subtextures.

-
- - hh447634 - unsigned int MipSlice - unsigned int MipSlice -
- - -

The zero-based index of the texture.

-
- - hh447634 - unsigned int ArraySlice - unsigned int ArraySlice -
- - -

Identifies a texture resource for a video processor output view.

-
- - hh447635 - D3D11_TEX2D_VPOV - D3D11_TEX2D_VPOV -
- - -

The zero-based index into the array of subtextures.

-
- - hh447635 - unsigned int MipSlice - unsigned int MipSlice -
- - -

Describes a 3D texture.

-
- -

This structure is used in a call to .

In addition to this structure, you can also use the CD3D11_TEXTURE3D_DESC derived structure, which is defined in D3D11.h and behaves like an inherited class, to help create a texture description.

The device restricts the size of subsampled, block compressed, and bit format resources to be multiples of sizes specific to each format.

The texture size range is determined by the feature level at which you create the device and not the Microsoft Direct3D interface version. For example, if you use Microsoft Direct3D?10 hardware at feature level 10 () and call to create an , you must constrain the maximum texture size to D3D10_REQ_TEXTURE3D_U_V_OR_W_DIMENSION (2048) when you create your 3D texture.

-
- - ff476254 - D3D11_TEXTURE3D_DESC - D3D11_TEXTURE3D_DESC -
- - -

Texture width (in texels). The range is from 1 to (2048). However, the range is actually constrained by the feature level at which you create the rendering device. For more information about restrictions, see Remarks.

-
- - ff476254 - unsigned int Width - unsigned int Width -
- - -

Texture height (in texels). The range is from 1 to (2048). However, the range is actually constrained by the feature level at which you create the rendering device. For more information about restrictions, see Remarks.

-
- - ff476254 - unsigned int Height - unsigned int Height -
- - -

Texture depth (in texels). The range is from 1 to (2048). However, the range is actually constrained by the feature level at which you create the rendering device. For more information about restrictions, see Remarks.

-
- - ff476254 - unsigned int Depth - unsigned int Depth -
- - -

The maximum number of mipmap levels in the texture. See the remarks in . Use 1 for a multisampled texture; or 0 to generate a full set of subtextures.

-
- - ff476254 - unsigned int MipLevels - unsigned int MipLevels -
- - -

Texture format (see ).

-
- - ff476254 - DXGI_FORMAT Format - DXGI_FORMAT Format -
- - -

Value that identifies how the texture is to be read from and written to. The most common value is ; see for all possible values.

-
- - ff476254 - D3D11_USAGE Usage - D3D11_USAGE Usage -
- - -

Flags (see ) for binding to pipeline stages. The flags can be combined by a logical OR.

-
- - ff476254 - D3D11_BIND_FLAG BindFlags - D3D11_BIND_FLAG BindFlags -
- - -

Flags (see ) to specify the types of CPU access allowed. Use 0 if CPU access is not required. These flags can be combined with a logical OR.

-
- - ff476254 - D3D11_CPU_ACCESS_FLAG CPUAccessFlags - D3D11_CPU_ACCESS_FLAG CPUAccessFlags -
- - -

Flags (see ) that identify other, less common resource options. Use 0 if none of these flags apply. These flags can be combined with a logical OR.

-
- - ff476254 - D3D11_RESOURCE_MISC_FLAG MiscFlags - D3D11_RESOURCE_MISC_FLAG MiscFlags -
- - -

Describes a 3D texture.

-
- -

This structure is used in a call to .

In addition to this structure, you can also use the CD3D11_TEXTURE3D_DESC1 derived structure, which is defined in D3D11_3.h and behaves like an inherited class, to help create a texture description.

The device restricts the size of subsampled, block compressed, and bit format resources to be multiples of sizes specific to each format.

The texture size range is determined by the feature level at which you create the device and not the Microsoft Direct3D interface version. For example, if you use Microsoft Direct3D?10 hardware at feature level 10 () and call to create an , you must constrain the maximum texture size to D3D10_REQ_TEXTURE3D_U_V_OR_W_DIMENSION (2048) when you create your 3D texture.

-
- - dn899167 - D3D11_TEXTURE3D_DESC1 - D3D11_TEXTURE3D_DESC1 -
- - -

Texture width (in texels). The range is from 1 to (2048). However, the range is actually constrained by the feature level at which you create the rendering device. For more information about restrictions, see Remarks.

-
- - dn899167 - unsigned int Width - unsigned int Width -
- - -

Texture height (in texels). The range is from 1 to (2048). However, the range is actually constrained by the feature level at which you create the rendering device. For more information about restrictions, see Remarks.

-
- - dn899167 - unsigned int Height - unsigned int Height -
- - -

Texture depth (in texels). The range is from 1 to (2048). However, the range is actually constrained by the feature level at which you create the rendering device. For more information about restrictions, see Remarks.

-
- - dn899167 - unsigned int Depth - unsigned int Depth -
- - -

The maximum number of mipmap levels in the texture. See the remarks in . Use 1 for a multisampled texture; or 0 to generate a full set of subtextures.

-
- - dn899167 - unsigned int MipLevels - unsigned int MipLevels -
- - -

Texture format (see ).

-
- - dn899167 - DXGI_FORMAT Format - DXGI_FORMAT Format -
- - -

Value that identifies how the texture is to be read from and written to. The most common value is ; see for all possible values.

-
- - dn899167 - D3D11_USAGE Usage - D3D11_USAGE Usage -
- - -

Flags (see ) for binding to pipeline stages. The flags can be combined by a logical OR.

-
- - dn899167 - D3D11_BIND_FLAG BindFlags - D3D11_BIND_FLAG BindFlags -
- - -

Flags (see ) to specify the types of CPU access allowed. Use 0 if CPU access is not required. These flags can be combined with a logical OR.

-
- - dn899167 - D3D11_CPU_ACCESS_FLAG CPUAccessFlags - D3D11_CPU_ACCESS_FLAG CPUAccessFlags -
- - -

Flags (see ) that identify other, less common resource options. Use 0 if none of these flags apply. These flags can be combined with a logical OR.

-
- - dn899167 - D3D11_RESOURCE_MISC_FLAG MiscFlags - D3D11_RESOURCE_MISC_FLAG MiscFlags -
- - -

A -typed value that identifies the layout of the texture.

The TextureLayout parameter selects both the actual layout of the texture in memory and the layout visible to the application while the texture is mapped. These flags may not be requested without CPU access also requested.

It is illegal to set CPU access flags on default textures without also setting Layout to a value other than .

may not be used with 3D textures. may not be used with 3D textures that have mipmaps.

-
- - dn899167 - D3D11_TEXTURE_LAYOUT TextureLayout - D3D11_TEXTURE_LAYOUT TextureLayout -
- - -

Describes the coordinates of a tiled resource.

-
- - dn280437 - D3D11_TILED_RESOURCE_COORDINATE - D3D11_TILED_RESOURCE_COORDINATE -
- - -

The x position of a tiled resource. Used for buffer and 1D, 2D, and 3D textures.

-
- - dn280437 - unsigned int X - unsigned int X -
- - -

The y position of a tiled resource. Used for 2D and 3D textures.

-
- - dn280437 - unsigned int Y - unsigned int Y -
- - -

The z position of a tiled resource. Used for 3D textures.

-
- - dn280437 - unsigned int Z - unsigned int Z -
- - -

A subresource index value into mipmaps and arrays. Used for 1D, 2D, and 3D textures.

For mipmaps that use nonstandard tiling, or are packed, or both use nonstandard tiling and are packed, any subresource value that indicates any of the packed mipmaps all refer to the same tile.

-
- - dn280437 - unsigned int Subresource - unsigned int Subresource -
- - -

Describes the size of a tiled region.

-
- - dn280442 - D3D11_TILE_REGION_SIZE - D3D11_TILE_REGION_SIZE -
- - -

The number of tiles in the tiled region.

-
- - dn280442 - unsigned int NumTiles - unsigned int NumTiles -
- - -

Specifies whether the runtime uses the Width, Height, and Depth members to define the region.

If TRUE, the runtime uses the Width, Height, and Depth members to define the region.

If , the runtime ignores the Width, Height, and Depth members and uses the NumTiles member to traverse tiles in the resource linearly across x, then y, then z (as applicable) and then spills over mipmaps/arrays in subresource order. For example, use this technique to map an entire resource at once.

Regardless of whether you specify TRUE or for bUseBox, you use a structure to specify the starting location for the region within the resource as a separate parameter outside of this structure by using x, y, and z coordinates.

When the region includes mipmaps that are packed with nonstandard tiling, bUseBox must be because tile dimensions are not standard and the app only knows a count of how many tiles are consumed by the packed area, which is per array slice. The corresponding (separate) starting location parameter uses x to offset into the flat range of tiles in this case, and y and z coordinates must each be 0.

-
- - dn280442 - BOOL bUseBox - BOOL bUseBox -
- - -

The width of the tiled region, in tiles. Used for buffer and 1D, 2D, and 3D textures.

-
- - dn280442 - unsigned int Width - unsigned int Width -
- - -

The height of the tiled region, in tiles. Used for 2D and 3D textures.

-
- - dn280442 - unsigned short Height - unsigned short Height -
- - -

The depth of the tiled region, in tiles. Used for 3D textures or arrays. For arrays, used for advancing in depth jumps to next slice of same mipmap size, which isn't contiguous in the subresource counting space if there are multiple mipmaps.

-
- - dn280442 - unsigned short Depth - unsigned short Depth -
- - -

Describes the shape of a tile by specifying its dimensions.

-
- -

Texels are equivalent to pixels. For untyped buffer resources, a texel is just a byte. For multisample antialiasing (MSAA) surfaces, the numbers are still in terms of pixels/texels. - The values here are independent of the surface dimensions. Even if the surface is smaller than what would fit in a tile, the full tile dimensions are reported here. -

-
- - dn280443 - D3D11_TILE_SHAPE - D3D11_TILE_SHAPE -
- - -

The width in texels of the tile.

-
- - dn280443 - unsigned int WidthInTexels - unsigned int WidthInTexels -
- - -

The height in texels of the tile.

-
- - dn280443 - unsigned int HeightInTexels - unsigned int HeightInTexels -
- - -

The depth in texels of the tile.

-
- - dn280443 - unsigned int DepthInTexels - unsigned int DepthInTexels -
- - -

Specifies the subresources from a resource that are accessible using an unordered-access view.

-
- -

An unordered-access-view description is passed into to create a view.

-
- - ff476258 - D3D11_UNORDERED_ACCESS_VIEW_DESC - D3D11_UNORDERED_ACCESS_VIEW_DESC -
- - -

Describes the elements in a buffer to use in a unordered-access view.

-
- -

This structure is used by a .

-
- - ff476095 - D3D11_BUFFER_UAV - D3D11_BUFFER_UAV -
- - -

The zero-based index of the first element to be accessed.

-
- - ff476095 - unsigned int FirstElement - unsigned int FirstElement -
- - -

The number of elements in the resource. For structured buffers, this is the number of structures in the buffer.

-
- - ff476095 - unsigned int NumElements - unsigned int NumElements -
- - -

View options for the resource (see ).

-
- - ff476095 - D3D11_BUFFER_UAV_FLAG Flags - D3D11_BUFFER_UAV_FLAG Flags -
- - -

Describes a unordered-access 1D texture resource.

-
- -

This structure is used by a .

-
- - ff476232 - D3D11_TEX1D_UAV - D3D11_TEX1D_UAV -
- - -

The mipmap slice index.

-
- - ff476232 - unsigned int MipSlice - unsigned int MipSlice -
- - -

Describes an array of unordered-access 1D texture resources.

-
- -

This structure is used by a .

-
- - ff476228 - D3D11_TEX1D_ARRAY_UAV - D3D11_TEX1D_ARRAY_UAV -
- - -

The mipmap slice index.

-
- - ff476228 - unsigned int MipSlice - unsigned int MipSlice -
- - -

The zero-based index of the first array slice to be accessed.

-
- - ff476228 - unsigned int FirstArraySlice - unsigned int FirstArraySlice -
- - -

The number of slices in the array.

-
- - ff476228 - unsigned int ArraySize - unsigned int ArraySize -
- - -

Describes a unordered-access 2D texture resource.

-
- -

This structure is used by a .

-
- - ff476246 - D3D11_TEX2D_UAV - D3D11_TEX2D_UAV -
- - -

The mipmap slice index.

-
- - ff476246 - unsigned int MipSlice - unsigned int MipSlice -
- - -

Describes an array of unordered-access 2D texture resources.

-
- -

This structure is used by a .

-
- - ff476242 - D3D11_TEX2D_ARRAY_UAV - D3D11_TEX2D_ARRAY_UAV -
- - -

The mipmap slice index.

-
- - ff476242 - unsigned int MipSlice - unsigned int MipSlice -
- - -

The zero-based index of the first array slice to be accessed.

-
- - ff476242 - unsigned int FirstArraySlice - unsigned int FirstArraySlice -
- - -

The number of slices in the array.

-
- - ff476242 - unsigned int ArraySize - unsigned int ArraySize -
- - -

Describes a unordered-access 3D texture resource.

-
- -

This structure is used by a .

-
- - ff476249 - D3D11_TEX3D_UAV - D3D11_TEX3D_UAV -
- - -

The mipmap slice index.

-
- - ff476249 - unsigned int MipSlice - unsigned int MipSlice -
- - -

The zero-based index of the first depth slice to be accessed.

-
- - ff476249 - unsigned int FirstWSlice - unsigned int FirstWSlice -
- - -

The number of depth slices.

-
- - ff476249 - unsigned int WSize - unsigned int WSize -
- - -

The data format (see ).

-
- - ff476258 - DXGI_FORMAT Format - DXGI_FORMAT Format -
- - -

The resource type (see ), which specifies how the resource will be accessed.

-
- - ff476258 - D3D11_UAV_DIMENSION ViewDimension - D3D11_UAV_DIMENSION ViewDimension -
- - -

Specifies which buffer elements can be accessed (see ).

-
- - ff476258 - D3D11_BUFFER_UAV Buffer - D3D11_BUFFER_UAV Buffer -
- - -

Specifies the subresources in a 1D texture that can be accessed (see ).

-
- - ff476258 - D3D11_TEX1D_UAV Texture1D - D3D11_TEX1D_UAV Texture1D -
- - -

Specifies the subresources in a 1D texture array that can be accessed (see ).

-
- - ff476258 - D3D11_TEX1D_ARRAY_UAV Texture1DArray - D3D11_TEX1D_ARRAY_UAV Texture1DArray -
- - -

Specifies the subresources in a 2D texture that can be accessed (see ).

-
- - ff476258 - D3D11_TEX2D_UAV Texture2D - D3D11_TEX2D_UAV Texture2D -
- - -

Specifies the subresources in a 2D texture array that can be accessed (see ).

-
- - ff476258 - D3D11_TEX2D_ARRAY_UAV Texture2DArray - D3D11_TEX2D_ARRAY_UAV Texture2DArray -
- - -

Specifies subresources in a 3D texture that can be accessed (see ).

-
- - ff476258 - D3D11_TEX3D_UAV Texture3D - D3D11_TEX3D_UAV Texture3D -
- - -

Describes the subresources from a resource that are accessible using an unordered-access view.

-
- -

An unordered-access-view description is passed into to create a view.

-
- - dn899203 - D3D11_UNORDERED_ACCESS_VIEW_DESC1 - D3D11_UNORDERED_ACCESS_VIEW_DESC1 -
- - -

Describes a unordered-access 2D texture resource.

-
- - dn899165 - D3D11_TEX2D_UAV1 - D3D11_TEX2D_UAV1 -
- - -

The mipmap slice index.

-
- - dn899165 - unsigned int MipSlice - unsigned int MipSlice -
- - -

The index (plane slice number) of the plane to use in the texture.

-
- - dn899165 - unsigned int PlaneSlice - unsigned int PlaneSlice -
- - -

Describes an array of unordered-access 2D texture resources.

-
- - dn899162 - D3D11_TEX2D_ARRAY_UAV1 - D3D11_TEX2D_ARRAY_UAV1 -
- - -

The mipmap slice index.

-
- - dn899162 - unsigned int MipSlice - unsigned int MipSlice -
- - -

The zero-based index of the first array slice to be accessed.

-
- - dn899162 - unsigned int FirstArraySlice - unsigned int FirstArraySlice -
- - -

The number of slices in the array.

-
- - dn899162 - unsigned int ArraySize - unsigned int ArraySize -
- - -

The index (plane slice number) of the plane to use in an array of textures.

-
- - dn899162 - unsigned int PlaneSlice - unsigned int PlaneSlice -
- - -

A -typed value that specifies the data format.

-
- - dn899203 - DXGI_FORMAT Format - DXGI_FORMAT Format -
- - -

A -typed value that specifies the resource type of the view. This type is the same as the resource type of the underlying resource. This member also determines which _UAV to use in the union below.

-
- - dn899203 - D3D11_UAV_DIMENSION ViewDimension - D3D11_UAV_DIMENSION ViewDimension -
- - -

A structure that specifies which buffer elements can be accessed.

-
- - dn899203 - D3D11_BUFFER_UAV Buffer - D3D11_BUFFER_UAV Buffer -
- - -

A structure that specifies the subresources in a 1D texture that can be accessed.

-
- - dn899203 - D3D11_TEX1D_UAV Texture1D - D3D11_TEX1D_UAV Texture1D -
- - -

A structure that specifies the subresources in a 1D texture array that can be accessed.

-
- - dn899203 - D3D11_TEX1D_ARRAY_UAV Texture1DArray - D3D11_TEX1D_ARRAY_UAV Texture1DArray -
- - -

A structure that specifies the subresources in a 2D texture that can be accessed.

-
- - dn899203 - D3D11_TEX2D_UAV1 Texture2D - D3D11_TEX2D_UAV1 Texture2D -
- - -

A structure that specifies the subresources in a 2D texture array that can be accessed.

-
- - dn899203 - D3D11_TEX2D_ARRAY_UAV1 Texture2DArray - D3D11_TEX2D_ARRAY_UAV1 Texture2DArray -
- - -

A structure that specifies subresources in a 3D texture that can be accessed.

-
- - dn899203 - D3D11_TEX3D_UAV Texture3D - D3D11_TEX3D_UAV Texture3D -
- - -

Defines a color value for Microsoft Direct3D?11 video.

-
- -

The anonymous union can represent both RGB and YCbCr colors. The interpretation of the union depends on the context.

-
- - hh447637 - D3D11_VIDEO_COLOR - D3D11_VIDEO_COLOR -
- - -

A structure that contains a YCbCr color value.

-
- - hh447637 - D3D11_VIDEO_COLOR_YCbCrA YCbCr - D3D11_VIDEO_COLOR_YCbCrA YCbCr -
- - -

A structure that contains an RGB color value.

-
- - hh447637 - D3D11_VIDEO_COLOR_RGBA RGBA - D3D11_VIDEO_COLOR_RGBA RGBA -
- - -

Specifies an RGB color value.

-
- -

The RGB values have a nominal range of [0...1]. For an RGB format with n bits per channel, the value of each color component is calculated as follows:

val = f * ((1 << n)-1)

For example, for RGB-32 (8 bits per channel), val = BYTE(f * 255.0).

-
- - hh447638 - D3D11_VIDEO_COLOR_RGBA - D3D11_VIDEO_COLOR_RGBA -
- - -

The red value.

-
- - hh447638 - float R - float R -
- - -

The green value.

-
- - hh447638 - float G - float G -
- - -

The blue value.

-
- - hh447638 - float B - float B -
- - -

The alpha value. Values range from 0 (transparent) to 1 (opaque). -

-
- - hh447638 - float A - float A -
- - - No documentation. - - - D3D11_VIDEO_COLOR_YCbCrA - D3D11_VIDEO_COLOR_YCbCrA - - - - No documentation. - - - float Y - float Y - - - - No documentation. - - - float Cb - float Cb - - - - No documentation. - - - float Cr - float Cr - - - - No documentation. - - - float A - float A - - - -

Describes the content-protection capabilities of a graphics driver.

-
- - hh447640 - D3D11_VIDEO_CONTENT_PROTECTION_CAPS - D3D11_VIDEO_CONTENT_PROTECTION_CAPS -
- - -

A bitwise OR of zero or more flags from the enumeration.

-
- - hh447640 - unsigned int Caps - unsigned int Caps -
- - -

The number of cryptographic key-exchange types that are supported by the driver. To get the list of key-exchange types, call the method.

-
- - hh447640 - unsigned int KeyExchangeTypeCount - unsigned int KeyExchangeTypeCount -
- - -

The encyrption block size, in bytes. The size of data to be encrypted must be a multiple of this value.

-
- - hh447640 - unsigned int BlockAlignmentSize - unsigned int BlockAlignmentSize -
- - -

The total amount of memory, in bytes, that can be used to hold protected surfaces.

-
- - hh447640 - unsigned longlong ProtectedMemorySize - unsigned longlong ProtectedMemorySize -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Provides data to the method.

-
- -

This structure is passed in the pContentKey parameter of the function when D3D11_DECODER_ENCRYPTION_HW_CENC is specified in the guidConfigBitstreamEncryption member of the structure when creating the video decoder interface.

-
- - dn894118 - D3D11_VIDEO_DECODER_BEGIN_FRAME_CRYPTO_SESSION - D3D11_VIDEO_DECODER_BEGIN_FRAME_CRYPTO_SESSION -
- - - No documentation. - - - dn894118 - ID3D11CryptoSession* pCryptoSession - ID3D11CryptoSession pCryptoSession - - - - No documentation. - - - dn894118 - unsigned int BlobSize - unsigned int BlobSize - - - - No documentation. - - - dn894118 - void* pBlob - void pBlob - - - - No documentation. - - - dn894118 - GUID* pKeyInfoId - GUID pKeyInfoId - - - - No documentation. - - - dn894118 - unsigned int PrivateDataSize - unsigned int PrivateDataSize - - - - No documentation. - - - dn894118 - void* pPrivateData - void pPrivateData - - - -

Describes a compressed buffer for decoding.

-
- - hh447641 - D3D11_VIDEO_DECODER_BUFFER_DESC - D3D11_VIDEO_DECODER_BUFFER_DESC -
- - -

The type of buffer, specified as a member of the enumeration.

-
- - hh447641 - D3D11_VIDEO_DECODER_BUFFER_TYPE BufferType - D3D11_VIDEO_DECODER_BUFFER_TYPE BufferType -
- - -

Reserved.

-
- - hh447641 - unsigned int BufferIndex - unsigned int BufferIndex -
- - -

The offset of the relevant data from the beginning of the buffer, in bytes. This value must be zero. -

-
- - hh447641 - unsigned int DataOffset - unsigned int DataOffset -
- - -

The macroblock address of the first macroblock in the buffer. The macroblock address is given in raster scan order. -

-
- - hh447641 - unsigned int DataSize - unsigned int DataSize -
- - -

The macroblock address of the first macroblock in the buffer. The macroblock address is given in raster scan order. -

-
- - hh447641 - unsigned int FirstMBaddress - unsigned int FirstMBaddress -
- - -

The number of macroblocks of data in the buffer. This count includes skipped macroblocks.

-
- - hh447641 - unsigned int NumMBsInBuffer - unsigned int NumMBsInBuffer -
- - -

Reserved. Set to zero.

-
- - hh447641 - unsigned int Width - unsigned int Width -
- - -

Reserved. Set to zero.

-
- - hh447641 - unsigned int Height - unsigned int Height -
- - -

Reserved. Set to zero.

-
- - hh447641 - unsigned int Stride - unsigned int Stride -
- - -

Reserved. Set to zero.

-
- - hh447641 - unsigned int ReservedBits - unsigned int ReservedBits -
- - -

A reference to a buffer that contains an initialization vector (IV) for encrypted data. If the decode buffer does not contain encrypted data, set this member to null.

-
- - hh447641 - void* pIV - void pIV -
- - -

The size of the buffer specified in the pIV parameter. If pIV is null, set this member to zero.

-
- - hh447641 - unsigned int IVSize - unsigned int IVSize -
- - -

If TRUE, the video surfaces are partially encrypted.

-
- - hh447641 - BOOL PartialEncryption - BOOL PartialEncryption -
- - -

A structure that specifies which bytes of the surface are encrypted.

-
- - hh447641 - D3D11_ENCRYPTED_BLOCK_INFO EncryptedBlockInfo - D3D11_ENCRYPTED_BLOCK_INFO EncryptedBlockInfo -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Describes a compressed buffer for decoding.

-
- - dn894119 - D3D11_VIDEO_DECODER_BUFFER_DESC1 - D3D11_VIDEO_DECODER_BUFFER_DESC1 -
- - -

The type of buffer.

-
- - dn894119 - D3D11_VIDEO_DECODER_BUFFER_TYPE BufferType - D3D11_VIDEO_DECODER_BUFFER_TYPE BufferType -
- - -

The offset of the relevant data from the beginning of the buffer, in bytes. This value must be zero.

-
- - dn894119 - unsigned int DataOffset - unsigned int DataOffset -
- - -

Size of the relevant data.

-
- - dn894119 - unsigned int DataSize - unsigned int DataSize -
- - -

A reference to a buffer that contains an initialization vector (IV) for encrypted data. If the decode buffer does not contain encrypted data, set this member to null.

-
- - dn894119 - void* pIV - void pIV -
- - -

The size of the buffer specified in the pIV parameter. If pIV is null, set this member to zero.

-
- - dn894119 - unsigned int IVSize - unsigned int IVSize -
- - -

A reference to an array of structures, which indicates exactly which bytes in the decode buffer are encrypted and which are in the clear. If the decode buffer does not contain encrypted data, set this member to null.

Values in the sub sample mapping blocks are relative to the start of the decode buffer.

-
- - dn894119 - D3D11_VIDEO_DECODER_SUB_SAMPLE_MAPPING_BLOCK* pSubSampleMappingBlock - D3D11_VIDEO_DECODER_SUB_SAMPLE_MAPPING_BLOCK pSubSampleMappingBlock -
- - -

The number of structures specified in the pSubSampleMappingBlocks parameter. If pSubSampleMappingBlocks is null, set this member to zero.

-
- - dn894119 - unsigned int SubSampleMappingCount - unsigned int SubSampleMappingCount -
- - -

Describes the configuration of a Microsoft Direct3D?11 decoder device for DirectX Video Acceleration (DXVA).

-
- - hh447643 - D3D11_VIDEO_DECODER_CONFIG - D3D11_VIDEO_DECODER_CONFIG -
- - -

If the bitstream data buffers are encrypted using the D3D11CryptoSession mechanism, this should be set to zero. If no encryption is applied, the value is DXVA_NoEncrypt. If ConfigBitstreamRaw is 0, the value must be DXVA_NoEncrypt.

-
- - hh447643 - GUID guidConfigBitstreamEncryption - GUID guidConfigBitstreamEncryption -
- - -

If the macroblock control data buffers are encrypted using the D3D11CryptoSession mechanism, this should be set to zero. If no encryption is applied, the value is DXVA_NoEncrypt. If ConfigBitstreamRaw is 1, the value must be DXVA_NoEncrypt.

-
- - hh447643 - GUID guidConfigMBcontrolEncryption - GUID guidConfigMBcontrolEncryption -
- - -

If the residual difference decoding data buffers are encrypted using the D3D11CryptoSession mechanism, this should be set to zero. If no encryption is applied, the value is DXVA_NoEncrypt. If ConfigBitstreamRaw is 1, the value must be DXVA_NoEncrypt.

-
- - hh447643 - GUID guidConfigResidDiffEncryption - GUID guidConfigResidDiffEncryption -
- - -

Indicates whether the host-decoder sends raw bit-stream data. If the value is 1, the data for the pictures will be sent in bit-stream buffers as raw bit-stream content. If the value is 0, picture data will be sent using macroblock control command buffers. If either ConfigResidDiffHost or ConfigResidDiffAccelerator is 1, the value must be 0.

-
- - hh447643 - unsigned int ConfigBitstreamRaw - unsigned int ConfigBitstreamRaw -
- - -

Specifies whether macroblock control commands are in raster scan order or in arbitrary order. If the value is 1, the macroblock control commands within each macroblock control command buffer are in raster-scan order. If the value is 0, the order is arbitrary. For some types of bit streams, forcing raster order either greatly increases the number of required macroblock control buffers that must be processed, or requires host reordering of the control information. Therefore, supporting arbitrary order can be more efficient.

-
- - hh447643 - unsigned int ConfigMBcontrolRasterOrder - unsigned int ConfigMBcontrolRasterOrder -
- - -

Contains the host residual difference configuration. If the value is 1, some residual difference decoding data may be sent as blocks in the spatial domain from the host. If the value is 0, spatial domain data will not be sent.

-
- - hh447643 - unsigned int ConfigResidDiffHost - unsigned int ConfigResidDiffHost -
- - -

Indicates the word size used to represent residual difference spatial-domain blocks for predicted (non-intra) pictures when using host-based residual difference decoding.

If ConfigResidDiffHost is 1 and ConfigSpatialResid8 is 1, the host will send residual difference spatial-domain blocks for non-intra macroblocks using 8-bit signed samples and for intra macroblocks in predicted (non-intra) pictures in a format that depends on the value of ConfigIntraResidUnsigned:

  • If ConfigIntraResidUnsigned is 0, spatial-domain blocks for intra macroblocks are sent as 8-bit signed integer values relative to a constant reference value of 2^(BPP?1).
  • If ConfigIntraResidUnsigned is 1, spatial-domain blocks for intra macroblocks are sent as 8-bit unsigned integer values relative to a constant reference value of 0.

If ConfigResidDiffHost is 1 and ConfigSpatialResid8 is 0, the host will send residual difference spatial-domain blocks of data for non-intra macroblocks using 16-bit signed samples and for intra macroblocks in predicted (non-intra) pictures in a format that depends on the value of ConfigIntraResidUnsigned:

  • If ConfigIntraResidUnsigned is 0, spatial domain blocks for intra macroblocks are sent as 16-bit signed integer values relative to a constant reference value of 2^(BPP?1).
  • If ConfigIntraResidUnsigned is 1, spatial domain blocks for intra macroblocks are sent as 16-bit unsigned integer values relative to a constant reference value of 0.

If ConfigResidDiffHost is 0, ConfigSpatialResid8 must be 0.

For intra pictures, spatial-domain blocks must be sent using 8-bit samples if bits-per-pixel (BPP) is 8, and using 16-bit samples if BPP > 8. If ConfigIntraResidUnsigned is 0, these samples are sent as signed integer values relative to a constant reference value of 2^(BPP?1), and if ConfigIntraResidUnsigned is 1, these samples are sent as unsigned integer values relative to a constant reference value of 0.

-
- - hh447643 - unsigned int ConfigSpatialResid8 - unsigned int ConfigSpatialResid8 -
- - -

If the value is 1, 8-bit difference overflow blocks are subtracted rather than added. The value must be 0 unless ConfigSpatialResid8 is 1.

The ability to subtract differences rather than add them enables 8-bit difference decoding to be fully compliant with the full ?255 range of values required in video decoder specifications, because +255 cannot be represented as the addition of two signed 8-bit numbers, but any number in the range ?255 can be represented as the difference between two signed 8-bit numbers (+255 = +127 minus ?128).

-
- - hh447643 - unsigned int ConfigResid8Subtraction - unsigned int ConfigResid8Subtraction -
- - -

If the value is 1, spatial-domain blocks for intra macroblocks must be clipped to an 8-bit range on the host and spatial-domain blocks for non-intra macroblocks must be clipped to a 9-bit range on the host. If the value is 0, no such clipping is necessary by the host.

The value must be 0 unless ConfigSpatialResid8 is 0 and ConfigResidDiffHost is 1.

-
- - hh447643 - unsigned int ConfigSpatialHost8or9Clipping - unsigned int ConfigSpatialHost8or9Clipping -
- - -

If the value is 1, any spatial-domain residual difference data must be sent in a chrominance-interleaved form matching the YUV format chrominance interleaving pattern. The value must be 0 unless ConfigResidDiffHost is 1 and the YUV format is NV12 or NV21.

-
- - hh447643 - unsigned int ConfigSpatialResidInterleaved - unsigned int ConfigSpatialResidInterleaved -
- - -

Indicates the method of representation of spatial-domain blocks of residual difference data for intra blocks when using host-based difference decoding.

If ConfigResidDiffHost is 1 and ConfigIntraResidUnsigned is 0, spatial-domain residual difference data blocks for intra macroblocks must be sent as follows:

  • In a non-intra picture, if ConfigSpatialResid8 is 0, the spatial-domain residual difference data blocks for intra macroblocks are sent as 16-bit signed integer values relative to a constant reference value of 2^(BPP?1).
  • In a non-intra picture, if ConfigSpatialResid8 is 1, the spatial-domain residual difference data blocks for intra macroblocks are sent as 8-bit signed integer values relative to a constant reference value of 2^(BPP?1).
  • In an intra picture, if BPP is 8, the spatial-domain residual difference data blocks for intra macroblocks are sent as 8-bit signed integer values relative to a constant reference value of 2^(BPP?1), regardless of the value of ConfigSpatialResid8.

If ConfigResidDiffHost is 1 and ConfigIntraResidUnsigned is 1, spatial-domain residual difference data blocks for intra macroblocks must be sent as follows:

  • In a non-intra picture, if ConfigSpatialResid8 is 0, the spatial-domain residual difference data blocks for intra macroblocks must be sent as 16-bit unsigned integer values relative to a constant reference value of 0.
  • In a non-intra picture, if ConfigSpatialResid8 is 1, the spatial-domain residual difference data blocks for intra macroblocks are sent as 8-bit unsigned integer values relative to a constant reference value of 0.
  • In an intra picture, if BPP is 8, the spatial-domain residual difference data blocks for intra macroblocks are sent as 8-bit unsigned integer values relative to a constant reference value of 0, regardless of the value of ConfigSpatialResid8.

The value of the member must be 0 unless ConfigResidDiffHost is 1.

-
- - hh447643 - unsigned int ConfigIntraResidUnsigned - unsigned int ConfigIntraResidUnsigned -
- - -

If the value is 1, transform-domain blocks of coefficient data may be sent from the host for accelerator-based IDCT. If the value is 0, accelerator-based IDCT will not be used. If both ConfigResidDiffHost and ConfigResidDiffAccelerator are 1, this indicates that some residual difference decoding will be done on the host and some on the accelerator, as indicated by macroblock-level control commands.

The value must be 0 if ConfigBitstreamRaw is 1.

-
- - hh447643 - unsigned int ConfigResidDiffAccelerator - unsigned int ConfigResidDiffAccelerator -
- - -

If the value is 1, the inverse scan for transform-domain block processing will be performed on the host, and absolute indices will be sent instead for any transform coefficients. If the value is 0, the inverse scan will be performed on the accelerator.

The value must be 0 if ConfigResidDiffAccelerator is 0 or if Config4GroupedCoefs is 1.

-
- - hh447643 - unsigned int ConfigHostInverseScan - unsigned int ConfigHostInverseScan -
- - -

If the value is 1, the IDCT specified in Annex W of ITU-T Recommendation H.263 is used. If the value is 0, any compliant IDCT can be used for off-host IDCT.

The H.263 annex does not comply with the IDCT requirements of MPEG-2 corrigendum 2, so the value must not be 1 for use with MPEG-2 video.

The value must be 0 if ConfigResidDiffAccelerator is 0, indicating purely host-based residual difference decoding.

-
- - hh447643 - unsigned int ConfigSpecificIDCT - unsigned int ConfigSpecificIDCT -
- - -

If the value is 1, transform coefficients for off-host IDCT will be sent using the DXVA_TCoef4Group structure. If the value is 0, the DXVA_TCoefSingle structure is used. The value must be 0 if ConfigResidDiffAccelerator is 0 or if ConfigHostInverseScan is 1.

-
- - hh447643 - unsigned int Config4GroupedCoefs - unsigned int Config4GroupedCoefs -
- - -

Specifies how many frames the decoder device processes at any one time.

-
- - hh447643 - unsigned short ConfigMinRenderTargetBuffCount - unsigned short ConfigMinRenderTargetBuffCount -
- - -

Contains decoder-specific configuration information.

-
- - hh447643 - unsigned short ConfigDecoderSpecific - unsigned short ConfigDecoderSpecific -
- - -

Describes a video stream for a Microsoft Direct3D?11 video decoder or video processor.

-
- - hh447644 - D3D11_VIDEO_DECODER_DESC - D3D11_VIDEO_DECODER_DESC -
- - -

The decoding profile. To get the list of profiles supported by the device, call the method.

-
- - hh447644 - GUID Guid - GUID Guid -
- - -

The width of the video frame, in pixels.

-
- - hh447644 - unsigned int SampleWidth - unsigned int SampleWidth -
- - -

The height of the video frame, in pixels.

-
- - hh447644 - unsigned int SampleHeight - unsigned int SampleHeight -
- - -

The output surface format, specified as a value.

-
- - hh447644 - DXGI_FORMAT OutputFormat - DXGI_FORMAT OutputFormat -
- - -

Contains driver-specific data for the method.

-
- -

The exact meaning of each structure member depends on the value of Function.

-
- - hh447645 - D3D11_VIDEO_DECODER_EXTENSION - D3D11_VIDEO_DECODER_EXTENSION -
- - - No documentation. - - - hh447645 - unsigned int Function - unsigned int Function - - - - No documentation. - - - hh447645 - void* pPrivateInputData - void pPrivateInputData - - - - No documentation. - - - hh447645 - unsigned int PrivateInputDataSize - unsigned int PrivateInputDataSize - - - - No documentation. - - - hh447645 - void* pPrivateOutputData - void pPrivateOutputData - - - - No documentation. - - - hh447645 - unsigned int PrivateOutputDataSize - unsigned int PrivateOutputDataSize - - - - No documentation. - - - hh447645 - unsigned int ResourceCount - unsigned int ResourceCount - - - - No documentation. - - - hh447645 - ID3D11Resource** ppResourceList - ID3D11Resource ppResourceList - - - -

Describes a video decoder output view.

-
- - hh447646 - D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC - D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC -
- - -

The decoding profile. To get the list of profiles supported by the device, call the method.

-
- - hh447646 - GUID DecodeProfile - GUID DecodeProfile -
- - -

The resource type of the view, specified as a member of the enumeration.

-
- - hh447646 - D3D11_VDOV_DIMENSION ViewDimension - D3D11_VDOV_DIMENSION ViewDimension -
- - -

A structure that identifies the texture resource for the output view.

-
- - hh447646 - D3D11_TEX2D_VDOV Texture2D - D3D11_TEX2D_VDOV Texture2D -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Describes a sub sample mapping block.

-
- -

Values in the sub sample mapping blocks are relative to the start of the decode buffer.

-
- - dn894121 - D3D11_VIDEO_DECODER_SUB_SAMPLE_MAPPING_BLOCK - D3D11_VIDEO_DECODER_SUB_SAMPLE_MAPPING_BLOCK -
- - -

The number of clear (non-encrypted) bytes at the start of the block.

-
- - dn894121 - unsigned int ClearSize - unsigned int ClearSize -
- - -

The number of encrypted bytes following the clear bytes.

-
- - dn894121 - unsigned int EncryptedSize - unsigned int EncryptedSize -
- - -

Describes the capabilities of a Microsoft Direct3D?11 video processor.

-
- -

The video processor stores state information for each input stream. These states persist between blits. With each blit, the application selects which streams to enable or disable. Disabling a stream does not affect the state information for that stream.

The MaxStreamStates member gives the maximum number of stream states that can be saved. The MaxInputStreams member gives the maximum number of streams that can be enabled during a blit. These two values can differ.

-
- - hh447650 - D3D11_VIDEO_PROCESSOR_CAPS - D3D11_VIDEO_PROCESSOR_CAPS -
- - -

A bitwise OR of zero or more flags from the enumeration.

-
- - hh447650 - unsigned int DeviceCaps - unsigned int DeviceCaps -
- - -

A bitwise OR of zero or more flags from the enumeration.

-
- - hh447650 - unsigned int FeatureCaps - unsigned int FeatureCaps -
- - -

A bitwise OR of zero or more flags from the D3D11_VIDEO_PROCESSPR_FILTER_CAPS enumeration.

-
- - hh447650 - unsigned int FilterCaps - unsigned int FilterCaps -
- - -

A bitwise OR of zero or more flags from the enumeration.

-
- - hh447650 - unsigned int InputFormatCaps - unsigned int InputFormatCaps -
- - -

A bitwise OR of zero or more flags from the enumeration.

-
- - hh447650 - unsigned int AutoStreamCaps - unsigned int AutoStreamCaps -
- - -

A bitwise OR of zero or more flags from the enumeration.

-
- - hh447650 - unsigned int StereoCaps - unsigned int StereoCaps -
- - -

The number of frame-rate conversion capabilities. To enumerate the frame-rate conversion capabilities, call the method.

-
- - hh447650 - unsigned int RateConversionCapsCount - unsigned int RateConversionCapsCount -
- - -

The maximum number of input streams that can be enabled at the same time.

-
- - hh447650 - unsigned int MaxInputStreams - unsigned int MaxInputStreams -
- - -

The maximum number of input streams for which the device can store state data.

-
- - hh447650 - unsigned int MaxStreamStates - unsigned int MaxStreamStates -
- - -

Specifies the color space for video processing.

-
- -

The RGB_Range member applies to RGB output, while the YCbCr_Matrix and YCbCr_xvYCC members apply to YCbCr output. If the driver performs color-space conversion on the background color, it uses the values that apply to both color spaces.

If the driver supports extended YCbCr (xvYCC), it returns the capabilities flag in the method. Otherwise, the driver ignores the value of YCbCr_xvYCC and treats all YCbCr output as conventional YCbCr.

If extended YCbCr is supported, it can be used with either transfer matrix. Extended YCbCr does not change the black point or white point?the black point is still 16 and the white point is still 235. However, extended YCbCr explicitly allows blacker-than-black values in the range 1?15, and whiter-than-white values in the range 236?254. When extended YCbCr is used, the driver should not clip the luma values to the nominal 16?235 range.

-
- - hh447651 - D3D11_VIDEO_PROCESSOR_COLOR_SPACE - D3D11_VIDEO_PROCESSOR_COLOR_SPACE -
- - -

Specifies whether the output is intended for playback or video processing (such as editing or authoring). The device can optimize the processing based on the type. The default state value is 0 (playback).

ValueMeaning
0

Playback

1

Video processing

?

-
- - hh447651 - unsigned int Usage - unsigned int Usage -
- - -

Specifies the RGB color range. The default state value is 0 (full range).

ValueMeaning
0

Full range (0-255)

1

Limited range (16-235)

?

-
- - hh447651 - unsigned int RGB_Range - unsigned int RGB_Range -
- - -

Specifies the YCbCr transfer matrix. The default state value is 0 (BT.601).

ValueMeaning
0

ITU-R BT.601

1

ITU-R BT.709

?

-
- - hh447651 - unsigned int YCbCr_Matrix - unsigned int YCbCr_Matrix -
- - -

Specifies whether the output uses conventional YCbCr or extended YCbCr (xvYCC). The default state value is zero (conventional YCbCr).

ValueMeaning
0

Conventional YCbCr

1

Extended YCbCr (xvYCC)

?

-
- - hh447651 - unsigned int YCbCr_xvYCC - unsigned int YCbCr_xvYCC -
- - -

Specifies the .

Introduced in Windows?8.1.

-
- - hh447651 - unsigned int Nominal_Range - unsigned int Nominal_Range -
- - -

Reserved. Set to zero.

-
- - hh447651 - unsigned int Reserved - unsigned int Reserved -
- - -

Describes a video stream for a video processor.

-
- - hh447652 - D3D11_VIDEO_PROCESSOR_CONTENT_DESC - D3D11_VIDEO_PROCESSOR_CONTENT_DESC -
- - -

A member of the enumeration that describes how the video stream is interlaced.

-
- - hh447652 - D3D11_VIDEO_FRAME_FORMAT InputFrameFormat - D3D11_VIDEO_FRAME_FORMAT InputFrameFormat -
- - -

The frame rate of the input video stream, specified as a structure.

-
- - hh447652 - DXGI_RATIONAL InputFrameRate - DXGI_RATIONAL InputFrameRate -
- - -

The width of the input frames, in pixels.

-
- - hh447652 - unsigned int InputWidth - unsigned int InputWidth -
- - -

The height of the input frames, in pixels.

-
- - hh447652 - unsigned int InputHeight - unsigned int InputHeight -
- - -

The frame rate of the output video stream, specified as a structure.

-
- - hh447652 - DXGI_RATIONAL OutputFrameRate - DXGI_RATIONAL OutputFrameRate -
- - -

The width of the output frames, in pixels.

-
- - hh447652 - unsigned int OutputWidth - unsigned int OutputWidth -
- - -

The height of the output frames, in pixels.

-
- - hh447652 - unsigned int OutputHeight - unsigned int OutputHeight -
- - -

A member of the enumeration that describes how the video processor will be used. The value indicates the desired trade-off between speed and video quality. The driver uses this flag as a hint when it creates the video processor.

-
- - hh447652 - D3D11_VIDEO_USAGE Usage - D3D11_VIDEO_USAGE Usage -
- - -

Specifies a custom rate for frame-rate conversion or inverse telecine (IVTC).

-
- -

The CustomRate member gives the rate conversion factor, while the remaining members define the pattern of input and output samples.

-
- - hh447653 - D3D11_VIDEO_PROCESSOR_CUSTOM_RATE - D3D11_VIDEO_PROCESSOR_CUSTOM_RATE -
- - -

The ratio of the output frame rate to the input frame rate, expressed as a structure that holds a rational number.

-
- - hh447653 - DXGI_RATIONAL CustomRate - DXGI_RATIONAL CustomRate -
- - -

The number of output frames that will be generated for every N input samples, where N = InputFramesOrFields.

-
- - hh447653 - unsigned int OutputFrames - unsigned int OutputFrames -
- - -

If TRUE, the input stream must be interlaced. Otherwise, the input stream must be progressive.

-
- - hh447653 - BOOL InputInterlaced - BOOL InputInterlaced -
- - -

The number of input fields or frames for every N output frames that will be generated, where N = OutputFrames.

-
- - hh447653 - unsigned int InputFramesOrFields - unsigned int InputFramesOrFields -
- - -

Defines the range of supported values for an image filter.

-
- -

The multiplier enables the filter range to have a fractional step value.

For example, a hue filter might have an actual range of [?180.0 ... +180.0] with a step size of 0.25. The device would report the following range and multiplier:

  • Minimum: ?720
  • Maximum: +720
  • Multiplier: 0.25

In this case, a filter value of 2 would be interpreted by the device as 0.50 (or 2 ? 0.25).

The device should use a multiplier that can be represented exactly as a base-2 fraction.

-
- - hh447657 - D3D11_VIDEO_PROCESSOR_FILTER_RANGE - D3D11_VIDEO_PROCESSOR_FILTER_RANGE -
- - -

The minimum value of the filter.

-
- - hh447657 - int Minimum - int Minimum -
- - -

The maximum value of the filter.

-
- - hh447657 - int Maximum - int Maximum -
- - -

The default value of the filter.

-
- - hh447657 - int Default - int Default -
- - -

A multiplier. Use the following formula to translate the filter setting into the actual filter value: Actual Value = Set Value???Multiplier.

-
- - hh447657 - float Multiplier - float Multiplier -
- - -

Describes a video processor input view.

-
- - hh447660 - D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC - D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC -
- - -

The surface format. If zero, the driver uses the DXGI format that was used to create the resource. If you are using feature level 9, the value must be zero.

-
- - hh447660 - unsigned int FourCC - unsigned int FourCC -
- - -

The resource type of the view, specified as a member of the enumeration.

-
- - hh447660 - D3D11_VPIV_DIMENSION ViewDimension - D3D11_VPIV_DIMENSION ViewDimension -
- - -

A structure that identifies the texture resource.

-
- - hh447660 - D3D11_TEX2D_VPIV Texture2D - D3D11_TEX2D_VPIV Texture2D -
- - -

Describes a video processor output view.

-
- - hh447663 - D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC - D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC -
- - -

The resource type of the view, specified as a member of the enumeration.

-
- - hh447663 - D3D11_VPOV_DIMENSION ViewDimension - D3D11_VPOV_DIMENSION ViewDimension -
- - -

A structure that identifies the texture resource for the output view.

Use this member of the union when ViewDimension equals .

-
- - hh447663 - D3D11_TEX2D_VPOV Texture2D - D3D11_TEX2D_VPOV Texture2D -
- - -

A structure that identifies the texture array for the output view.

Use this member of the union when ViewDimension equals .

-
- - hh447663 - D3D11_TEX2D_ARRAY_VPOV Texture2DArray - D3D11_TEX2D_ARRAY_VPOV Texture2DArray -
- - -

Defines a group of video processor capabilities that are associated with frame-rate conversion, including deinterlacing and inverse telecine.

-
- - hh447665 - D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS - D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS -
- - -

The number of past reference frames required to perform the optimal video processing.

-
- - hh447665 - unsigned int PastFrames - unsigned int PastFrames -
- - -

The number of future reference frames required to perform the optimal video processing.

-
- - hh447665 - unsigned int FutureFrames - unsigned int FutureFrames -
- - -

A bitwise OR of zero or more flags from the enumeration.

-
- - hh447665 - unsigned int ProcessorCaps - unsigned int ProcessorCaps -
- - -

A bitwise OR of zero or more flags from the enumeration.

-
- - hh447665 - unsigned int ITelecineCaps - unsigned int ITelecineCaps -
- - -

The number of custom frame rates that the driver supports. To get the list of custom frame rates, call the method.

-
- - hh447665 - unsigned int CustomRateCount - unsigned int CustomRateCount -
- - -

Contains stream-level data for the method.

-
- -

If the stereo 3D format is , the ppPastSurfaces, pInputSurface, and ppFutureSurfaces members contain the left view.

-
- - hh447670 - D3D11_VIDEO_PROCESSOR_STREAM - D3D11_VIDEO_PROCESSOR_STREAM -
- - - No documentation. - - - hh447670 - BOOL Enable - BOOL Enable - - - - No documentation. - - - hh447670 - unsigned int OutputIndex - unsigned int OutputIndex - - - - No documentation. - - - hh447670 - unsigned int InputFrameOrField - unsigned int InputFrameOrField - - - - No documentation. - - - hh447670 - unsigned int PastFrames - unsigned int PastFrames - - - - No documentation. - - - hh447670 - unsigned int FutureFrames - unsigned int FutureFrames - - - - No documentation. - - - hh447670 - ID3D11VideoProcessorInputView** ppPastSurfaces - ID3D11VideoProcessorInputView ppPastSurfaces - - - - No documentation. - - - hh447670 - ID3D11VideoProcessorInputView* pInputSurface - ID3D11VideoProcessorInputView pInputSurface - - - - No documentation. - - - hh447670 - ID3D11VideoProcessorInputView** ppFutureSurfaces - ID3D11VideoProcessorInputView ppFutureSurfaces - - - - No documentation. - - - hh447670 - ID3D11VideoProcessorInputView** ppPastSurfacesRight - ID3D11VideoProcessorInputView ppPastSurfacesRight - - - - No documentation. - - - hh447670 - ID3D11VideoProcessorInputView* pInputSurfaceRight - ID3D11VideoProcessorInputView pInputSurfaceRight - - - - No documentation. - - - hh447670 - ID3D11VideoProcessorInputView** ppFutureSurfacesRight - ID3D11VideoProcessorInputView ppFutureSurfacesRight - - - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Provides information about the input streams passed into the ID3DVideoContext1::VideoProcessorGetBehaviorHints method.

-
- - dn894123 - D3D11_VIDEO_PROCESSOR_STREAM_BEHAVIOR_HINT - D3D11_VIDEO_PROCESSOR_STREAM_BEHAVIOR_HINT -
- - - No documentation. - - - dn894123 - BOOL Enable - BOOL Enable - - - - No documentation. - - - dn894123 - unsigned int Width - unsigned int Width - - - - No documentation. - - - dn894123 - unsigned int Height - unsigned int Height - - - - No documentation. - - - dn894123 - DXGI_FORMAT Format - DXGI_FORMAT Format - - - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Describes a video sample.

-
- - dn894124 - D3D11_VIDEO_SAMPLE_DESC - D3D11_VIDEO_SAMPLE_DESC -
- - -

The width of the video sample.

-
- - dn894124 - unsigned int Width - unsigned int Width -
- - -

The height of the video sample.

-
- - dn894124 - unsigned int Height - unsigned int Height -
- - -

The format of the video sample.

-
- - dn894124 - DXGI_FORMAT Format - DXGI_FORMAT Format -
- - -

The colorspace of the sample.

-
- - dn894124 - DXGI_COLOR_SPACE_TYPE ColorSpace - DXGI_COLOR_SPACE_TYPE ColorSpace -
- - - Internal class used to initialize this assembly. - - - - - Initializes this assembly. - - - This method is called when the assembly is loaded. - - - - - The namespace provides a managed Direct3D11 API. - - ff476080 - Direct3D11 - Direct3D11 - - - - Properties defining the way a buffer is bound to the pipeline as a target for stream output operations. - - - - - Gets or sets the buffer being bound. - - - - - Gets or sets the offset from the start of the buffer of the first vertex to use (in bytes). - - - - - Initializes a new instance of the struct. - - The buffer being bound. - The offset to the first vertex (in bytes). - - - - Properties defining the way a buffer (containing vertex data) is bound - to the pipeline for rendering. - - - - - Gets or sets the buffer being bound. - - - - - Gets or sets the stride between vertex elements in the buffer (in bytes). - - - - - Gets or sets the offset from the start of the buffer of the first vertex to use (in bytes). - - - - - Initializes a new instance of the struct. - - The buffer being bound. - The stride between vertex element (in bytes). - The offset to the first vertex (in bytes). - -
-
diff --git a/Tractor_VS/Game1/bin/Windows/x86/Debug/SharpDX.MediaFoundation.dll b/Tractor_VS/Game1/bin/Windows/x86/Debug/SharpDX.MediaFoundation.dll deleted file mode 100644 index f1f625d..0000000 Binary files a/Tractor_VS/Game1/bin/Windows/x86/Debug/SharpDX.MediaFoundation.dll and /dev/null differ diff --git a/Tractor_VS/Game1/bin/Windows/x86/Debug/SharpDX.MediaFoundation.xml b/Tractor_VS/Game1/bin/Windows/x86/Debug/SharpDX.MediaFoundation.xml deleted file mode 100644 index 0ab4ee8..0000000 --- a/Tractor_VS/Game1/bin/Windows/x86/Debug/SharpDX.MediaFoundation.xml +++ /dev/null @@ -1,53316 +0,0 @@ - - - - SharpDX.MediaFoundation - - - - -

Enables the application to defer the creation of an object. This interface is exposed by activation objects.

-
- -

Typically, the application calls some function that returns an reference and then passes that reference to another component. The other component calls ActivateObject at a later time to create the object. In the protected media path (PMP), the reference might be marshaled to the protected process, so that the object can be created in that process.

-
- - ms703039 - IMFActivate - IMFActivate -
- - - Creates an activation object for a Windows Runtime class. - -

The class identifier that is associated with the activatable runtime class.

-

An optional friendly name for the activation object. The friendly name is stored in the object's attribute. This parameter can be null.

- -

To create the Windows Runtime object, call or IClassFactory::CreateInstance.

-
- hh162753 - HRESULT MFCreateMediaExtensionActivate([In] const wchar_t* szActivatableClassId,[In, Optional] IUnknown* pConfiguration,[In] const GUID& riid,[Out] void** ppvObject) - MFCreateMediaExtensionActivate -
- - -

Creates the object associated with this activation object.

-
-

Interface identifier (IID) of the requested interface.

-

A reference to the requested interface. The caller must release the interface.

- -

Some Microsoft Media Foundation objects must be shut down before being released. If so, the caller is responsible for shutting down the object that is returned in ppv. To shut down the object, do one of the following:

  • Call on the activation object, or
  • Call the object-specific shutdown method. This method will depend on the type of object. Possibilities include:
    • Media sources: Call .
    • Media sinks: Call .
    • Any object that supports the interface: Call .

The method is generic to all object types. If the object does not require a shutdown method, ShutdownObject succeeds and has no effect. If you do not know the specific shutdown method for the object (or do not know the object type), call .

After the first call to ActivateObject, subsequent calls return a reference to the same instance, until the client calls either ShutdownObject or .

-
- - ms694292 - HRESULT IMFActivate::ActivateObject([In] const GUID& riid,[Out] void** ppv) - IMFActivate::ActivateObject -
- - -

Creates the object associated with this activation object. Riid is provided via reflection on the COM object type

-
-

A reference to the requested interface. The caller must release the interface.

- -

Some Microsoft Media Foundation objects must be shut down before being released. If so, the caller is responsible for shutting down the object that is returned in ppv. To shut down the object, do one of the following:

  • Call on the activation object, or
  • Call the object-specific shutdown method. This method will depend on the type of object. Possibilities include:
    • Media sources: Call .
    • Media sinks: Call .
    • Any object that supports the interface: Call .

The method is generic to all object types. If the object does not require a shutdown method, ShutdownObject succeeds and has no effect. If you do not know the specific shutdown method for the object (or do not know the object type), call .

After the first call to ActivateObject, subsequent calls return a reference to the same instance, until the client calls either ShutdownObject or .

-
- - ms694292 - HRESULT IMFActivate::ActivateObject([In] const GUID& riid,[Out] void** ppv) - IMFActivate::ActivateObject -
- - - Initializes a new instance of the 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 the object associated with this activation object.

-
-

Interface identifier (IID) of the requested interface.

-

Receives a reference to the requested interface. The caller must release the interface.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

Some Microsoft Media Foundation objects must be shut down before being released. If so, the caller is responsible for shutting down the object that is returned in ppv. To shut down the object, do one of the following:

  • Call on the activation object, or
  • Call the object-specific shutdown method. This method will depend on the type of object. Possibilities include:
    • Media sources: Call .
    • Media sinks: Call .
    • Any object that supports the interface: Call .

The method is generic to all object types. If the object does not require a shutdown method, ShutdownObject succeeds and has no effect. If you do not know the specific shutdown method for the object (or do not know the object type), call .

After the first call to ActivateObject, subsequent calls return a reference to the same instance, until the client calls either ShutdownObject or .

-
- - ms694292 - HRESULT IMFActivate::ActivateObject([In] const GUID& riid,[Out] void** ppv) - IMFActivate::ActivateObject -
- - -

Shuts down the created object.

-
-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

If you create an object by calling , call ShutdownObject when you are done using the object.

The component that calls ActivateObject?not the component that creates the activation object?is responsible for calling ShutdownObject. For example, in a typical playback application, the application creates activation objects for the media sinks, but the Media Session calls ActivateObject. Therefore the Media Session, not the application, calls ShutdownObject.

After ShutdownObject is called, the activation object releases all of its internal references to the created object. If you call ActivateObject again, the activation object will create a new instance of the other object.

-
- - ms695228 - HRESULT IMFActivate::ShutdownObject() - IMFActivate::ShutdownObject -
- - -

Detaches the created object from the activation object.

-
-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_NOTIMPL

Not implemented.

?

- -

The activation object releases all of its internal references to the created object. If you call ActivateObject again, the activation object will create a new instance of the other object.

The DetachObject method does not shut down the created object. If the DetachObject method succeeds, the client must shut down the created object. This rule applies only to objects that have a shutdown method or that support the interface. See the remarks for .

Implementation of this method is optional. If the activation object does not support this method, the method returns E_NOTIMPL.

-
- - aa367342 - HRESULT IMFActivate::DetachObject() - IMFActivate::DetachObject -
- - - The assembly provides managed MediaFoundation API. - - - MediaFoundation - MediaFoundation - - - - A default implementation of AsyncCallbackBase. - - - - - Internal AsyncCallback Callback - - - - - Return a pointer to the unmanaged version of this callback. - - The callback. - A pointer to a shadow c++ callback - - - HRESULT IMFAsyncCallback::GetParameters([Out] MFASYNC_CALLBACK_FLAGS* pdwFlags,[Out] unsigned int* pdwQueue) - - - HRESULT IMFAsyncCallback::Invoke([In, Optional] IMFAsyncResult* pAsyncResult) - - - -

Provides information about the result of an asynchronous operation.

-
- -

Use this interface to complete an asynchronous operation. You get a reference to this interface when your callback object's method is called. To complete the operation, pass the reference to the End... method that corresponds to the Begin... method that starts the operation. For example, if the asynchronous method is named BeginRead, call the EndRead method. For more information, see Calling Asynchronous Methods.

If you are implementing an asynchronous method, call to create an instance of this object. For more information, see Writing an Asynchronous Method.

Any custom implementation of this interface must inherit the structure.

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms700196 - IMFAsyncResult - IMFAsyncResult -
- - - Gets the state object specified by the caller in the asynchronous Begin method. If the value is not null, the caller must dispose. - - The state. - -

The caller of the asynchronous method specifies the state object, and can use it for any caller-defined purpose. The state object can be null. If the state object is null, GetState returns E_POINTER.

If you are implementing an asynchronous method, set the state object on the through the punkState parameter of the function.

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- bb970576 - HRESULT IMFAsyncResult::GetState([Out] IUnknown** ppunkState) - IMFAsyncResult::GetState -
- - -

Get or sets the status of the asynchronous operation.

-
-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The operation completed successfully.

?

- -

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- ms702095 - HRESULT IMFAsyncResult::GetStatus() - IMFAsyncResult::GetStatus -
- - -

Applies to: desktop apps | Metro style apps

Returns an object associated with the asynchronous operation. The type of object, if any, depends on the asynchronous method that was called.

-
-

Receives a reference to the object's interface. If no object is associated with the operation, this parameter receives the value null. If the value is not null, the caller must release the interface.

- -

Typically, this object is used by the component that implements the asynchronous method. It provides a way for the function that invokes the callback to pass information to the asynchronous End... method that completes the operation.

If you are implementing an asynchronous method, you can set the object through the punkObject parameter of the function.

If the asynchronous result object's internal reference is null, the method returns E_POINTER.

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- bb970500 - HRESULT IMFAsyncResult::GetObjectW([Out] IUnknown** ppObject) - IMFAsyncResult::GetObjectW -
- - - Initializes a new instance of the 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 state object specified by the caller in the asynchronous Begin method.

-
-

Receives a reference to the state object's interface. If the value is not null, the caller must release the interface.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_POINTER

There is no state object associated with this asynchronous result.

?

- -

The caller of the asynchronous method specifies the state object, and can use it for any caller-defined purpose. The state object can be null. If the state object is null, GetState returns E_POINTER.

If you are implementing an asynchronous method, set the state object on the through the punkState parameter of the function.

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - bb970576 - HRESULT IMFAsyncResult::GetState([Out] void** ppunkState) - IMFAsyncResult::GetState -
- - -

Returns the status of the asynchronous operation.

-
-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The operation completed successfully.

?

- -

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms702095 - HRESULT IMFAsyncResult::GetStatus() - IMFAsyncResult::GetStatus -
- - -

Sets the status of the asynchronous operation.

-
-

The status of the asynchronous operation.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

If you implement an asynchronous method, call SetStatus to set the status code for the operation.

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - bb970435 - HRESULT IMFAsyncResult::SetStatus([In] HRESULT hrStatus) - IMFAsyncResult::SetStatus -
- - -

Returns an object associated with the asynchronous operation. The type of object, if any, depends on the asynchronous method that was called.

-
-

Receives a reference to the object's interface. If no object is associated with the operation, this parameter receives the value null. If the value is not null, the caller must release the interface.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_POINTER

There is no object associated with this asynchronous result.

?

- -

Typically, this object is used by the component that implements the asynchronous method. It provides a way for the function that invokes the callback to pass information to the asynchronous End... method that completes the operation.

If you are implementing an asynchronous method, you can set the object through the punkObject parameter of the function.

If the asynchronous result object's internal reference is null, the method returns E_POINTER.

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - bb970500 - HRESULT IMFAsyncResult::GetObjectW([Out] IUnknown** ppObject) - IMFAsyncResult::GetObjectW -
- - -

Returns the state object specified by the caller in the asynchronous Begin method, without incrementing the object's reference count.

-
-

Returns a reference to the state object's interface, or null if no object was set. This reference does not have an outstanding reference count. If you store this reference, you must call AddRef on the reference.

- -

This method cannot be called remotely.

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms696238 - IUnknown* IMFAsyncResult::GetStateNoAddRef() - IMFAsyncResult::GetStateNoAddRef -
- - - Decoder from compressed audio (mp3, wma...etc.) to PCM. - - - This class was developed following the "Tutorial: Decoding Audio" - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The stream to read the compressed audio. - - - - Gets or sets the source stream. See remarks. - - The source. - - The source must be set before calling - - - - - Gets the total duration in seconds. - - The duration. - - - - Gets the PCM wave format output by this decoder. - - The wave format. - - - - Gets the decoded PCM samples. See remarks. - - An enumerator of pointer to PCM decoded data with the same format as returned by . - - This method is only working as a single enumerator at a time. - - - The must be set before calling - - - - - Gets the decoded PCM samples. See remarks. - - The starting position in seconds. - An enumerator of pointer to PCM decoded data with the same format as returned by . - - This method is only working as a single enumerator at a time. - The must be set before calling - - - - - ByteStream class used - - -

Represents a byte stream from some data source, which might be a local file, a network file, or some other source. The interface supports the typical stream operations, such as reading, writing, and seeking.

-
- -

The following functions return references for local files:

A byte stream for a media souce can be opened with read access. A byte stream for an archive media sink should be opened with both read and write access. (Read access may be required, because the archive sink might need to read portions of the file as it writes.)

Some implementations of this interface also expose one or more of the following interfaces:

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms698720 - IMFByteStream - IMFByteStream -
- - - Instantiates a new instance from a . - - hh162754 - HRESULT MFCreateMFByteStreamOnStreamEx([In] IUnknown* punkStream,[Out] IMFByteStream** ppByteStream) - MFCreateMFByteStreamOnStreamEx - - - - Instantiates a new instance from a . - - hh162754 - HRESULT MFCreateMFByteStreamOnStreamEx([In] IUnknown* punkStream,[Out] IMFByteStream** ppByteStream) - MFCreateMFByteStreamOnStreamEx - - - - Instantiates a new instance from a . - - hh162754 - HRESULT MFCreateMFByteStreamOnStreamEx([In] IUnknown* punkStream,[Out] IMFByteStream** ppByteStream) - MFCreateMFByteStreamOnStreamEx - - - -

Applies to: desktop apps | Metro style apps

Retrieves the characteristics of the byte stream.

-
- The capabilities of the stream. - -

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- ms698962 - HRESULT IMFByteStream::GetCapabilities([Out] unsigned int* pdwCapabilities) - IMFByteStream::GetCapabilities -
- - -

Applies to: desktop apps | Metro style apps

Retrieves the length of the stream.

-
- The length of the stream, in bytes. If the length is unknown, this value is -1. - -

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- ms698941 - HRESULT IMFByteStream::GetLength([Out] unsigned longlong* pqwLength) - IMFByteStream::GetLength -
- - -

Applies to: desktop apps | Metro style apps

Retrieves the current read or write position in the stream.

-
- The current position, in bytes. - -

The methods that update the current position are Read, BeginRead, Write, BeginWrite, SetCurrentPosition, and Seek.

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- ms704059 - HRESULT IMFByteStream::GetCurrentPosition([Out] unsigned longlong* pqwPosition) - IMFByteStream::GetCurrentPosition -
- - -

Applies to: desktop apps | Metro style apps

Queries whether the current position has reached the end of the stream.

-
- true if the end of the stream has been reached - -

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- ms697369 - HRESULT IMFByteStream::IsEndOfStream([Out] BOOL* pfEndOfStream) - IMFByteStream::IsEndOfStream -
- - -

Applies to: desktop apps | Metro style apps

Reads data from the stream.

-
-

Pointer to a buffer that receives the data. The caller must allocate the buffer.

- Offset into the buffer. -

Size of the buffer in bytes.

- The number of bytes that are copied into the buffer - -

This method reads at most cb bytes from the current position in the stream and copies them into the buffer provided by the caller. The number of bytes that were read is returned in the pcbRead parameter. The method does not return an error code on reaching the end of the file, so the application should check the value in pcbRead after the method returns.

This method is synchronous. It blocks until the read operation completes.

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- ms698913 - HRESULT IMFByteStream::Read([Out, Buffer] unsigned char* pb,[In] unsigned int cb,[Out] unsigned int* pcbRead) - IMFByteStream::Read -
- - -

Applies to: desktop apps | Metro style apps

Begins an asynchronous read operation from the stream.

-
-

Pointer to a buffer that receives the data. The caller must allocate the buffer.

- The offset in the buffer to begin reading from. -

Size of the buffer in bytes.

-

Pointer to the interface of a callback object. The caller must implement this interface.

-

Pointer to the interface of a state object, defined by the caller. This parameter can be null. You can use this object to hold state information. The object is returned to the caller when the callback is invoked.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

When all of the data has been read into the buffer, the callback object's method is called. At that point, the application should call to complete the asynchronous request.

Do not read from, write to, free, or reallocate the buffer while an asynchronous read is pending.

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- ms704810 - HRESULT IMFByteStream::BeginRead([Out, Buffer] unsigned char* pb,[In] unsigned int cb,[In] IMFAsyncCallback* pCallback,[In] IUnknown* punkState) - IMFByteStream::BeginRead -
- - -

Applies to: desktop apps | Metro style apps

Completes an asynchronous read operation.

-
-

Pointer to the interface. Pass in the same reference that your callback object received in the method.

- The number of bytes that were read - -

Call this method after the method completes asynchronously.

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- ms704042 - HRESULT IMFByteStream::EndRead([In] IMFAsyncResult* pResult,[Out] unsigned int* pcbRead) - IMFByteStream::EndRead -
- - -

Applies to: desktop apps | Metro style apps

Writes data to the stream.

-
-

Pointer to a buffer that contains the data to write.

- The offset within the buffer to begin writing at. -

Size of the buffer in bytes.

- The number of bytes that are written. - -

This method writes the contents of the pb buffer to the stream, starting at the current stream position. The number of bytes that were written is returned in the pcbWritten parameter.

This method is synchronous. It blocks until the write operation completes.

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- ms703843 - HRESULT IMFByteStream::Write([In, Buffer] const unsigned char* pb,[In] unsigned int cb,[Out] unsigned int* pcbWritten) - IMFByteStream::Write -
- - -

Applies to: desktop apps | Metro style apps

Begins an asynchronous write operation to the stream.

-
-

Pointer to a buffer containing the data to write.

- The offset within the buffer to begin writing at. -

Size of the buffer in bytes.

-

Pointer to the interface of a callback object. The caller must implement this interface.

-

Pointer to the interface of a state object, defined by the caller. This parameter can be null. You can use this object to hold state information. The object is returned to the caller when the callback is invoked.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

When all of the data has been written to the stream, the callback object's method is called. At that point, the application should call to complete the asynchronous request.

Do not reallocate, free, or write to the buffer while an asynchronous write is still pending.

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- ms694005 - HRESULT IMFByteStream::BeginWrite([In, Buffer] const unsigned char* pb,[In] unsigned int cb,[In] IMFAsyncCallback* pCallback,[In] IUnknown* punkState) - IMFByteStream::BeginWrite -
- - -

Applies to: desktop apps | Metro style apps

Completes an asynchronous write operation.

-
-

Pointer to the interface. Pass in the same reference that your callback object received in the method.

- The number of bytes that were written - -

Call this method when the method completes asynchronously.

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- ms703863 - HRESULT IMFByteStream::EndWrite([In] IMFAsyncResult* pResult,[Out] unsigned int* pcbWritten) - IMFByteStream::EndWrite -
- - -

Applies to: desktop apps | Metro style apps

Moves the current position in the stream by a specified offset.

-
-

Specifies the origin of the seek as a member of the enumeration. The offset is calculated relative to this position.

-

Specifies the new position, as a byte offset from the seek origin.

-

Specifies zero or more flags. The following flags are defined.

ValueMeaning
MFBYTESTREAM_SEEK_FLAG_CANCEL_PENDING_IO

All pending I/O requests are canceled after the seek request completes successfully.

?

- The new position after the seek - -

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- ms697053 - HRESULT IMFByteStream::Seek([In] MFBYTESTREAM_SEEK_ORIGIN SeekOrigin,[In] longlong llSeekOffset,[In] unsigned int dwSeekFlags,[Out] unsigned longlong* pqwCurrentPosition) - IMFByteStream::Seek -
- - -

Applies to: desktop apps | Metro style apps

Clears any internal buffers used by the stream. If you are writing to the stream, the buffered data is written to the underlying file or device.

-
-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

If the byte stream is read-only, this method has no effect.

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- ms694833 - HRESULT IMFByteStream::Flush() - IMFByteStream::Flush -
- - -

Applies to: desktop apps | Metro style apps

Closes the stream and releases any resources associated with the stream, such as sockets or file handles. This method also cancels any pending asynchronous I/O requests.

-
-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- ms703909 - HRESULT IMFByteStream::Close() - IMFByteStream::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. - - - - -

Retrieves the characteristics of the byte stream.

-
-

Receives a bitwise OR of zero or more flags. The following flags are defined.

ValueMeaning
MFBYTESTREAM_IS_READABLE
0x00000001

The byte stream can be read.

MFBYTESTREAM_IS_WRITABLE
0x00000002

The byte stream can be written to.

MFBYTESTREAM_IS_SEEKABLE
0x00000004

The byte stream can be seeked.

MFBYTESTREAM_IS_REMOTE
0x00000008

The byte stream is from a remote source, such as a network.

MFBYTESTREAM_IS_DIRECTORY
0x00000080

The byte stream represents a file directory.

MFBYTESTREAM_HAS_SLOW_SEEK
0x00000100

Seeking within this stream might be slow. For example, the byte stream might download from a network.

MFBYTESTREAM_IS_PARTIALLY_DOWNLOADED
0x00000200

The byte stream is currently downloading data to a local cache. Read operations on the byte stream might take longer until the data is completely downloaded.

This flag is cleared after all of the data has been downloaded.

If the MFBYTESTREAM_HAS_SLOW_SEEK flag is also set, it means the byte stream must download the entire file sequentially. Otherwise, the byte stream can respond to seek requests by restarting the download from a new point in the stream.

MFBYTESTREAM_SHARE_WRITE
0x00000400

Another thread or process can open this byte stream for writing. If this flag is present, the length of thebyte stream could change while it is being read.

This flag can affect the behavior of byte-stream handlers. For more information, see .

Note??Requires Windows?7 or later. ?
MFBYTESTREAM_DOES_NOT_USE_NETWORK
0x00000800

The byte stream is not currentlyusing the network to receive the content. Networking hardwaremay enter a power saving state when this bit is set.

Note??Requires Windows?8 or later. ?

?

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms698962 - HRESULT IMFByteStream::GetCapabilities([Out] unsigned int* pdwCapabilities) - IMFByteStream::GetCapabilities -
- - -

Retrieves the length of the stream.

-
-

Receives the length of the stream, in bytes. If the length is unknown, this value is -1.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms698941 - HRESULT IMFByteStream::GetLength([Out] unsigned longlong* pqwLength) - IMFByteStream::GetLength -
- - -

Sets the length of the stream.

-
-

Length of the stream in bytes.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms697225 - HRESULT IMFByteStream::SetLength([In] unsigned longlong qwLength) - IMFByteStream::SetLength -
- - -

Retrieves the current read or write position in the stream.

-
-

Receives the current position, in bytes.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

The methods that update the current position are Read, BeginRead, Write, BeginWrite, SetCurrentPosition, and Seek.

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms704059 - HRESULT IMFByteStream::GetCurrentPosition([Out] unsigned longlong* pqwPosition) - IMFByteStream::GetCurrentPosition -
- - -

Sets the current read or write position.

-
-

New position in the stream, as a byte offset from the start of the stream.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_INVALIDARG

Invalid argument.

?

- -

If the new position is larger than the length of the stream, the method returns E_INVALIDARG.

Implementation notes: This method should update the current position in the stream by setting the current position to the value passed in to the qwPosition parameter. Other methods that can update the current position are Read, BeginRead, Write, BeginWrite, and Seek. -

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms695238 - HRESULT IMFByteStream::SetCurrentPosition([In] unsigned longlong qwPosition) - IMFByteStream::SetCurrentPosition -
- - -

Queries whether the current position has reached the end of the stream.

-
-

Receives the value TRUE if the end of the stream has been reached, or otherwise.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms697369 - HRESULT IMFByteStream::IsEndOfStream([Out] BOOL* pfEndOfStream) - IMFByteStream::IsEndOfStream -
- - -

Reads data from the stream.

-
-

Pointer to a buffer that receives the data. The caller must allocate the buffer.

-

Size of the buffer in bytes.

-

Receives the number of bytes that are copied into the buffer. This parameter cannot be null.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

This method reads at most cb bytes from the current position in the stream and copies them into the buffer provided by the caller. The number of bytes that were read is returned in the pcbRead parameter. The method does not return an error code on reaching the end of the file, so the application should check the value in pcbRead after the method returns.

This method is synchronous. It blocks until the read operation completes.

Implementation notes: This method should update the current position in the stream by adding the number of bytes that were read, which is specified by the value returned in the pcbRead parameter, to the current position. Other methods that can update the current position are Read, Write, BeginWrite, Seek, and SetCurrentPosition. -

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms698913 - HRESULT IMFByteStream::Read([In] void* pb,[In] unsigned int cb,[Out] unsigned int* pcbRead) - IMFByteStream::Read -
- - -

Begins an asynchronous read operation from the stream.

-
-

Pointer to a buffer that receives the data. The caller must allocate the buffer.

-

Size of the buffer in bytes.

-

Pointer to the interface of a callback object. The caller must implement this interface.

-

Pointer to the interface of a state object, defined by the caller. This parameter can be null. You can use this object to hold state information. The object is returned to the caller when the callback is invoked.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

When all of the data has been read into the buffer, the callback object's method is called. At that point, the application should call to complete the asynchronous request.

Do not read from, write to, free, or reallocate the buffer while an asynchronous read is pending.

Implementation notes: This method should update the current position in the stream by adding the number of bytes that will be read, which is specified by the value returned in the pcbRead parameter, to the current position. Other methods that can update the current position are BeginRead, Write, BeginWrite, Seek, and SetCurrentPosition. -

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms704810 - HRESULT IMFByteStream::BeginRead([In] void* pb,[In] unsigned int cb,[In] IMFAsyncCallback* pCallback,[In] void* punkState) - IMFByteStream::BeginRead -
- - -

Completes an asynchronous read operation.

-
-

Pointer to the interface. Pass in the same reference that your callback object received in the method.

-

Receives the number of bytes that were read.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

Call this method after the method completes asynchronously.

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms704042 - HRESULT IMFByteStream::EndRead([In] IMFAsyncResult* pResult,[Out] unsigned int* pcbRead) - IMFByteStream::EndRead -
- - -

Writes data to the stream.

-
-

Pointer to a buffer that contains the data to write.

-

Size of the buffer in bytes.

-

Receives the number of bytes that are written.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

This method writes the contents of the pb buffer to the stream, starting at the current stream position. The number of bytes that were written is returned in the pcbWritten parameter.

This method is synchronous. It blocks until the write operation completes.

Implementation notes: This method should update the current position in the stream by adding the number of bytes that were written to the stream, which is specified by the value returned in the pcbWritten, to the current position offset.

Other methods that can update the current position are Read, BeginRead, BeginWrite, Seek, and SetCurrentPosition. -

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms703843 - HRESULT IMFByteStream::Write([In] const void* pb,[In] unsigned int cb,[Out] unsigned int* pcbWritten) - IMFByteStream::Write -
- - -

Begins an asynchronous write operation to the stream.

-
-

Pointer to a buffer containing the data to write.

-

Size of the buffer in bytes.

-

Pointer to the interface of a callback object. The caller must implement this interface.

-

Pointer to the interface of a state object, defined by the caller. This parameter can be null. You can use this object to hold state information. The object is returned to the caller when the callback is invoked.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

When all of the data has been written to the stream, the callback object's method is called. At that point, the application should call to complete the asynchronous request.

Do not reallocate, free, or write to the buffer while an asynchronous write is still pending.

Implementation notes: This method should update the current position in the stream by adding the number of bytes that will be written to the stream, which is specified by the value returned in the pcbWritten, to the current position. Other methods that can update the current position are Read, BeginRead, Write, Seek, and SetCurrentPosition. -

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms694005 - HRESULT IMFByteStream::BeginWrite([In] const void* pb,[In] unsigned int cb,[In] IMFAsyncCallback* pCallback,[In] void* punkState) - IMFByteStream::BeginWrite -
- - -

Completes an asynchronous write operation.

-
-

Pointer to the interface. Pass in the same reference that your callback object received in the method.

-

Receives the number of bytes that were written.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

Call this method when the method completes asynchronously.

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms703863 - HRESULT IMFByteStream::EndWrite([In] IMFAsyncResult* pResult,[Out] unsigned int* pcbWritten) - IMFByteStream::EndWrite -
- - -

Moves the current position in the stream by a specified offset.

-
-

Specifies the origin of the seek as a member of the enumeration. The offset is calculated relative to this position.

-

Specifies the new position, as a byte offset from the seek origin.

-

Specifies zero or more flags. The following flags are defined.

ValueMeaning
MFBYTESTREAM_SEEK_FLAG_CANCEL_PENDING_IO

All pending I/O requests are canceled after the seek request completes successfully.

?

-

Receives the new position after the seek.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.

Implementation notes: This method should update the current position in the stream by adding the qwSeekOffset to the seek SeekOrigin position. This should be the same value passed back in the pqwCurrentPosition parameter. - Other methods that can update the current position are Read, BeginRead, Write, BeginWrite, and SetCurrentPosition. -

-
- - ms697053 - HRESULT IMFByteStream::Seek([In] MFBYTESTREAM_SEEK_ORIGIN SeekOrigin,[In] longlong llSeekOffset,[In] unsigned int dwSeekFlags,[Out] unsigned longlong* pqwCurrentPosition) - IMFByteStream::Seek -
- - -

Clears any internal buffers used by the stream. If you are writing to the stream, the buffered data is written to the underlying file or device.

-
-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

If the byte stream is read-only, this method has no effect.

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms694833 - HRESULT IMFByteStream::Flush() - IMFByteStream::Flush -
- - -

Closes the stream and releases any resources associated with the stream, such as sockets or file handles. This method also cancels any pending asynchronous I/O requests.

-
-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms703909 - HRESULT IMFByteStream::Close() - IMFByteStream::Close -
- - -

Controls one or more capture devices. The capture engine implements this interface. To get a reference to this interface, call either MFCreateCaptureEngine or .

-
- -

only supports one pass CBR encoding.

-
- - hh447846 - IMFCaptureEngine - IMFCaptureEngine -
- - -

Creates an instance of the capture engine.

-
-

The CLSID of the object to create. Currently, this parameter must equal .

-

The IID of the requested interface. The capture engine supports the interface.

-

Receives a reference to the requested interface. The caller must release the interface.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

Before calling this method, call the function.

-
- - hh447848 - HRESULT IMFCaptureEngineClassFactory::CreateInstance([In] const GUID& clsid,[In] const GUID& riid,[Out] void** ppvObject) - IMFCaptureEngineClassFactory::CreateInstance -
- - -

Initializes the capture engine.

-
-

A reference to the interface. The caller must implement this interface. The capture engine uses this interface to send asynchronous events to the caller.

-

A reference to the interface. This parameter can be null.

You can use this parameter to configure the capture engine. Call to create an attribute store, and then set any of the following attributes.

-

An reference that specifies an audio-capture device. This parameter can be null.

If you set the attribute to TRUE in pAttributes, the capture engine does not use an audio device, and the pAudioSource parameter is ignored.

Otherwise, if pAudioSource is null, the capture engine selects the microphone that is built into the video camera specified by pVideoSource. If the video camera does not have a microphone, the capture engine enumerates the audio-capture devices on the system and selects the first one.

To override the default audio device, set pAudioSource to an or reference for the device. For more information, see Audio/Video Capture in Media Foundation.

-

An reference that specifies a video-capture device. This parameter can be null.

If you set the attribute to TRUE in pAttributes, the capture engine does not use a video device, and the pVideoSource parameter is ignored.

Otherwise, if pVideoSource is null, the capture engine enumerates the video-capture devices on the system and selects the first one.

To override the default video device, set pVideoSource to an or reference for the device. For more information, see Enumerating Video Capture Devices.

-

This method can return one of these values.

Return codeDescription

Success.

The Initialize method was already called.

No capture devices are available.

- -

You must call this method once before using the capture engine. Calling the method a second time returns .

This method is asynchronous. If the method returns a success code, the caller will receive an MF_CAPTURE_ENGINE_INITIALIZED event through the method. The operation can fail asynchronously after the method succeeds. If so, the error code is conveyed through the OnEvent method.

-
- - hh447855 - HRESULT IMFCaptureEngine::Initialize([In] IMFCaptureEngineOnEventCallback* pEventCallback,[In, Optional] IMFAttributes* pAttributes,[In, Optional] IUnknown* pAudioSource,[In, Optional] IUnknown* pVideoSource) - IMFCaptureEngine::Initialize -
- - - Initializes a new instance of the 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 ClsidMFCaptureEngine. - CLSID_MFCaptureEngine - - - -

Gets a reference to the capture source object. Use the capture source to configure the capture devices.

-
- - hh447854 - GetSource - GetSource - HRESULT IMFCaptureEngine::GetSource([Out] IMFCaptureSource** ppSource) -
- - -

Initializes the capture engine.

-
-

A reference to the interface. The caller must implement this interface. The capture engine uses this interface to send asynchronous events to the caller.

-

A reference to the interface. This parameter can be null.

You can use this parameter to configure the capture engine. Call to create an attribute store, and then set any of the following attributes.

-

An reference that specifies an audio-capture device. This parameter can be null.

If you set the attribute to TRUE in pAttributes, the capture engine does not use an audio device, and the pAudioSource parameter is ignored.

Otherwise, if pAudioSource is null, the capture engine selects the microphone that is built into the video camera specified by pVideoSource. If the video camera does not have a microphone, the capture engine enumerates the audio-capture devices on the system and selects the first one.

To override the default audio device, set pAudioSource to an or reference for the device. For more information, see Audio/Video Capture in Media Foundation.

-

An reference that specifies a video-capture device. This parameter can be null.

If you set the attribute to TRUE in pAttributes, the capture engine does not use a video device, and the pVideoSource parameter is ignored.

Otherwise, if pVideoSource is null, the capture engine enumerates the video-capture devices on the system and selects the first one.

To override the default video device, set pVideoSource to an or reference for the device. For more information, see Enumerating Video Capture Devices.

-

This method can return one of these values.

Return codeDescription

Success.

The Initialize method was already called.

No capture devices are available.

?

- -

You must call this method once before using the capture engine. Calling the method a second time returns .

This method is asynchronous. If the method returns a success code, the caller will receive an MF_CAPTURE_ENGINE_INITIALIZED event through the method. The operation can fail asynchronously after the method succeeds. If so, the error code is conveyed through the OnEvent method.

-
- - hh447855 - HRESULT IMFCaptureEngine::Initialize([In] IMFCaptureEngineOnEventCallback* pEventCallback,[In, Optional] IMFAttributes* pAttributes,[In, Optional] IUnknown* pAudioSource,[In, Optional] IUnknown* pVideoSource) - IMFCaptureEngine::Initialize -
- - -

Starts preview.

-
-

This method can return one of these values.

Return codeDescription

Success.

The preview sink was not initialized.

?

- -

Before calling this method, configure the preview sink by calling . To get a reference to the preview sink, call .

This method is asynchronous. If the method returns a success code, the caller will receive an MF_CAPTURE_ENGINE_PREVIEW_STARTED event through the method. The operation can fail asynchronously after the method succeeds. If so, the error code is conveyed through the OnEvent method.

After the preview sink is configured, you can stop and start preview by calling and .

-
- - hh447856 - HRESULT IMFCaptureEngine::StartPreview() - IMFCaptureEngine::StartPreview -
- - -

Stops preview.

-
-

This method can return one of these values.

Return codeDescription

Success.

The capture engine is not currently previewing.

?

- -

This method is asynchronous. If the method returns a success code, the caller will receive an MF_CAPTURE_ENGINE_PREVIEW_STOPPED event through the method. The operation can fail asynchronously after the method succeeds. If so, the error code is conveyed through the OnEvent method.

-
- - hh447858 - HRESULT IMFCaptureEngine::StopPreview() - IMFCaptureEngine::StopPreview -
- - -

Starts recording audio and/or video to a file.

-
-

This method can return one of these values.

Return codeDescription

Success.

The recording sink was not initialized.

?

- -

Before calling this method, configure the recording sink by calling . To get a reference to the recording sink, call .

This method is asynchronous. If the method returns a success code, the caller will receive an MF_CAPTURE_ENGINE_RECORD_STARTED event through the method. The operation can fail asynchronously after the method succeeds. If so, the error code is conveyed through the OnEvent method.

To stop recording, call .

-
- - hh447857 - HRESULT IMFCaptureEngine::StartRecord() - IMFCaptureEngine::StartRecord -
- - -

Stops recording.

-
-

A Boolean value that specifies whether to finalize the output file. To create a valid output file, specify TRUE. Specify only if you want to interrupt the recording and discard the output file. If the value is , the operation completes more quickly, but the file will not be playable.

-

A Boolean value that specifies if the unprocessed samples waiting to be encoded should be flushed.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

This method is asynchronous. If the method returns a success code, the caller will receive an MF_CAPTURE_ENGINE_RECORD_STOPPED event through the method. The operation can fail asynchronously after the method succeeds. If so, the error code is conveyed through the OnEvent method.

-
- - hh447859 - HRESULT IMFCaptureEngine::StopRecord([In] BOOL bFinalize,[In] BOOL bFlushUnprocessedSamples) - IMFCaptureEngine::StopRecord -
- - -

Captures a still image from the video stream.

-
-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

Before calling this method, configure the photo sink by calling . To get a reference to the photo sink, call .

This method is asynchronous. If the method returns a success code, the caller will receive an MF_CAPTURE_ENGINE_PHOTO_TAKEN event through the method. The operation can fail asynchronously after the method succeeds. If so, the error code is conveyed through the OnEvent method.

-
- - hh447860 - HRESULT IMFCaptureEngine::TakePhoto() - IMFCaptureEngine::TakePhoto -
- - -

Gets a reference to one of the capture sink objects. You can use the capture sinks to configure preview, recording, or still-image capture.

-
-

An value that specifies the capture sink to retrieve.

-

Receives a reference to the interface. The caller must release the interface.

-

This method can return one of these values.

Return codeDescription

Success.

E_INVALIDARG

Invalid argument.

?

- - hh447853 - HRESULT IMFCaptureEngine::GetSink([In] MF_CAPTURE_ENGINE_SINK_TYPE mfCaptureEngineSinkType,[Out] IMFCaptureSink** ppSink) - IMFCaptureEngine::GetSink -
- - -

Gets a reference to the capture source object. Use the capture source to configure the capture devices.

-
-

Receives a reference to the interface. The caller must release the interface.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh447854 - HRESULT IMFCaptureEngine::GetSource([Out] IMFCaptureSource** ppSource) - IMFCaptureEngine::GetSource -
- - -

Creates an instance of the capture engine.

-
- -

To get a reference to this interface, call the CoCreateInstance function and specify the CLSID equal to .

Calling the MFCreateCaptureEngine function is equivalent to calling .

-
- - hh447847 - IMFCaptureEngineClassFactory - IMFCaptureEngineClassFactory -
- - - Initializes a new instance of the 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 ClsidMFCaptureEngineClassFactory. - CLSID_MFCaptureEngineClassFactory - - - -

Creates an instance of the capture engine.

-
-

The CLSID of the object to create. Currently, this parameter must equal .

-

The IID of the requested interface. The capture engine supports the interface.

-

Receives a reference to the requested interface. The caller must release the interface.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

Before calling this method, call the function.

-
- - hh447848 - HRESULT IMFCaptureEngineClassFactory::CreateInstance([In] const GUID& clsid,[In] const GUID& riid,[Out] void** ppvObject) - IMFCaptureEngineClassFactory::CreateInstance -
- - -

Callback interface for receiving events from the capture engine.

-
- -

To set the callback interface on the capture engine, call the method.

-
- - hh447849 - IMFCaptureEngineOnEventCallback - IMFCaptureEngineOnEventCallback -
- - - Return a pointer to the unmanaged version of this callback. - - The callback. - A pointer to a shadow c++ callback - - - HRESULT IMFCaptureEngineOnEventCallback::OnEvent([In] IMFMediaEvent* pEvent) - - - -

Callback interface to receive data from the capture engine.

-
- -

To set the callback interface, call one of the following methods.

-
- - hh447851 - IMFCaptureEngineOnSampleCallback - IMFCaptureEngineOnSampleCallback -
- - -

Extensions for the callback interface that is used to receive data from the capture engine.

-
- - dn280677 - IMFCaptureEngineOnSampleCallback2 - IMFCaptureEngineOnSampleCallback2 -
- - HRESULT IMFCaptureEngineOnEventCallback::OnEvent([In] IMFMediaEvent* pEvent) - - - - Return a pointer to the unmanaged version of this callback. - - The callback. - A pointer to a shadow c++ callback - - - HRESULT IMFCaptureEngineOnEventCallback::OnEvent([In] IMFMediaEvent* pEvent) - - - - No documentation. - - - IMFCapturePhotoConfirmation - IMFCapturePhotoConfirmation - - - - No documentation. - - No documentation. - No documentation. - - HRESULT IMFCapturePhotoConfirmation::SetPhotoConfirmationCallback([In] IMFAsyncCallback* pNotificationCallback) - IMFCapturePhotoConfirmation::SetPhotoConfirmationCallback - - - - Initializes a new instance of the 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. - - - GetPixelFormat / SetPixelFormat - GetPixelFormat - HRESULT IMFCapturePhotoConfirmation::GetPixelFormat([Out] GUID* subtype) - - - - No documentation. - - No documentation. - No documentation. - - HRESULT IMFCapturePhotoConfirmation::SetPhotoConfirmationCallback([In] IMFAsyncCallback* pNotificationCallback) - IMFCapturePhotoConfirmation::SetPhotoConfirmationCallback - - - - No documentation. - - No documentation. - No documentation. - - HRESULT IMFCapturePhotoConfirmation::SetPixelFormat([In] GUID subtype) - IMFCapturePhotoConfirmation::SetPixelFormat - - - - No documentation. - - No documentation. - No documentation. - - HRESULT IMFCapturePhotoConfirmation::GetPixelFormat([Out] GUID* subtype) - IMFCapturePhotoConfirmation::GetPixelFormat - - - -

Controls the photo sink. The photo sink captures still images from the video stream.

-
- -

The photo sink can deliver samples to one of the following destinations:

  • Byte stream.
  • Output file.
  • Application-provided callback interface.

The application must specify a single destination. Multiple destinations are not supported.

To capture an image, call .

-
- - hh447861 - IMFCapturePhotoSink - IMFCapturePhotoSink -
- - -

Specifies a byte stream that will receive the still image data.

-
-

A reference to the interface of a byte stream. The byte stream must be writable.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

Calling this method overrides any previous call to or .

-
- - hh447862 - HRESULT IMFCapturePhotoSink::SetOutputByteStream([In] IMFByteStream* pByteStream) - IMFCapturePhotoSink::SetOutputByteStream -
- - -

Sets a callback to receive the still-image data.

-
-

A reference to the interface. The caller must implement this interface.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

Calling this method overrides any previous call to or .

-
- - hh447864 - HRESULT IMFCapturePhotoSink::SetSampleCallback([In] IMFCaptureEngineOnSampleCallback* pCallback) - IMFCapturePhotoSink::SetSampleCallback -
- - - Initializes a new instance of the 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 name of the output file for the still image.

-
- -

Calling this method overrides any previous call to or .

-
- - hh447863 - SetOutputFileName - SetOutputFileName - HRESULT IMFCapturePhotoSink::SetOutputFileName([In] const wchar_t* fileName) -
- - -

Specifies the name of the output file for the still image.

-
-

A null-terminated string that contains the URL of the output file.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

Calling this method overrides any previous call to or .

-
- - hh447863 - HRESULT IMFCapturePhotoSink::SetOutputFileName([In] const wchar_t* fileName) - IMFCapturePhotoSink::SetOutputFileName -
- - -

Sets a callback to receive the still-image data.

-
-

A reference to the interface. The caller must implement this interface.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

Calling this method overrides any previous call to or .

-
- - hh447864 - HRESULT IMFCapturePhotoSink::SetSampleCallback([In] IMFCaptureEngineOnSampleCallback* pCallback) - IMFCapturePhotoSink::SetSampleCallback -
- - -

Specifies a byte stream that will receive the still image data.

-
-

A reference to the interface of a byte stream. The byte stream must be writable.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

Calling this method overrides any previous call to or .

-
- - hh447862 - HRESULT IMFCapturePhotoSink::SetOutputByteStream([In] IMFByteStream* pByteStream) - IMFCapturePhotoSink::SetOutputByteStream -
- - -

Controls the preview sink. The preview sink enables the application to preview audio and video from the camera.

-
- -

To start preview, call .

-
- - hh447865 - IMFCapturePreviewSink - IMFCapturePreviewSink -
- - -

Sets a callback to receive the preview data for one stream.

-
-

The zero-based index of the stream. The index is returned in the pdwSinkStreamIndex parameter of the method.

-

A reference to the interface. The caller must implement this interface.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

Calling this method overrides any previous call to .

-
- - hh447873 - HRESULT IMFCapturePreviewSink::SetSampleCallback([In] unsigned int dwStreamSinkIndex,[In] IMFCaptureEngineOnSampleCallback* pCallback) - IMFCapturePreviewSink::SetSampleCallback -
- - - Initializes a new instance of the 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 a window for preview.

-
- -

Calling this method overrides any previous call to .

-
- - hh447870 - SetRenderHandle - SetRenderHandle - HRESULT IMFCapturePreviewSink::SetRenderHandle([In] void* handle) -
- - -

Specifies a Microsoft DirectComposition visual for preview.

-
- - hh447871 - SetRenderSurface - SetRenderSurface - HRESULT IMFCapturePreviewSink::SetRenderSurface([In] IUnknown* pSurface) -
- - -

Gets or sets the current mirroring state of the video preview stream.

-
- - hh447866 - GetMirrorState / SetMirrorState - GetMirrorState - HRESULT IMFCapturePreviewSink::GetMirrorState([Out] BOOL* pfMirrorState) -
- - -

Sets a custom media sink for preview.

-
- -

This method overrides the default selection of the media sink for preview.

-
- - hh447868 - SetCustomSink - SetCustomSink - HRESULT IMFCapturePreviewSink::SetCustomSink([In] IMFMediaSink* pMediaSink) -
- - -

Specifies a window for preview.

-
-

A handle to the window. The preview sink draws the video frames inside this window.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

Calling this method overrides any previous call to .

-
- - hh447870 - HRESULT IMFCapturePreviewSink::SetRenderHandle([In] void* handle) - IMFCapturePreviewSink::SetRenderHandle -
- - -

Specifies a Microsoft DirectComposition visual for preview.

-
-

A reference to a DirectComposition visual that implements the interface.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh447871 - HRESULT IMFCapturePreviewSink::SetRenderSurface([In] IUnknown* pSurface) - IMFCapturePreviewSink::SetRenderSurface -
- - -

Updates the video frame. Call this method when the preview window receives a WM_PAINT or WM_SIZE message.

-
- No documentation. - No documentation. - No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh447874 - HRESULT IMFCapturePreviewSink::UpdateVideo([In, Optional] const MFVideoNormalizedRect* pSrc,[In, Optional] const RECT* pDst,[In, Optional] const COLORREF* pBorderClr) - IMFCapturePreviewSink::UpdateVideo -
- - -

Sets a callback to receive the preview data for one stream.

-
-

The zero-based index of the stream. The index is returned in the pdwSinkStreamIndex parameter of the method.

-

A reference to the interface. The caller must implement this interface.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

Calling this method overrides any previous call to .

-
- - hh447873 - HRESULT IMFCapturePreviewSink::SetSampleCallback([In] unsigned int dwStreamSinkIndex,[In] IMFCaptureEngineOnSampleCallback* pCallback) - IMFCapturePreviewSink::SetSampleCallback -
- - -

Gets the current mirroring state of the video preview stream.

-
-

Receives the value TRUE if mirroring is enabled, or if mirroring is disabled.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh447866 - HRESULT IMFCapturePreviewSink::GetMirrorState([Out] BOOL* pfMirrorState) - IMFCapturePreviewSink::GetMirrorState -
- - -

Enables or disables mirroring of the video preview stream.

-
-

If TRUE, mirroring is enabled. If , mirror is disabled.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh447869 - HRESULT IMFCapturePreviewSink::SetMirrorState([In] BOOL fMirrorState) - IMFCapturePreviewSink::SetMirrorState -
- - -

Gets the rotation of the video preview stream.

-
-

The zero-based index of the stream. You must specify a video stream.

-

Receives the image rotation, in degrees.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh447867 - HRESULT IMFCapturePreviewSink::GetRotation([In] unsigned int dwStreamIndex,[Out] unsigned int* pdwRotationValue) - IMFCapturePreviewSink::GetRotation -
- - -

Rotates the video preview stream.

-
-

The zero-based index of the stream to rotate. You must specify a video stream.

-

The amount to rotate the video, in degrees. Valid values are 0, 90, 180, and 270. The value zero restores the video to its original orientation.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh447872 - HRESULT IMFCapturePreviewSink::SetRotation([In] unsigned int dwStreamIndex,[In] unsigned int dwRotationValue) - IMFCapturePreviewSink::SetRotation -
- - -

Sets a custom media sink for preview.

-
-

A reference to the interface of the media sink.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

This method overrides the default selection of the media sink for preview.

-
- - hh447868 - HRESULT IMFCapturePreviewSink::SetCustomSink([In] IMFMediaSink* pMediaSink) - IMFCapturePreviewSink::SetCustomSink -
- - -

Controls the recording sink. The recording sink creates compressed audio/video files or compressed audio/video streams.

-
- -

The recording sink can deliver samples to one of the following destinations:

  • Byte stream.
  • Output file.
  • Application-provided callback interface.

The application must specify a single destination. Multiple destinations are not supported. (However, if a callback is used, you can provide a separate callback for each stream.)

If the destination is a byte stream or an output file, the application specifies a container type, such as MP4 or ASF. The capture engine then multiplexes the audio and video to produce the format defined by the container type. If the destination is a callback interface, however, the capture engine does not multiplex or otherwise interleave the samples. The callback option gives you the most control over the recorded output, but requires more work by the application.

To start the recording, call .

-
- - hh447875 - IMFCaptureRecordSink - IMFCaptureRecordSink -
- - -

Specifies a byte stream that will receive the data for the recording.

-
-

A reference to the interface of a byte stream. The byte stream must be writable.

-

A that specifies the file container type. Possible values are documented in the attribute.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

Calling this method overrides any previous call to or .

-
- - hh447878 - HRESULT IMFCaptureRecordSink::SetOutputByteStream([In] IMFByteStream* pByteStream,[In] const GUID& guidContainerType) - IMFCaptureRecordSink::SetOutputByteStream -
- - -

Sets a callback to receive the recording data for one stream.

-
-

The zero-based index of the stream. The index is returned in the pdwSinkStreamIndex parameter of the method.

-

A reference to the interface. The caller must implement this interface.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

Calling this method overrides any previous call to or .

-
- - hh447881 - HRESULT IMFCaptureRecordSink::SetSampleCallback([In] unsigned int dwStreamSinkIndex,[In] IMFCaptureEngineOnSampleCallback* pCallback) - IMFCaptureRecordSink::SetSampleCallback -
- - - Initializes a new instance of the 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 name of the output file for the recording.

-
- -

The capture engine uses the file name extension to select the container type for the output file. For example, if the file name extension is ."mp4", the capture engine creates an MP4 file.

Calling this method overrides any previous call to or .

-
- - hh447879 - SetOutputFileName - SetOutputFileName - HRESULT IMFCaptureRecordSink::SetOutputFileName([In] const wchar_t* fileName) -
- - -

Sets a custom media sink for recording.

-
- -

This method overrides the default selection of the media sink for recording.

-
- - hh447877 - SetCustomSink - SetCustomSink - HRESULT IMFCaptureRecordSink::SetCustomSink([In] IMFMediaSink* pMediaSink) -
- - -

Specifies a byte stream that will receive the data for the recording.

-
-

A reference to the interface of a byte stream. The byte stream must be writable.

-

A that specifies the file container type. Possible values are documented in the attribute.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

Calling this method overrides any previous call to or .

-
- - hh447878 - HRESULT IMFCaptureRecordSink::SetOutputByteStream([In] IMFByteStream* pByteStream,[In] const GUID& guidContainerType) - IMFCaptureRecordSink::SetOutputByteStream -
- - -

Specifies the name of the output file for the recording.

-
-

A null-terminated string that contains the URL of the output file.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

The capture engine uses the file name extension to select the container type for the output file. For example, if the file name extension is ."mp4", the capture engine creates an MP4 file.

Calling this method overrides any previous call to or .

-
- - hh447879 - HRESULT IMFCaptureRecordSink::SetOutputFileName([In] const wchar_t* fileName) - IMFCaptureRecordSink::SetOutputFileName -
- - -

Sets a callback to receive the recording data for one stream.

-
-

The zero-based index of the stream. The index is returned in the pdwSinkStreamIndex parameter of the method.

-

A reference to the interface. The caller must implement this interface.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

Calling this method overrides any previous call to or .

-
- - hh447881 - HRESULT IMFCaptureRecordSink::SetSampleCallback([In] unsigned int dwStreamSinkIndex,[In] IMFCaptureEngineOnSampleCallback* pCallback) - IMFCaptureRecordSink::SetSampleCallback -
- - -

Sets a custom media sink for recording.

-
-

A reference to the interface of the media sink.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

This method overrides the default selection of the media sink for recording.

-
- - hh447877 - HRESULT IMFCaptureRecordSink::SetCustomSink([In] IMFMediaSink* pMediaSink) - IMFCaptureRecordSink::SetCustomSink -
- - -

Gets the rotation that is currently being applied to the recorded video stream.

-
-

The zero-based index of the stream. You must specify a video stream.

-

Receives the image rotation, in degrees.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh447876 - HRESULT IMFCaptureRecordSink::GetRotation([In] unsigned int dwStreamIndex,[Out] unsigned int* pdwRotationValue) - IMFCaptureRecordSink::GetRotation -
- - -

Rotates the recorded video stream.

-
-

The zero-based index of the stream to rotate. You must specify a video stream.

-

The amount to rotate the video, in degrees. Valid values are 0, 90, 180, and 270. The value zero restores the video to its original orientation.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh447880 - HRESULT IMFCaptureRecordSink::SetRotation([In] unsigned int dwStreamIndex,[In] unsigned int dwRotationValue) - IMFCaptureRecordSink::SetRotation -
- - -

Controls a capture sink, which is an object that receives one or more streams from a capture device.

-
- -

The capture engine creates the following capture sinks.

  • Photo sink. Encodes still image files.
  • Preview sink. Previews live audio or video.
  • Recording sink. Creates compressed audio/video files or compressed audio/video streams.

To get a reference to a capture sink, call . Each capture sink implements an interface that derives from . Call QueryInterface to get a reference to the derived interface.

SinkInterface
Photo sink
Preview sink
Recording sink

?

Applications cannot directly create the capture sinks.

If an image stream native media type is set to JPEG, the photo sink should be configured with a format identical to native source format. JPEG native type is passthrough only.

If an image stream native type is set to JPEG, to add an effect, change the native type on the image stream to an uncompressed video media type (such as NV12 or RGB32) and then add the effect.

If the native type is H.264 for the record stream, the record sink should be configured with the same media type. H.264 native type is passthrough only and cannot be decoded.

Record streams that expose H.264 do not expose any other type. H.264 record streams cannot be used in conjunction with effects. To add effects, instead connect the preview stream to the recordsink using AddStream.

-
- - hh447882 - IMFCaptureSink - IMFCaptureSink -
- - -

Queries the underlying Sink Writer object for an interface.

-
- No documentation. - No documentation. - No documentation. - No documentation. - - hh447885 - HRESULT IMFCaptureSink::GetService([In] unsigned int dwSinkStreamIndex,[In] const GUID& rguidService,[In] const GUID& riid,[Out, Optional] IUnknown** ppUnknown) - IMFCaptureSink::GetService -
- - - Initializes a new instance of the 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 output format for a stream on this capture sink.

-
-

The zero-based index of the stream to query. The index is returned in the pdwSinkStreamIndex parameter of the method.

-

Receives a reference to the interface. The caller must release the reference.

-

This method can return one of these values.

Return codeDescription

Success.

The dwSinkStreamIndex parameter is invalid.

?

- - hh447884 - HRESULT IMFCaptureSink::GetOutputMediaType([In] unsigned int dwSinkStreamIndex,[Out, Optional] IMFMediaType** ppMediaType) - IMFCaptureSink::GetOutputMediaType -
- - -

Queries the underlying Sink Writer object for an interface.

-
- No documentation. - No documentation. - No documentation. - No documentation. - - hh447885 - HRESULT IMFCaptureSink::GetService([In] unsigned int dwSinkStreamIndex,[In] const GUID& rguidService,[In] const GUID& riid,[Out, Optional] IUnknown** ppUnknown) - IMFCaptureSink::GetService -
- - -

Connects a stream from the capture source to this capture sink.

-
-

The source stream to connect. The value can be any of the following.

ValueMeaning
0?0xFFFFFFFB

The zero-based index of a stream. To get the number of streams, call .

MF_CAPTURE_ENGINE_FIRST_SOURCE_PHOTO_STREAM
0xFFFFFFFB

The first image stream.

MF_CAPTURE_ENGINE_FIRST_SOURCE_VIDEO_STREAM
0xFFFFFFFC

The first video stream.

MF_CAPTURE_ENGINE_FIRST_SOURCE_AUDIO_STREAM
0xFFFFFFFD

The first audio stream.

?

-

An reference that specifies the desired format of the output stream. The details of the format will depend on the capture sink.

  • Photo sink: A still image format compatible with Windows Imaging Component (WIC).
  • Preview sink: An uncompressed audio or video format.
  • Record sink: The audio or video format that will be written to the output file.
-

A reference to the interface. For compressed streams, you can use this parameter to configure the encoder. This parameter can also be null. For the preview sink, set this parameter to null.

-

Receives the index of the new stream on the capture sink. Note that this index will not necessarily match the value of dwSourceStreamIndex.

-

This method can return one of these values.

Return codeDescription

Success.

The format specified in pMediaType is not valid for this capture sink.

The dwSourceStreamIndex parameter is invalid, or the specified source stream was already connected to this sink.

?

- - hh447883 - HRESULT IMFCaptureSink::AddStream([In] unsigned int dwSourceStreamIndex,[In] IMFMediaType* pMediaType,[In, Optional] IMFAttributes* pAttributes,[Out, Optional] unsigned int* pdwSinkStreamIndex) - IMFCaptureSink::AddStream -
- - -

Prepares the capture sink by loading any required pipeline components, such as encoders, video processors, and media sinks.

-
-

This method can return one of these values.

Return codeDescription

Success.

Invalid request.

?

- -

Calling this method is optional. This method gives the application an opportunity to configure the pipeline components before they are used. The method is asynchronous. If the method returns a success code, the caller will receive an MF_CAPTURE_SINK_PREPARED event through the method. After this event is received, call to configure individual components.

Before calling this method, configure the capture sink by adding at least one stream. To add a stream, call .

The Prepare method fails if the capture sink is currently in use. For example, calling Prepare on the preview sink fails if the capture engine is currently previewing.

-
- - hh447886 - HRESULT IMFCaptureSink::Prepare() - IMFCaptureSink::Prepare -
- - -

Removes all streams from the capture sink.

-
-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

You can use this method to reconfigure the sink.

-
- - hh447887 - HRESULT IMFCaptureSink::RemoveAllStreams() - IMFCaptureSink::RemoveAllStreams -
- - -

Receives state-change notifications from the presentation clock.

-
- -

To receive state-change notifications from the presentation clock, implement this interface and call on the presentation clock.

This interface must be implemented by:

  • Presentation time sources. The presentation clock uses this interface to request change states from the time source.

  • Media sinks. Media sinks use this interface to get notifications when the presentation clock changes.

Other objects that need to be notified can implement this interface.

-
- - ms701593 - IMFClockStateSink - IMFClockStateSink -
- - - Called when the presentation clock pauses. - - The system time when the clock was paused, in 100-nanosecond units. - - When the presentation clock's Pause method is called, the clock notifies the presentation time source by calling the time source's OnClockPause method. This call occurs synchronously within the Pause method. If the time source returns an error from OnClockPause, the presentation clock's Pause method returns an error and the state change does not take place. For any object that is not the presentation time source, the OnClockPause method is called asynchronously, after the state change is completed. In that case, the return value from this method is ignored. - - - HRESULT IMFClockStateSink::OnClockPause([In] longlong hnsSystemTime) - - - - Called when the presentation clock restarts from the same position while paused. - - The system time when the clock restarted, in 100-nanosecond units. - - This method is called if the presentation clock is paused and the Start method is called with the value PRESENTATION_CURRENT_POSITION. The clock notifies the presentation time source by calling the time source's OnClockRestart method. This call occurs synchronously within the Start method. If the time source returns an error from OnClockRestart, the presentation clock's Start method returns an error and the state change does not take place. For any object that is not the presentation time source, the OnClockRestart method is called asynchronously, after the state change is completed. In that case, the return value from this method is ignored. - - - HRESULT IMFClockStateSink::OnClockRestart([In] longlong hnsSystemTime) - - - - Called when the rate changes on the presentation clock. - - The system time when the rate was set, in 100-nanosecond units. - The new rate, as a multiplier of the normal playback rate. - - When the presentation clock's SetRate method is called, the clock notifies the presentation time source by calling the time source's OnClockSetRate method. This call occurs synchronously within the SetRate method. If the time source returns an error from OnClockSetRate, the presentation clock's SetRate method returns an error and the state change does not take place. For any object that is not the presentation time source, the OnClockSetRate method is called asynchronously, after the state change is completed. In that case, the return value from this method is ignored. - - - HRESULT IMFClockStateSink::OnClockSetRate([In] longlong hnsSystemTime,[In] float flRate) - - - - Called when the presentation clock starts. - - The system time when the clock started, in 100-nanosecond units. - The new starting time for the clock, in 100-nanosecond units. This parameter can also equal PRESENTATION_CURRENT_POSITION, indicating the clock has started or restarted from its current position. - - This method is called whe the presentation clock's Start method is called, with the following exception: If the clock is paused and Start is called with the value PRESENTATION_CURRENT_POSITION, OnClockRestart is called instead of OnClockStart. The clock notifies the presentation time source by calling the time source's OnClockStart method. This call occurs synchronously within the Start method. If the time source returns an error from OnClockStart, the presentation clock's Start method returns an error and the state change does not take place. For any object that is not the presentation time source, the OnClockStart method is called asynchronously, after the state change is completed. In that case, the return value from this method is ignored. The value given in llClockStartOffset is the presentation time when the clock starts, so it is relative to the start of the presentation. Media sinks should not render any data with a presentation time earlier than llClockStartOffSet. If a sample straddles the offset?that is, if the offset falls between the sample's start and stop times?the sink should either trim the sample so that only data after llClockStartOffset is rendered, or else simply drop the sample. - - - HRESULT IMFClockStateSink::OnClockStart([In] longlong hnsSystemTime,[In] longlong llClockStartOffset) - - - - Called when the presentation clock stops. - - The system time when the clock stopped, in 100-nanosecond units. - - When the presentation clock's Stop method is called, the clock notifies the presentation time source by calling the presentation time source's OnClockStop method. This call occurs synchronously within the Stop method. If the time source returns an error from OnClockStop, the presentation clock's Stop method returns an error and the state change does not take place. For any object that is not the presentation time source, the OnClockStop method is called asynchronously, after the state change is completed. If an object is already stopped, it should return Ok from OnClockStop. It should not return an error code. Note??Although the header file mferror.h defines an error code named MF_E_SINK_ALREADYSTOPPED, it should not be returned in this situation. - - - HRESULT IMFClockStateSink::OnClockStop([In] longlong hnsSystemTime) - - - - Internal ClockStateSink callback - - - - - Return a pointer to the unmanaged version of this callback. - - The callback. - A pointer to a shadow c++ callback - - - HRESULT IMFClockStateSink::OnClockStart([In] longlong hnsSystemTime,[In] longlong llClockStartOffset) - - - HRESULT IMFClockStateSink::OnClockStop([In] longlong hnsSystemTime) - - - HRESULT IMFClockStateSink::OnClockPause([In] longlong hnsSystemTime) - - - HRESULT IMFClockStateSink::OnClockRestart([In] longlong hnsSystemTime) - - - HRESULT IMFClockStateSink::OnClockSetRate([In] longlong hnsSystemTime,[In] float flRate) - - - -

Applies to: desktop apps only

Enables two threads to share the same Direct3D 9 device, and provides access to the DirectX Video Acceleration (DXVA) features of the device.

-
- -

This interface is exposed by the Direct3D Device Manager. To create the Direct3D device manager, call .

To get this interface from the Enhanced Video Renderer (EVR), call . The service is . For the DirectShow EVR filter, call GetService on the filter's pins.

The Direct3D Device Manager supports Direct3D 9 devices only. It does not support DXGI devices.

-
- - ms704727 - IDirect3DDeviceManager9 - IDirect3DDeviceManager9 - -

Enables two threads to share the same Direct3D 9 device, and provides access to the DirectX Video Acceleration (DXVA) features of the device.

-
- -

This interface is exposed by the Direct3D Device Manager. To create the Direct3D device manager, call .

To get this interface from the Enhanced Video Renderer (EVR), call . The service is . For the DirectShow EVR filter, call GetService on the filter's pins.

The Direct3D Device Manager supports Direct3D 9 devices only. It does not support DXGI devices.

Windows Store apps must use IMFDXGIDeviceManager and Direct3D 11 Video APIs.

-
- - ms704727 - IDirect3DDeviceManager9 - IDirect3DDeviceManager9 -
- - -

Applies to: desktop apps only

Creates an instance of the Direct3D Device Manager.

-
-

If this function succeeds, it returns . Otherwise, it returns an error code.

- - bb970490 - HRESULT DXVA2CreateDirect3DDeviceManager9([Out] unsigned int* pResetToken,[Out, Fast] IDirect3DDeviceManager9** ppDeviceManager) - DXVA2CreateDirect3DDeviceManager9 -
- - - A token that identifies this instance of the Direct3D device manager. Use this token when calling . - - - - - Initializes a new instance of the 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 Direct3D device or notifies the device manager that the Direct3D device was reset.

-
-

Pointer to the interface of the Direct3D device.

-

Token received in the pResetToken parameter of the function.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_INVALIDARG

Invalid token

Direct3D device error.

?

- -

When you first create the Direct3D device manager, call this method with a reference to the Direct3D device. The device manager does not create the device; the caller must provide the device reference initially.

Also call this method if the Direct3D device becomes lost and you need to reset the device or create a new device. This occurs if returns or . For more information about lost devices, see the Direct3D documentation.

The resetToken parameter ensures that only the component which originally created the device manager can invalidate the current device.

If this method succeeds, all open device handles become invalid.

-
- - ms693525 - HRESULT IDirect3DDeviceManager9::ResetDevice([In] IDirect3DDevice9* pDevice,[In] unsigned int resetToken) - IDirect3DDeviceManager9::ResetDevice -
- - -

Gets a handle to the Direct3D device.

-
-

Receives the device handle.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

DXVA2_E_NOT_INITIALIZED

The Direct3D device manager was not initialized. The owner of the device must call .

?

- -

To get the Direct3D device's reference, call with the handle returned in phDevice. Close the device handle when you are done using it, by calling .

To test whether a device handle is still valid, call .

-
- - ms698976 - HRESULT IDirect3DDeviceManager9::OpenDeviceHandle([Out] void** phDevice) - IDirect3DDeviceManager9::OpenDeviceHandle -
- - -

Closes a Direct3D device handle. Call this method to release a device handle retrieved by the method.

-
- No documentation. -

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_HANDLE

Invalid handle.

?

- - ms697332 - HRESULT IDirect3DDeviceManager9::CloseDeviceHandle([In] void* hDevice) - IDirect3DDeviceManager9::CloseDeviceHandle -
- - -

Tests whether a Direct3D device handle is valid.

-
-

Handle to a Direct3D device. To get a device handle, call .

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The device handle is valid.

E_HANDLE

The specified handle is not a Direct3D device handle.

DXVA2_E_NEW_VIDEO_DEVICE

The device handle is invalid.

?

- -

If the method returns DXVA2_E_NEW_VIDEO_DEVICE, call to close the handle and then call OpenDeviceHandle again to get a new handle. The method invalidates all open device handles.

-
- - ms704778 - HRESULT IDirect3DDeviceManager9::TestDevice([In] void* hDevice) - IDirect3DDeviceManager9::TestDevice -
- - -

Gives the caller exclusive access to the Direct3D device.

-
-

A handle to the Direct3D device. To get the device handle, call .

-

Receives a reference to the device's interface.

-

Specifies whether to wait for the device lock. If the device is already locked and this parameter is TRUE, the method blocks until the device is unlocked. Otherwise, if the device is locked and this parmater is , the method returns immediately with the error code DXVA2_E_VIDEO_DEVICE_LOCKED.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

DXVA2_E_NEW_VIDEO_DEVICE

The device handle is invalid.

DXVA2_E_NOT_INITIALIZED

The Direct3D device manager was not initialized. The owner of the device must call .

DXVA2_E_VIDEO_DEVICE_LOCKED

The device is locked and fBlock is .

E_HANDLE

The specified handle is not a Direct3D device handle.

?

- -

When you are done using the Direct3D device, call to unlock to the device.

If the method returns DXVA2_E_NEW_VIDEO_DEVICE, call to close the handle and then call OpenDeviceHandle again to get a new handle. The method invalidates all open device handles.

If fBlock is TRUE, this method can potentially deadlock. For example, it will deadlock if a thread calls LockDevice and then waits on another thread that calls LockDevice. It will also deadlock if a thread calls LockDevice twice without calling UnlockDevice in between.

-
- - ms697056 - HRESULT IDirect3DDeviceManager9::LockDevice([In] void* hDevice,[Out] IDirect3DDevice9** ppDevice,[In] BOOL fBlock) - IDirect3DDeviceManager9::LockDevice -
- - -

Unlocks the Direct3D device. Call this method to release the device after calling .

-
- No documentation. - No documentation. -

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_INVALIDARG

The specified device handle is not locked, or is not a valid handle.

?

- - ms704707 - HRESULT IDirect3DDeviceManager9::UnlockDevice([In] void* hDevice,[In] BOOL fSaveState) - IDirect3DDeviceManager9::UnlockDevice -
- - -

Gets a DirectX Video Acceleration (DXVA) service interface.

-
-

A handle to a Direct3D device. To get a device handle, call .

-

The interface identifier (IID) of the requested interface. The Direct3D device might support the following DXVA service interfaces:

-

Receives a reference to the requested interface. The caller must release the interface.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

DXVA2_E_NEW_VIDEO_DEVICE

The device handle is invalid.

DXVA2_E_NOT_AVAILABLE

The Direct3D device does not support video acceleration.

DXVA2_E_NOT_INITIALIZED

The Direct3D device manager was not initialized. The owner of the device must call .

E_HANDLE

The specified handle is not a Direct3D device handle.

?

- -

If the method returns DXVA2_E_NEW_VIDEO_DEVICE, call to close the handle and then call OpenDeviceHandle again to get a new handle. The method invalidates all open device handles.

-
- - ms696198 - HRESULT IDirect3DDeviceManager9::GetVideoService([In] void* hDevice,[In] const GUID& riid,[Out] void** ppService) - IDirect3DDeviceManager9::GetVideoService -
- - -

Specifies how the output alpha values are calculated for Microsoft DirectX Video Acceleration High Definition (DXVA-HD) blit operations.

-
- -

The Mode member of the structure has this enumeration type. That member specifies the alpha-fill mode for the input stream identified by the StreamNumber member of the same structure. To set the alpha-fill mode, call .

To find out which modes the device supports, call the method. If the device sets the flag in the FeatureCaps member of the structure, the DXVA-HD device supports any of the modes listed here. Otherwise, the alpha-fill mode must be .

-
- - dd318388 - DXVAHD_ALPHA_FILL_MODE - DXVAHD_ALPHA_FILL_MODE -
- - -

Alpha values inside the target rectangle are set to opaque.

-
- - dd318388 - DXVAHD_ALPHA_FILL_MODE_OPAQUE - DXVAHD_ALPHA_FILL_MODE_OPAQUE -
- - -

Alpha values inside the target rectangle are set to the alpha value specified in the background color. See .

-
- - dd318388 - DXVAHD_ALPHA_FILL_MODE_BACKGROUND - DXVAHD_ALPHA_FILL_MODE_BACKGROUND -
- - -

Existing alpha values remain unchanged in the output surface.

-
- - dd318388 - DXVAHD_ALPHA_FILL_MODE_DESTINATION - DXVAHD_ALPHA_FILL_MODE_DESTINATION -
- - -

Alpha values from the input stream are scaled and copied to the corresponding destination rectangle for that stream. If the input stream does not have alpha data, the DXVA-HD device sets the alpha values in the target rectangle to an opaque value. If the input stream is disabled or the source rectangle is empty, the alpha values in the target rectangle are not modified.

-
- - dd318388 - DXVAHD_ALPHA_FILL_MODE_SOURCE_STREAM - DXVAHD_ALPHA_FILL_MODE_SOURCE_STREAM -
- - -

Specifies state parameters for blit operations when using Microsoft DirectX Video Acceleration High Definition (DXVA-HD).

To set a state parameter, call the method. This method takes a value and a byte array as input. The byte array contains state data, the structure of which is defined by the value.

-
- - dd318389 - DXVAHD_BLT_STATE - DXVAHD_BLT_STATE -
- - - No documentation. - - - dd318389 - DXVAHD_BLT_STATE_TARGET_RECT - DXVAHD_BLT_STATE_TARGET_RECT - - - - No documentation. - - - dd318389 - DXVAHD_BLT_STATE_BACKGROUND_COLOR - DXVAHD_BLT_STATE_BACKGROUND_COLOR - - - - No documentation. - - - dd318389 - DXVAHD_BLT_STATE_OUTPUT_COLOR_SPACE - DXVAHD_BLT_STATE_OUTPUT_COLOR_SPACE - - - - No documentation. - - - dd318389 - DXVAHD_BLT_STATE_ALPHA_FILL - DXVAHD_BLT_STATE_ALPHA_FILL - - - - No documentation. - - - dd318389 - DXVAHD_BLT_STATE_CONSTRICTION - DXVAHD_BLT_STATE_CONSTRICTION - - - - No documentation. - - - dd318389 - DXVAHD_BLT_STATE_PRIVATE - DXVAHD_BLT_STATE_PRIVATE - - - - No documentation. - - - __MIDL___MIDL_itf_dxva2api_0000_0000_0012 - __MIDL___MIDL_itf_dxva2api_0000_0000_0012 - - - - No documentation. - - - DXVA2_PictureParametersBufferType - DXVA2_PictureParametersBufferType - - - - No documentation. - - - DXVA2_MacroBlockControlBufferType - DXVA2_MacroBlockControlBufferType - - - - No documentation. - - - DXVA2_ResidualDifferenceBufferType - DXVA2_ResidualDifferenceBufferType - - - - No documentation. - - - DXVA2_DeblockingControlBufferType - DXVA2_DeblockingControlBufferType - - - - No documentation. - - - DXVA2_InverseQuantizationMatrixBufferType - DXVA2_InverseQuantizationMatrixBufferType - - - - No documentation. - - - DXVA2_SliceControlBufferType - DXVA2_SliceControlBufferType - - - - No documentation. - - - DXVA2_BitStreamDateBufferType - DXVA2_BitStreamDateBufferType - - - - No documentation. - - - DXVA2_MotionVectorBuffer - DXVA2_MotionVectorBuffer - - - - No documentation. - - - DXVA2_FilmGrainBuffer - DXVA2_FilmGrainBuffer - - - - No documentation. - - - __MIDL___MIDL_itf_dxva2api_0000_0000_0003 - __MIDL___MIDL_itf_dxva2api_0000_0000_0003 - - - - No documentation. - - - DXVA2_DeinterlaceTech_Unknown - DXVA2_DeinterlaceTech_Unknown - - - - No documentation. - - - DXVA2_DeinterlaceTech_BOBLineReplicate - DXVA2_DeinterlaceTech_BOBLineReplicate - - - - No documentation. - - - DXVA2_DeinterlaceTech_BOBVerticalStretch - DXVA2_DeinterlaceTech_BOBVerticalStretch - - - - No documentation. - - - DXVA2_DeinterlaceTech_BOBVerticalStretch4Tap - DXVA2_DeinterlaceTech_BOBVerticalStretch4Tap - - - - No documentation. - - - DXVA2_DeinterlaceTech_MedianFiltering - DXVA2_DeinterlaceTech_MedianFiltering - - - - No documentation. - - - DXVA2_DeinterlaceTech_EdgeFiltering - DXVA2_DeinterlaceTech_EdgeFiltering - - - - No documentation. - - - DXVA2_DeinterlaceTech_FieldAdaptive - DXVA2_DeinterlaceTech_FieldAdaptive - - - - No documentation. - - - DXVA2_DeinterlaceTech_PixelAdaptive - DXVA2_DeinterlaceTech_PixelAdaptive - - - - No documentation. - - - DXVA2_DeinterlaceTech_MotionVectorSteered - DXVA2_DeinterlaceTech_MotionVectorSteered - - - - No documentation. - - - DXVA2_DeinterlaceTech_InverseTelecine - DXVA2_DeinterlaceTech_InverseTelecine - - - - No documentation. - - - __MIDL___MIDL_itf_dxva2api_0000_0000_0006 - __MIDL___MIDL_itf_dxva2api_0000_0000_0006 - - - - No documentation. - - - DXVA2_DetailFilterTech_Unsupported - DXVA2_DetailFilterTech_Unsupported - - - - No documentation. - - - DXVA2_DetailFilterTech_Unknown - DXVA2_DetailFilterTech_Unknown - - - - No documentation. - - - DXVA2_DetailFilterTech_Edge - DXVA2_DetailFilterTech_Edge - - - - No documentation. - - - DXVA2_DetailFilterTech_Sharpening - DXVA2_DetailFilterTech_Sharpening - - - -

Defines video processing capabilities for a Microsoft DirectX Video Acceleration High Definition (DXVA-HD) device.

-
- - dd318415 - DXVAHD_DEVICE_CAPS - DXVAHD_DEVICE_CAPS -
- - -

The device can blend video content in linear color space. Most video content is gamma corrected, resulting in nonlinear values. If the DXVA-HD device sets this flag, it means the device converts colors to linear space before blending, which produces better results. -

-
- - dd318415 - DXVAHD_DEVICE_CAPS_LINEAR_SPACE - DXVAHD_DEVICE_CAPS_LINEAR_SPACE -
- - -

The device supports the xvYCC color space for YCbCr data.

-
- - dd318415 - DXVAHD_DEVICE_CAPS_xvYCC - DXVAHD_DEVICE_CAPS_xvYCC -
- - -

The device can perform range conversion when the input and output are both RGB but use different color ranges (0-255 or 16-235, for 8-bit RGB).

-
- - dd318415 - DXVAHD_DEVICE_CAPS_RGB_RANGE_CONVERSION - DXVAHD_DEVICE_CAPS_RGB_RANGE_CONVERSION -
- - -

The device can apply a matrix conversion to YCbCr values when the input and output are both YCbCr. For example, the driver can convert colors from BT.601 to BT.709.

-
- - dd318415 - DXVAHD_DEVICE_CAPS_YCbCr_MATRIX_CONVERSION - DXVAHD_DEVICE_CAPS_YCbCr_MATRIX_CONVERSION -
- - -

Specifies the type of Microsoft DirectX Video Acceleration High Definition (DXVA-HD) device.

-
- - dd318417 - DXVAHD_DEVICE_TYPE - DXVAHD_DEVICE_TYPE -
- - -

Hardware device. Video processing is performed in the GPU by the driver.

-
- - dd318417 - DXVAHD_DEVICE_TYPE_HARDWARE - DXVAHD_DEVICE_TYPE_HARDWARE -
- - -

Software device. Video processing is performed in the CPU by a software plug-in.

-
- - dd318417 - DXVAHD_DEVICE_TYPE_SOFTWARE - DXVAHD_DEVICE_TYPE_SOFTWARE -
- - -

Reference device. Video processing is performed in the CPU by a software plug-in.

-
- - dd318417 - DXVAHD_DEVICE_TYPE_REFERENCE - DXVAHD_DEVICE_TYPE_REFERENCE -
- - -

Other. The device is neither a hardware device nor a software plug-in.

-
- - dd318417 - DXVAHD_DEVICE_TYPE_OTHER - DXVAHD_DEVICE_TYPE_OTHER -
- - -

Specifies the intended use for a Microsoft DirectX Video Acceleration High Definition (DXVA-HD) device.

-
- -

The graphics driver uses one of these enumeration constants as a hint when it creates the DXVA-HD device.

-
- - dd318420 - DXVAHD_DEVICE_USAGE - DXVAHD_DEVICE_USAGE -
- - -

Normal video playback. The graphics driver should expose a set of capabilities that are appropriate for real-time video playback.

-
- - dd318420 - DXVAHD_DEVICE_USAGE_PLAYBACK_NORMAL - DXVAHD_DEVICE_USAGE_PLAYBACK_NORMAL -
- - -

Optimal speed. The graphics driver should expose a minimal set of capabilities that are optimized for performance.

Use this setting if you want better performance and can accept some reduction in video quality. For example, you might use this setting in power-saving mode or to play video thumbnails.

-
- - dd318420 - DXVAHD_DEVICE_USAGE_OPTIMAL_SPEED - DXVAHD_DEVICE_USAGE_OPTIMAL_SPEED -
- - -

Optimal quality. The grahics driver should expose its maximum set of capabilities.

Specify this setting to get the best video quality possible. It is appropriate for tasks such as video editing, when quality is more important than speed. It is not appropriate for real-time playback.

-
- - dd318420 - DXVAHD_DEVICE_USAGE_OPTIMAL_QUALITY - DXVAHD_DEVICE_USAGE_OPTIMAL_QUALITY -
- - -

Defines features that a Microsoft DirectX Video Acceleration High Definition (DXVA-HD) device can support.

-
- - dd318422 - DXVAHD_FEATURE_CAPS - DXVAHD_FEATURE_CAPS -
- - -

The device can set the alpha values on the video output. See .

-
- - dd318422 - DXVAHD_FEATURE_CAPS_ALPHA_FILL - DXVAHD_FEATURE_CAPS_ALPHA_FILL -
- - -

The device can downsample the video output. See .

-
- - dd318422 - DXVAHD_FEATURE_CAPS_CONSTRICTION - DXVAHD_FEATURE_CAPS_CONSTRICTION -
- - -

The device can perform luma keying. See .

-
- - dd318422 - DXVAHD_FEATURE_CAPS_LUMA_KEY - DXVAHD_FEATURE_CAPS_LUMA_KEY -
- - -

The device can apply alpha values from color palette entries. See .

-
- - dd318422 - DXVAHD_FEATURE_CAPS_ALPHA_PALETTE - DXVAHD_FEATURE_CAPS_ALPHA_PALETTE -
- - -

Defines the range of supported values for an image filter.

-
- -

The multiplier enables the filter range to have a fractional step value.

For example, a hue filter might have an actual range of [-180.0 ... +180.0] with a step size of 0.25. The device would report the following range and multiplier:

  • Minimum: -720
  • Maximum: +720
  • Multiplier: 0.25

In this case, a filter value of 2 would be interpreted by the device as 0.50 (or 2 ? 0.25).

The device should use a multiplier that can be represented exactly as a base-2 fraction.

-
- - dd318428 - DXVAHD_FILTER - DXVAHD_FILTER -
- - -

The minimum value of the filter.

-
- - dd318428 - DXVAHD_FILTER_BRIGHTNESS - DXVAHD_FILTER_BRIGHTNESS -
- - -

The maximum value of the filter.

-
- - dd318428 - DXVAHD_FILTER_CONTRAST - DXVAHD_FILTER_CONTRAST -
- - -

The default value of the filter.

-
- - dd318428 - DXVAHD_FILTER_HUE - DXVAHD_FILTER_HUE -
- - -

A multiplier. Use the following formula to translate the filter setting into the actual filter value: Actual Value = Set Value???Multiplier.

-
- - dd318428 - DXVAHD_FILTER_SATURATION - DXVAHD_FILTER_SATURATION -
- - - No documentation. - - - dd318428 - DXVAHD_FILTER_NOISE_REDUCTION - DXVAHD_FILTER_NOISE_REDUCTION - - - - No documentation. - - - dd318428 - DXVAHD_FILTER_EDGE_ENHANCEMENT - DXVAHD_FILTER_EDGE_ENHANCEMENT - - - - No documentation. - - - dd318428 - DXVAHD_FILTER_ANAMORPHIC_SCALING - DXVAHD_FILTER_ANAMORPHIC_SCALING - - - -

Defines capabilities related to image adjustment and filtering for a Microsoft DirectX Video Acceleration High Definition (DXVA-HD) device.

-
- - dd318426 - DXVAHD_FILTER_CAPS - DXVAHD_FILTER_CAPS -
- - -

The device can adjust the brightness level.

-
- - dd318426 - DXVAHD_FILTER_CAPS_BRIGHTNESS - DXVAHD_FILTER_CAPS_BRIGHTNESS -
- - -

The device can adjust the contrast level.

-
- - dd318426 - DXVAHD_FILTER_CAPS_CONTRAST - DXVAHD_FILTER_CAPS_CONTRAST -
- - -

The device can adjust hue.

-
- - dd318426 - DXVAHD_FILTER_CAPS_HUE - DXVAHD_FILTER_CAPS_HUE -
- - -

The device can adjust the saturation level.

-
- - dd318426 - DXVAHD_FILTER_CAPS_SATURATION - DXVAHD_FILTER_CAPS_SATURATION -
- - -

The device can perform noise reduction.

-
- - dd318426 - DXVAHD_FILTER_CAPS_NOISE_REDUCTION - DXVAHD_FILTER_CAPS_NOISE_REDUCTION -
- - -

The device can perform edge enhancement.

-
- - dd318426 - DXVAHD_FILTER_CAPS_EDGE_ENHANCEMENT - DXVAHD_FILTER_CAPS_EDGE_ENHANCEMENT -
- - -

The device can perform anamorphic scaling. Anamorphic scaling can be used to stretch 4:3 content to a widescreen 16:9 aspect ratio.

-
- - dd318426 - DXVAHD_FILTER_CAPS_ANAMORPHIC_SCALING - DXVAHD_FILTER_CAPS_ANAMORPHIC_SCALING -
- - -

Describes how a video stream is interlaced.

-
- - dd318431 - DXVAHD_FRAME_FORMAT - DXVAHD_FRAME_FORMAT -
- - -

Frames are progressive.

-
- - dd318431 - DXVAHD_FRAME_FORMAT_PROGRESSIVE - DXVAHD_FRAME_FORMAT_PROGRESSIVE -
- - -

Frames are interlaced. The top field of each frame is displayed first.

-
- - dd318431 - DXVAHD_FRAME_FORMAT_INTERLACED_TOP_FIELD_FIRST - DXVAHD_FRAME_FORMAT_INTERLACED_TOP_FIELD_FIRST -
- - -

Frame are interlaced. The bottom field of each frame is displayed first.

-
- - dd318431 - DXVAHD_FRAME_FORMAT_INTERLACED_BOTTOM_FIELD_FIRST - DXVAHD_FRAME_FORMAT_INTERLACED_BOTTOM_FIELD_FIRST -
- - -

Defines capabilities related to input formats for a Microsoft DirectX Video Acceleration High Definition (DXVA-HD) device.

-
- -

These flags define video processing capabilities that are usually not needed, and therefore are not required for DXVA-HD devices to support.

The first three flags relate to RGB support for functions that are normally applied to YCbCr video: deinterlacing, color adjustment, and luma keying. A DXVA-HD device that supports these functions for YCbCr is not required to support them for RGB input. Supporting RGB input for these functions is an additional capability, reflected by these constants. The driver might convert the input to another color space, perform the indicated function, and then convert the result back to RGB.

Similarly, a device that supports de-interlacing is not required to support deinterlacing of palettized formats. This capability is indicated by the flag.

-
- - dd318433 - DXVAHD_INPUT_FORMAT_CAPS - DXVAHD_INPUT_FORMAT_CAPS -
- - -

The device can deinterlace an input stream that contains interlaced RGB video.

-
- - dd318433 - DXVAHD_INPUT_FORMAT_CAPS_RGB_INTERLACED - DXVAHD_INPUT_FORMAT_CAPS_RGB_INTERLACED -
- - -

The device can perform color adjustment on RGB video.

-
- - dd318433 - DXVAHD_INPUT_FORMAT_CAPS_RGB_PROCAMP - DXVAHD_INPUT_FORMAT_CAPS_RGB_PROCAMP -
- - -

The device can perform luma keying on RGB video.

-
- - dd318433 - DXVAHD_INPUT_FORMAT_CAPS_RGB_LUMA_KEY - DXVAHD_INPUT_FORMAT_CAPS_RGB_LUMA_KEY -
- - -

The device can deinterlace input streams with palettized color formats.

-
- - dd318433 - DXVAHD_INPUT_FORMAT_CAPS_PALETTE_INTERLACED - DXVAHD_INPUT_FORMAT_CAPS_PALETTE_INTERLACED -
- - -

Specifies the inverse telecine (IVTC) capabilities of a Microsoft DirectX Video Acceleration High Definition (DXVA-HD) video processor.

-
- - dd318435 - DXVAHD_ITELECINE_CAPS - DXVAHD_ITELECINE_CAPS -
- - -

The video processor can reverse 3:2 pulldown.

-
- - dd318435 - DXVAHD_ITELECINE_CAPS_32 - DXVAHD_ITELECINE_CAPS_32 -
- - -

The video processor can reverse 2:2 pulldown.

-
- - dd318435 - DXVAHD_ITELECINE_CAPS_22 - DXVAHD_ITELECINE_CAPS_22 -
- - -

The video processor can reverse 2:2:2:4 pulldown.

-
- - dd318435 - DXVAHD_ITELECINE_CAPS_2224 - DXVAHD_ITELECINE_CAPS_2224 -
- - -

The video processor can reverse 2:3:3:2 pulldown.

-
- - dd318435 - DXVAHD_ITELECINE_CAPS_2332 - DXVAHD_ITELECINE_CAPS_2332 -
- - -

The video processor can reverse 3:2:3:2:2 pulldown.

-
- - dd318435 - DXVAHD_ITELECINE_CAPS_32322 - DXVAHD_ITELECINE_CAPS_32322 -
- - -

The video processor can reverse 5:5 pulldown.

-
- - dd318435 - DXVAHD_ITELECINE_CAPS_55 - DXVAHD_ITELECINE_CAPS_55 -
- - -

The video processor can reverse 6:4 pulldown.

-
- - dd318435 - DXVAHD_ITELECINE_CAPS_64 - DXVAHD_ITELECINE_CAPS_64 -
- - -

The video processor can reverse 8:7 pulldown.

-
- - dd318435 - DXVAHD_ITELECINE_CAPS_87 - DXVAHD_ITELECINE_CAPS_87 -
- - -

The video processor can reverse 2:2:2:2:2:2:2:2:2:2:2:3 pulldown.

-
- - dd318435 - DXVAHD_ITELECINE_CAPS_222222222223 - DXVAHD_ITELECINE_CAPS_222222222223 -
- - -

The video processor can reverse other telecine modes not listed here.

-
- - dd318435 - DXVAHD_ITELECINE_CAPS_OTHER - DXVAHD_ITELECINE_CAPS_OTHER -
- - - No documentation. - - - __MIDL___MIDL_itf_dxva2api_0000_0000_0004 - __MIDL___MIDL_itf_dxva2api_0000_0000_0004 - - - - No documentation. - - - DXVA2_NoiseFilterLumaLevel - DXVA2_NoiseFilterLumaLevel - - - - No documentation. - - - DXVA2_NoiseFilterLumaThreshold - DXVA2_NoiseFilterLumaThreshold - - - - No documentation. - - - DXVA2_NoiseFilterLumaRadius - DXVA2_NoiseFilterLumaRadius - - - - No documentation. - - - DXVA2_NoiseFilterChromaLevel - DXVA2_NoiseFilterChromaLevel - - - - No documentation. - - - DXVA2_NoiseFilterChromaThreshold - DXVA2_NoiseFilterChromaThreshold - - - - No documentation. - - - DXVA2_NoiseFilterChromaRadius - DXVA2_NoiseFilterChromaRadius - - - - No documentation. - - - DXVA2_DetailFilterLumaLevel - DXVA2_DetailFilterLumaLevel - - - - No documentation. - - - DXVA2_DetailFilterLumaThreshold - DXVA2_DetailFilterLumaThreshold - - - - No documentation. - - - DXVA2_DetailFilterLumaRadius - DXVA2_DetailFilterLumaRadius - - - - No documentation. - - - DXVA2_DetailFilterChromaLevel - DXVA2_DetailFilterChromaLevel - - - - No documentation. - - - DXVA2_DetailFilterChromaThreshold - DXVA2_DetailFilterChromaThreshold - - - - No documentation. - - - DXVA2_DetailFilterChromaRadius - DXVA2_DetailFilterChromaRadius - - - - No documentation. - - - __MIDL___MIDL_itf_dxva2api_0000_0000_0005 - __MIDL___MIDL_itf_dxva2api_0000_0000_0005 - - - - No documentation. - - - DXVA2_NoiseFilterTech_Unsupported - DXVA2_NoiseFilterTech_Unsupported - - - - No documentation. - - - DXVA2_NoiseFilterTech_Unknown - DXVA2_NoiseFilterTech_Unknown - - - - No documentation. - - - DXVA2_NoiseFilterTech_Median - DXVA2_NoiseFilterTech_Median - - - - No documentation. - - - DXVA2_NoiseFilterTech_Temporal - DXVA2_NoiseFilterTech_Temporal - - - - No documentation. - - - DXVA2_NoiseFilterTech_BlockNoise - DXVA2_NoiseFilterTech_BlockNoise - - - - No documentation. - - - DXVA2_NoiseFilterTech_MosquitoNoise - DXVA2_NoiseFilterTech_MosquitoNoise - - - -

Describes how to map color data to a normalized [0...1] range.

These flags are used in the structure. They indicate whether the range of color values includes headroom (values above 100% white) and toeroom (values below reference black).

-
- -

For YUV colors, these flags specify how to convert between Y'CbCr and Y'PbPr. The Y'PbPr color space has a range of [0..1] for Y' (luma) and [-0.5...0.5] for Pb/Pr (chroma).

ValueDescription
Should not be used for YUV data.

For 8-bit Y'CbCr components:

  • Y' range of [0...1] maps to [16..235] for 8-bit Y' values.

  • Pb/Pr ranges of [-0.5...0.5] map to [16...240] for 8-bit Cb/Cr values.

For samples with n bits of precision, the general equations are:

  • Y' = (Y' * 219 + 16) * 2 ^ (n-8)

  • Cb = (Pb * 224 + 128) * 2 ^ (n-8)

  • Cr = (Pr * 224 + 128) * 2 ^ (n-8)

The inverse equations to convert from Y'CbCr to Y'PbPr are:

  • Y' = (Y' / 2 ^ (n-8) - 16) / 219

  • Pb = (Cb / 2 ^ (n-8) - 128) / 224

  • Pr = (Cr / 2 ^ (n-8) - 128) / 224

For 8-bit Y'CbCr values, Y' range of [0..1] maps to [48...208].

?

For RGB colors, the flags differentiate various RGB spaces.

ValueDescription
sRGB
Studio RGB; ITU-R BT.709
ITU-R BT.1361 RGB

?

Video data might contain values above or below the nominal range.

Note??The values named and are a potential source of confusion. Wide refers to the possible range of analog values that can be represented, by mapping the nominal range [0...1] into a narrower range of digital values. Because the meaning of wide in this context is ambiguous, the equivalent values named and are preferred. These names explicitly convey the meaning of the enumeration, and are less likely to be misinterpreted.

This enumeration is equivalent to the DXVA_NominalRange enumeration used in DXVA 1.0, although it defines additional values.

If you are using the interface to describe the video format, the nominal range is specified in the attribute.

-
- - bb970561 - DXVA2_NominalRange - DXVA2_NominalRange -
- - - No documentation. - - - bb970561 - DXVA2_NominalRangeMask - DXVA2_NominalRangeMask - - - - No documentation. - - - bb970561 - DXVA2_NominalRange_Unknown - DXVA2_NominalRange_Unknown - - - - No documentation. - - - bb970561 - DXVA2_NominalRange_Normal - DXVA2_NominalRange_Normal - - - - No documentation. - - - bb970561 - DXVA2_NominalRange_Wide - DXVA2_NominalRange_Wide - - - - No documentation. - - - bb970561 - DXVA2_NominalRange_0_255 - DXVA2_NominalRange_0_255 - - - - No documentation. - - - bb970561 - DXVA2_NominalRange_16_235 - DXVA2_NominalRange_16_235 - - - - No documentation. - - - bb970561 - DXVA2_NominalRange_48_208 - DXVA2_NominalRange_48_208 - - - -

Specifies the output frame rates for an input stream, when using Microsoft DirectX Video Acceleration High Definition (DXVA-HD).

This enumeration type is used in the structure.

-
- - dd318437 - DXVAHD_OUTPUT_RATE - DXVAHD_OUTPUT_RATE -
- - - No documentation. - - - dd318437 - DXVAHD_OUTPUT_RATE_NORMAL - DXVAHD_OUTPUT_RATE_NORMAL - - - - No documentation. - - - dd318437 - DXVAHD_OUTPUT_RATE_HALF - DXVAHD_OUTPUT_RATE_HALF - - - - No documentation. - - - dd318437 - DXVAHD_OUTPUT_RATE_CUSTOM - DXVAHD_OUTPUT_RATE_CUSTOM - - - -

Specifies the processing capabilities of a Microsoft DirectX Video Acceleration High Definition (DXVA-HD) video processor.

-
- - dd318439 - DXVAHD_PROCESSOR_CAPS - DXVAHD_PROCESSOR_CAPS -
- - -

The video processor can perform blend deinterlacing.

In blend deinterlacing, the two fields from an interlaced frame are blended into a single progressive frame. A video processor uses blend deinterlacing when it deinterlaces at half rate, as when converting 60i to 30p. Blend deinterlacing does not require reference frames.

-
- - dd318439 - DXVAHD_PROCESSOR_CAPS_DEINTERLACE_BLEND - DXVAHD_PROCESSOR_CAPS_DEINTERLACE_BLEND -
- - -

The video processor can perform bob deinterlacing.

In bob deinterlacing, missing field lines are interpolated from the lines above and below. Bob deinterlacing does not require reference frames.

-
- - dd318439 - DXVAHD_PROCESSOR_CAPS_DEINTERLACE_BOB - DXVAHD_PROCESSOR_CAPS_DEINTERLACE_BOB -
- - -

The video processor can perform adaptive deinterlacing.

Adaptive deinterlacing uses spatial or temporal interpolation, and switches between the two on a field-by-field basis, depending on the amount of motion. If the video processor does not receive enough reference frames to perform adaptive deinterlacing, it falls back to bob deinterlacing.

-
- - dd318439 - DXVAHD_PROCESSOR_CAPS_DEINTERLACE_ADAPTIVE - DXVAHD_PROCESSOR_CAPS_DEINTERLACE_ADAPTIVE -
- - -

The video processor can perform motion-compensated deinterlacing.

Motion-compensated deinterlacing uses motion vectors to recreate missing lines. If the video processor does not receive enough reference frames to perform motion-compensated deinterlacing, it falls back to bob deinterlacing.

-
- - dd318439 - DXVAHD_PROCESSOR_CAPS_DEINTERLACE_MOTION_COMPENSATION - DXVAHD_PROCESSOR_CAPS_DEINTERLACE_MOTION_COMPENSATION -
- - -

The video processor can perform inverse telecine (IVTC).

If the video processor supports this capability, the ITelecineCaps member of the structure specifies which IVTC modes are supported.

-
- - dd318439 - DXVAHD_PROCESSOR_CAPS_INVERSE_TELECINE - DXVAHD_PROCESSOR_CAPS_INVERSE_TELECINE -
- - -

The video processor can convert the frame rate by interpolating frames.

-
- - dd318439 - DXVAHD_PROCESSOR_CAPS_FRAME_RATE_CONVERSION - DXVAHD_PROCESSOR_CAPS_FRAME_RATE_CONVERSION -
- - - No documentation. - - - __MIDL___MIDL_itf_dxva2api_0000_0000_0013 - __MIDL___MIDL_itf_dxva2api_0000_0000_0013 - - - - No documentation. - - - DXVA2_VideoDecoderRenderTarget - DXVA2_VideoDecoderRenderTarget - - - - No documentation. - - - DXVA2_VideoProcessorRenderTarget - DXVA2_VideoProcessorRenderTarget - - - - No documentation. - - - DXVA2_VideoSoftwareRenderTarget - DXVA2_VideoSoftwareRenderTarget - - - - No documentation. - - - __MIDL___MIDL_itf_dxva2api_0000_0000_0010 - __MIDL___MIDL_itf_dxva2api_0000_0000_0010 - - - - No documentation. - - - DXVA2_SampleData_RFF - DXVA2_SampleData_RFF - - - - No documentation. - - - DXVA2_SampleData_TFF - DXVA2_SampleData_TFF - - - - No documentation. - - - DXVA2_SampleData_RFF_TFF_Present - DXVA2_SampleData_RFF_TFF_Present - - - -

Describes the content of a video sample. These flags are used in the structure.

-
- -

This enumeration is equivalent to the DXVA_SampleFormat enumeration used in DXVA 1.0.

The following table shows the mapping from enumeration values, which are used in Media Foundation media types, to values.

Value Value
.
.
.
.
.
No exact match. Use as an initial value, then use the interlace flags from the media samples. For more information, see Video Interlacing.

?

With the exception of , each pair of corresponding enumeration values has the same numeric value.

The value has no equivalent in the enumeration.

-
- - ms699834 - DXVA2_SampleFormat - DXVA2_SampleFormat -
- - - No documentation. - - - ms699834 - DXVA2_SampleFormatMask - DXVA2_SampleFormatMask - - - - No documentation. - - - ms699834 - DXVA2_SampleUnknown - DXVA2_SampleUnknown - - - - No documentation. - - - ms699834 - DXVA2_SampleProgressiveFrame - DXVA2_SampleProgressiveFrame - - - - No documentation. - - - ms699834 - DXVA2_SampleFieldInterleavedEvenFirst - DXVA2_SampleFieldInterleavedEvenFirst - - - - No documentation. - - - ms699834 - DXVA2_SampleFieldInterleavedOddFirst - DXVA2_SampleFieldInterleavedOddFirst - - - - No documentation. - - - ms699834 - DXVA2_SampleFieldSingleEven - DXVA2_SampleFieldSingleEven - - - - No documentation. - - - ms699834 - DXVA2_SampleFieldSingleOdd - DXVA2_SampleFieldSingleOdd - - - - No documentation. - - - ms699834 - DXVA2_SampleSubStream - DXVA2_SampleSubStream - - - -

Specifies the luma key for an input stream, when using Microsoft DirectX Video Acceleration High Definition (DXVA-HD).

-
- -

To use this state, the device must support luma keying, indicated by the capability flag. To query for this capability, call . If the device supports luma keying, it sets the flag in the FeatureCaps member of the structure.

If the device does not support luma keying, the method fails for this state.

If the input format is RGB, the device must also support the capability. This capability flag is set in the InputFormatCaps member of the structure. If the flag is not present, the device ignores the luma key value for RGB input.

The values of Lower and Upper give the lower and upper bounds of the luma key, using a nominal range of [0...1]. Given a format with n bits per channel, these values are converted to luma values as follows:

val = f * ((1 << n)-1)

Any pixel whose luma value falls within the upper and lower bounds (inclusive) is treated as transparent.

For example, if the pixel format uses 8-bit luma, the upper bound is calculated as follows:

BYTE Y = BYTE(max(min(1.0, Upper), 0.0) * 255.0)

Note that the value is clamped to the range [0...1] before multiplying by 255.

-
- - dd318766 - DXVAHD_STREAM_STATE - DXVAHD_STREAM_STATE -
- - -

If TRUE, luma keying is enabled. Otherwise, luma keying is disabled. The default value is .

-
- - dd318766 - DXVAHD_STREAM_STATE_D3DFORMAT - DXVAHD_STREAM_STATE_D3DFORMAT -
- - -

The lower bound for the luma key. The range is [0?1]. The default state value is 0.0.

-
- - dd318766 - DXVAHD_STREAM_STATE_FRAME_FORMAT - DXVAHD_STREAM_STATE_FRAME_FORMAT -
- - -

The upper bound for the luma key. The range is [0?1]. The default state value is 0.0.

-
- - dd318766 - DXVAHD_STREAM_STATE_INPUT_COLOR_SPACE - DXVAHD_STREAM_STATE_INPUT_COLOR_SPACE -
- - - No documentation. - - - dd318766 - DXVAHD_STREAM_STATE_OUTPUT_RATE - DXVAHD_STREAM_STATE_OUTPUT_RATE - - - - No documentation. - - - dd318766 - DXVAHD_STREAM_STATE_SOURCE_RECT - DXVAHD_STREAM_STATE_SOURCE_RECT - - - - No documentation. - - - dd318766 - DXVAHD_STREAM_STATE_DESTINATION_RECT - DXVAHD_STREAM_STATE_DESTINATION_RECT - - - - No documentation. - - - dd318766 - DXVAHD_STREAM_STATE_ALPHA - DXVAHD_STREAM_STATE_ALPHA - - - - No documentation. - - - dd318766 - DXVAHD_STREAM_STATE_PALETTE - DXVAHD_STREAM_STATE_PALETTE - - - - No documentation. - - - dd318766 - DXVAHD_STREAM_STATE_LUMA_KEY - DXVAHD_STREAM_STATE_LUMA_KEY - - - - No documentation. - - - dd318766 - DXVAHD_STREAM_STATE_ASPECT_RATIO - DXVAHD_STREAM_STATE_ASPECT_RATIO - - - - No documentation. - - - dd318766 - DXVAHD_STREAM_STATE_FILTER_BRIGHTNESS - DXVAHD_STREAM_STATE_FILTER_BRIGHTNESS - - - - No documentation. - - - dd318766 - DXVAHD_STREAM_STATE_FILTER_CONTRAST - DXVAHD_STREAM_STATE_FILTER_CONTRAST - - - - No documentation. - - - dd318766 - DXVAHD_STREAM_STATE_FILTER_HUE - DXVAHD_STREAM_STATE_FILTER_HUE - - - - No documentation. - - - dd318766 - DXVAHD_STREAM_STATE_FILTER_SATURATION - DXVAHD_STREAM_STATE_FILTER_SATURATION - - - - No documentation. - - - dd318766 - DXVAHD_STREAM_STATE_FILTER_NOISE_REDUCTION - DXVAHD_STREAM_STATE_FILTER_NOISE_REDUCTION - - - - No documentation. - - - dd318766 - DXVAHD_STREAM_STATE_FILTER_EDGE_ENHANCEMENT - DXVAHD_STREAM_STATE_FILTER_EDGE_ENHANCEMENT - - - - No documentation. - - - dd318766 - DXVAHD_STREAM_STATE_FILTER_ANAMORPHIC_SCALING - DXVAHD_STREAM_STATE_FILTER_ANAMORPHIC_SCALING - - - - No documentation. - - - dd318766 - DXVAHD_STREAM_STATE_PRIVATE - DXVAHD_STREAM_STATE_PRIVATE - - - -

Describes a DirectX surface type for DirectX Video Acceleration (DXVA).

-
- - ms699850 - DXVA2_SurfaceType - DXVA2_SurfaceType -
- - -

The surface is a decoder render target.

-
- - ms699850 - DXVA2_SurfaceType_DecoderRenderTarget - DXVA2_SurfaceType_DecoderRenderTarget -
- - -

The surface is a video processor render target.

-
- - ms699850 - DXVA2_SurfaceType_ProcessorRenderTarget - DXVA2_SurfaceType_ProcessorRenderTarget -
- - -

The surface is a Direct3D texture render target.

-
- - ms699850 - DXVA2_SurfaceType_D3DRenderTargetTexture - DXVA2_SurfaceType_D3DRenderTargetTexture -
- - -

Specifies the type of video surface created by a Microsoft DirectX Video Acceleration High Definition (DXVA-HD) device.

-
- -

If the DXVA-HD device is a software plug-in and the surface type is , the device can support format types that are not supported natively by the graphics driver. For example, if the application requests an AYUV surface, the device could allocate a surface with a surface type of .

-
- - dd318772 - DXVAHD_SURFACE_TYPE - DXVAHD_SURFACE_TYPE -
- - -

A surface for an input stream. This surface type is equivalent to an off-screen plain surface in Microsoft Direct3D. The application can use the surface in Direct3D calls.

-
- - dd318772 - DXVAHD_SURFACE_TYPE_VIDEO_INPUT - DXVAHD_SURFACE_TYPE_VIDEO_INPUT -
- - -

A private surface for an input stream. This surface type is equivalent to an off-screen plain surface, except that the application cannot use the surface in Direct3D calls.

-
- - dd318772 - DXVAHD_SURFACE_TYPE_VIDEO_INPUT_PRIVATE - DXVAHD_SURFACE_TYPE_VIDEO_INPUT_PRIVATE -
- - -

A surface for an output stream. This surface type is equivalent to an off-screen plain surface in Direct3D. The application can use the surface in Direct3D calls.

This surface type is recommended for video processing applications that need to lock the surface and access the surface memory. For video playback with optimal performance, a render-target surface or swap chain is recommended instead.

-
- - dd318772 - DXVAHD_SURFACE_TYPE_VIDEO_OUTPUT - DXVAHD_SURFACE_TYPE_VIDEO_OUTPUT -
- - -

Describes how chroma values are positioned relative to the luma samples in a YUV video frame. These flags are used in the structure.

-
- -

The following diagrams show the most common arrangements.

-
- - ms694252 - DXVA2_VideoChromaSubSampling - DXVA2_VideoChromaSubSampling -
- - - No documentation. - - - ms694252 - DXVA2_VideoChromaSubsamplingMask - DXVA2_VideoChromaSubsamplingMask - - - - No documentation. - - - ms694252 - DXVA2_VideoChromaSubsampling_Unknown - DXVA2_VideoChromaSubsampling_Unknown - - - - No documentation. - - - ms694252 - DXVA2_VideoChromaSubsampling_ProgressiveChroma - DXVA2_VideoChromaSubsampling_ProgressiveChroma - - - - No documentation. - - - ms694252 - DXVA2_VideoChromaSubsampling_Horizontally_Cosited - DXVA2_VideoChromaSubsampling_Horizontally_Cosited - - - - No documentation. - - - ms694252 - DXVA2_VideoChromaSubsampling_Vertically_Cosited - DXVA2_VideoChromaSubsampling_Vertically_Cosited - - - - No documentation. - - - ms694252 - DXVA2_VideoChromaSubsampling_Vertically_AlignedChromaPlanes - DXVA2_VideoChromaSubsampling_Vertically_AlignedChromaPlanes - - - - No documentation. - - - ms694252 - DXVA2_VideoChromaSubsampling_MPEG2 - DXVA2_VideoChromaSubsampling_MPEG2 - - - - No documentation. - - - ms694252 - DXVA2_VideoChromaSubsampling_MPEG1 - DXVA2_VideoChromaSubsampling_MPEG1 - - - - No documentation. - - - ms694252 - DXVA2_VideoChromaSubsampling_DV_PAL - DXVA2_VideoChromaSubsampling_DV_PAL - - - - No documentation. - - - ms694252 - DXVA2_VideoChromaSubsampling_Cosited - DXVA2_VideoChromaSubsampling_Cosited - - - - No documentation. - - - __MIDL___MIDL_itf_dxva2api_0000_0000_0009 - __MIDL___MIDL_itf_dxva2api_0000_0000_0009 - - - - No documentation. - - - DXVA2_VPDev_HardwareDevice - DXVA2_VPDev_HardwareDevice - - - - No documentation. - - - DXVA2_VPDev_EmulatedDXVA1 - DXVA2_VPDev_EmulatedDXVA1 - - - - No documentation. - - - DXVA2_VPDev_SoftwareDevice - DXVA2_VPDev_SoftwareDevice - - - -

Describes the intended lighting conditions for viewing video content. These flags are used in the structure.

-
- -

This enumeration is equivalent to the DXVA_VideoLighting enumeration used in DXVA 1.0.

If you are using the interface to describe the video format, the video lighting is specified in the attribute.

-
- - ms703932 - DXVA2_VideoLighting - DXVA2_VideoLighting -
- - - No documentation. - - - ms703932 - DXVA2_VideoLightingMask - DXVA2_VideoLightingMask - - - - No documentation. - - - ms703932 - DXVA2_VideoLighting_Unknown - DXVA2_VideoLighting_Unknown - - - - No documentation. - - - ms703932 - DXVA2_VideoLighting_bright - DXVA2_VideoLighting_bright - - - - No documentation. - - - ms703932 - DXVA2_VideoLighting_office - DXVA2_VideoLighting_office - - - - No documentation. - - - ms703932 - DXVA2_VideoLighting_dim - DXVA2_VideoLighting_dim - - - - No documentation. - - - ms703932 - DXVA2_VideoLighting_dark - DXVA2_VideoLighting_dark - - - -

Specifies the color primaries of a video source. These flags are used in the structure.

-
- -

Color primaries define how to convert RGB colors into the CIE XYZ color space, and can be used to translate colors between different RGB color spaces. An RGB color space is defined by the chromaticity coordinates (x,y) of the RGB primaries plus the white point, as listed in the following table.

Color space(Rx, Ry)(Gx, Gy)(Bx, By)White point (Wx, Wy)
BT.709(0.64, 0.33)(0.30, 0.60)(0.15, 0.06) D65 (0.3127, 0.3290)
BT.470-2 System M; EBU 3212 (0.64, 0.33)(0.29, 0.60)(0.15, 0.06) D65 (0.3127, 0.3290)
BT.470-4 System B,G(0.67, 0.33)(0.21, 0.71)(0.14, 0.08) CIE III.C (0.310, 0.316)
SMPTE 170M; SMPTE 240M; SMPTE C (0.63, 0.34)(0.31, 0.595)(0.155, 0.07) D65 (0.3127, 0.3291)

?

The z coordinates can be derived from x and y as follows: z = 1 - x - y. To convert between RGB colors to CIE XYZ tristimulus values, compute a matrix T as follows:

Given T, you can use the following formulas to convert between an RGB color value and a CIE XYZ tristimulus value. These formulas assume that the RGB components are linear (not gamma corrected) and are normalized to the range [0...1].

To convert colors directly from one RGB color space to another, use the following formula, where T1 is the matrix for color space RGB1, and T2 is the matrix for color space RGB2.

For a derivation of these formulas, refer to Charles Poynton, Digital Video and HDTV Algorithms and Interfaces (Morgan Kaufmann, 2003).

This enumeration is equivalent to the DXVA_VideoPrimaries enumeration used in DXVA 1.0.

If you are using the interface to describe the video format, the color primaries are specified in the attribute.

-
- - ms696997 - DXVA2_VideoPrimaries - DXVA2_VideoPrimaries -
- - - No documentation. - - - ms696997 - DXVA2_VideoPrimariesMask - DXVA2_VideoPrimariesMask - - - - No documentation. - - - ms696997 - DXVA2_VideoPrimaries_Unknown - DXVA2_VideoPrimaries_Unknown - - - - No documentation. - - - ms696997 - DXVA2_VideoPrimaries_reserved - DXVA2_VideoPrimaries_reserved - - - - No documentation. - - - ms696997 - DXVA2_VideoPrimaries_BT709 - DXVA2_VideoPrimaries_BT709 - - - - No documentation. - - - ms696997 - DXVA2_VideoPrimaries_BT470_2_SysM - DXVA2_VideoPrimaries_BT470_2_SysM - - - - No documentation. - - - ms696997 - DXVA2_VideoPrimaries_BT470_2_SysBG - DXVA2_VideoPrimaries_BT470_2_SysBG - - - - No documentation. - - - ms696997 - DXVA2_VideoPrimaries_SMPTE170M - DXVA2_VideoPrimaries_SMPTE170M - - - - No documentation. - - - ms696997 - DXVA2_VideoPrimaries_SMPTE240M - DXVA2_VideoPrimaries_SMPTE240M - - - - No documentation. - - - ms696997 - DXVA2_VideoPrimaries_EBU3213 - DXVA2_VideoPrimaries_EBU3213 - - - - No documentation. - - - ms696997 - DXVA2_VideoPrimaries_SMPTE_C - DXVA2_VideoPrimaries_SMPTE_C - - - - No documentation. - - - __MIDL___MIDL_itf_dxva2api_0000_0000_0008 - __MIDL___MIDL_itf_dxva2api_0000_0000_0008 - - - - No documentation. - - - DXVA2_VideoProcess_None - DXVA2_VideoProcess_None - - - - No documentation. - - - DXVA2_VideoProcess_YUV2RGB - DXVA2_VideoProcess_YUV2RGB - - - - No documentation. - - - DXVA2_VideoProcess_StretchX - DXVA2_VideoProcess_StretchX - - - - No documentation. - - - DXVA2_VideoProcess_StretchY - DXVA2_VideoProcess_StretchY - - - - No documentation. - - - DXVA2_VideoProcess_AlphaBlend - DXVA2_VideoProcess_AlphaBlend - - - - No documentation. - - - DXVA2_VideoProcess_SubRects - DXVA2_VideoProcess_SubRects - - - - No documentation. - - - DXVA2_VideoProcess_SubStreams - DXVA2_VideoProcess_SubStreams - - - - No documentation. - - - DXVA2_VideoProcess_SubStreamsExtended - DXVA2_VideoProcess_SubStreamsExtended - - - - No documentation. - - - DXVA2_VideoProcess_YUV2RGBExtended - DXVA2_VideoProcess_YUV2RGBExtended - - - - No documentation. - - - DXVA2_VideoProcess_AlphaBlendExtended - DXVA2_VideoProcess_AlphaBlendExtended - - - - No documentation. - - - DXVA2_VideoProcess_Constriction - DXVA2_VideoProcess_Constriction - - - - No documentation. - - - DXVA2_VideoProcess_NoiseFilter - DXVA2_VideoProcess_NoiseFilter - - - - No documentation. - - - DXVA2_VideoProcess_DetailFilter - DXVA2_VideoProcess_DetailFilter - - - - No documentation. - - - DXVA2_VideoProcess_PlanarAlpha - DXVA2_VideoProcess_PlanarAlpha - - - - No documentation. - - - DXVA2_VideoProcess_LinearScaling - DXVA2_VideoProcess_LinearScaling - - - - No documentation. - - - DXVA2_VideoProcess_GammaCompensated - DXVA2_VideoProcess_GammaCompensated - - - - No documentation. - - - DXVA2_VideoProcess_MaintainsOriginalFieldData - DXVA2_VideoProcess_MaintainsOriginalFieldData - - - - No documentation. - - - __MIDL___MIDL_itf_dxva2api_0000_0000_0007 - __MIDL___MIDL_itf_dxva2api_0000_0000_0007 - - - - No documentation. - - - DXVA2_ProcAmp_None - DXVA2_ProcAmp_None - - - - No documentation. - - - DXVA2_ProcAmp_Brightness - DXVA2_ProcAmp_Brightness - - - - No documentation. - - - DXVA2_ProcAmp_Contrast - DXVA2_ProcAmp_Contrast - - - - No documentation. - - - DXVA2_ProcAmp_Hue - DXVA2_ProcAmp_Hue - - - - No documentation. - - - DXVA2_ProcAmp_Saturation - DXVA2_ProcAmp_Saturation - - - -

Specifies the conversion function from linear RGB to non-linear RGB (R'G'B'). These flags are used in the Structure.

-
- -

The following table shows the formulas for the most common transfer functions. In these formulas, L is the linear value and L' is the non-linear (gamma corrected) value. These values are relative to a normalized range [0...1].

Color spaceTransfer function
sRGB (8-bit)

L' = 12.92L, for L < 0.031308

L' = 1.055L^1/2.4? 0.055, for L >= 0.031308

BT.470-2 System B, GL' = L^0.36
BT.470-2 System ML' = L^0.45
BT.709

L' = 4.50L, for L < 0.018

L' = 1.099L^0.45? 0.099, for L >= 0.018

scRGBL' = L
SMPTE 240M

L' = 4.0L, for L < 0.0228

L' = 1.1115L^0.45? 0.01115, for L >= 0.0228

?

The following table shows the inverse formulas to obtain the original gamma-corrected values:

Color spaceTransfer function
sRGB (8-bit)

L = 1/12.92L', for L' < 0.03928

L = ((L' + 0.055)/1055)^2.4, for L' >= 0.03928

BT.470-2 System B, GL = L'^1/0.36
BT.470-2 System ML = L'^1/0.45
BT.709

L = L'/4.50, for L' < 0.081

L = ((L' + 0.099) / 1.099)^1/0.45, for L' >= 0.081

scRGBL = L'
SMPTE 240M

L = L'/4.0, for L' < 0.0913

L= ((L' + 0.1115)/1.1115)^1/0.45, for L' >= 0.0913

?

This enumeration is equivalent to the DXVA_VideoTransferFunction enumeration used in DXVA 1.0.

If you are using the interface to describe the video format, the transfer function is specified in the attribute.

-
- - bb970392 - DXVA2_VideoTransferFunction - DXVA2_VideoTransferFunction -
- - -

Bitmask to validate flag values. This value is not a valid flag.

-
- - bb970392 - DXVA2_VideoTransFuncMask - DXVA2_VideoTransFuncMask -
- - -

Unknown. Treat as .

-
- - bb970392 - DXVA2_VideoTransFunc_Unknown - DXVA2_VideoTransFunc_Unknown -
- - -

Linear RGB (gamma = 1.0).

-
- - bb970392 - DXVA2_VideoTransFunc_10 - DXVA2_VideoTransFunc_10 -
- - -

True 1.8 gamma, L' = L^1/1.8.

-
- - bb970392 - DXVA2_VideoTransFunc_18 - DXVA2_VideoTransFunc_18 -
- - -

True 2.0 gamma, L' = L^1/2.0.

-
- - bb970392 - DXVA2_VideoTransFunc_20 - DXVA2_VideoTransFunc_20 -
- - -

True 2.2 gamma, L' = L^1/2.2. This transfer function is used in ITU-R BT.470-2 System M (NTSC).

-
- - bb970392 - DXVA2_VideoTransFunc_22 - DXVA2_VideoTransFunc_22 -
- - -

ITU-R BT.709 transfer function. Gamma 2.2 curve with a linear segment in the lower range. This transfer function is used in BT.709, BT.601, SMPTE 296M, SMPTE 170M, BT.470, and SMPTE 274M. In addition BT-1361 uses this function within the range [0...1].

-
- - bb970392 - DXVA2_VideoTransFunc_709 - DXVA2_VideoTransFunc_709 -
- - -

SMPTE 240M transfer function. Gamma 2.2 curve with a linear segment in the lower range.

-
- - bb970392 - DXVA2_VideoTransFunc_240M - DXVA2_VideoTransFunc_240M -
- - -

sRGB transfer function. Gamma 2.4 curve with a linear segment in the lower range.

-
- - bb970392 - DXVA2_VideoTransFunc_sRGB - DXVA2_VideoTransFunc_sRGB -
- - -

True 2.8 gamma. L' = L^1/2.8. This transfer function is used in ITU-R BT.470-2 System B, G (PAL).

-
- - bb970392 - DXVA2_VideoTransFunc_28 - DXVA2_VideoTransFunc_28 -
- - -

Describes the conversion matrices between Y'PbPr (component video) and studio R'G'B'. These flags are used in the structure.

-
- -

The transfer matrices are defined as follows.

BT.709 transfer matrices:

Y' 0.212600 0.715200 0.072200 R' - Pb = -0.114572 -0.385428 0.500000 x G' - Pr 0.500000 -0.454153 -0.045847 B' R' 1.000000 0.000000 1.574800 Y' - G' = 1.000000 -0.187324 -0.468124 x Pb - B' 1.000000 1.855600 0.000000 Pr -

BT.601 transfer matrices:

Y' 0.299000 0.587000 0.114000 R' - Pb = -0.168736 -0.331264 0.500000 x G' - Pr 0.500000 -0.418688 -0.081312 B' R' 1.000000 0.000000 1.402000 Y' - G' = 1.000000 -0.344136 -0.714136 x Pb - B' 1.000000 1.772000 0.000000 Pr -

SMPTE 240M (SMPTE RP 145) transfer matrices:

Y' 0.212000 0.701000 0.087000 R' - Pb = -0.116000 -0.384000 0.500000 x G' - Pr 0.500000 -0.445000 -0.055000 B' R' 1.000000 -0.000000 1.576000 Y' - G' = 1.000000 -0.227000 -0.477000 x Pb - B' 1.000000 1.826000 0.000000 Pr -

This enumeration is equivalent to the DXVA_VideoTransferMatrix enumeration used in DXVA 1.0.

If you are using the interface to describe the video format, the video transfer matrix is specified in the attribute.

-
- - ms698715 - DXVA2_VideoTransferMatrix - DXVA2_VideoTransferMatrix -
- - - No documentation. - - - ms698715 - DXVA2_VideoTransferMatrixMask - DXVA2_VideoTransferMatrixMask - - - - No documentation. - - - ms698715 - DXVA2_VideoTransferMatrix_Unknown - DXVA2_VideoTransferMatrix_Unknown - - - - No documentation. - - - ms698715 - DXVA2_VideoTransferMatrix_BT709 - DXVA2_VideoTransferMatrix_BT709 - - - - No documentation. - - - ms698715 - DXVA2_VideoTransferMatrix_BT601 - DXVA2_VideoTransferMatrix_BT601 - - - - No documentation. - - - ms698715 - DXVA2_VideoTransferMatrix_SMPTE240M - DXVA2_VideoTransferMatrix_SMPTE240M - - - - Functions - - - - - -

Creates an instance of the Direct3D Device Manager.

-
- No documentation. - No documentation. -

If this function succeeds, it returns . Otherwise, it returns an error code.

- -

Windows Store apps must use IMFDXGIDeviceManager and Direct3D 11 Video APIs.

-
- - bb970490 - HRESULT DXVA2CreateDirect3DDeviceManager9([Out] unsigned int* pResetToken,[Out, Fast] IDirect3DDeviceManager9** ppDeviceManager) - DXVA2CreateDirect3DDeviceManager9 -
- - -

Creates a DirectX Video Acceleration (DXVA) services object. Call this function if your application uses DXVA directly, without using DirectShow or Media Foundation.

-
-

A reference to the interface of a Direct3D device.

-

The interface identifier (IID) of the requested interface. Any of the following interfaces might be supported by the Direct3D device:

-

Receives a reference to the interface. The caller must release the interface.

-

If this function succeeds, it returns . Otherwise, it returns an error code.

- - ms704721 - HRESULT DXVA2CreateVideoService([In] IDirect3DDevice9* pDD,[In] const GUID& riid,[Out] void** ppService) - DXVA2CreateVideoService -
- - -

Creates a Microsoft DirectX Video Acceleration High Definition (DXVA-HD) device.

-
-

A reference to the interface of a Direct3D 9 device.

-

A reference to a structure that describes the video content. The driver uses this information as a hint when it creates the device.

-

A member of the enumeration, describing how the device will be used. The value indicates the desired trade-off between speed and video quality. The driver uses this flag as a hint when it creates the device.

-

A reference to an initialization function for a software device. Set this reference if you are using a software plug-in device. Otherwise, set this parameter to null. If the value is null, the driver creates the DXVA-HD device.

The function reference type is PDXVAHDSW_Plugin.

-

Receives a reference to the interface. The caller must release the interface.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_NOINTERFACE

The Direct3D device does not support DXVA-HD.

?

- -

Use the interface to get the device capabilities, create the video processor, and allocate video surfaces.

-
- - dd318412 - HRESULT DXVAHD_CreateDevice([In] IDirect3DDevice9Ex* pD3DDevice,[In] const DXVAHD_CONTENT_DESC* pContentDesc,[In] DXVAHD_DEVICE_USAGE Usage,[In, Optional] __function__stdcall* pPlugin,[Out, Fast] IDXVAHD_Device** ppDevice) - DXVAHD_CreateDevice -
- - -

Gets the range of values for an image filter that the Microsoft DirectX Video Acceleration High Definition (DXVA-HD) device supports.

-
- -

To find out which image filters the device supports, check the FilterCaps member of the structure. Call the method to get this value.

-
- - dd373915 - IDXVAHD_Device - IDXVAHD_Device - -

Applies to: desktop apps only

Gets the range of values for an image filter that the Microsoft DirectX Video Acceleration High Definition (DXVA-HD) device supports.

-
- -

To find out which image filters the device supports, check the FilterCaps member of the structure. Call the method to get this value.

-
- - dd373915 - IDXVAHD_Device - IDXVAHD_Device -
- - - Initializes a new instance of the 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 capabilities of the Microsoft DirectX Video Acceleration High Definition (DXVA-HD) device.

-
- - dd373914 - GetVideoProcessorDeviceCaps - GetVideoProcessorDeviceCaps - HRESULT IDXVAHD_Device::GetVideoProcessorDeviceCaps([Out] DXVAHD_VPDEVCAPS* pCaps) -
- - -

Creates one or more Microsoft Direct3D video surfaces.

-
-

The width of each surface, in pixels.

-

The height of each surface, in pixels.

-

The pixel format, specified as a value or FOURCC code. For more information, see Video FOURCCs.

-

The memory pool in which the surface is created. This parameter must equal the InputPool member of the structure. Call the method to get this value.

-

Reserved. Set to 0.

-

The type of surface to create, specified as a member of the enumeration.

-

The number of surfaces to create.

-

A reference to an array of references. The NumSurfaces parameter specifies the number of elements in the array. The method fills the array with references to the new video surfaces. The caller must release the references.

-

Reserved. Set to null.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dd373911 - HRESULT IDXVAHD_Device::CreateVideoSurface([In] unsigned int Width,[In] unsigned int Height,[In] D3DFORMAT Format,[In] D3DPOOL Pool,[In] unsigned int Usage,[In] DXVAHD_SURFACE_TYPE Type,[In] unsigned int NumSurfaces,[Out, Buffer] IDirect3DSurface9** ppSurfaces,[InOut, Optional] void** pSharedHandle) - IDXVAHD_Device::CreateVideoSurface -
- - -

Gets the capabilities of the Microsoft DirectX Video Acceleration High Definition (DXVA-HD) device.

-
-

A reference to a structure that receives the device capabilities.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dd373914 - HRESULT IDXVAHD_Device::GetVideoProcessorDeviceCaps([Out] DXVAHD_VPDEVCAPS* pCaps) - IDXVAHD_Device::GetVideoProcessorDeviceCaps -
- - -

Gets a list of the output formats supported by the Microsoft DirectX Video Acceleration High Definition (DXVA-HD) device.

-
-

The number of formats to retrieve. This parameter must equal the OutputFormatCount member of the structure. Call the method to get this value.

-

A reference to an array of values. The Count parameter specifies the number of elements in the array. The method fills the array with a list of output formats.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

The list of formats can include both values, such as , and FOURCC codes, such as 'NV12'. For more information, see Video FOURCCs.

-
- - dd373917 - HRESULT IDXVAHD_Device::GetVideoProcessorOutputFormats([In] unsigned int Count,[Out, Buffer] D3DFORMAT* pFormats) - IDXVAHD_Device::GetVideoProcessorOutputFormats -
- - -

Gets a list of the input formats supported by the Microsoft DirectX Video Acceleration High Definition (DXVA-HD) device.

-
-

The number of formats to retrieve. This parameter must equal the InputFormatCount member of the structure. Call the method to get this value.

-

A reference to an array of values. The Count parameter specifies the number of elements in the array. The method fills the array with a list of input formats.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

The list of formats can include both values, such as , and FOURCC codes, such as 'NV12'. For more information, see Video FOURCCs.

-
- - dd373916 - HRESULT IDXVAHD_Device::GetVideoProcessorInputFormats([In] unsigned int Count,[Out, Buffer] D3DFORMAT* pFormats) - IDXVAHD_Device::GetVideoProcessorInputFormats -
- - -

Gets the capabilities of one or more Microsoft DirectX Video Acceleration High Definition (DXVA-HD) video processors.

-
-

The number of elements in the pCaps array. This parameter must equal the VideoProcessorCount member of the structure. Call the method to get this value.

-

A reference to an array of structures. The method fills the structures with the capabilities of the video processors supported by the driver.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dd373912 - HRESULT IDXVAHD_Device::GetVideoProcessorCaps([In] unsigned int Count,[Out, Buffer] DXVAHD_VPCAPS* pCaps) - IDXVAHD_Device::GetVideoProcessorCaps -
- - -

Gets a list of custom rates that a Microsoft DirectX Video Acceleration High Definition (DXVA-HD) video processor supports. Custom rates are used for frame-rate conversion and inverse telecine (IVTC).

-
-

A that identifies the video processor to query. This must equal the valud of the VPGuid member from one of the structures retrieved by the method.

-

The number of rates to retrieve. This parameter must equal the CustomRateCount member of the structure for the video processor.

-

A reference to an array of structures. The Count parameter specifies the number of elements in the array. The method fills the array with a list of custom rates.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dd373913 - HRESULT IDXVAHD_Device::GetVideoProcessorCustomRates([In] const GUID* pVPGuid,[In] unsigned int Count,[Out, Buffer] DXVAHD_CUSTOM_RATE_DATA* pRates) - IDXVAHD_Device::GetVideoProcessorCustomRates -
- - -

Gets the range of values for an image filter that the Microsoft DirectX Video Acceleration High Definition (DXVA-HD) device supports.

-
-

The type of image filter, specified as a member of the enumeration.

-

A reference to a structure. The method fills the structure with the range of values for the specified filter.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_INVALIDARG

The Filter parameter is invalid or the device does not support the specified filter.

?

- -

To find out which image filters the device supports, check the FilterCaps member of the structure. Call the method to get this value.

-
- - dd373915 - HRESULT IDXVAHD_Device::GetVideoProcessorFilterRange([In] DXVAHD_FILTER Filter,[Out] DXVAHD_FILTER_RANGE_DATA* pRange) - IDXVAHD_Device::GetVideoProcessorFilterRange -
- - -

Creates a Microsoft DirectX Video Acceleration High Definition (DXVA-HD) video processor.

-
-

A that identifies the video processor to create. This must equal the value of the VPGuid member from one of the structures retrieved by the method.

-

Receives a reference to the interface. The caller must release the interface.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dd373910 - HRESULT IDXVAHD_Device::CreateVideoProcessor([In] const GUID* pVPGuid,[Out] IDXVAHD_VideoProcessor** ppVideoProcessor) - IDXVAHD_Device::CreateVideoProcessor -
- - -

Applies to: desktop apps only

Creates a Microsoft DirectX Video Acceleration High Definition (DXVA-HD) device.

-
-

A reference to the interface of a Direct3D 9 device.

-

A reference to a structure that describes the video content. The driver uses this information as a hint when it creates the device.

-

A member of the enumeration, describing how the device will be used. The value indicates the desired trade-off between speed and video quality. The driver uses this flag as a hint when it creates the device.

- -

Use the interface to get the device capabilities, create the video processor, and allocate video surfaces.

-
- - dd318412 - HRESULT DXVAHD_CreateDevice([In] IDirect3DDevice9Ex* pD3DDevice,[In] const DXVAHD_CONTENT_DESC* pContentDesc,[In] DXVAHD_DEVICE_USAGE Usage,[In, Optional] __function__stdcall* pPlugin,[Out, Fast] IDXVAHD_Device** ppDevice) - DXVAHD_CreateDevice -
- - -

Represents a Microsoft DirectX Video Acceleration High Definition (DXVA-HD) video processor.

To get a reference to this interface, call the method.

-
- - dd373918 - IDXVAHD_VideoProcessor - IDXVAHD_VideoProcessor -
- - - Initializes a new instance of the 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 state parameter for a blit operation by a Microsoft DirectX Video Acceleration High Definition (DXVA-HD) device.

-
-

The state parameter to set, specified as a member of the enumeration.

-

The size, in bytes, of the buffer pointed to by pData.

-

A reference to a buffer that contains the state data. The meaning of the data depends on the State parameter. Each state has a corresponding data structure; for more information, see . The caller allocates the buffer and fills in the parameter data before calling this method.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dd373921 - HRESULT IDXVAHD_VideoProcessor::SetVideoProcessBltState([In] DXVAHD_BLT_STATE State,[In] unsigned int DataSize,[In, Buffer] const void* pData) - IDXVAHD_VideoProcessor::SetVideoProcessBltState -
- - -

Gets the value of a state parameter for blit operations performed by a Microsoft DirectX Video Acceleration High Definition (DXVA-HD) device.

-
-

The state parameter to query, specified as a member of the enumeration.

-

The size, in bytes, of the buffer pointed to by pData.

-

A reference to a buffer allocated by the caller. The method copies the state data into the buffer. The buffer must be large enough to hold the data structure that corresponds to the state parameter. For more information, see .

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dd373919 - HRESULT IDXVAHD_VideoProcessor::GetVideoProcessBltState([In] DXVAHD_BLT_STATE State,[In] unsigned int DataSize,[Out, Buffer] void* pData) - IDXVAHD_VideoProcessor::GetVideoProcessBltState -
- - -

Sets a state parameter for an input stream on a Microsoft DirectX Video Acceleration High Definition (DXVA-HD) device.

-
-

The zero-based index of the input stream. To get the maximum number of streams, call and check the MaxStreamStates member of the structure.

-

The state parameter to set, specified as a member of the enumeration.

-

The size, in bytes, of the buffer pointed to by pData.

-

A reference to a buffer that contains the state data. The meaning of the data depends on the State parameter. Each state has a corresponding data structure; for more information, see . The caller allocates the buffer and fills in the parameter data before calling this method.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

Call this method to set state parameters that apply to individual input streams.

-
- - dd373922 - HRESULT IDXVAHD_VideoProcessor::SetVideoProcessStreamState([In] unsigned int StreamNumber,[In] DXVAHD_STREAM_STATE State,[In] unsigned int DataSize,[In, Buffer] const void* pData) - IDXVAHD_VideoProcessor::SetVideoProcessStreamState -
- - -

Gets the value of a state parameter for an input stream on a Microsoft DirectX Video Acceleration High Definition (DXVA-HD) device.

-
-

The zero-based index of the input stream. To get the maximum number of streams, call and check the MaxStreamStates member of the structure.

-

The state parameter to query, specified as a member of the enumeration.

-

The size, in bytes, of the buffer pointed to by pData.

-

A reference to a buffer allocated by the caller. The method copies the state data into the buffer. The buffer must be large enough to hold the data structure that corresponds to the state parameter. For more information, see .

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dd373920 - HRESULT IDXVAHD_VideoProcessor::GetVideoProcessStreamState([In] unsigned int StreamNumber,[In] DXVAHD_STREAM_STATE State,[In] unsigned int DataSize,[Out, Buffer] void* pData) - IDXVAHD_VideoProcessor::GetVideoProcessStreamState -
- - -

Performs a video processing blit on one or more input samples and writes the result to a Microsoft Direct3D surface.

-
-

A reference to the interface of a Direct3D surface. The output of the video processing operation will be written to this surface. The following surface types can be used:

  • A video surface of type . See .
  • A render-target surface or texture surface created with usage.
  • A swap chain.
  • A swap chain with overlay support ().
-

Frame number of the output video frame, indexed from zero.

-

Number of input streams to process.

-

Pointer to an array of structures that contain information about the input streams. The caller allocates the array and fills in each structure. The number of elements in the array is given in the StreamCount parameter.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

The maximum value of StreamCount is given in the MaxStreamStates member of the structure. The maximum numbr of streams that can be enabled at one time is given in the MaxInputStreams member of that structure.

-
- - dd373923 - HRESULT IDXVAHD_VideoProcessor::VideoProcessBltHD([In] IDirect3DSurface9* pOutputSurface,[In] unsigned int OutputFrame,[In] unsigned int StreamCount,[In, Buffer] const DXVAHD_STREAM_DATA* pStreams) - IDXVAHD_VideoProcessor::VideoProcessBltHD -
- - -

Provides DirectX Video Acceleration (DXVA) services from a Direct3D device. To get a reference to this interface, call or .

-
- -

This is the base interface for DXVA services. The Direct3D device can support any of the following DXVA services, which derive from :

  • Video decoding:
  • Video processing:
-
- - ms697049 - IDirectXVideoAccelerationService - IDirectXVideoAccelerationService - -

Applies to: desktop apps only

Provides DirectX Video Acceleration (DXVA) services from a Direct3D device. To get a reference to this interface, call or .

-
- -

This is the base interface for DXVA services. The Direct3D device can support any of the following DXVA services, which derive from :

  • Video decoding:
  • Video processing:
-
- - ms697049 - IDirectXVideoAccelerationService - IDirectXVideoAccelerationService -
- - - Initializes a new instance of the 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 DirectX Video Acceleration (DXVA) video processor or DXVA decoder render target.

-
-

The width of the surface, in pixels.

-

The height of the surface, in pixels.

-

The number of back buffers. The method creates BackBuffers + 1 surfaces.

-

The pixel format, specified as a value or FOURCC code. For more information, see the Direct3D documentation.

-

The memory pool in which to create the surface, specified as a value. For more information, see the Direct3D documentation. Decoders should generally use the value .

-

Reserved. Set this value to zero.

-

The type of surface to create. Use one of the following values.

ValueMeaning

Video decoder render target.

Video processor render target. Used for operations.

Software render target. This surface type is for use with software DXVA devices.

?

-

The address of an array of references allocated by the caller. The size of the array must be 1 + BackBuffers (enough for the back buffers plus one front buffer). The method fills the array with references. The caller must release all of the interface references. In addition, the front buffer holds a reference count on each of the back buffers. Therefore, the back buffers are never deleted until the front buffer is deleted.

-

A reference to a handle that is used to share the surfaces between Direct3D devices. Set this parameter to null.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

Invalid parameter

E_FAIL

The DirectX Video Acceleration Manager is not initialized.

E_POINTER

null reference argument.

?

- -

If the method returns E_FAIL, try calling to reset the DirectX Video Acceleration Manager.

-
- - ms696227 - HRESULT IDirectXVideoAccelerationService::CreateSurface([In] unsigned int Width,[In] unsigned int Height,[In] unsigned int BackBuffers,[In] D3DFORMAT Format,[In] D3DPOOL Pool,[In] unsigned int Usage,[In] unsigned int DxvaType,[Out, Buffer] IDirect3DSurface9** ppSurface,[InOut, Optional] void** pSharedHandle) - IDirectXVideoAccelerationService::CreateSurface -
- - -

Applies to: desktop apps only

Creates a DirectX Video Acceleration (DXVA) services object. Call this function if your application uses DXVA directly, without using DirectShow or Media Foundation.

-
-

A reference to the interface of a Direct3D device.

-

If this function succeeds, it returns . Otherwise, it returns an error code.

- - ms704721 - HRESULT DXVA2CreateVideoService([In] IDirect3DDevice9* pDD,[In] const GUID& riid,[Out] void** ppService) - DXVA2CreateVideoService -
- - -

Represents a DirectX Video Acceleration (DXVA) video decoder device.

To get a reference to this interface, call .

-
- -

The methods make calls to the Direct3D device. Therefore, the flags that you specify when creating the device can affect the behavior of this interface. For example, if you specify the flag, the Direct3D global critical section will be held during decode operations.

-
- - ms694281 - IDirectXVideoDecoder - IDirectXVideoDecoder -
- - - Initializes a new instance of the 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 DirectX Video Acceleration (DXVA) decoder service that created this decoder device.

-
- - ms694049 - GetVideoDecoderService - GetVideoDecoderService - HRESULT IDirectXVideoDecoder::GetVideoDecoderService([Out] IDirectXVideoDecoderService** ppService) -
- - -

Retrieves the DirectX Video Acceleration (DXVA) decoder service that created this decoder device.

-
-

Receives a reference to interface. The caller must release the interface.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - ms694049 - HRESULT IDirectXVideoDecoder::GetVideoDecoderService([Out] IDirectXVideoDecoderService** ppService) - IDirectXVideoDecoder::GetVideoDecoderService -
- - -

Retrieves the parameters that were used to create this device.

-
-

Receives the device . This parameter can be null.

-

Pointer to a structure that receives a description of the video format. This parameter can be null.

-

Pointer to a structure structure that receives the decoder configuration. This parameter can be null.

-

Receives an array of interface references. These references represent the decoder render targets. The method allocates the memory for the array and calls AddRef on each of the references. The caller must release the references and call CoTaskMemFree to free the memory for the array. This parameter can be null.

-

Receives the number of elements in the pppDecoderRenderTargets array. This parameter can be null.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_INVALIDARG

Invalid argument. At least one parameter must be non-null.

?

- -

You can set any parameter to null if you are not interested in the result. At least one parameter must be non-null.

If you specify a non-null value for pppDecoderRenderTargets (to receive the render target surfaces), then pNumSurfaces cannot be null, because it receives the size of the array returned in pppDecoderRenderTargets.

-
- - ms697355 - HRESULT IDirectXVideoDecoder::GetCreationParameters([Out, Optional] GUID* pDeviceGuid,[Out, Optional] DXVA2_VideoDesc* pVideoDesc,[Out, Optional] DXVA2_ConfigPictureDecode* pConfig,[Out, Buffer] IDirect3DSurface9*** pDecoderRenderTargets,[Out, Optional] unsigned int* pNumSurfaces) - IDirectXVideoDecoder::GetCreationParameters -
- - -

Retrieves a reference to a DirectX Video Acceleration (DXVA) decoder buffer.

-
-

Type of buffer to retrieve. Use one of the following values.

ValueMeaning

Picture decoding parameter buffer.

Macroblock control command buffer.

Residual difference block data buffer.

Deblocking filter control command buffer.

Inverse quantization matrix buffer.

Slice-control buffer.

Bitstream data buffer.

Motion vector buffer.

Film grain synthesis data buffer.

?

-

Receives a reference to the start of the memory buffer.

-

Receives the size of the buffer, in bytes.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

The method locks the Direct3D surface that contains the buffer. When you are done using the buffer, call to unlock the surface.

This method might block if too many operations have been queued on the GPU. The method unblocks when a free buffer becomes available.

-
- - ms703992 - HRESULT IDirectXVideoDecoder::GetBuffer([In] unsigned int BufferType,[Out] void** ppBuffer,[Out] unsigned int* pBufferSize) - IDirectXVideoDecoder::GetBuffer -
- - -

Releases a buffer that was obtained by calling .

-
- No documentation. -

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - ms704764 - HRESULT IDirectXVideoDecoder::ReleaseBuffer([In] unsigned int BufferType) - IDirectXVideoDecoder::ReleaseBuffer -
- - -

Starts the decoding operation.

-
-

Pointer to the interface of the render target where the decoded frame will be written.

-

Reserved; set to null.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_INVALIDARG

Invalid surface type. See Remarks.

?

- -

After this method is called, call to perform decoding operations. When all decoding operations have been executed, call .

Each call to BeginFrame must have a matching call to EndFrame, and BeginFrame calls cannot be nested.

DXVA 1.0 migration note: Unlike the IAMVideoAccelerator::BeginFrame method, which specifies the buffer as an index, this method takes a reference directly to the uncompressed buffer.

The surface pointed to by pRenderTarget must be created by calling with the value for DxvaType.

-
- - ms694840 - HRESULT IDirectXVideoDecoder::BeginFrame([In] IDirect3DSurface9* pRenderTarget,[In, Optional] void* pvPVPData) - IDirectXVideoDecoder::BeginFrame -
- - -

Signals the end of the decoding operation.

-
-

Reserved.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - ms697031 - HRESULT IDirectXVideoDecoder::EndFrame([InOut, Optional] void** pHandleComplete) - IDirectXVideoDecoder::EndFrame -
- - -

Executes a decoding operation on the current frame.

-
-

Pointer to a structure that contains the information needed for the decoding operation.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

You must call before calling this method.

-
- - ms696258 - HRESULT IDirectXVideoDecoder::Execute([In] const DXVA2_DecodeExecuteParams* pExecuteParams) - IDirectXVideoDecoder::Execute -
- - -

Provides access to DirectX Video Acceleration (DXVA) decoder services. Use this interface to query which hardware-accelerated decoding operations are available and to create DXVA video decoder devices.

To get a reference to this interface, call or with the interface identifier IID_IDirectXVideoDecoderService.

-
- - ms704820 - IDirectXVideoDecoderService - IDirectXVideoDecoderService - -

Applies to: desktop apps only

Provides access to DirectX Video Acceleration (DXVA) decoder services. Use this interface to query which hardware-accelerated decoding operations are available and to create DXVA video decoder devices.

To get a reference to this interface, call or with the interface identifier IID_IDirectXVideoDecoderService.

-
- - ms704820 - IDirectXVideoDecoderService - IDirectXVideoDecoderService -
- - - Initializes a new instance of the 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 an array of GUIDs that identifies the decoder devices supported by the graphics hardware.

-
-

Receives the number of GUIDs.

-

Receives an array of GUIDs. The size of the array is retrieved in the Count parameter. The method allocates the memory for the array. The caller must free the memory by calling CoTaskMemFree.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

Error from the Direct3D device.

E_FAIL

If the Microsoft Basic Display Adapter is being used or the Direct3D?11 device type is the reference rasterizer. These devices do not support video decoders.

?

- -

The following decoder GUIDs are defined. Some of these GUIDs have alternate names, shown in parentheses.

Description
DXVA2_ModeH264_A (DXVA2_ModeH264_MoComp_NoFGT)H.264 motion compensation (MoComp), no film grain technology (FGT).
DXVA2_ModeH264_B (DXVA2_ModeH264_MoComp_FGT)H.264 MoComp, FGT.
DXVA2_ModeH264_C (DXVA2_ModeH264_IDCT_NoFGT)H.264 inverse discrete cosine transform (IDCT), no FGT.
DXVA2_ModeH264_D (DXVA2_ModeH264_IDCT_FGT)H.264 IDCT, FGT.
DXVA2_ModeH264_E (DXVA2_ModeH264_VLD_NoFGT)H.264 VLD, no FGT.
DXVA2_ModeH264_F (DXVA2_ModeH264_VLD_FGT)H.264 variable-length decoder (VLD), FGT.
DXVA2_ModeMPEG2_IDCTMPEG-2 IDCT.
DXVA2_ModeMPEG2_MoCompMPEG-2 MoComp.
DXVA2_ModeMPEG2_VLDMPEG-2 VLD.
DXVA2_ModeVC1_A (DXVA2_ModeVC1_PostProc)VC-1 post processing.
DXVA2_ModeVC1_B (DXVA2_ModeVC1_MoComp)VC-1 MoComp.
DXVA2_ModeVC1_C (DXVA2_ModeVC1_IDCT)VC-1 IDCT.
DXVA2_ModeVC1_D (DXVA2_ModeVC1_VLD)VC-1 VLD.
DXVA2_ModeWMV8_A (DXVA2_ModeWMV8_PostProc)Windows Media Video 8 post processing.
DXVA2_ModeWMV8_B (DXVA2_ModeWMV8_MoComp)Windows Media Video 8 MoComp.
DXVA2_ModeWMV9_A (DXVA2_ModeWMV9_PostProc)Windows Media Video 9 post processing.
DXVA2_ModeWMV9_B (DXVA2_ModeWMV9_MoComp)Windows Media Video 9 MoComp.
DXVA2_ModeWMV9_C (DXVA2_ModeWMV9_IDCT)Windows Media Video 9 IDCT.

?

-
- - ms697067 - HRESULT IDirectXVideoDecoderService::GetDecoderDeviceGuids([Out] unsigned int* pCount,[Out, Buffer, Optional] GUID** pGuids) - IDirectXVideoDecoderService::GetDecoderDeviceGuids -
- - -

Retrieves the supported render targets for a specified decoder device.

-
-

that identifies the decoder device. To get the available device GUIDs, call .

-

Receives the number of formats.

-

Receives an array of formats, specified as values. The size of the array is retrieved in the pCount parameter. The method allocates the memory for the array. The caller must free the memory by calling CoTaskMemFree.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - ms703193 - HRESULT IDirectXVideoDecoderService::GetDecoderRenderTargets([In] const GUID& Guid,[Out] unsigned int* pCount,[Out, Buffer, Optional] D3DFORMAT** pFormats) - IDirectXVideoDecoderService::GetDecoderRenderTargets -
- - -

Gets the configurations that are available for a decoder device.

-
-

A that identifies the decoder device. To get the available device GUIDs, call .

-

A reference to a structure that describes the video content.

-

Reserved. Set to null.

-

Receives the number of configurations.

-

Receives an array of structures. The size of the array is retrieved in the pCount parameter. The caller must free the memory for the array by calling CoTaskMemFree. This parameter can be null if you simply want the number of configurations (returned in pCount) but not the GUIDs.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - ms699833 - HRESULT IDirectXVideoDecoderService::GetDecoderConfigurations([In] const GUID& Guid,[In] const DXVA2_VideoDesc* pVideoDesc,[In] void* pReserved,[Out] unsigned int* pCount,[Out, Buffer, Optional] DXVA2_ConfigPictureDecode** ppConfigs) - IDirectXVideoDecoderService::GetDecoderConfigurations -
- - -

Creates a video decoder device.

-
-

that specifies the decoder device to create. To get the available device GUIDs, call .

-

Pointer to a structure that describes the video content.

-

Pointer to a structure that specifies the decoder configuration.

-

Pointer to an array of references containing references to the decoder render targets. To create these surfaces, call . Specify for the DxvaType parameter.

-

Size of the ppDecoderRenderTargets array. This value cannot be zero.

-

Receives a reference to the decoder's interface. The caller must release the interface.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - ms696175 - HRESULT IDirectXVideoDecoderService::CreateVideoDecoder([In] const GUID& Guid,[In] const DXVA2_VideoDesc* pVideoDesc,[In] const DXVA2_ConfigPictureDecode* pConfig,[In, Buffer] IDirect3DSurface9** ppDecoderRenderTargets,[In] unsigned int NumRenderTargets,[Out] IDirectXVideoDecoder** ppDecode) - IDirectXVideoDecoderService::CreateVideoDecoder -
- - -

Creates a video decoder device.

-
-

that specifies the decoder device to create. To get the available device GUIDs, call .

-

Pointer to a structure that describes the video content.

-

Pointer to a structure that specifies the decoder configuration.

-

Pointer to an array of references containing references to the decoder render targets. To create these surfaces, call . Specify for the DxvaType parameter.

-

Size of the ppDecoderRenderTargets array. This value cannot be zero.

-

Receives a reference to the decoder's interface. The caller must release the interface.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - ms696175 - HRESULT IDirectXVideoDecoderService::CreateVideoDecoder([In] const GUID& Guid,[In] const DXVA2_VideoDesc* pVideoDesc,[In] const DXVA2_ConfigPictureDecode* pConfig,[In, Buffer] IDirect3DSurface9** ppDecoderRenderTargets,[In] unsigned int NumRenderTargets,[Out] IDirectXVideoDecoder** ppDecode) - IDirectXVideoDecoderService::CreateVideoDecoder -
- - -

Applies to: desktop apps only

Creates a DirectX Video Acceleration (DXVA) services object. Call this function if your application uses DXVA directly, without using DirectShow or Media Foundation.

-
-

A reference to the interface of a Direct3D device.

-

If this function succeeds, it returns . Otherwise, it returns an error code.

- - ms704721 - HRESULT DXVA2CreateVideoService([In] IDirect3DDevice9* pDD,[In] const GUID& riid,[Out] void** ppService) - DXVA2CreateVideoService -
- - -

Sets the type of video memory for uncompressed video surfaces. This interface is used by video decoders and transforms.

The DirectShow enhanced video renderer (EVR) filter exposes this interface as a service on the filter's input pins. To obtain a reference to this interface, call with the service identifier .

A video decoder can use this interface to enumerate the EVR filter's preferred surface types and then select the surface type. The decoder should then create surfaces of that type to hold the results of the decoding operation.

This interface does not define a way to clear the surface type. In the case of DirectShow, disconnecting two filters invalidates the surface type.

-
- - ms703164 - IDirectXVideoMemoryConfiguration - IDirectXVideoMemoryConfiguration -
- - - Initializes a new instance of the 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 video surface type that a decoder will use for DirectX Video Acceleration (DVXA) 2.0.

-
- -

By calling this method, the caller agrees to create surfaces of the type specified in the dwType parameter.

In DirectShow, during pin connection, a video decoder that supports DVXA 2.0 should call SetSurface with the value . This notifies the video renderer that the decoder will provide the allocator and will create the Direct3D surfaces for decoding. For more information, see Supporting DXVA 2.0 in DirectShow.

The only way to undo the setting is to break the pin connection.

-
- - ms693977 - SetSurfaceType - SetSurfaceType - HRESULT IDirectXVideoMemoryConfiguration::SetSurfaceType([In] DXVA2_SurfaceType dwType) -
- - -

Retrieves a supported video surface type.

-
-

Zero-based index of the surface type to retrieve. Surface types are indexed in order of preference, starting with the most preferred type.

-

Receives a member of the enumeration that specifies the surface type.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The index was out of range.

?

- - ms697493 - HRESULT IDirectXVideoMemoryConfiguration::GetAvailableSurfaceTypeByIndex([In] unsigned int dwTypeIndex,[Out] DXVA2_SurfaceType* pdwType) - IDirectXVideoMemoryConfiguration::GetAvailableSurfaceTypeByIndex -
- - -

Sets the video surface type that a decoder will use for DirectX Video Acceleration (DVXA) 2.0.

-
-

Member of the enumeration specifying the surface type. Currently, the only supported value is .

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The renderer does not support the specified surface type.

?

- -

By calling this method, the caller agrees to create surfaces of the type specified in the dwType parameter.

In DirectShow, during pin connection, a video decoder that supports DVXA 2.0 should call SetSurface with the value . This notifies the video renderer that the decoder will provide the allocator and will create the Direct3D surfaces for decoding. For more information, see Supporting DXVA 2.0 in DirectShow.

The only way to undo the setting is to break the pin connection.

-
- - ms693977 - HRESULT IDirectXVideoMemoryConfiguration::SetSurfaceType([In] DXVA2_SurfaceType dwType) - IDirectXVideoMemoryConfiguration::SetSurfaceType -
- - -

Retrieves the parameters that were used to create this device.

-
- -

You can set any parameter to null if you are not interested in the result. At least one parameter must be non-null.

-
- - ms704783 - IDirectXVideoProcessor - IDirectXVideoProcessor -
- - - Initializes a new instance of the 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 DirectX Video Acceleration (DXVA) video processor service that created this video processor device.

-
- - ms700812 - GetVideoProcessorService - GetVideoProcessorService - HRESULT IDirectXVideoProcessor::GetVideoProcessorService([Out] IDirectXVideoProcessorService** ppService) -
- - -

Retrieves the capabilities of the video processor device.

-
- - ms704831 - GetVideoProcessorCaps - GetVideoProcessorCaps - HRESULT IDirectXVideoProcessor::GetVideoProcessorCaps([Out] DXVA2_VideoProcessorCaps* pCaps) -
- - -

Retrieves the DirectX Video Acceleration (DXVA) video processor service that created this video processor device.

-
-

Receives a reference to interface. The caller must release the interface.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - ms700812 - HRESULT IDirectXVideoProcessor::GetVideoProcessorService([Out] IDirectXVideoProcessorService** ppService) - IDirectXVideoProcessor::GetVideoProcessorService -
- - -

Retrieves the parameters that were used to create this device.

-
-

Receives the device . This parameter can be null.

-

Pointer to a structure allocated by the caller. The method fills the structure with a description of the video format. This parameter can be null.

-

Receives the render target format, specified as a value. For more information, see the Direct3D documentation. This parameter can be null.

-

Receives the maximum number of streams supported by the device. This parameter can be null.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_INVALIDARG

Invalid argument. At least one parameter must be non-null.

?

- -

You can set any parameter to null if you are not interested in the result. At least one parameter must be non-null.

-
- - ms704783 - HRESULT IDirectXVideoProcessor::GetCreationParameters([Out, Optional] GUID* pDeviceGuid,[Out, Optional] DXVA2_VideoDesc* pVideoDesc,[Out, Optional] D3DFORMAT* pRenderTargetFormat,[Out, Optional] unsigned int* pMaxNumSubStreams) - IDirectXVideoProcessor::GetCreationParameters -
- - -

Retrieves the capabilities of the video processor device.

-
-

Pointer to a structure that receives the video processor capabilities.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - ms704831 - HRESULT IDirectXVideoProcessor::GetVideoProcessorCaps([Out] DXVA2_VideoProcessorCaps* pCaps) - IDirectXVideoProcessor::GetVideoProcessorCaps -
- - -

Retrieves the range of values for a video processor (ProcAmp) setting on this video processor device.

-
-

The ProcAmp setting to query. See ProcAmp Settings.

-

Pointer to a structure that receives the range of values for the setting specified in ProcAmpCaps.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - ms704610 - HRESULT IDirectXVideoProcessor::GetProcAmpRange([In] unsigned int ProcAmpCap,[Out] DXVA2_ValueRange* pRange) - IDirectXVideoProcessor::GetProcAmpRange -
- - -

Retrieves the range of values for an image filter supported by this device.

-
-

Filter setting to query. For more information, see DXVA Image Filter Settings.

-

Pointer to a structure that receives the range of values for the setting specified in FilterSetting.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - ms697209 - HRESULT IDirectXVideoProcessor::GetFilterPropertyRange([In] unsigned int FilterSetting,[Out] DXVA2_ValueRange* pRange) - IDirectXVideoProcessor::GetFilterPropertyRange -
- - -

Performs a video process operation on one or more input samples and writes the result to a Direct3D9 surface.

-
-

A reference to the interface of a Direct3D surface. The output of the video processing operation will be written to this surface. The surface may be any of the following types:

  • A surface created by calling with the DXVA2_VideoProcessRenderTarget flag. You can also use the flag, but only when the device is DXVA2_VideoProcSoftwareDevice (software video processing device).
  • A surface created from a Direct3D device with the usage flag.
  • A Direct3D swap chain.
-

A reference to a structure that describes the video processing operation to perform.

-

A reference to an array of structures that contain the input samples. There must be at least one element in the array.

The maximum number of input samples is given by the constant MAX_DEINTERLACE_SURFACES, defined in the header file dxva2api.h.

-

The number of elements in the pSamples array.

-

Reserved; set to null.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

Internal driver error.

E_INVALIDARG

Invalid arguments.

?

- -

When the method returns, the operation might not be complete.

If the method returns E_INVALIDARG, check for the following:

  • The number of input samples (NumSamples) must be less than or equal to MAX_DEINTERLACE_SURFACES.
  • The Direct3D surface must be a valid target for VideoProcessBlt. See the description of the pRT parameter for details.
  • The presentation time (TargetFrame) given in pBltParams must match the start and end times for the current picture from the primary stream. Specifically, it must be less than the end time and greater than or equal to the start time. Note that the first sample in pSamples might not be the current picture, if the pSamples array contains backward reference pictures. For more information, see Input Sample Order.
  • The target rectangle (TargetRect) given in pBltParams cannot be larger than the destination surface (pRT).
  • The constriction size (ConstrictionSize) given in pBltParams cannot be less than zero or larger than the target rectangle.
  • The alpha component of the background color must be opqaue.
  • The ProcAmp values given in pBltParams must be valid. For any ProcAmp settings that are supported by the driver, these values must fall within the ranges returned by the method.
  • The noise and detail filters given in pBltParams must be valid. For any filters that are supported by the driver, these values must fall within the ranges returned by the method.
  • The alpha value given in pBltParams must be in the range [0...1] inclusive.
  • For each input sample given in pSamples:
    • The start time cannot be greater than the end time.
    • A valid reference must be provided.
    • The source rectangle cannot be larger than the input surface.
    • The destination rectangle cannot be larger than than the destination surface.
    • The planar alpha must be in the range [0...1] inclusive.
  • For all rectangles (source, destination, and target), the rectangle cannot be inverted (left > right or top > bottom) or have negative values.
-
- - ms697022 - HRESULT IDirectXVideoProcessor::VideoProcessBlt([In] IDirect3DSurface9* pRenderTarget,[In] const DXVA2_VideoProcessBltParams* pBltParams,[In, Buffer] const DXVA2_VideoSample* pSamples,[In] unsigned int NumSamples,[InOut, Optional] void** pHandleComplete) - IDirectXVideoProcessor::VideoProcessBlt -
- - -

Provides access to DirectX Video Acceleration (DXVA) video processing services.

Use this interface to query which hardware-accelerated video processing operations are available and to create DXVA video processor devices. To obtain a reference to this interface, call or with the interface identifier IID_IDirectXVideoProcessorService.

-
- - ms705631 - IDirectXVideoProcessorService - IDirectXVideoProcessorService - -

Applies to: desktop apps only

Provides access to DirectX Video Acceleration (DXVA) video processing services.

Use this interface to query which hardware-accelerated video processing operations are available and to create DXVA video processor devices. To obtain a reference to this interface, call or with the interface identifier IID_IDirectXVideoProcessorService.

-
- - ms705631 - IDirectXVideoProcessorService - IDirectXVideoProcessorService -
- - - Initializes a new instance of the 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 software video processing device.

-
-

Pointer to an initialization function.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - ms696262 - HRESULT IDirectXVideoProcessorService::RegisterVideoProcessorSoftwareDevice([In] void* pCallbacks) - IDirectXVideoProcessorService::RegisterVideoProcessorSoftwareDevice -
- - -

Gets an array of GUIDs which identify the video processors supported by the graphics hardware.

-
-

Pointer to a structure that describes the video content.

-

Receives the number of GUIDs.

-

Receives an array of GUIDs. The size of the array is retrieved in the pCount parameter. The method allocates the memory for the array. The caller must free the memory by calling CoTaskMemFree.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

The following video processor GUIDs are predefined.

Description
DXVA2_VideoProcBobDeviceBob deinterlace device. This device uses a "bob" algorithm to deinterlace the video. Bob algorithms create missing field lines by interpolating the lines in a single field.
DXVA2_VideoProcProgressiveDeviceProgressive video device. This device is available for progressive video, which does not require a deinterlace algorithm.
DXVA2_VideoProcSoftwareDeviceReference (software) device.

?

The graphics device may define additional vendor-specific GUIDs. The driver provides the list of GUIDs in descending quality order. The mode with the highest quality is first in the list. To get the capabilities of each mode, call and pass in the for the mode.

-
- - ms695370 - HRESULT IDirectXVideoProcessorService::GetVideoProcessorDeviceGuids([In] const DXVA2_VideoDesc* pVideoDesc,[Out] unsigned int* pCount,[Out, Buffer, Optional] GUID** pGuids) - IDirectXVideoProcessorService::GetVideoProcessorDeviceGuids -
- - -

Gets the render target formats that a video processor device supports. The list may include RGB and YUV formats.

-
-

A that identifies the video processor device. To get the list of video processor GUIDs, call .

-

A reference to a structure that describes the video content.

-

Receives the number of formats.

-

Receives an array of formats, specified as values. The size of the array is retrieved in the pCount parameter. The method allocates the memory for the array. The caller must free the memory by calling CoTaskMemFree.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - ms702118 - HRESULT IDirectXVideoProcessorService::GetVideoProcessorRenderTargets([In] const GUID& VideoProcDeviceGuid,[In] const DXVA2_VideoDesc* pVideoDesc,[Out] unsigned int* pCount,[Out, Buffer, Optional] D3DFORMAT** pFormats) - IDirectXVideoProcessorService::GetVideoProcessorRenderTargets -
- - -

Gets a list of substream formats supported by a specified video processor device.

-
-

A that identifies the video processor device. To get the list of video processor GUIDs, call .

-

A reference to a structure that describes the video content.

-

The format of the render target surface, specified as a value. For more information, see the Direct3D documentation. You can also use a FOURCC code to specify a format that is not defined in the enumeration. See Video FOURCCs.

-

Receives the number of elements returned in the ppFormats array.

-

Receives an array of values. The caller must free the array by calling CoTaskMemFree. The array can contain both RGB and YUB pixel formats.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - ms694271 - HRESULT IDirectXVideoProcessorService::GetVideoProcessorSubStreamFormats([In] const GUID& VideoProcDeviceGuid,[In] const DXVA2_VideoDesc* pVideoDesc,[In] D3DFORMAT RenderTargetFormat,[Out] unsigned int* pCount,[Out, Buffer, Optional] D3DFORMAT** pFormats) - IDirectXVideoProcessorService::GetVideoProcessorSubStreamFormats -
- - -

Gets the capabilities of a specified video processor device.

-
-

A that identifies the video processor device. To get the list of video processor GUIDs, call .

-

A reference to a structure that describes the video content.

-

The format of the render target surface, specified as a value. For more information, see the Direct3D documentation. You can also use a FOURCC code to specify a format that is not defined in the enumeration. See Video FOURCCs.

-

A reference to a structure that receives the video processor capabilities.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - ms702988 - HRESULT IDirectXVideoProcessorService::GetVideoProcessorCaps([In] const GUID& VideoProcDeviceGuid,[In] const DXVA2_VideoDesc* pVideoDesc,[In] D3DFORMAT RenderTargetFormat,[Out] DXVA2_VideoProcessorCaps* pCaps) - IDirectXVideoProcessorService::GetVideoProcessorCaps -
- - -

Gets the range of values for a video processor (ProcAmp) setting.

-
-

A that identifies the video processor device. To get the list of video processor GUIDs, call .

-

A reference to a structure that describes the video content.

-

The format of the render target surface, specified as a value. For more information, see the Direct3D documentation. You can also use a FOURCC code to specify a format that is not defined in the enumeration. See Video FOURCCs.

-

The ProcAmp setting to query. See ProcAmp Settings.

-

A reference to a structure that receives the range of values for the setting specified in ProcAmpCaps.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - ms702244 - HRESULT IDirectXVideoProcessorService::GetProcAmpRange([In] const GUID& VideoProcDeviceGuid,[In] const DXVA2_VideoDesc* pVideoDesc,[In] D3DFORMAT RenderTargetFormat,[In] unsigned int ProcAmpCap,[Out] DXVA2_ValueRange* pRange) - IDirectXVideoProcessorService::GetProcAmpRange -
- - -

Retrieves the range of values for an image filter supported by a video processor device.

-
-

A that identifies the video processor device. To get the list of video processor GUIDs, call .

-

A reference to a structure that describes the video content.

-

The format of the render target surface, specified as a value. For more information, see the Direct3D documentation. You can also use a FOURCC code to specify a format that is not defined in the enumeration. See Video FOURCCs.

-

The filter setting to query. See DXVA Image Filter Settings.

-

A reference to a structure that receives range of values for the image filter setting specified in FilterSetting.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - ms694173 - HRESULT IDirectXVideoProcessorService::GetFilterPropertyRange([In] const GUID& VideoProcDeviceGuid,[In] const DXVA2_VideoDesc* pVideoDesc,[In] D3DFORMAT RenderTargetFormat,[In] unsigned int FilterSetting,[Out] DXVA2_ValueRange* pRange) - IDirectXVideoProcessorService::GetFilterPropertyRange -
- - -

Creates a video processor device.

-
-

A that specifies the video processor to create. To get the list of video processor GUIDs, call .

-

A reference to a structure that describes the video content.

-

The format of the render target surface, specified as a value. For more information, see the Direct3D documentation. You can also use a FOURCC code to specify a format that is not defined in the enumeration. See Video FOURCCs.

-

The maximum number of substreams that will be used with this device.

-

Receives a reference to the video processor's interface. The caller must release the interface.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - ms694848 - HRESULT IDirectXVideoProcessorService::CreateVideoProcessor([In] const GUID& VideoProcDeviceGuid,[In] const DXVA2_VideoDesc* pVideoDesc,[In] D3DFORMAT RenderTargetFormat,[In] unsigned int MaxNumSubStreams,[Out] IDirectXVideoProcessor** ppVidProcess) - IDirectXVideoProcessorService::CreateVideoProcessor -
- - -

Applies to: desktop apps only

Creates a DirectX Video Acceleration (DXVA) services object. Call this function if your application uses DXVA directly, without using DirectShow or Media Foundation.

-
-

A reference to the interface of a Direct3D device.

-

If this function succeeds, it returns . Otherwise, it returns an error code.

- - ms704721 - HRESULT DXVA2CreateVideoService([In] IDirect3DDevice9* pDD,[In] const GUID& riid,[Out] void** ppService) - DXVA2CreateVideoService -
- - -

Contains an initialization vector (IV) for 128-bit Advanced Encryption Standard CTR mode (AES-CTR) block cipher encryption.

-
- -

For AES-CTR encyption, the pvPVPState member of the structure points to a structure.

The D3DAES_CTR_IV structure and the structure are equivalent.

-
- - ff728850 - DXVA2_AES_CTR_IV - DXVA2_AES_CTR_IV -
- - -

The IV, in big-endian format.

-
- - ff728850 - unsigned longlong IV - unsigned longlong IV -
- - -

The block count, in big-endian format.

-
- - ff728850 - unsigned longlong Count - unsigned longlong Count -
- - -

Defines a 16-bit AYUV pixel value.

-
- - bb970388 - DXVA2_AYUVSample16 - DXVA2_AYUVSample16 -
- - -

Contains the Cr chroma value (also called V).

-
- - bb970388 - unsigned short Cr - unsigned short Cr -
- - -

Contains the Cb chroma value (also called U).

-
- - bb970388 - unsigned short Cb - unsigned short Cb -
- - -

Contains the luma value.

-
- - bb970388 - unsigned short Y - unsigned short Y -
- - -

Contains the alpha value.

-
- - bb970388 - unsigned short Alpha - unsigned short Alpha -
- - -

Defines an 8-bit AYUV pixel value.

-
- - bb970398 - DXVA2_AYUVSample8 - DXVA2_AYUVSample8 -
- - -

Contains the Cr chroma value (also called V).

-
- - bb970398 - unsigned char Cr - unsigned char Cr -
- - -

Contains the Cb chroma value (also called U).

-
- - bb970398 - unsigned char Cb - unsigned char Cb -
- - -

Contains the luma value.

-
- - bb970398 - unsigned char Y - unsigned char Y -
- - -

Contains the alpha value.

-
- - bb970398 - unsigned char Alpha - unsigned char Alpha -
- - -

Specifies how the output alpha values are calculated for blit operations when using Microsoft DirectX Video Acceleration High Definition (DXVA-HD).

-
- - dd318391 - DXVAHD_BLT_STATE_ALPHA_FILL_DATA - DXVAHD_BLT_STATE_ALPHA_FILL_DATA -
- - -

Specifies the alpha fill mode, as a member of the enumeration.

If the FeatureCaps member of the structure does not contain the flag, the alpha fill mode must be set to .

The default state value is .

-
- - dd318391 - DXVAHD_ALPHA_FILL_MODE Mode - DXVAHD_ALPHA_FILL_MODE Mode -
- - -

Zero-based index of the input stream to use for the alpha values. This member is used when the alpha fill mode is ; otherwise, the value is ignored.

To get the maximum number of streams, call and check the MaxStreamStates member of the structure.

-
- - dd318391 - unsigned int StreamNumber - unsigned int StreamNumber -
- - -

Specifies the background color for blit operations, when using Microsoft DirectX Video Acceleration High Definition (DXVA-HD).

-
- -

The background color is used to fill the target rectangle wherever no video image appears. Areas outside the target rectangle are not affected. See .

The color space of the background color is determined by the color space of the output. See .

The alpha value of the background color is used only when the alpha fill mode is . Otherwise, the alpha value is ignored. See .

The default background color is full-range RGB black, with opaque alpha.

-
- - dd318392 - DXVAHD_BLT_STATE_BACKGROUND_COLOR_DATA - DXVAHD_BLT_STATE_BACKGROUND_COLOR_DATA -
- - -

If TRUE, the BackgroundColor member specifies a YCbCr color. Otherwise, it specifies an RGB color. The default device state is (RGB color).

-
- - dd318392 - BOOL YCbCr - BOOL YCbCr -
- - -

A union that specifies the background color. The default state value is (0.0, 0.0, 0.0, 1.0).

-
- - dd318392 - DXVAHD_COLOR BackgroundColor - DXVAHD_COLOR BackgroundColor -
- - -

Specifies whether the output is downsampled in a blit operation, when using Microsoft DirectX Video Acceleration High Definition (DXVA-HD).

-
- -

If the Enable member is TRUE, the device downsamples the composed target rectangle to the size given in the Size member, and then scales it back to the size of the target rectangle.

The width and height of Size must be greater than zero. If the size is larger than the target rectangle, downsampling does not occur.

To use this state, the device must support downsampling, indicated by the capability flag. To query for this capability, call . If the device supports downsampling, it sets the flag in the FeatureCaps member of the structure.

If the device does not support downsampling, the method fails for this state.

Downsampling is sometimes used to reduce the quality of premium content when other forms of content protection are not available.

-
- - dd318394 - DXVAHD_BLT_STATE_CONSTRICTION_DATA - DXVAHD_BLT_STATE_CONSTRICTION_DATA -
- - -

If TRUE, downsampling is enabled. Otherwise, downsampling is disabled and the Size member is ignored. The default state value is (downsampling is disabled).

-
- - dd318394 - BOOL Enable - BOOL Enable -
- - -

The sampling size. The default value is (1,1).

-
- - dd318394 - SIZE Size - SIZE Size -
- - -

Specifies the output color space for blit operations, when using Microsoft DirectX Video Acceleration High Definition (DXVA-HD).

-
- -

The RGB_Range member applies to RGB output, while the YCbCr_Matrix and YCbCr_xvYCC members apply to YCbCr (YUV) output. If the device performs color-space conversion on the background color, it uses the values that apply to both color spaces.

Extended YCbCr can be used with either transfer matrix. Extended YCbCr does not change the black point or white point?the black point is still 16 and the white point is still 235. However, extended YCbCr explicitly allows blacker-than-black values in the range 1?15, and whiter-than-white values in the range 236?254. When extended YCbCr is used, the driver should not clip the luma values to the nominal 16?235 range.

If the device supports extended YCbCr, it sets the capability flag in the DeviceCaps member of the structure. Otherwise, the device ignores the value of the YCbCr_xvYCC member and treats all YCbCr output as conventional YCbCr. To get the device's capabilities, call .

If the output format is a wide-gamut RGB format, output might fall outside the nominal [0...1] range of sRGB. This is particularly true if one or more input streams use extended YCbCr.

-
- - dd318395 - DXVAHD_BLT_STATE_OUTPUT_COLOR_SPACE_DATA - DXVAHD_BLT_STATE_OUTPUT_COLOR_SPACE_DATA -
- - -

Specifies whether the output is intended for playback or video processing (such as editing or authoring). The device can optimize the processing based on the type. The default state value is 0 (playback).

ValueMeaning
0

Playback.

1

Video processing.

?

-
- - dd318395 - unsigned int Usage - unsigned int Usage -
- - -

Specifies the RGB color range. The default state value is 0 (full range).

ValueMeaning
0

Full range (0-255).

1

Limited range (16-235).

?

-
- - dd318395 - unsigned int RGB_Range - unsigned int RGB_Range -
- - -

Specifies the YCbCr transfer matrix. The default state value is 0 (BT.601).

ValueMeaning
0

ITU-R BT.601.

1

ITU-R BT.709.

?

-
- - dd318395 - unsigned int YCbCr_Matrix - unsigned int YCbCr_Matrix -
- - -

Specifies whether the output uses conventional YCbCr or extended YCbCr (xvYCC). The default state value is zero (conventional YCbCr).

ValueMeaning
0

Conventional YCbCr.

1

Extended YCbCr (xvYCC).

?

-
- - dd318395 - unsigned int YCbCr_xvYCC - unsigned int YCbCr_xvYCC -
- - - No documentation. - - - dd318395 - unsigned int Reserved - unsigned int Reserved - - - - No documentation. - - - dd318395 - unsigned int Value - unsigned int Value - - - -

Contains data for a private blit state for Microsoft DirectX Video Acceleration High Definition (DXVA-HD).

-
- -

Use this structure for proprietary or device-specific state parameters.

The caller allocates the pData array. Set the DataSize member to the size of the array in bytes. When retrieving the state data, you can set pData to null to get the size of the data. The device will return the size in the DataSize member.

-
- - dd318397 - DXVAHD_BLT_STATE_PRIVATE_DATA - DXVAHD_BLT_STATE_PRIVATE_DATA -
- - -

A that identifies the private state. The meaning of this value is defined by the device.

-
- - dd318397 - GUID Guid - GUID Guid -
- - -

The size, in bytes, of the buffer pointed to by the pData member.

-
- - dd318397 - unsigned int DataSize - unsigned int DataSize -
- - -

A reference to a buffer that contains the private state data. The DXVA-HD runtime passes this buffer directly to the device without validation.

-
- - dd318397 - void* pData - void pData -
- - -

Specifies the target rectangle for blitting, when using Microsoft DirectX Video Acceleration High Definition (DXVA-HD).

-
- - dd318400 - DXVAHD_BLT_STATE_TARGET_RECT_DATA - DXVAHD_BLT_STATE_TARGET_RECT_DATA -
- - -

Specifies whether to use the target rectangle. The default state value is .

ValueMeaning
TRUE

Use the target rectangle specified by the TargetRect member.

Use the entire destination surface as the target rectangle. Ignore the TargetRect member.

?

-
- - dd318400 - BOOL Enable - BOOL Enable -
- - -

Specifies the target rectangle. The target rectangle is the area within the destination surface where the output will be drawn. The target rectangle is given in pixel coordinates, relative to the destination surface. The default state value is an empty rectangle, (0, 0, 0, 0).

If the Enable member is , the TargetRect member is ignored.

-
- - dd318400 - RECT TargetRect - RECT TargetRect -
- - -

Defines a color value for Microsoft DirectX Video Acceleration High Definition (DXVA-HD).

-
- -

This union can represent both RGB and YCbCr colors. The interpretation of the union depends on the context.

-
- - dd318402 - DXVAHD_COLOR - DXVAHD_COLOR -
- - -

A structure that contains an RGB color value.

-
- - dd318402 - DXVAHD_COLOR_RGBA RGB - DXVAHD_COLOR_RGBA RGB -
- - -

A structure that contains a YCbCr color value.

-
- - dd318402 - DXVAHD_COLOR_YCbCrA YCbCr - DXVAHD_COLOR_YCbCrA YCbCr -
- - -

Specifies an RGB color value.

-
- -

The RGB values have a nominal range of [0...1]. For an RGB format with n bits per channel, the value of each color component is calculated as follows:

val = f * ((1 << n)-1)

For example, for RGB-32 (8 bits per channel), val = BYTE(f * 255.0).

For full-range RGB, reference black is (0.0, 0.0, 0.0), which corresponds to (0, 0, 0) in an 8-bit representation. For limited-range RGB, reference black is (0.0625, 0.0625, 0.0625), which corresponds to (16, 16, 16) in an 8-bit representation. For wide-gamut formats, the values might fall outside of the [0...1] range.

-
- - dd318405 - DXVAHD_COLOR_RGBA - DXVAHD_COLOR_RGBA -
- - -

The red value.

-
- - dd318405 - float R - float R -
- - -

The green value.

-
- - dd318405 - float G - float G -
- - -

The blue value.

-
- - dd318405 - float B - float B -
- - -

The alpha value. Values range from 0 (transparent) to 1 (opaque).

-
- - dd318405 - float A - float A -
- - -

Defines a color value for Microsoft DirectX Video Acceleration High Definition (DXVA-HD).

-
- -

This union can represent both RGB and YCbCr colors. The interpretation of the union depends on the context.

-
- - dd318402 - DXVAHD_COLOR_YCbCrA - DXVAHD_COLOR_YCbCrA -
- - -

A structure that contains an RGB color value.

-
- - dd318402 - float Y - float Y -
- - -

A structure that contains a YCbCr color value.

-
- - dd318402 - float Cb - float Cb -
- - - No documentation. - - - dd318402 - float Cr - float Cr - - - - No documentation. - - - dd318402 - float A - float A - - - -

Describes the configuration of a DXVA decoder device.

-
- - ms694823 - DXVA2_ConfigPictureDecode - DXVA2_ConfigPictureDecode -
- - -

Defines the encryption protocol type for bit-stream data buffers. If no encryption is applied, the value is DXVA_NoEncrypt. If ConfigBitstreamRaw is 0, the value must be DXVA_NoEncrypt.

-
- - ms694823 - GUID guidConfigBitstreamEncryption - GUID guidConfigBitstreamEncryption -
- - -

Defines the encryption protocol type for macroblock control data buffers. If no encryption is applied, the value is DXVA_NoEncrypt. If ConfigBitstreamRaw is 1, the value must be DXVA_NoEncrypt.

-
- - ms694823 - GUID guidConfigMBcontrolEncryption - GUID guidConfigMBcontrolEncryption -
- - -

Defines the encryption protocol type for residual difference decoding data buffers (buffers containing spatial-domain data or sets of transform-domain coefficients for accelerator-based IDCT). If no encryption is applied, the value is DXVA_NoEncrypt. If ConfigBitstreamRaw is 1, the value must be DXVA_NoEncrypt.

-
- - ms694823 - GUID guidConfigResidDiffEncryption - GUID guidConfigResidDiffEncryption -
- - -

Indicates whether the host-decoder sends raw bit-stream data. If the value is 1, the data for the pictures will be sent in bit-stream buffers as raw bit-stream content. If the value is 0, picture data will be sent using macroblock control command buffers. If either ConfigResidDiffHost or ConfigResidDiffAccelerator is 1, the value must be 0.

-
- - ms694823 - unsigned int ConfigBitstreamRaw - unsigned int ConfigBitstreamRaw -
- - -

Specifies whether macroblock control commands are in raster scan order or in arbitrary order. If the value is 1, the macroblock control commands within each macroblock control command buffer are in raster-scan order. If the value is 0, the order is arbitrary. For some types of bit streams, forcing raster order either greatly increases the number of required macroblock control buffers that must be processed, or requires host reordering of the control information. Therefore, supporting arbitrary order can be more efficient.

-
- - ms694823 - unsigned int ConfigMBcontrolRasterOrder - unsigned int ConfigMBcontrolRasterOrder -
- - -

Contains the host residual difference configuration. If the value is 1, some residual difference decoding data may be sent as blocks in the spatial domain from the host. If the value is 0, spatial domain data will not be sent.

-
- - ms694823 - unsigned int ConfigResidDiffHost - unsigned int ConfigResidDiffHost -
- - -

Indicates the word size used to represent residual difference spatial-domain blocks for predicted (non-intra) pictures when using host-based residual difference decoding.

If ConfigResidDiffHost is 1 and ConfigSpatialResid8 is 1, the host will send residual difference spatial-domain blocks for non-intra macroblocks using 8-bit signed samples and for intra macroblocks in predicted (non-intra) pictures in a format that depends on the value of ConfigIntraResidUnsigned:

  • If ConfigIntraResidUnsigned is 0, spatial-domain blocks for intra macroblocks are sent as 8-bit signed integer values relative to a constant reference value of 2^(BPP?1).
  • If ConfigIntraResidUnsigned is 1, spatial-domain blocks for intra macroblocks are sent as 8-bit unsigned integer values relative to a constant reference value of 0.

If ConfigResidDiffHost is 1 and ConfigSpatialResid8 is 0, the host will send residual difference spatial-domain blocks of data for non-intra macroblocks using 16- bit signed samples and for intra macroblocks in predicted (non-intra) pictures in a format that depends on the value of ConfigIntraResidUnsigned:

  • If ConfigIntraResidUnsigned is 0, spatial domain blocks for intra macroblocks are sent as 16-bit signed integer values relative to a constant reference value of 2^(BPP?1).
  • If ConfigIntraResidUnsigned is 1, spatial domain blocks for intra macroblocks are sent as 16-bit unsigned integer values relative to a constant reference value of 0.

If ConfigResidDiffHost is 0, ConfigSpatialResid8 must be 0.

For intra pictures, spatial-domain blocks must be sent using 8-bit samples if bits-per-pixel (BPP) is 8, and using 16-bit samples if BPP > 8. If ConfigIntraResidUnsigned is 0, these samples are sent as signed integer values relative to a constant reference value of 2^(BPP?1), and if ConfigIntraResidUnsigned is 1, these samples are sent as unsigned integer values relative to a constant reference value of 0.

-
- - ms694823 - unsigned int ConfigSpatialResid8 - unsigned int ConfigSpatialResid8 -
- - -

If the value is 1, 8-bit difference overflow blocks are subtracted rather than added. The value must be 0 unless ConfigSpatialResid8 is 1.

The ability to subtract differences rather than add them enables 8-bit difference decoding to be fully compliant with the full ?255 range of values required in video decoder specifications, because +255 cannot be represented as the addition of two signed 8-bit numbers, but any number in the range ?255 can be represented as the difference between two signed 8-bit numbers (+255 = +127 minus ?128).

-
- - ms694823 - unsigned int ConfigResid8Subtraction - unsigned int ConfigResid8Subtraction -
- - -

If the value is 1, spatial-domain blocks for intra macroblocks must be clipped to an 8-bit range on the host and spatial-domain blocks for non-intra macroblocks must be clipped to a 9-bit range on the host. If the value is 0, no such clipping is necessary by the host.

The value must be 0 unless ConfigSpatialResid8 is 0 and ConfigResidDiffHost is 1.

-
- - ms694823 - unsigned int ConfigSpatialHost8or9Clipping - unsigned int ConfigSpatialHost8or9Clipping -
- - -

If the value is 1, any spatial-domain residual difference data must be sent in a chrominance-interleaved form matching the YUV format chrominance interleaving pattern. The value must be 0 unless ConfigResidDiffHost is 1 and the YUV format is NV12 or NV21.

-
- - ms694823 - unsigned int ConfigSpatialResidInterleaved - unsigned int ConfigSpatialResidInterleaved -
- - -

Indicates the method of representation of spatial-domain blocks of residual difference data for intra blocks when using host-based difference decoding.

If ConfigResidDiffHost is 1 and ConfigIntraResidUnsigned is 0, spatial-domain residual difference data blocks for intra macroblocks must be sent as follows:

  • In a non-intra picture, if ConfigSpatialResid8 is 0, the spatial-domain residual difference data blocks for intra macroblocks are sent as 16-bit signed integer values relative to a constant reference value of 2^(BPP?1).
  • In a non-intra picture, if ConfigSpatialResid8 is 1, the spatial-domain residual difference data blocks for intra macroblocks are sent as 8-bit signed integer values relative to a constant reference value of 2^(BPP?1).
  • In an intra picture, if BPP is 8, the spatial-domain residual difference data blocks for intra macroblocks are sent as 8-bit signed integer values relative to a constant reference value of 2^(BPP?1), regardless of the value of ConfigSpatialResid8.

If ConfigResidDiffHost is 1 and ConfigIntraResidUnsigned is 1, spatial-domain residual difference data blocks for intra macroblocks must be sent as follows:

  • In a non-intra picture, if ConfigSpatialResid8 is 0, the spatial-domain residual difference data blocks for intra macroblocks must be sent as 16-bit unsigned integer values relative to a constant reference value of 0.
  • In a non-intra picture, if ConfigSpatialResid8 is 1, the spatial-domain residual difference data blocks for intra macroblocks are sent as 8-bit unsigned integer values relative to a constant reference value of 0.
  • In an intra picture, if BPP is 8, the spatial-domain residual difference data blocks for intra macroblocks are sent as 8-bit unsigned integer values relative to a constant reference value of 0, regardless of the value of ConfigSpatialResid8.

The value of the member must be 0 unless ConfigResidDiffHost is 1.

-
- - ms694823 - unsigned int ConfigIntraResidUnsigned - unsigned int ConfigIntraResidUnsigned -
- - -

If the value is 1, transform-domain blocks of coefficient data may be sent from the host for accelerator-based IDCT. If the value is 0, accelerator-based IDCT will not be used. If both ConfigResidDiffHost and ConfigResidDiffAccelerator are 1, this indicates that some residual difference decoding will be done on the host and some on the accelerator, as indicated by macroblock-level control commands.

The value must be 0 if ConfigBitstreamRaw is 1.

-
- - ms694823 - unsigned int ConfigResidDiffAccelerator - unsigned int ConfigResidDiffAccelerator -
- - -

If the value is 1, the inverse scan for transform-domain block processing will be performed on the host, and absolute indices will be sent instead for any transform coefficients. If the value is 0, the inverse scan will be performed on the accelerator.

The value must be 0 if ConfigResidDiffAccelerator is 0 or if Config4GroupedCoefs is 1.

-
- - ms694823 - unsigned int ConfigHostInverseScan - unsigned int ConfigHostInverseScan -
- - -

If the value is 1, the IDCT specified in Annex W of ITU-T Recommendation H.263 is used. If the value is 0, any compliant IDCT can be used for off-host IDCT.

The H.263 annex does not comply with the IDCT requirements of MPEG-2 corrigendum 2, so the value must not be 1 for use with MPEG-2 video.

The value must be 0 if ConfigResidDiffAccelerator is 0, indicating purely host-based residual difference decoding.

-
- - ms694823 - unsigned int ConfigSpecificIDCT - unsigned int ConfigSpecificIDCT -
- - -

If the value is 1, transform coefficients for off-host IDCT will be sent using the DXVA_TCoef4Group structure. If the value is 0, the DXVA_TCoefSingle structure is used. The value must be 0 if ConfigResidDiffAccelerator is 0 or if ConfigHostInverseScan is 1.

-
- - ms694823 - unsigned int Config4GroupedCoefs - unsigned int Config4GroupedCoefs -
- - -

Specifies how many frames the decoder device processes at any one time.

-
- - ms694823 - unsigned short ConfigMinRenderTargetBuffCount - unsigned short ConfigMinRenderTargetBuffCount -
- - -

Contains decoder-specific configuration information.

-
- - ms694823 - unsigned short ConfigDecoderSpecific - unsigned short ConfigDecoderSpecific -
- - -

Describes a video stream for a Microsoft DirectX Video Acceleration High Definition (DXVA-HD) video processor.

The display driver can use the information in this structure to optimize the capabilities of the video processor. For example, some capabilities might not be exposed for high-definition (HD) content, for performance reasons.

-
- -

Frame rates are expressed as ratios. For example, 30 frames per second (fps) is expressed as 30:1, and 29.97 fps is expressed as 30000/1001. For interlaced content, a frame consists of two fields, so that the frame rate is half the field rate.

If the application will composite two or more input streams, use the largest stream for the values of InputWidth and InputHeight.

-
- - dd318409 - DXVAHD_CONTENT_DESC - DXVAHD_CONTENT_DESC -
- - -

A member of the enumeration that describes how the video stream is interlaced.

-
- - dd318409 - DXVAHD_FRAME_FORMAT InputFrameFormat - DXVAHD_FRAME_FORMAT InputFrameFormat -
- - -

The frame rate of the input video stream, specified as a structure.

-
- - dd318409 - DXVAHD_RATIONAL InputFrameRate - DXVAHD_RATIONAL InputFrameRate -
- - -

The width of the input frames, in pixels.

-
- - dd318409 - unsigned int InputWidth - unsigned int InputWidth -
- - -

The height of the input frames, in pixels.

-
- - dd318409 - unsigned int InputHeight - unsigned int InputHeight -
- - -

The frame rate of the output video stream, specified as a structure.

-
- - dd318409 - DXVAHD_RATIONAL OutputFrameRate - DXVAHD_RATIONAL OutputFrameRate -
- - -

The width of the output frames, in pixels.

-
- - dd318409 - unsigned int OutputWidth - unsigned int OutputWidth -
- - -

The height of the output frames, in pixels.

-
- - dd318409 - unsigned int OutputHeight - unsigned int OutputHeight -
- - -

Specifies a custom rate for frame-rate conversion or inverse telecine (IVTC).

-
- -

The CustomRate member gives the rate conversion factor, while the remaining members define the pattern of input and output samples.

Here are some example uses for this structure:

  • Frame rate conversion from 60p to 120p (doubling the frame rate).

    • CustomRate: 2/1
    • OutputFrames: 2
    • InputInterlaced:
    • InputFramesOrFields: 1
  • Reverse 2:3 pulldown (IVTC) from 60i to 24p.

    • CustomRate: 4/5
    • OutputFrames: 4
    • InputInterlaced: TRUE
    • InputFramesOrFields: 10

    (Ten interlaced fields are converted into four progressive frames.)

-
- - dd318414 - DXVAHD_CUSTOM_RATE_DATA - DXVAHD_CUSTOM_RATE_DATA -
- - -

The ratio of the output frame rate to the input frame rate, expressed as a structure that holds a rational number.

-
- - dd318414 - DXVAHD_RATIONAL CustomRate - DXVAHD_RATIONAL CustomRate -
- - -

The number of output frames that will be generated for every N input samples, where N = InputFramesOrFields.

-
- - dd318414 - unsigned int OutputFrames - unsigned int OutputFrames -
- - -

If TRUE, the input stream must be interlaced. Otherwise, the input stream must be progressive.

-
- - dd318414 - BOOL InputInterlaced - BOOL InputInterlaced -
- - -

The number of input fields or frames for every N output frames that will be generated, where N = OutputFrames.

-
- - dd318414 - unsigned int InputFramesOrFields - unsigned int InputFramesOrFields -
- - -

Describes a buffer sent from a decoder to a DirectX Video Acceleration (DXVA) device.

-
- -

This structure corresponds closely to the DXVA_BufferDescription structure in DXVA 1, but some of the fields are no longer used in DXVA 2.

-
- - ms704794 - DXVA2_DecodeBufferDesc - DXVA2_DecodeBufferDesc -
- - -

Identifies the type of buffer passed to the accelerator. Must be one of the following values.

ValueMeaning

Picture decoding parameter buffer.

Macroblock control command buffer.

Residual difference block data buffer.

Deblocking filter control command buffer.

Inverse quantization matrix buffer.

Slice-control buffer.

Bitstream data buffer.

Motion vector buffer.

Film grain synthesis data buffer.

?

-
- - ms704794 - unsigned int CompressedBufferType - unsigned int CompressedBufferType -
- - -

Reserved. Set to zero.

-
- - ms704794 - unsigned int BufferIndex - unsigned int BufferIndex -
- - -

Specifies the offset of the relevant data from the beginning of the buffer, in bytes. Currently this value must be zero.

-
- - ms704794 - unsigned int DataOffset - unsigned int DataOffset -
- - -

Specifies the amount of relevant data in the buffer, in bytes. The location of the last byte of content in the buffer is DataOffset + DataSize ? 1.

-
- - ms704794 - unsigned int DataSize - unsigned int DataSize -
- - -

Specifies the macroblock address of the first macroblock in the buffer. The macroblock address is given in raster scan order.

-
- - ms704794 - unsigned int FirstMBaddress - unsigned int FirstMBaddress -
- - -

Specifies the number of macroblocks of data in the buffer. This count includes skipped macroblocks. This value must be zero if the data buffer type is one of the following: picture decoding parameters, inverse-quantization matrix, AYUV, IA44/AI44, DPXD, Highlight, or DCCMD.

-
- - ms704794 - unsigned int NumMBsInBuffer - unsigned int NumMBsInBuffer -
- - -

Reserved. Set to zero.

-
- - ms704794 - unsigned int Width - unsigned int Width -
- - -

Reserved. Set to zero.

-
- - ms704794 - unsigned int Height - unsigned int Height -
- - -

Reserved. Set to zero.

-
- - ms704794 - unsigned int Stride - unsigned int Stride -
- - -

Reserved. Set to zero.

-
- - ms704794 - unsigned int ReservedBits - unsigned int ReservedBits -
- - -

Pointer to a byte array that contains an initialization vector (IV) for encrypted data. If the decode buffer does not contain encrypted data, set this member to null. If the decode buffer contains encrypted data, the contents of pvPVPState depends on the type of encryption. For D3DCRYPTOTYPE_AES128_CTR, the pvPVPState member points to a structure.

-
- - ms704794 - void* pvPVPState - void pvPVPState -
- - -

Contains parameters for the method.

-
- - ms704591 - DXVA2_DecodeExecuteParams - DXVA2_DecodeExecuteParams -
- - - No documentation. - - - ms704591 - unsigned int NumCompBuffers - unsigned int NumCompBuffers - - - - No documentation. - - - ms704591 - DXVA2_DecodeBufferDesc* pCompressedBuffers - DXVA2_DecodeBufferDesc pCompressedBuffers - - - - No documentation. - - - ms704591 - DXVA2_DecodeExtensionData* pExtensionData - DXVA2_DecodeExtensionData pExtensionData - - - -

Contains private data for the method.

-
- -

This structure corresponds to parameters of the IAMVideoAccelerator::Execute method in DirectX Video Acceleration (DXVA) version 1.

-
- - ms696173 - DXVA2_DecodeExtensionData - DXVA2_DecodeExtensionData -
- - - No documentation. - - - ms696173 - unsigned int Function - unsigned int Function - - - - No documentation. - - - ms696173 - void* pPrivateInputData - void pPrivateInputData - - - - No documentation. - - - ms696173 - unsigned int PrivateInputDataSize - unsigned int PrivateInputDataSize - - - - No documentation. - - - ms696173 - void* pPrivateOutputData - void pPrivateOutputData - - - - No documentation. - - - ms696173 - unsigned int PrivateOutputDataSize - unsigned int PrivateOutputDataSize - - - - No documentation. - - - DXVAHDETW_CREATEVIDEOPROCESSOR - DXVAHDETW_CREATEVIDEOPROCESSOR - - - - No documentation. - - - unsigned longlong pObject - unsigned longlong pObject - - - - No documentation. - - - unsigned longlong pD3D9Ex - unsigned longlong pD3D9Ex - - - - No documentation. - - - GUID VPGuid - GUID VPGuid - - - - No documentation. - - - DXVAHDETW_DESTROYVIDEOPROCESSOR - DXVAHDETW_DESTROYVIDEOPROCESSOR - - - - No documentation. - - - unsigned longlong pObject - unsigned longlong pObject - - - - No documentation. - - - DXVAHDETW_VIDEOPROCESSBLTHD - DXVAHDETW_VIDEOPROCESSBLTHD - - - - No documentation. - - - unsigned longlong pObject - unsigned longlong pObject - - - - No documentation. - - - unsigned longlong pOutputSurface - unsigned longlong pOutputSurface - - - - No documentation. - - - RECT TargetRect - RECT TargetRect - - - - No documentation. - - - D3DFORMAT OutputFormat - D3DFORMAT OutputFormat - - - - No documentation. - - - unsigned int ColorSpace - unsigned int ColorSpace - - - - No documentation. - - - unsigned int OutputFrame - unsigned int OutputFrame - - - - No documentation. - - - unsigned int StreamCount - unsigned int StreamCount - - - - No documentation. - - - BOOL Enter - BOOL Enter - - - - No documentation. - - - DXVAHDETW_VIDEOPROCESSBLTHD_STREAM - DXVAHDETW_VIDEOPROCESSBLTHD_STREAM - - - - No documentation. - - - unsigned longlong pObject - unsigned longlong pObject - - - - No documentation. - - - unsigned longlong pInputSurface - unsigned longlong pInputSurface - - - - No documentation. - - - RECT SourceRect - RECT SourceRect - - - - No documentation. - - - RECT DestinationRect - RECT DestinationRect - - - - No documentation. - - - D3DFORMAT InputFormat - D3DFORMAT InputFormat - - - - No documentation. - - - DXVAHD_FRAME_FORMAT FrameFormat - DXVAHD_FRAME_FORMAT FrameFormat - - - - No documentation. - - - unsigned int ColorSpace - unsigned int ColorSpace - - - - No documentation. - - - unsigned int StreamNumber - unsigned int StreamNumber - - - - No documentation. - - - unsigned int OutputIndex - unsigned int OutputIndex - - - - No documentation. - - - unsigned int InputFrameOrField - unsigned int InputFrameOrField - - - - No documentation. - - - unsigned int PastFrames - unsigned int PastFrames - - - - No documentation. - - - unsigned int FutureFrames - unsigned int FutureFrames - - - - No documentation. - - - DXVAHDETW_VIDEOPROCESSBLTSTATE - DXVAHDETW_VIDEOPROCESSBLTSTATE - - - - No documentation. - - - unsigned longlong pObject - unsigned longlong pObject - - - - No documentation. - - - DXVAHD_BLT_STATE State - DXVAHD_BLT_STATE State - - - - No documentation. - - - unsigned int DataSize - unsigned int DataSize - - - - No documentation. - - - BOOL SetState - BOOL SetState - - - - No documentation. - - - DXVAHDETW_VIDEOPROCESSSTREAMSTATE - DXVAHDETW_VIDEOPROCESSSTREAMSTATE - - - - No documentation. - - - unsigned longlong pObject - unsigned longlong pObject - - - - No documentation. - - - unsigned int StreamNumber - unsigned int StreamNumber - - - - No documentation. - - - DXVAHD_STREAM_STATE State - DXVAHD_STREAM_STATE State - - - - No documentation. - - - unsigned int DataSize - unsigned int DataSize - - - - No documentation. - - - BOOL SetState - BOOL SetState - - - -

Describes the format of a video stream.

-
- -

Most of the values in this structure can be translated directly to and from attributes. For a code example that fills in the values from an reference, see .

-
- - ms704798 - DXVA2_ExtendedFormat - DXVA2_ExtendedFormat -
- - -

Describes the interlacing of the video frames. Contains a value from the enumeration.

-
- - ms704798 - unsigned int SampleFormat - unsigned int SampleFormat -
- - -

Describes the chroma siting. Contains a value from the enumeration.

-
- - ms704798 - unsigned int VideoChromaSubsampling - unsigned int VideoChromaSubsampling -
- - -

Describes the nominal range of the Y'CbCr or RGB color data. Contains a value from the enumeration.

-
- - ms704798 - unsigned int NominalRange - unsigned int NominalRange -
- - -

Describes the transform from Y'PbPr (component video) to studio R'G'B'. Contains a value from the enumeration.

-
- - ms704798 - unsigned int VideoTransferMatrix - unsigned int VideoTransferMatrix -
- - -

Describes the intended viewing conditions. Contains a value from the enumeration.

-
- - ms704798 - unsigned int VideoLighting - unsigned int VideoLighting -
- - -

Describes the color primaries. Contains a value from the enumeration.

-
- - ms704798 - unsigned int VideoPrimaries - unsigned int VideoPrimaries -
- - -

Describes the gamma correction transfer function. Contains a value from the enumeration.

-
- - ms704798 - unsigned int VideoTransferFunction - unsigned int VideoTransferFunction -
- - -

Use this member to access all of the bits in the union.

-
- - ms704798 - unsigned int value - unsigned int value -
- - -

Defines the range of supported values for an image filter.

-
- -

The multiplier enables the filter range to have a fractional step value.

For example, a hue filter might have an actual range of [-180.0 ... +180.0] with a step size of 0.25. The device would report the following range and multiplier:

  • Minimum: -720
  • Maximum: +720
  • Multiplier: 0.25

In this case, a filter value of 2 would be interpreted by the device as 0.50 (or 2 ? 0.25).

The device should use a multiplier that can be represented exactly as a base-2 fraction.

-
- - dd318428 - DXVAHD_FILTER_RANGE_DATA - DXVAHD_FILTER_RANGE_DATA -
- - -

The minimum value of the filter.

-
- - dd318428 - int Minimum - int Minimum -
- - -

The maximum value of the filter.

-
- - dd318428 - int Maximum - int Maximum -
- - -

The default value of the filter.

-
- - dd318428 - int Default - int Default -
- - -

A multiplier. Use the following formula to translate the filter setting into the actual filter value: Actual Value = Set Value???Multiplier.

-
- - dd318428 - float Multiplier - float Multiplier -
- - -

Contains parameters for a DirectX Video Acceleration (DXVA) image filter.

-
- - ms697015 - DXVA2_FilterValues - DXVA2_FilterValues -
- - -

Filter level.

-
- - ms697015 - DXVA2_Fixed32 Level - DXVA2_Fixed32 Level -
- - -

Filter threshold.

-
- - ms697015 - DXVA2_Fixed32 Threshold - DXVA2_Fixed32 Threshold -
- - -

Filter radius.

-
- - ms697015 - DXVA2_Fixed32 Radius - DXVA2_Fixed32 Radius -
- - -

Returns a structure that contains an opaque alpha value.

You can use this function for DirectX Video Acceleration (DXVA) operations that require alpha values expressed as fixed-point numbers.

-
- - aa473831 - DXVA2_Fixed32 - DXVA2_Fixed32 -
- - - No documentation. - - - aa473831 - unsigned short Fraction - unsigned short Fraction - - - - No documentation. - - - aa473831 - short Value - short Value - - - - No documentation. - - - aa473831 - int ll - int ll - - - -

Defines a video frequency.

-
- -

The value 0/0 indicates an unknown frequency. Values of the form n/0, where n is not zero, are invalid. Values of the form 0/n, where n is not zero, indicate a frequency of zero.

-
- - ms693574 - DXVA2_Frequency - DXVA2_Frequency -
- - -

Numerator of the frequency.

-
- - ms693574 - unsigned int Numerator - unsigned int Numerator -
- - -

Denominator of the frequency.

-
- - ms693574 - unsigned int Denominator - unsigned int Denominator -
- - -

Contains values for DirectX Video Acceleration (DXVA) video processing operations.

-
- - ms703115 - DXVA2_ProcAmpValues - DXVA2_ProcAmpValues -
- - -

Brightness value.

-
- - ms703115 - DXVA2_Fixed32 Brightness - DXVA2_Fixed32 Brightness -
- - -

Contrast value.

-
- - ms703115 - DXVA2_Fixed32 Contrast - DXVA2_Fixed32 Contrast -
- - -

Hue value.

-
- - ms703115 - DXVA2_Fixed32 Hue - DXVA2_Fixed32 Hue -
- - -

Saturation value.

-
- - ms703115 - DXVA2_Fixed32 Saturation - DXVA2_Fixed32 Saturation -
- - -

Contains a rational number (ratio).

-
- -

Values of the form 0/n are interpreted as zero. The value 0/0 is interpreted as zero. However, these values are not necessarily valid in all contexts.

Values of the form n/0, where n is nonzero, are invalid.

-
- - dd318756 - DXVAHD_RATIONAL - DXVAHD_RATIONAL -
- - -

The numerator of the ratio.

-
- - dd318756 - unsigned int Numerator - unsigned int Numerator -
- - -

The denominator of the ratio.

-
- - dd318756 - unsigned int Denominator - unsigned int Denominator -
- - -

Contains per-stream data for the method.

-
- - dd318757 - DXVAHD_STREAM_DATA - DXVAHD_STREAM_DATA -
- - - No documentation. - - - dd318757 - BOOL Enable - BOOL Enable - - - - No documentation. - - - dd318757 - unsigned int OutputIndex - unsigned int OutputIndex - - - - No documentation. - - - dd318757 - unsigned int InputFrameOrField - unsigned int InputFrameOrField - - - - No documentation. - - - dd318757 - unsigned int PastFrames - unsigned int PastFrames - - - - No documentation. - - - dd318757 - unsigned int FutureFrames - unsigned int FutureFrames - - - - No documentation. - - - dd318757 - IDirect3DSurface9** ppPastSurfaces - IDirect3DSurface9 ppPastSurfaces - - - - No documentation. - - - dd318757 - IDirect3DSurface9* pInputSurface - IDirect3DSurface9 pInputSurface - - - - No documentation. - - - dd318757 - IDirect3DSurface9** ppFutureSurfaces - IDirect3DSurface9 ppFutureSurfaces - - - -

Specifies the planar alpha value for an input stream, when using Microsoft DirectX Video Acceleration High Definition (DXVA-HD).

-
- -

For each pixel, the destination color value is computed as follows:

Cd = Cs * (As * Ap * Ae) + Cd * (1.0 - As * Ap * Ae)

where

  • Cd = Color value of the destination pixel.
  • Cs = Color value of source pixel.
  • As = Per-pixel source alpha.
  • Ap = Planar alpha value.
  • Ae = Palette-entry alpha value, or 1.0 (see Note).

Note??Palette-entry alpha values apply only to palettized color formats, and only when the device supports the capability. Otherwise, this factor equals 1.0.

The destination alpha value is computed according to the state. For more information, see .

To get the device capabilities, call and check the FeatureCaps member of the structure.

-
- - dd318759 - DXVAHD_STREAM_STATE_ALPHA_DATA - DXVAHD_STREAM_STATE_ALPHA_DATA -
- - -

If TRUE, alpha blending is enabled. Otherwise, alpha blending is disabled. The default state value is .

-
- - dd318759 - BOOL Enable - BOOL Enable -
- - -

Specifies the planar alpha value as a floating-point number from 0.0 (transparent) to 1.0 (opaque).

If the Enable member is , this member is ignored.

-
- - dd318759 - float Alpha - float Alpha -
- - -

Specifies the pixel aspect ratio (PAR) for the source and destination rectangles.

-
- -

Pixel aspect ratios of the form 0/n and n/0 are not valid.

If the Enable member is , the device ignores the values of SourceAspectRatio and DestinationAspectRatio.

-
- - dd318760 - DXVAHD_STREAM_STATE_ASPECT_RATIO_DATA - DXVAHD_STREAM_STATE_ASPECT_RATIO_DATA -
- - -

If TRUE, the SourceAspectRatio and DestinationAspectRatio members contain valid values. Otherwise, the pixel aspect ratios are unspecified.

-
- - dd318760 - BOOL Enable - BOOL Enable -
- - -

A structure that contains the source PAR. The default state value is 1:1 (square pixels).

-
- - dd318760 - DXVAHD_RATIONAL SourceAspectRatio - DXVAHD_RATIONAL SourceAspectRatio -
- - -

A structure that contains the destination PAR. The default state value is 1:1 (square pixels).

-
- - dd318760 - DXVAHD_RATIONAL DestinationAspectRatio - DXVAHD_RATIONAL DestinationAspectRatio -
- - -

Specifies the format for an input stream, when using Microsoft DirectX Video Acceleration High Definition (DXVA-HD).

-
- - dd318761 - DXVAHD_STREAM_STATE_D3DFORMAT_DATA - DXVAHD_STREAM_STATE_D3DFORMAT_DATA -
- - -

The surface format, specified as a value. You can also use a FOURCC code to specify a format that is not defined in the enumeration. For more information, see Video FOURCCs.

The default state value is .

-
- - dd318761 - D3DFORMAT Format - D3DFORMAT Format -
- - -

Specifies the destination rectangle for an input stream, when using Microsoft DirectX Video Acceleration High Definition (DXVA-HD).

-
- - dd318762 - DXVAHD_STREAM_STATE_DESTINATION_RECT_DATA - DXVAHD_STREAM_STATE_DESTINATION_RECT_DATA -
- - -

Specifies whether to use the destination rectangle, or use the entire output surface. The default state value is .

ValueMeaning
TRUE

Use the destination rectangle given in the DestinationRect member.

Use the entire output surface as the destination rectangle.

?

-
- - dd318762 - BOOL Enable - BOOL Enable -
- - -

The destination rectangle, which defines the portion of the output surface where the source rectangle is blitted. The destination rectangle is given in pixel coordinates, relative to the output surface. The default value is an empty rectangle, (0, 0, 0, 0).

If the Enable member is , the DestinationRect member is ignored.

-
- - dd318762 - RECT DestinationRect - RECT DestinationRect -
- - -

Specifies the level for a filtering operation on a Microsoft DirectX Video Acceleration High Definition (DXVA-HD) input stream.

-
- -

For a list of image filters that are defined for DXVA-HD, see . The device might not support every type of image filter. To find out whether the device supports a particular filter, call the method and check the FilterCaps member of the structure.

-
- - dd318763 - DXVAHD_STREAM_STATE_FILTER_DATA - DXVAHD_STREAM_STATE_FILTER_DATA -
- - -

If TRUE, the filter is enabled. Otherwise, the filter is disabled.

-
- - dd318763 - BOOL Enable - BOOL Enable -
- - -

The level for the filter. The meaning of this value depends on the implementation. To get the range and default value of a particular filter, call the method.

If the Enable member is , the Level member is ignored.

-
- - dd318763 - int Level - int Level -
- - -

Specifies how a Microsoft DirectX Video Acceleration High Definition (DXVA-HD) input stream is interlaced.

-
- -

Some devices do not support interlaced RGB. Interlaced RGB support is indicated by the capability flag. If the device does not support interlaced RGB, it treats all RGB input streams as progressive frames.

Some devices do not support interlaced formats with palettized color. This support is indicated by the flag. If the device does not support this capability, all palettized input streams are treated as progressive frames.

To get the device's capabilities, call and check the InputFormatCaps member of the structure.

-
- - dd318764 - DXVAHD_STREAM_STATE_FRAME_FORMAT_DATA - DXVAHD_STREAM_STATE_FRAME_FORMAT_DATA -
- - -

The video interlacing, specified as a value.

The default state value is (progressive frames).

-
- - dd318764 - DXVAHD_FRAME_FORMAT FrameFormat - DXVAHD_FRAME_FORMAT FrameFormat -
- - -

Specifies the color space for a Microsoft DirectX Video Acceleration High Definition (DXVA-HD) input stream.

-
- -

The RGB_Range member applies to RGB input, while the YCbCr_Matrix and YCbCr_xvYCC members apply to YCbCr (YUV) input.

In some situations, the device might perform an intermediate color conversion on the input stream. If so, it uses the flags that apply to both color spaces. For example, suppose the device converts from RGB to YCbCr. If the RGB_Range member is 0 and the YCbCr_Matrix member is 1, the device will convert from full-range RGB to BT.709 YCbCr.

If the device supports xvYCC, it returns the capability flag in the DeviceCaps member of the structure. Otherwise, the device ignores the value of YCbCr_xvYCC and treats all YCbCr input as conventional YCbCr. To get the device's capabilities, call .

-
- - dd318765 - DXVAHD_STREAM_STATE_INPUT_COLOR_SPACE_DATA - DXVAHD_STREAM_STATE_INPUT_COLOR_SPACE_DATA -
- - -

Specifies whether the input stream contains video or graphics. The device can optimize the processing based on the type. The default state value is 0 (video).

ValueMeaning
0

Video.

1

Graphics.

?

-
- - dd318765 - unsigned int Type - unsigned int Type -
- - -

Specifies the RGB color range. The default state value is 0 (full range).

ValueMeaning
0

Full range (0-255).

1

Limited range (16-235).

?

-
- - dd318765 - unsigned int RGB_Range - unsigned int RGB_Range -
- - -

Specifies the YCbCr transfer matrix. The default state value is 0 (BT.601).

ValueMeaning
0

ITU-R BT.601.

1

ITU-R BT.709.

?

-
- - dd318765 - unsigned int YCbCr_Matrix - unsigned int YCbCr_Matrix -
- - -

Specifies whether the input stream uses conventional YCbCr or extended YCbCr (xvYCC). The default state value is 0 (conventional YCbCr).

ValueMeaning
0

Conventional YCbCr.

1

Extended YCbCr (xvYCC).

?

-
- - dd318765 - unsigned int YCbCr_xvYCC - unsigned int YCbCr_xvYCC -
- - - No documentation. - - - dd318765 - unsigned int Reserved - unsigned int Reserved - - - - No documentation. - - - dd318765 - unsigned int Value - unsigned int Value - - - -

Specifies the luma key for an input stream, when using Microsoft DirectX Video Acceleration High Definition (DXVA-HD).

-
- -

To use this state, the device must support luma keying, indicated by the capability flag. To query for this capability, call . If the device supports luma keying, it sets the flag in the FeatureCaps member of the structure.

If the device does not support luma keying, the method fails for this state.

If the input format is RGB, the device must also support the capability. This capability flag is set in the InputFormatCaps member of the structure. If the flag is not present, the device ignores the luma key value for RGB input.

The values of Lower and Upper give the lower and upper bounds of the luma key, using a nominal range of [0...1]. Given a format with n bits per channel, these values are converted to luma values as follows:

val = f * ((1 << n)-1)

Any pixel whose luma value falls within the upper and lower bounds (inclusive) is treated as transparent.

For example, if the pixel format uses 8-bit luma, the upper bound is calculated as follows:

BYTE Y = BYTE(max(min(1.0, Upper), 0.0) * 255.0)

Note that the value is clamped to the range [0...1] before multiplying by 255.

-
- - dd318766 - DXVAHD_STREAM_STATE_LUMA_KEY_DATA - DXVAHD_STREAM_STATE_LUMA_KEY_DATA -
- - -

If TRUE, luma keying is enabled. Otherwise, luma keying is disabled. The default value is .

-
- - dd318766 - BOOL Enable - BOOL Enable -
- - -

The lower bound for the luma key. The range is [0?1]. The default state value is 0.0.

-
- - dd318766 - float Lower - float Lower -
- - -

The upper bound for the luma key. The range is [0?1]. The default state value is 0.0.

-
- - dd318766 - float Upper - float Upper -
- - -

Specifies the output frame rate for an input stream when using Microsoft DirectX Video Acceleration High Definition (DXVA-HD).

-
- -

The output rate might require the device to convert the frame rate of the input stream. If so, the value of RepeatFrame controls whether the device creates interpolated frames or simply repeats input frames.

-
- - dd318767 - DXVAHD_STREAM_STATE_OUTPUT_RATE_DATA - DXVAHD_STREAM_STATE_OUTPUT_RATE_DATA -
- - -

Specifies how the device performs frame-rate conversion, if required. The default state value is (interpolation).

ValueMeaning
TRUE

The device repeats frames.

The device interpolates frames.

?

-
- - dd318767 - BOOL RepeatFrame - BOOL RepeatFrame -
- - -

Specifies the output rate, as a member of the enumeration.

-
- - dd318767 - DXVAHD_OUTPUT_RATE OutputRate - DXVAHD_OUTPUT_RATE OutputRate -
- - -

Specifies a custom output rate, as a structure. This member is ignored unless OutputRate equals . The default state value is 1/1.

To get the list of custom rates supported by the video processor, call . If a custom rate is used, it must be taken from this list.

-
- - dd318767 - DXVAHD_RATIONAL CustomRate - DXVAHD_RATIONAL CustomRate -
- - -

Contains the color palette entries for an input stream, when using Microsoft DirectX Video Acceleration High Definition (DXVA-HD).

-
- -

This stream state is used for input streams that have a palettized color format. Palettized formats with 4 bits per pixel (bpp) use the first 16 entries in the list. Formats with 8 bpp use the first 256 entries.

If a pixel has a palette index greater than the number of entries, the device treats the pixel as being white with opaque alpha. For full-range RGB, this value will be (255, 255, 255, 255); for YCbCr the value will be (255, 235, 128, 128).

The caller allocates the pEntries array. Set the Count member to the number of elements in the array. When retrieving the state data, you can set the pEntries member to null to get the number of palette entries. The device will return the count in the Count member.

If the DXVA-HD device does not have the capability, every palette entry must have an alpha value of 0xFF (opaque). Otherwise, an error is returned from .

To get the device capabilities, call and check the FeatureCaps member of the structure.

-
- - dd318768 - DXVAHD_STREAM_STATE_PALETTE_DATA - DXVAHD_STREAM_STATE_PALETTE_DATA -
- - -

The number of palette entries. The default state value is 0.

-
- - dd318768 - unsigned int Count - unsigned int Count -
- - -

A reference to an array of values. For RGB streams, the palette entries use a (ARGB-32) representation. For YCbCr streams, the palette entries use an AYUV representation. The alpha channel is used for alpha blending; see .

-
- - dd318768 - void* pEntries - void pEntries -
- - -

Contains data for a private stream state, for a Microsoft DirectX Video Acceleration High Definition (DXVA-HD) input stream.

-
- -

Use this structure for proprietary or device-specific state parameters.

The caller allocates the pData array. Set the DataSize member to the size of the array in bytes. When retrieving the state data, you can set the pData member to null to get the size of the data. The device will return the size in the DataSize member.

-
- - dd318769 - DXVAHD_STREAM_STATE_PRIVATE_DATA - DXVAHD_STREAM_STATE_PRIVATE_DATA -
- - -

A that identifies the private stream state. The following is defined.

ValueMeaning
DXVAHD_STREAM_STATE_PRIVATE_IVTC

Retrieves statistics about inverse telecine. The state data (pData) is a structure.

?

A device can define additional GUIDs for use with custom stream states. The interpretation of the data is then defined by the device.

-
- - dd318769 - GUID Guid - GUID Guid -
- - -

The size, in bytes, of the buffer pointed to by the pData member.

-
- - dd318769 - unsigned int DataSize - unsigned int DataSize -
- - -

A reference to a buffer that contains the private state data. The DXVA-HD runtime passes this buffer directly to the device, without validation.

-
- - dd318769 - void* pData - void pData -
- - -

Contains inverse telecine (IVTC) statistics from a Microsoft DirectX Video Acceleration High Definition (DXVA-HD) device.

-
- -

If the DXVA-HD device supports IVTC statistics, it can detect when the input video contains telecined frames. You can use this information to enable IVTC in the device.

To enable IVTC statistics, do the following:

  1. Allocate a structure and set the Enable member to TRUE.
  2. Initialize a structure with these values:
    • Set Guid to DXVAHD_STREAM_STATE_PRIVATE_IVTC.
    • Set DataSize to sizeof().
    • Set pData to point to the structure.
  3. Call the method. Set the State parameter of that method to and the pData parameter to the address of the structure.

To get the most recent IVTC statistics from the device, call the method. The state parameter and data buffer are the same.

Typically, an application would use this feature as follows:

  1. Enable IVTC statistics.
  2. Begin sending interlaced video frames to the DXVA-HD device.
  3. At some point, query the device for the current IVTC statistics.
  4. If the device detects telecined frames, use a custom frame rate to perform IVTC. For more information, see .
-
- - dd318770 - DXVAHD_STREAM_STATE_PRIVATE_IVTC_DATA - DXVAHD_STREAM_STATE_PRIVATE_IVTC_DATA -
- - -

Specifies whether IVTC statistics are enabled. The default state value is . Setting the value to TRUE enables IVTC statistics, and resets all of the IVTC statistical data to zero.

-
- - dd318770 - BOOL Enable - BOOL Enable -
- - -

If the driver detects that the frames are telecined, and is able to perform inverse telecine, this field contains a member of the enumeration. Otherwise, the value is 0.

-
- - dd318770 - unsigned int ITelecineFlags - unsigned int ITelecineFlags -
- - -

The number of consecutive telecined frames that the device has detected.

-
- - dd318770 - unsigned int Frames - unsigned int Frames -
- - -

The index of the most recent input field. The value of this member equals the most recent value of the InputFrameOrField member of the structure.

-
- - dd318770 - unsigned int InputField - unsigned int InputField -
- - -

Specifies the source rectangle for an input stream when using Microsoft DirectX Video Acceleration High Definition (DXVA-HD)

-
- - dd318771 - DXVAHD_STREAM_STATE_SOURCE_RECT_DATA - DXVAHD_STREAM_STATE_SOURCE_RECT_DATA -
- - -

Specifies whether to blit the entire input surface or just the source rectangle. The default state value is .

ValueMeaning
TRUE

Use the source rectangle specified in the SourceRect member.

Blit the entire input surface. Ignore the SourceRect member.

?

-
- - dd318771 - BOOL Enable - BOOL Enable -
- - -

The source rectangle, which defines the portion of the input sample that is blitted to the destination surface. The source rectangle is given in pixel coordinates, relative to the input surface. The default state value is an empty rectangle, (0, 0, 0, 0).

If the Enable member is , the SourceRect member is ignored.

-
- - dd318771 - RECT SourceRect - RECT SourceRect -
- - -

Contains references to functions implemented by a software plug-in for Microsoft DirectX Video Acceleration High Definition (DXVA-HD).

-
- -

If you provide a software plug-in for DXVA-HD, the plug-in must implement a set of functions that are defined by the function reference types in this structure.

At initialization, the DXVA-HD runtime calls the plug-in device's PDXVAHDSW_Plugin function. This function fills in a structure with references to the set of functions that are implemented by the plug-in device. When the application calls DXVA-HD methods, the DXVA-HD runtime calls the corresponding plug-in functions.

-
- - dd318386 - DXVAHDSW_CALLBACKS - DXVAHDSW_CALLBACKS -
- - -

Function reference of type PDXVAHDSW_CreateDevice.

-
- - dd318386 - __function__stdcall* CreateDevice - __function__stdcall CreateDevice -
- - -

Function reference of type PDXVAHDSW_ProposeVideoPrivateFormat.

-
- - dd318386 - __function__stdcall* ProposeVideoPrivateFormat - __function__stdcall ProposeVideoPrivateFormat -
- - -

Function reference of type PDXVAHDSW_GetVideoProcessorDeviceCaps.

-
- - dd318386 - __function__stdcall* GetVideoProcessorDeviceCaps - __function__stdcall GetVideoProcessorDeviceCaps -
- - -

Function reference of type PDXVAHDSW_GetVideoProcessorOutputFormats.

-
- - dd318386 - __function__stdcall* GetVideoProcessorOutputFormats - __function__stdcall GetVideoProcessorOutputFormats -
- - -

Function reference of type PDXVAHDSW_GetVideoProcessorInputFormats.

-
- - dd318386 - __function__stdcall* GetVideoProcessorInputFormats - __function__stdcall GetVideoProcessorInputFormats -
- - -

Function reference of type PDXVAHDSW_GetVideoProcessorCaps.

-
- - dd318386 - __function__stdcall* GetVideoProcessorCaps - __function__stdcall GetVideoProcessorCaps -
- - -

Function reference of type PDXVAHDSW_GetVideoProcessorCustomRates.

-
- - dd318386 - __function__stdcall* GetVideoProcessorCustomRates - __function__stdcall GetVideoProcessorCustomRates -
- - -

Function reference of type PDXVAHDSW_GetVideoProcessorFilterRange.

-
- - dd318386 - __function__stdcall* GetVideoProcessorFilterRange - __function__stdcall GetVideoProcessorFilterRange -
- - -

Function reference of type PDXVAHDSW_DestroyDevice.

-
- - dd318386 - __function__stdcall* DestroyDevice - __function__stdcall DestroyDevice -
- - -

Function reference of type PDXVAHDSW_CreateVideoProcessor.

-
- - dd318386 - __function__stdcall* CreateVideoProcessor - __function__stdcall CreateVideoProcessor -
- - -

Function reference of type PDXVAHDSW_SetVideoProcessBltState.

-
- - dd318386 - __function__stdcall* SetVideoProcessBltState - __function__stdcall SetVideoProcessBltState -
- - -

Function reference of type PDXVAHDSW_GetVideoProcessBltStatePrivate.

-
- - dd318386 - __function__stdcall* GetVideoProcessBltStatePrivate - __function__stdcall GetVideoProcessBltStatePrivate -
- - -

Function reference of type PDXVAHDSW_SetVideoProcessStreamState.

-
- - dd318386 - __function__stdcall* SetVideoProcessStreamState - __function__stdcall SetVideoProcessStreamState -
- - -

Function reference of type PDXVAHDSW_GetVideoProcessStreamStatePrivate.

-
- - dd318386 - __function__stdcall* GetVideoProcessStreamStatePrivate - __function__stdcall GetVideoProcessStreamStatePrivate -
- - -

Function reference of type PDXVAHDSW_VideoProcessBltHD.

-
- - dd318386 - __function__stdcall* VideoProcessBltHD - __function__stdcall VideoProcessBltHD -
- - -

Function reference of type PDXVAHDSW_DestroyVideoProcessor.

-
- - dd318386 - __function__stdcall* DestroyVideoProcessor - __function__stdcall DestroyVideoProcessor -
- - -

Defines the range of supported values for a DirectX Video Acceleration (DXVA) operation.

-
- -

All values in this structure are specified as structures.

-
- - ms704572 - DXVA2_ValueRange - DXVA2_ValueRange -
- - -

Minimum supported value.

-
- - ms704572 - DXVA2_Fixed32 MinValue - DXVA2_Fixed32 MinValue -
- - -

Maximum supported value.

-
- - ms704572 - DXVA2_Fixed32 MaxValue - DXVA2_Fixed32 MaxValue -
- - -

Default value.

-
- - ms704572 - DXVA2_Fixed32 DefaultValue - DXVA2_Fixed32 DefaultValue -
- - -

Minimum increment between values.

-
- - ms704572 - DXVA2_Fixed32 StepSize - DXVA2_Fixed32 StepSize -
- - -

Describes a video stream for a DXVA decoder device or video processor device.

-
- -

The InputSampleFreq member gives the frame rate of the decoded video stream, as received by the video renderer. The OutputFrameFreq member gives the frame rate of the video that is displayed after deinterlacing. If the input video is interlaced and the samples contain interleaved fields, the output frame rate is twice the input frame rate. If the input video is progressive or contains single fields, the output frame rate is the same as the input frame rate.

Decoders should set the values of InputSampleFreq and OutputFrameFreq if the frame rate is known. Otherwise, set these members to 0/0 to indicate an unknown frame rate.

-
- - ms694235 - DXVA2_VideoDesc - DXVA2_VideoDesc -
- - -

Width of the video frame, in pixels.

-
- - ms694235 - unsigned int SampleWidth - unsigned int SampleWidth -
- - -

Height of the video frame, in pixels.

-
- - ms694235 - unsigned int SampleHeight - unsigned int SampleHeight -
- - -

Additional details about the video format, specified as a structure.

-
- - ms694235 - DXVA2_ExtendedFormat SampleFormat - DXVA2_ExtendedFormat SampleFormat -
- - -

Surface format, specified as a value or FOURCC code. A FOURCC code can be constructed using the or MAKEFOURCC macros.

-
- - ms694235 - D3DFORMAT Format - D3DFORMAT Format -
- - -

Frame rate of the input video stream, specified as a structure.

-
- - ms694235 - DXVA2_Frequency InputSampleFreq - DXVA2_Frequency InputSampleFreq -
- - -

Frame rate of the output video, specified as a structure.

-
- - ms694235 - DXVA2_Frequency OutputFrameFreq - DXVA2_Frequency OutputFrameFreq -
- - -

Level of data protection required when the user accessible bus (UAB) is present. If TRUE, the video must be protected when a UAB is present. If , the video is not required to be protected.

-
- - ms694235 - unsigned int UABProtectionLevel - unsigned int UABProtectionLevel -
- - -

Reserved. Must be zero.

-
- - ms694235 - unsigned int Reserved - unsigned int Reserved -
- - -

Contains parameters for the method.

-
- - ms698741 - DXVA2_VideoProcessBltParams - DXVA2_VideoProcessBltParams -
- - - No documentation. - - - ms698741 - longlong TargetFrame - longlong TargetFrame - - - - No documentation. - - - ms698741 - RECT TargetRect - RECT TargetRect - - - - No documentation. - - - ms698741 - SIZE ConstrictionSize - SIZE ConstrictionSize - - - - No documentation. - - - ms698741 - unsigned int StreamingFlags - unsigned int StreamingFlags - - - - No documentation. - - - ms698741 - DXVA2_AYUVSample16 BackgroundColor - DXVA2_AYUVSample16 BackgroundColor - - - - No documentation. - - - ms698741 - DXVA2_ExtendedFormat DestFormat - DXVA2_ExtendedFormat DestFormat - - - - No documentation. - - - ms698741 - DXVA2_ProcAmpValues ProcAmpValues - DXVA2_ProcAmpValues ProcAmpValues - - - - No documentation. - - - ms698741 - DXVA2_Fixed32 Alpha - DXVA2_Fixed32 Alpha - - - - No documentation. - - - ms698741 - DXVA2_FilterValues NoiseFilterLuma - DXVA2_FilterValues NoiseFilterLuma - - - - No documentation. - - - ms698741 - DXVA2_FilterValues NoiseFilterChroma - DXVA2_FilterValues NoiseFilterChroma - - - - No documentation. - - - ms698741 - DXVA2_FilterValues DetailFilterLuma - DXVA2_FilterValues DetailFilterLuma - - - - No documentation. - - - ms698741 - DXVA2_FilterValues DetailFilterChroma - DXVA2_FilterValues DetailFilterChroma - - - - No documentation. - - - ms698741 - unsigned int DestData - unsigned int DestData - - - -

Describes the capabilities of a DirectX Video Acceleration (DVXA) video processor mode.

-
- - ms703795 - DXVA2_VideoProcessorCaps - DXVA2_VideoProcessorCaps -
- - -

Identifies the type of device. The following values are defined.

ValueMeaning

DXVA 2.0 video processing is emulated by using DXVA 1.0. An emulated device may be missing significant processing capabilities and have lower image quality and performance.

Hardware device.

Software device.

?

-
- - ms703795 - unsigned int DeviceCaps - unsigned int DeviceCaps -
- - -

The Direct3D memory pool used by the device.

-
- - ms703795 - D3DPOOL InputPool - D3DPOOL InputPool -
- - -

Number of forward reference samples the device needs to perform deinterlacing. For the bob, progressive scan, and software devices, the value is zero.

-
- - ms703795 - unsigned int NumForwardRefSamples - unsigned int NumForwardRefSamples -
- - -

Number of backward reference samples the device needs to perform deinterlacing. For the bob, progressive scan, and software devices, the value is zero.

-
- - ms703795 - unsigned int NumBackwardRefSamples - unsigned int NumBackwardRefSamples -
- - -

Reserved. Must be zero.

-
- - ms703795 - unsigned int Reserved - unsigned int Reserved -
- - -

Identifies the deinteracing technique used by the device. This value is a bitwise OR of one or more of the following flags.

ValueMeaning

The algorithm is unknown or proprietary.

The algorithm creates missing lines by repeating the line either above or below the missing line. This algorithm produces a jagged image and is not recommended.

The algorithm creates missing lines by averaging two lines. Slight vertical adjustments are made so that the resulting image does not bob up and down.

The algorithm creates missing lines by applying a [?1, 9, 9, ?1]/16 filter across four lines. Slight vertical adjustments are made so that the resulting image does not bob up and down.

The algorithm uses median filtering to recreate the pixels in the missing lines.

The algorithm uses an edge filter to create the missing lines. In this process, spatial directional filters are applied to determine the orientation of edges in the picture content. Missing pixels are created by filtering along (rather than across) the detected edges.

The algorithm uses spatial or temporal interpolation, switching between the two on a field-by-field basis, depending on the amount of motion.

The algorithm uses spatial or temporal interpolation, switching between the two on a pixel-by-pixel basis, depending on the amount of motion.

The algorithm identifies objects within a sequence of video fields. Before it recreates the missing pixels, it aligns the movement axes of the individual objects in the scene to make them parallel with the time axis.

The device can undo the 3:2 pulldown process used in telecine.

?

-
- - ms703795 - unsigned int DeinterlaceTechnology - unsigned int DeinterlaceTechnology -
- - -

Specifies the available video processor (ProcAmp) operations. The value is a bitwise OR of ProcAmp Settings constants.

-
- - ms703795 - unsigned int ProcAmpControlCaps - unsigned int ProcAmpControlCaps -
- - -

Specifies operations that the device can perform concurrently with the operation. The value is a bitwise OR of the following flags.

ValueMeaning

The device can convert the video from YUV color space to RGB color space, with at least 8 bits of precision for each RGB component.

The device can stretch or shrink the video horizontally. If this capability is present, aspect ratio correction can be performed at the same time as deinterlacing.

The device can stretch or shrink the video vertically. If this capability is present, image resizing and aspect ratio correction can be performed at the same time.

The device can alpha blend the video.

The device can operate on a subrectangle of the video frame. If this capability is present, source images can be cropped before further processing occurs.

The device can accept substreams in addition to the primary video stream, and can composite them.

The device can perform color adjustments on the primary video stream and substreams, at the same time that it deinterlaces the video and composites the substreams. The destination color space is defined in the DestFormat member of the structure. The source color space for each stream is defined in the SampleFormat member of the structure.

The device can convert the video from YUV to RGB color space when it writes the deinterlaced and composited pixels to the destination surface.

An RGB destination surface could be an off-screen surface, texture, Direct3D render target, or combined texture/render target surface. An RGB destination surface must use at least 8 bits for each color channel.

The device can perform an alpha blend operation with the destination surface when it writes the deinterlaced and composited pixels to the destination surface.

The device can downsample the output frame, as specified by the ConstrictionSize member of the structure.

The device can perform noise filtering.

The device can perform detail filtering.

The device can perform a constant alpha blend to the entire video stream when it composites the video stream and substreams.

The device can perform accurate linear RGB scaling, rather than performing them in nonlinear gamma space.

The device can correct the image to compensate for artifacts introduced when performing scaling in nonlinear gamma space.

The deinterlacing algorithm preserves the original field lines from the interlaced field picture, unless scaling is also applied.

For example, in deinterlacing algorithms such as bob and median filtering, the device copies the original field into every other scan line and then applies a filter to reconstruct the missing scan lines. As a result, the original field can be recovered by discarding the scan lines that were interpolated.

If the image is scaled vertically, however, the original field lines cannot be recovered. If the image is scaled horizontally (but not vertically), the resulting field lines will be equivalent to scaling the original field picture. (In other words, discarding the interpolated scan lines will yield the same result as stretching the original picture without deinterlacing.)

?

-
- - ms703795 - unsigned int VideoProcessorOperations - unsigned int VideoProcessorOperations -
- - -

Specifies the supported noise filters. The value is a bitwise OR of the following flags.

ValueMeaning

Noise filtering is not supported.

Unknown or proprietary filter.

Median filter.

Temporal filter.

Block noise filter.

Mosquito noise filter.

?

-
- - ms703795 - unsigned int NoiseFilterTechnology - unsigned int NoiseFilterTechnology -
- - -

Specifies the supported detail filters. The value is a bitwise OR of the following flags.

ValueMeaning

Detail filtering is not supported.

Unknown or proprietary filter.

Edge filter.

Sharpen filter.

?

-
- - ms703795 - unsigned int DetailFilterTechnology - unsigned int DetailFilterTechnology -
- - -

Specifies an input sample for the method.

-
- - ms693598 - DXVA2_VideoSample - DXVA2_VideoSample -
- - - No documentation. - - - ms693598 - longlong Start - longlong Start - - - - No documentation. - - - ms693598 - longlong End - longlong End - - - - No documentation. - - - ms693598 - DXVA2_ExtendedFormat SampleFormat - DXVA2_ExtendedFormat SampleFormat - - - - No documentation. - - - ms693598 - IDirect3DSurface9* SrcSurface - IDirect3DSurface9 SrcSurface - - - - No documentation. - - - ms693598 - RECT SrcRect - RECT SrcRect - - - - No documentation. - - - ms693598 - RECT DstRect - RECT DstRect - - - - No documentation. - - - ms693598 - DXVA2_AYUVSample8 Pal[16] - DXVA2_AYUVSample8 Pal - - - - No documentation. - - - ms693598 - DXVA2_Fixed32 PlanarAlpha - DXVA2_Fixed32 PlanarAlpha - - - - No documentation. - - - ms693598 - unsigned int SampleData - unsigned int SampleData - - - -

Specifies the capabilities of the Microsoft DirectX Video Acceleration High Definition (DXVA-HD) video processor.

-
- - dd318773 - DXVAHD_VPCAPS - DXVAHD_VPCAPS -
- - -

A that identifies the video processor. This is defined by the device, and is used in various methods to specify the video processor.

-
- - dd318773 - GUID VPGuid - GUID VPGuid -
- - -

The number of past reference frames required to perform the optimal video processing.

-
- - dd318773 - unsigned int PastFrames - unsigned int PastFrames -
- - -

The number of future reference frames required to perform the optimal video processing.

-
- - dd318773 - unsigned int FutureFrames - unsigned int FutureFrames -
- - -

A bitwise OR of zero or more flags from the enumeration.

-
- - dd318773 - unsigned int ProcessorCaps - unsigned int ProcessorCaps -
- - -

A bitwise OR of zero or more flags from the enumeration.

-
- - dd318773 - unsigned int ITelecineCaps - unsigned int ITelecineCaps -
- - -

The number of custom output frame rates. To get the list of custom frame rates, call the method. Custom frame rates are used for frame-rate conversion and inverse telecine.

-
- - dd318773 - unsigned int CustomRateCount - unsigned int CustomRateCount -
- - -

Specifies the capabilities of a Microsoft DirectX Video Acceleration High Definition (DXVA-HD) device.

-
- -

In DXVA-HD, the device stores state information for each input stream. These states persist between blits. With each blit, the application selects which streams to enable or disable. Disabling a stream does not affect the state information for that stream.

The MaxStreamStates member gives the maximum number of stream states that can be set by the application. The MaxInputStreams member gives the maximum number of streams that can be enabled during a blit. These two values can differ.

To set the state data for a stream, call .

-
- - dd318774 - DXVAHD_VPDEVCAPS - DXVAHD_VPDEVCAPS -
- - -

Specifies the device type, as a member of the enumeration.

-
- - dd318774 - DXVAHD_DEVICE_TYPE DeviceType - DXVAHD_DEVICE_TYPE DeviceType -
- - -

A bitwise OR of zero or more flags from the enumeration.

-
- - dd318774 - unsigned int DeviceCaps - unsigned int DeviceCaps -
- - -

A bitwise OR of zero or more flags from the enumeration.

-
- - dd318774 - unsigned int FeatureCaps - unsigned int FeatureCaps -
- - -

A bitwise OR of zero or more flags from the enumeration.

-
- - dd318774 - unsigned int FilterCaps - unsigned int FilterCaps -
- - -

A bitwise OR of zero or more flags from the enumeration.

-
- - dd318774 - unsigned int InputFormatCaps - unsigned int InputFormatCaps -
- - -

The memory pool that is required for the input video surfaces.

-
- - dd318774 - D3DPOOL InputPool - D3DPOOL InputPool -
- - -

The number of supported output formats. To get the list of output formats, call the method.

-
- - dd318774 - unsigned int OutputFormatCount - unsigned int OutputFormatCount -
- - -

The number of supported input formats. To get the list of input formats, call the method.

-
- - dd318774 - unsigned int InputFormatCount - unsigned int InputFormatCount -
- - -

The number of video processors. Each video processor represents a distinct set of processing capabilities. To get the capabilities of each video processor, call the method. To create a video processor, call the method.

-
- - dd318774 - unsigned int VideoProcessorCount - unsigned int VideoProcessorCount -
- - -

The maximum number of input streams that can be enabled at the same time.

-
- - dd318774 - unsigned int MaxInputStreams - unsigned int MaxInputStreams -
- - -

The maximum number of input streams for which the device can store state data.

-
- - dd318774 - unsigned int MaxStreamStates - unsigned int MaxStreamStates -
- - - The namespace provides a managed MediaFoundation for DirectX integration API. - - - MediaFoundation - MediaFoundation - - - - The namespace provides a managed MediaFoundation for Dsp API. - - - MediaFoundation - MediaFoundation - - - -

Enables two threads to share the same Microsoft Direct3D?11 device.

-
- -

This interface is exposed by the Microsoft DirectX Graphics Infrastructure (DXGI) Device Manager. To create the DXGI Device Manager, call the function.

When you create an with , a Direct3D?11 device is not associated with the device manager. To associate a Direct3D?11 device with the device manager, call , passing in the reference to the Direct3D?11 device. To create a Direct3D?11 device, call . The device should be created with the device creation flag which is defined in the enumeration.

For Microsoft Direct3D?9 devices, use the IDirect3DDeviceManager9 interface.

Windows Store apps must use and Direct3D 11 Video APIs.

-
- - hh447906 - IMFDXGIDeviceManager - IMFDXGIDeviceManager -
- - - A token that identifies this instance of the DXGI Device Manager. Use this token when calling - - - - -

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

Applies to: desktop apps | Metro style apps

Creates an instance of the Microsoft DirectX Graphics Infrastructure (DXGI) Device Manager.

-
- hh162750 - HRESULT MFCreateDXGIDeviceManager([Out] unsigned int* resetToken,[Out] IMFDXGIDeviceManager** ppDeviceManager) - MFCreateDXGIDeviceManager -
- - -

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

Applies to: desktop apps | Metro style apps

Sets the Microsoft Direct3D device or notifies the device manager that the Direct3D device was reset.

-
-

A reference to the interface of the DXGI device.

- -

When you first create the DXGI Device Manager, call this method with a reference to the Direct3D device. (The device manager does not create the device; the caller must provide the device reference initially.) Also call this method if the Direct3D device becomes lost and you need to reset the device or create a new device.

The resetToken parameter ensures that only the component that originally created the device manager can invalidate the current device.

If this method succeeds, all open device handles become invalid.

-
- hh447911 - HRESULT IMFDXGIDeviceManager::ResetDevice([In] IUnknown* pUnkDevice,[In] unsigned int resetToken) - IMFDXGIDeviceManager::ResetDevice -
- - -

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

Applies to: desktop apps | Metro style apps

Unlocks the Microsoft Direct3D device.

-
-

A handle to the Direct3D device. To get the device handle, call .

- -

Call this method to release the device after calling .

-
- hh447913 - HRESULT IMFDXGIDeviceManager::UnlockDevice([In] void* hDevice,[In] BOOL fSaveState) - IMFDXGIDeviceManager::UnlockDevice -
- - - Initializes a new instance of the 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 two threads to share the same Microsoft Direct3D?11 device.

-
- No documentation. - No documentation. - -

This interface is exposed by the Microsoft DirectX Graphics Infrastructure (DXGI) Device Manager. To create the DXGI Device Manager, call the function.

When you create an with , a Direct3D?11 device is not associated with the device manager. To associate a Direct3D?11 device with the device manager, call , passing in the reference to the Direct3D?11 device. To create a Direct3D?11 device, call . The device should be created with the device creation flag which is defined in the enumeration.

For Microsoft Direct3D?9 devices, use the IDirect3DDeviceManager9 interface.

Windows Store apps must use and Direct3D 11 Video APIs.

-
- - hh447906 - HRESULT IMFDXGIDeviceManager::CloseDeviceHandle([In] void* hDevice) - IMFDXGIDeviceManager::CloseDeviceHandle -
- - -

Queries the Microsoft Direct3D device for an interface.

-
-

A handle to the Direct3D device. To get the device handle, call .

-

The interface identifier (IID) of the requested interface. The Direct3D device supports the following interfaces:

  • . To get a reference to the Direct3D11 device, use IID_ID3D11Device as the riid.
  • . To get a reference to the Direct3D11 video device, use IID_ID3D11VideoDevice as the riid.
-

Receives a reference to the requested interface. The caller must release the interface.

- -

If the method returns , call to close the handle and then call OpenDeviceHandle again to get a new handle. The method invalidates all open device handles.

For more info see, Supporting Direct3D 11 Video Decoding in Media Foundation.

-
- - hh447908 - HRESULT IMFDXGIDeviceManager::GetVideoService([In] void* hDevice,[In] const GUID& riid,[Out] void** ppService) - IMFDXGIDeviceManager::GetVideoService -
- - -

Gives the caller exclusive access to the Microsoft Direct3D device.

-
-

A handle to the Direct3D device. To get the device handle, call .

-

The interface identifier (IID) of the requested interface. The Direct3D device will support the following interfaces:

-

Specifies whether to wait for the device lock. If the device is already locked and this parameter is TRUE, the method blocks until the device is unlocked. Otherwise, if the device is locked and this parameter is , the method returns immediately with the error code DXVA2_E_VIDEO_DEVICE_LOCKED.

-

Receives a reference to the requested interface. The caller must release the interface.

- -

When you are done using the Direct3D device, call to unlock the device.

If the method returns , call to close the handle and then call OpenDeviceHandle again to get a new handle. The method invalidates all open device handles.

If fBlock is TRUE, this method can potentially deadlock. For example, it will deadlock if a thread calls LockDevice and then waits on another thread that calls LockDevice. It will also deadlock if a thread calls LockDevice twice without calling UnlockDevice in between.

-
- - hh447909 - HRESULT IMFDXGIDeviceManager::LockDevice([In] void* hDevice,[In] const GUID& riid,[Out] void** ppUnkDevice,[In] BOOL fBlock) - IMFDXGIDeviceManager::LockDevice -
- - -

Gets a handle to the Microsoft Direct3D device.

-
-

Receives the device handle.

- - hh447910 - HRESULT IMFDXGIDeviceManager::OpenDeviceHandle([Out] void** phDevice) - IMFDXGIDeviceManager::OpenDeviceHandle -
- - -

Enables two threads to share the same Microsoft Direct3D?11 device.

-
- No documentation. - No documentation. - No documentation. - -

This interface is exposed by the Microsoft DirectX Graphics Infrastructure (DXGI) Device Manager. To create the DXGI Device Manager, call the function.

When you create an with , a Direct3D?11 device is not associated with the device manager. To associate a Direct3D?11 device with the device manager, call , passing in the reference to the Direct3D?11 device. To create a Direct3D?11 device, call . The device should be created with the device creation flag which is defined in the enumeration.

For Microsoft Direct3D?9 devices, use the IDirect3DDeviceManager9 interface.

Windows Store apps must use and Direct3D 11 Video APIs.

-
- - hh447906 - HRESULT IMFDXGIDeviceManager::ResetDevice([In] IUnknown* pUnkDevice,[In] unsigned int resetToken) - IMFDXGIDeviceManager::ResetDevice -
- - -

Tests whether a Microsoft Direct3D device handle is valid.

-
-

A handle to the Direct3D device. To get the device handle, call .

-

This method can return one of these values.

Return codeDescription

Success.

E_HANDLE

The specified handle is not a Direct3D device handle.

The device handle is invalid.

?

- -

If the method returns , call to close the handle and then call OpenDeviceHandle again to get a new handle. The method invalidates all open device handles.

-
- - hh447912 - HRESULT IMFDXGIDeviceManager::TestDevice([In] void* hDevice) - IMFDXGIDeviceManager::TestDevice -
- - -

Unlocks the Microsoft Direct3D device.

-
-

A handle to the Direct3D device. To get the device handle, call .

-

Reserved.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

Call this method to release the device after calling .

-
- - hh447913 - HRESULT IMFDXGIDeviceManager::UnlockDevice([In] void* hDevice,[In] BOOL fSaveState) - IMFDXGIDeviceManager::UnlockDevice -
- - - No documentation. - - - __MIDL___MIDL_itf_mfidl_0000_0027_0001 - __MIDL___MIDL_itf_mfidl_0000_0027_0001 - - - - No documentation. - - - MF_ACTIVATE_CUSTOM_MIXER_ALLOWFAIL - MF_ACTIVATE_CUSTOM_MIXER_ALLOWFAIL - - - - None. - - - None - None - - - - No documentation. - - - __MIDL___MIDL_itf_mfidl_0000_0027_0002 - __MIDL___MIDL_itf_mfidl_0000_0027_0002 - - - - No documentation. - - - MF_ACTIVATE_CUSTOM_PRESENTER_ALLOWFAIL - MF_ACTIVATE_CUSTOM_PRESENTER_ALLOWFAIL - - - - None. - - - None - None - - - -

Defines the ASF indexer options.

-
- - ms704695 - MFASF_INDEXERFLAGS - MFASF_INDEXERFLAGS -
- - -

The indexer creates a new index object.

-
- - ms704695 - MFASF_INDEXER_WRITE_NEW_INDEX - MFASF_INDEXER_WRITE_NEW_INDEX -
- - -

The indexer returns values for reverse playback.

-
- - ms704695 - MFASF_INDEXER_READ_FOR_REVERSEPLAYBACK - MFASF_INDEXER_READ_FOR_REVERSEPLAYBACK -
- - -

The indexer creates an index object for a live ASF stream.

-
- - ms704695 - MFASF_INDEXER_WRITE_FOR_LIVEREAD - MFASF_INDEXER_WRITE_FOR_LIVEREAD -
- - - None. - - - None - None - - - -

Defines the ASF multiplexer options.

-
- - ms698843 - MFASF_MULTIPLEXERFLAGS - MFASF_MULTIPLEXERFLAGS -
- - -

The multiplexer automatically adjusts the bit rate of the ASF content in response to the characteristics of the streams being multiplexed.

-
- - ms698843 - MFASF_MULTIPLEXER_AUTOADJUST_BITRATE - MFASF_MULTIPLEXER_AUTOADJUST_BITRATE -
- - - None. - - - None - None - - - -

Defines the selection options for an ASF stream.

-
- - ms694827 - ASF_SELECTION_STATUS - ASF_SELECTION_STATUS -
- - -

No samples from the stream are delivered.

-
- - ms694827 - ASF_STATUS_NOTSELECTED - ASF_STATUS_NOTSELECTED -
- - -

Only samples from the stream that are clean points are delivered.

-
- - ms694827 - ASF_STATUS_CLEANPOINTSONLY - ASF_STATUS_CLEANPOINTSONLY -
- - -

All samples from the stream are delivered.

-
- - ms694827 - ASF_STATUS_ALLDATAUNITS - ASF_STATUS_ALLDATAUNITS -
- - -

Defines the ASF splitter options.

-
- - ms700211 - MFASF_SPLITTERFLAGS - MFASF_SPLITTERFLAGS -
- - -

The splitter delivers samples for the ASF content in reverse order to accommodate reverse playback.

-
- - ms700211 - MFASF_SPLITTER_REVERSE - MFASF_SPLITTER_REVERSE -
- - -

The splitter delivers samples for streams that are protected with Windows Media Digital Rights Management.

-
- - ms700211 - MFASF_SPLITTER_WMDRM - MFASF_SPLITTER_WMDRM -
- - - None. - - - None - None - - - -

Defines status conditions for the method.

-
- - ms703127 - ASF_STATUSFLAGS - ASF_STATUSFLAGS -
- - - No documentation. - - - ms703127 - ASF_STATUSFLAGS_INCOMPLETE - ASF_STATUSFLAGS_INCOMPLETE - - - - No documentation. - - - ms703127 - ASF_STATUSFLAGS_NONFATAL_ERROR - ASF_STATUSFLAGS_NONFATAL_ERROR - - - - None. - - - None - None - - - -

Defines the ASF stream selector options.

-
- - ms696200 - MFASF_STREAMSELECTORFLAGS - MFASF_STREAMSELECTORFLAGS -
- - -

The stream selector will not set thinning. Thinning is the process of removing samples from a stream to reduce the bit rate.

-
- - ms696200 - MFASF_STREAMSELECTOR_DISABLE_THINNING - MFASF_STREAMSELECTOR_DISABLE_THINNING -
- - -

The stream selector will use the average bit rate of streams when selecting streams.

-
- - ms696200 - MFASF_STREAMSELECTOR_USE_AVERAGE_BITRATE - MFASF_STREAMSELECTOR_USE_AVERAGE_BITRATE -
- - - None. - - - None - None - - - - No documentation. - - - MFASYNC_CALLBACK_FLAGS - MFASYNC_CALLBACK_FLAGS - - - - No documentation. - - - MFASYNC_FAST_IO_PROCESSING_CALLBACK - MFASYNC_FAST_IO_PROCESSING_CALLBACK - - - - No documentation. - - - MFASYNC_SIGNAL_CALLBACK - MFASYNC_SIGNAL_CALLBACK - - - - No documentation. - - - MFASYNC_BLOCKING_CALLBACK - MFASYNC_BLOCKING_CALLBACK - - - - No documentation. - - - MFASYNC_REPLY_CALLBACK - MFASYNC_REPLY_CALLBACK - - - - No documentation. - - - MFASYNC_LOCALIZE_REMOTE_CALLBACK - MFASYNC_LOCALIZE_REMOTE_CALLBACK - - - - None. - - - None - None - - - -

Specifies the type of work queue for the function to create.

-
- - dd388081 - MFASYNC_WORKQUEUE_TYPE - MFASYNC_WORKQUEUE_TYPE -
- - - No documentation. - - - dd388081 - MF_STANDARD_WORKQUEUE - MF_STANDARD_WORKQUEUE - - - - No documentation. - - - dd388081 - MF_WINDOW_WORKQUEUE - MF_WINDOW_WORKQUEUE - - - - No documentation. - - - dd388081 - MF_MULTITHREADED_WORKQUEUE - MF_MULTITHREADED_WORKQUEUE - - - -

Defines flags for serializing and deserializing attribute stores.

-
- - ms704675 - MF_ATTRIBUTE_SERIALIZE_OPTIONS - MF_ATTRIBUTE_SERIALIZE_OPTIONS -
- - -

If this flag is set, references in the attribute store are marshaled to and from the stream. If this flag is absent, references in the attribute store are not marshaled or serialized.

-
- - ms704675 - MF_ATTRIBUTE_SERIALIZE_UNKNOWN_BYREF - MF_ATTRIBUTE_SERIALIZE_UNKNOWN_BYREF -
- - -

Specifies how to compare the attributes on two objects.

-
- - ms703793 - MF_ATTRIBUTES_MATCH_TYPE - MF_ATTRIBUTES_MATCH_TYPE -
- - -

Check whether all the attributes in pThis exist in pTheirs and have the same data, where pThis is the object whose Compare method is being called and pTheirs is the object given in the pTheirs parameter.

-
- - ms703793 - MF_ATTRIBUTES_MATCH_OUR_ITEMS - MF_ATTRIBUTES_MATCH_OUR_ITEMS -
- - -

Check whether all the attributes in pTheirs exist in pThis and have the same data, where pThis is the object whose Compare method is being called and pTheirs is the object given in the pTheirs parameter.

-
- - ms703793 - MF_ATTRIBUTES_MATCH_THEIR_ITEMS - MF_ATTRIBUTES_MATCH_THEIR_ITEMS -
- - -

Check whether both objects have identical attributes with the same data.

-
- - ms703793 - MF_ATTRIBUTES_MATCH_ALL_ITEMS - MF_ATTRIBUTES_MATCH_ALL_ITEMS -
- - -

Check whether the attributes that exist in both objects have the same data.

-
- - ms703793 - MF_ATTRIBUTES_MATCH_INTERSECTION - MF_ATTRIBUTES_MATCH_INTERSECTION -
- - -

Find the object with the fewest number of attributes, and check if those attributes exist in the other object and have the same data.

-
- - ms703793 - MF_ATTRIBUTES_MATCH_SMALLER - MF_ATTRIBUTES_MATCH_SMALLER -
- - -

Defines the data type for a key/value pair.

-
- - ms694854 - MF_ATTRIBUTE_TYPE - MF_ATTRIBUTE_TYPE -
- - -

Unsigned 32-bit integer.

-
- - ms694854 - MF_ATTRIBUTE_UINT32 - MF_ATTRIBUTE_UINT32 -
- - -

Unsigned 64-bit integer.

-
- - ms694854 - MF_ATTRIBUTE_UINT64 - MF_ATTRIBUTE_UINT64 -
- - -

Floating-point number.

-
- - ms694854 - MF_ATTRIBUTE_DOUBLE - MF_ATTRIBUTE_DOUBLE -
- - -

value.

-
- - ms694854 - MF_ATTRIBUTE_GUID - MF_ATTRIBUTE_GUID -
- - -

null-terminated wide-character string.

-
- - ms694854 - MF_ATTRIBUTE_STRING - MF_ATTRIBUTE_STRING -
- - -

Byte array.

-
- - ms694854 - MF_ATTRIBUTE_BLOB - MF_ATTRIBUTE_BLOB -
- - -

reference.

-
- - ms694854 - MF_ATTRIBUTE_IUNKNOWN - MF_ATTRIBUTE_IUNKNOWN -
- - -

Specifies values for audio constriction.

-
- -

Values defined by the enumeration matches the EAudioConstriction enumeration defined audioenginebaseapo.h.

-
- - jj128334 - MFAudioConstriction - MFAudioConstriction -
- - -

Audio is not constricted.

-
- - jj128334 - MFaudioConstrictionOff - MFaudioConstrictionOff -
- - -

Audio is down sampled to 48 kHz/16-bit.

-
- - jj128334 - MFaudioConstriction48_16 - MFaudioConstriction48_16 -
- - -

Audio is down sampled to 44 kHz/16-bit.

-
- - jj128334 - MFaudioConstriction44_16 - MFaudioConstriction44_16 -
- - -

Audio is down sampled to 14hKz/16-bit.

-
- - jj128334 - MFaudioConstriction14_14 - MFaudioConstriction14_14 -
- - -

Audio is muted.

-
- - jj128334 - MFaudioConstrictionMute - MFaudioConstrictionMute -
- - -

Contains flags for the method.

-
- - hh162742 - MF2DBuffer_LockFlags - MF2DBuffer_LockFlags -
- - - No documentation. - - - hh162742 - MF2DBuffer_LockFlags_LockTypeMask - MF2DBuffer_LockFlags_LockTypeMask - - - - No documentation. - - - hh162742 - MF2DBuffer_LockFlags_Read - MF2DBuffer_LockFlags_Read - - - - No documentation. - - - hh162742 - MF2DBuffer_LockFlags_Write - MF2DBuffer_LockFlags_Write - - - - No documentation. - - - hh162742 - MF2DBuffer_LockFlags_ReadWrite - MF2DBuffer_LockFlags_ReadWrite - - - -

Specifies the origin for a seek request.

-
- - ms702091 - MFBYTESTREAM_SEEK_ORIGIN - MFBYTESTREAM_SEEK_ORIGIN -
- - -

The seek position is specified relative to the start of the stream.

-
- - ms702091 - msoBegin - msoBegin -
- - -

The seek position is specified relative to the current read/write position in the stream.

-
- - ms702091 - msoCurrent - msoCurrent -
- - -

Specifies a type of capture device.

-
- - hh162811 - MF_CAPTURE_ENGINE_DEVICE_TYPE - MF_CAPTURE_ENGINE_DEVICE_TYPE -
- - -

An audio capture device, such as a microphone.

-
- - hh162811 - MF_CAPTURE_ENGINE_DEVICE_TYPE_AUDIO - MF_CAPTURE_ENGINE_DEVICE_TYPE_AUDIO -
- - -

A video capture device, such as a webcam.

-
- - hh162811 - MF_CAPTURE_ENGINE_DEVICE_TYPE_VIDEO - MF_CAPTURE_ENGINE_DEVICE_TYPE_VIDEO -
- - -

Specifies a type of capture sink.

-
- - hh162824 - MF_CAPTURE_ENGINE_SINK_TYPE - MF_CAPTURE_ENGINE_SINK_TYPE -
- - -

A recording sink, for capturing audio and video to a file.

-
- - hh162824 - MF_CAPTURE_ENGINE_SINK_TYPE_RECORD - MF_CAPTURE_ENGINE_SINK_TYPE_RECORD -
- - -

A preview sink, for previewing live audio or video.

-
- - hh162824 - MF_CAPTURE_ENGINE_SINK_TYPE_PREVIEW - MF_CAPTURE_ENGINE_SINK_TYPE_PREVIEW -
- - -

A photo sink, for capturing still images.

-
- - hh162824 - MF_CAPTURE_ENGINE_SINK_TYPE_PHOTO - MF_CAPTURE_ENGINE_SINK_TYPE_PHOTO -
- - -

Defines the values for the source stream category.

-
- - jj159898 - MF_CAPTURE_ENGINE_STREAM_CATEGORY - MF_CAPTURE_ENGINE_STREAM_CATEGORY -
- - -

Specifies a video preview stream.

-
- - jj159898 - MF_CAPTURE_ENGINE_STREAM_CATEGORY_VIDEO_PREVIEW - MF_CAPTURE_ENGINE_STREAM_CATEGORY_VIDEO_PREVIEW -
- - -

Specifies a video capture stream.

-
- - jj159898 - MF_CAPTURE_ENGINE_STREAM_CATEGORY_VIDEO_CAPTURE - MF_CAPTURE_ENGINE_STREAM_CATEGORY_VIDEO_CAPTURE -
- - -

Specifies an independent photo stream.

-
- - jj159898 - MF_CAPTURE_ENGINE_STREAM_CATEGORY_PHOTO_INDEPENDENT - MF_CAPTURE_ENGINE_STREAM_CATEGORY_PHOTO_INDEPENDENT -
- - -

Specifies a dependent photo stream.

-
- - jj159898 - MF_CAPTURE_ENGINE_STREAM_CATEGORY_PHOTO_DEPENDENT - MF_CAPTURE_ENGINE_STREAM_CATEGORY_PHOTO_DEPENDENT -
- - -

Specifies an audio stream.

-
- - jj159898 - MF_CAPTURE_ENGINE_STREAM_CATEGORY_AUDIO - MF_CAPTURE_ENGINE_STREAM_CATEGORY_AUDIO -
- - -

Specifies an unsupported stream.

-
- - jj159898 - MF_CAPTURE_ENGINE_STREAM_CATEGORY_UNSUPPORTED - MF_CAPTURE_ENGINE_STREAM_CATEGORY_UNSUPPORTED -
- - -

Contains flags that describe the characteristics of a clock. These flags are returned by the method.

-
- - ms699872 - MFCLOCK_CHARACTERISTICS_FLAGS - MFCLOCK_CHARACTERISTICS_FLAGS -
- - - No documentation. - - - ms699872 - MFCLOCK_CHARACTERISTICS_FLAG_FREQUENCY_10MHZ - MFCLOCK_CHARACTERISTICS_FLAG_FREQUENCY_10MHZ - - - - No documentation. - - - ms699872 - MFCLOCK_CHARACTERISTICS_FLAG_ALWAYS_RUNNING - MFCLOCK_CHARACTERISTICS_FLAG_ALWAYS_RUNNING - - - - No documentation. - - - ms699872 - MFCLOCK_CHARACTERISTICS_FLAG_IS_SYSTEM_CLOCK - MFCLOCK_CHARACTERISTICS_FLAG_IS_SYSTEM_CLOCK - - - - None. - - - None - None - - - -

Defines properties of a clock.

-
- - ms703927 - MFCLOCK_RELATIONAL_FLAGS - MFCLOCK_RELATIONAL_FLAGS -
- - -

Jitter values are always negative. In other words, the time returned by might jitter behind the actual clock time, but will never jitter ahead of the actual time. If this flag is not present, the clock might jitter in either direction.

-
- - ms703927 - MFCLOCK_RELATIONAL_FLAG_JITTER_NEVER_AHEAD - MFCLOCK_RELATIONAL_FLAG_JITTER_NEVER_AHEAD -
- - - None. - - - None - None - - - -

Defines the state of a clock.

-
- - ms700794 - MFCLOCK_STATE - MFCLOCK_STATE -
- - -

The clock is invalid. A clock might be invalid for several reasons. Some clocks return this state before the first start. This state can also occur if the underlying device is lost.

-
- - ms700794 - MFCLOCK_STATE_INVALID - MFCLOCK_STATE_INVALID -
- - -

The clock is running. While the clock is running, the time advances at the clock's frequency and current rate.

-
- - ms700794 - MFCLOCK_STATE_RUNNING - MFCLOCK_STATE_RUNNING -
- - -

The clock is stopped. While stopped, the clock reports a time of 0.

-
- - ms700794 - MFCLOCK_STATE_STOPPED - MFCLOCK_STATE_STOPPED -
- - -

The clock is paused. While paused, the clock reports the time it was paused.

-
- - ms700794 - MFCLOCK_STATE_PAUSED - MFCLOCK_STATE_PAUSED -
- - -

Specifies how the topology loader connects a topology node. This enumeration is used with the attribute.

-
- - ms700178 - MF_CONNECT_METHOD - MF_CONNECT_METHOD -
- - - No documentation. - - - ms700178 - MF_CONNECT_DIRECT - MF_CONNECT_DIRECT - - - - No documentation. - - - ms700178 - MF_CONNECT_ALLOW_CONVERTER - MF_CONNECT_ALLOW_CONVERTER - - - - No documentation. - - - ms700178 - MF_CONNECT_ALLOW_DECODER - MF_CONNECT_ALLOW_DECODER - - - - No documentation. - - - ms700178 - MF_CONNECT_RESOLVE_INDEPENDENT_OUTPUTTYPES - MF_CONNECT_RESOLVE_INDEPENDENT_OUTPUTTYPES - - - - No documentation. - - - ms700178 - MF_CONNECT_AS_OPTIONAL - MF_CONNECT_AS_OPTIONAL - - - - No documentation. - - - ms700178 - MF_CONNECT_AS_OPTIONAL_BRANCH - MF_CONNECT_AS_OPTIONAL_BRANCH - - - - No documentation. - - - MF_CROSS_ORIGIN_POLICY - MF_CROSS_ORIGIN_POLICY - - - - No documentation. - - - MF_CROSS_ORIGIN_POLICY_NONE - MF_CROSS_ORIGIN_POLICY_NONE - - - - No documentation. - - - MF_CROSS_ORIGIN_POLICY_ANONYMOUS - MF_CROSS_ORIGIN_POLICY_ANONYMOUS - - - - No documentation. - - - MF_CROSS_ORIGIN_POLICY_USE_CREDENTIALS - MF_CROSS_ORIGIN_POLICY_USE_CREDENTIALS - - - - No documentation. - - - MFDepthMeasurement - MFDepthMeasurement - - - - No documentation. - - - DistanceToFocalPlane - DistanceToFocalPlane - - - - No documentation. - - - DistanceToOpticalCenter - DistanceToOpticalCenter - - - -

The SetOutputStreamState method sets the Device MFT output stream state and media type.

-
- -

This interface method helps to transition the output stream to a specified state with specified media type set on the output stream. This will be used by the DTM when the Device Source requests a specific output stream?s state and media type to be changed. Device MFT should change the specified output stream?s media type and state to the requested media type.

If the incoming media type and stream state are same as the current media type and stream state the method return .

If the incoming media type and current media type of the stream are the same, Device MFT must change the stream?s state to the requested value and return the appropriate .

When a change in the output stream?s media type requires a corresponding change in the input then Device MFT must post the event to DTM to change the relevant input stream. The call must return only after changing the input stream?s media type and the appropriate .

As an example, consider a Device MFT that has two input streams and three output streams. Let Output 1 and Output 2 source from Input 1 and stream at 720p. Now, let us say Output 2?s media type changes to 1080p. To satisfy this request, Device MFT must change the Input 1 media type to 1080p, by posting event to the DTM. DTM would call SetInputStreamState to change the input stream? media type and state. After this call, the SetOutputStreamState must return.

-
- - mt797684 - DeviceStreamState - DeviceStreamState -
- - -

Stream ID of the input stream where the state and media type needs to be changed.

-
- - mt797684 - DeviceStreamState_Stop - DeviceStreamState_Stop -
- - -

Preferred media type for the input stream is passed in through this parameter. Device MFT should change the media type only if the incoming media type is different from the current media type.

-
- - mt797684 - DeviceStreamState_Pause - DeviceStreamState_Pause -
- - -

Specifies the DeviceStreamState which the input stream should transition to.

-
- - mt797684 - DeviceStreamState_Run - DeviceStreamState_Run -
- - -

Must be zero.

-
- - mt797684 - DeviceStreamState_Disabled - DeviceStreamState_Disabled -
- - - No documentation. - - - _DMO_INPLACE_PROCESS_FLAGS - _DMO_INPLACE_PROCESS_FLAGS - - - - No documentation. - - - DMO_INPLACE_NORMAL - DMO_INPLACE_NORMAL - - - - No documentation. - - - DMO_INPLACE_ZERO - DMO_INPLACE_ZERO - - - - None. - - - None - None - - - -

The DMO_INPUT_DATA_BUFFER_FLAGS enumeration defines flags that describe an input buffer.

-
- - dd375501 - _DMO_INPUT_DATA_BUFFER_FLAGS - _DMO_INPUT_DATA_BUFFER_FLAGS -
- - -

The beginning of the data is a synchronization point.

-
- - dd375501 - DMO_INPUT_DATA_BUFFERF_SYNCPOINT - DMO_INPUT_DATA_BUFFERF_SYNCPOINT -
- - -

The buffer's time stamp is valid.

The buffer's indicated time length is valid.

-
- - dd375501 - DMO_INPUT_DATA_BUFFERF_TIME - DMO_INPUT_DATA_BUFFERF_TIME -
- - -

The buffer's indicated time length is valid.

-
- - dd375501 - DMO_INPUT_DATA_BUFFERF_TIMELENGTH - DMO_INPUT_DATA_BUFFERF_TIMELENGTH -
- - - No documentation. - - - dd375501 - DMO_INPUT_DATA_BUFFERF_DISCONTINUITY - DMO_INPUT_DATA_BUFFERF_DISCONTINUITY - - - - None. - - - None - None - - - -

Media Foundation transforms (MFTs) are an evolution of the transform model first introduced with DirectX Media Objects (DMOs). This topic summarizes the main ways in which MFTs differ from DMOs. Read this topic if you are already familiar with the DMO interfaces, or if you want to convert an existing DMO into an MFT.

This topic contains the following sections:

  • Number
  • Format
  • Streaming
    • Allocating
    • Processing
    • Flushing
    • Stream
  • Miscellaneous
  • Flags
    • ProcessInput
    • ProcessOutput
    • GetInputStatus
    • GetOutputStatus
    • GetInputStreamInfo
    • GetOutputStreamInfo
    • SetInputType/SetOutputType
  • Error
  • Creating
  • Related
-
- - bb250374 - _DMO_INPUT_STATUS_FLAGS - _DMO_INPUT_STATUS_FLAGS -
- - - No documentation. - - - bb250374 - DMO_INPUT_STATUSF_ACCEPT_DATA - DMO_INPUT_STATUSF_ACCEPT_DATA - - - - None. - - - None - None - - - -

The DMO_INPUT_STREAM_INFO_FLAGS enumeration defines flags that describe an input stream.

-
- - dd375502 - _DMO_INPUT_STREAM_INFO_FLAGS - _DMO_INPUT_STREAM_INFO_FLAGS -
- - -

The stream requires whole samples. Samples must not span multiple buffers, and buffers must not contain partial samples.

-
- - dd375502 - DMO_INPUT_STREAMF_WHOLE_SAMPLES - DMO_INPUT_STREAMF_WHOLE_SAMPLES -
- - -

Each buffer must contain exactly one sample.

-
- - dd375502 - DMO_INPUT_STREAMF_SINGLE_SAMPLE_PER_BUFFER - DMO_INPUT_STREAMF_SINGLE_SAMPLE_PER_BUFFER -
- - -

All the samples in this stream must be the same size.

-
- - dd375502 - DMO_INPUT_STREAMF_FIXED_SAMPLE_SIZE - DMO_INPUT_STREAMF_FIXED_SAMPLE_SIZE -
- - -

The DMO performs lookahead on the incoming data, and may hold multiple input buffers for this stream.

-
- - dd375502 - DMO_INPUT_STREAMF_HOLDS_BUFFERS - DMO_INPUT_STREAMF_HOLDS_BUFFERS -
- - - None. - - - None - None - - - - No documentation. - - - _DMO_OUTPUT_DATA_BUFFER_FLAGS - _DMO_OUTPUT_DATA_BUFFER_FLAGS - - - - No documentation. - - - DMO_OUTPUT_DATA_BUFFERF_SYNCPOINT - DMO_OUTPUT_DATA_BUFFERF_SYNCPOINT - - - - No documentation. - - - DMO_OUTPUT_DATA_BUFFERF_TIME - DMO_OUTPUT_DATA_BUFFERF_TIME - - - - No documentation. - - - DMO_OUTPUT_DATA_BUFFERF_TIMELENGTH - DMO_OUTPUT_DATA_BUFFERF_TIMELENGTH - - - - No documentation. - - - DMO_OUTPUT_DATA_BUFFERF_DISCONTINUITY - DMO_OUTPUT_DATA_BUFFERF_DISCONTINUITY - - - - No documentation. - - - DMO_OUTPUT_DATA_BUFFERF_INCOMPLETE - DMO_OUTPUT_DATA_BUFFERF_INCOMPLETE - - - - None. - - - None - None - - - - No documentation. - - - _DMO_OUTPUT_STREAM_INFO_FLAGS - _DMO_OUTPUT_STREAM_INFO_FLAGS - - - - No documentation. - - - DMO_OUTPUT_STREAMF_WHOLE_SAMPLES - DMO_OUTPUT_STREAMF_WHOLE_SAMPLES - - - - No documentation. - - - DMO_OUTPUT_STREAMF_SINGLE_SAMPLE_PER_BUFFER - DMO_OUTPUT_STREAMF_SINGLE_SAMPLE_PER_BUFFER - - - - No documentation. - - - DMO_OUTPUT_STREAMF_FIXED_SAMPLE_SIZE - DMO_OUTPUT_STREAMF_FIXED_SAMPLE_SIZE - - - - No documentation. - - - DMO_OUTPUT_STREAMF_DISCARDABLE - DMO_OUTPUT_STREAMF_DISCARDABLE - - - - No documentation. - - - DMO_OUTPUT_STREAMF_OPTIONAL - DMO_OUTPUT_STREAMF_OPTIONAL - - - - None. - - - None - None - - - -

The DMO_PROCESS_OUTPUT_FLAGS enumeration defines flags that specify output processing requests.

-
- - dd375511 - _DMO_PROCESS_OUTPUT_FLAGS - _DMO_PROCESS_OUTPUT_FLAGS -
- - -

Discard the output when the reference to the output buffer is null.

-
- - dd375511 - DMO_PROCESS_OUTPUT_DISCARD_WHEN_NO_BUFFER - DMO_PROCESS_OUTPUT_DISCARD_WHEN_NO_BUFFER -
- - - None. - - - None - None - - - - No documentation. - - - _DMO_QUALITY_STATUS_FLAGS - _DMO_QUALITY_STATUS_FLAGS - - - - No documentation. - - - DMO_QUALITY_STATUS_ENABLED - DMO_QUALITY_STATUS_ENABLED - - - - None. - - - None - None - - - -

The DMO_SET_TYPE_FLAGS enumeration defines flags for setting the media type on a stream.

-
- -

The and flags are mutually exclusive. Do not set both flags.

-
- - dd375514 - _DMO_SET_TYPE_FLAGS - _DMO_SET_TYPE_FLAGS -
- - -

Test the media type but do not set it.

-
- - dd375514 - DMO_SET_TYPEF_TEST_ONLY - DMO_SET_TYPEF_TEST_ONLY -
- - -

Clear the media type that was set for the stream.

-
- - dd375514 - DMO_SET_TYPEF_CLEAR - DMO_SET_TYPEF_CLEAR -
- - - None. - - - None - None - - - - No documentation. - - - _DMO_VIDEO_OUTPUT_STREAM_FLAGS - _DMO_VIDEO_OUTPUT_STREAM_FLAGS - - - - No documentation. - - - DMO_VOSF_NEEDS_PREVIOUS_SAMPLE - DMO_VOSF_NEEDS_PREVIOUS_SAMPLE - - - - None. - - - None - None - - - - No documentation. - - - EAllocationType - EAllocationType - - - - No documentation. - - - eAllocationTypeDynamic - eAllocationTypeDynamic - - - - No documentation. - - - eAllocationTypeRT - eAllocationTypeRT - - - - No documentation. - - - eAllocationTypePageable - eAllocationTypePageable - - - - No documentation. - - - eAllocationTypeIgnore - eAllocationTypeIgnore - - - -

Contains flags that are used to configure the Microsoft DirectShow enhanced video renderer (EVR) filter.

-
- - dd318789 - EVRFilterConfigPrefs - EVRFilterConfigPrefs -
- - -

Enables dynamic adjustments to video quality during playback.

-
- - dd318789 - EVRFilterConfigPrefs_EnableQoS - EVRFilterConfigPrefs_EnableQoS -
- - -

Specifies the requested access mode for opening a file.

-
- - ms696239 - MF_FILE_ACCESSMODE - MF_FILE_ACCESSMODE -
- - -

Read mode.

-
- - ms696239 - MF_ACCESSMODE_READ - MF_ACCESSMODE_READ -
- - -

Write mode.

-
- - ms696239 - MF_ACCESSMODE_WRITE - MF_ACCESSMODE_WRITE -
- - -

Read and write mode.

-
- - ms696239 - MF_ACCESSMODE_READWRITE - MF_ACCESSMODE_READWRITE -
- - -

Specifies the behavior when opening a file.

-
- - ms694926 - MF_FILE_FLAGS - MF_FILE_FLAGS -
- - -

Use the default behavior.

-
- - ms694926 - MF_FILEFLAGS_NONE - MF_FILEFLAGS_NONE -
- - -

Open the file with no system caching.

-
- - ms694926 - MF_FILEFLAGS_NOBUFFERING - MF_FILEFLAGS_NOBUFFERING -
- - -

Subsequent open operations can have write access to the file.

Note??Requires Windows?7 or later. ?
-
- - ms694926 - MF_FILEFLAGS_ALLOW_WRITE_SHARING - MF_FILEFLAGS_ALLOW_WRITE_SHARING -
- - - None. - - - None - None - - - -

Specifies how to open or create a file.

-
- - ms694164 - MF_FILE_OPENMODE - MF_FILE_OPENMODE -
- - -

Open an existing file. Fail if the file does not exist.

-
- - ms694164 - MF_OPENMODE_FAIL_IF_NOT_EXIST - MF_OPENMODE_FAIL_IF_NOT_EXIST -
- - -

Create a new file. Fail if the file already exists.

-
- - ms694164 - MF_OPENMODE_FAIL_IF_EXIST - MF_OPENMODE_FAIL_IF_EXIST -
- - -

Open an existing file and truncate it, so that the size is zero bytes. Fail if the file does not already exist.

-
- - ms694164 - MF_OPENMODE_RESET_IF_EXIST - MF_OPENMODE_RESET_IF_EXIST -
- - -

If the file does not exist, create a new file. If the file exists, open it.

-
- - ms694164 - MF_OPENMODE_APPEND_IF_EXIST - MF_OPENMODE_APPEND_IF_EXIST -
- - -

Create a new file. If the file exists, overwrite the file.

-
- - ms694164 - MF_OPENMODE_DELETE_IF_EXIST - MF_OPENMODE_DELETE_IF_EXIST -
- - -

Describes the type of data provided by a frame source.

-
- -

The values of this enumeration are used with the MF_DEVICESTREAM_ATTRIBUTE_FRAMESOURCE_TYPES attribute.

-
- - mt764279 - MFFrameSourceTypes - MFFrameSourceTypes -
- - -

The frame source provides color data.

-
- - mt764279 - MFFrameSourceTypes_Color - MFFrameSourceTypes_Color -
- - -

The frame source provides infrared data.

-
- - mt764279 - MFFrameSourceTypes_Infrared - MFFrameSourceTypes_Infrared -
- - -

The frame source provides depth data.

-
- - mt764279 - MFFrameSourceTypes_Depth - MFFrameSourceTypes_Depth -
- - -

The frame source provides custom data.

-
- - mt764279 - MFFrameSourceTypes_Custom - MFFrameSourceTypes_Custom -
- - - No documentation. - - - MF_HDCP_STATUS - MF_HDCP_STATUS - - - - No documentation. - - - MF_HDCP_STATUS_ON - MF_HDCP_STATUS_ON - - - - No documentation. - - - MF_HDCP_STATUS_OFF - MF_HDCP_STATUS_OFF - - - - No documentation. - - - MF_HDCP_STATUS_ON_WITH_TYPE_ENFORCEMENT - MF_HDCP_STATUS_ON_WITH_TYPE_ENFORCEMENT - - - -

Specifies the likelihood that the Media Engine can play a specified type of media resource.

-
- - hh162836 - MF_MEDIA_ENGINE_CANPLAY - MF_MEDIA_ENGINE_CANPLAY -
- - -

The Media Engine cannot play the resource.

-
- - hh162836 - MF_MEDIA_ENGINE_CANPLAY_NOT_SUPPORTED - MF_MEDIA_ENGINE_CANPLAY_NOT_SUPPORTED -
- - -

The Media Engine might be able to play the resource.

-
- - hh162836 - MF_MEDIA_ENGINE_CANPLAY_MAYBE - MF_MEDIA_ENGINE_CANPLAY_MAYBE -
- - -

The Media Engine can probably play the resource.

-
- - hh162836 - MF_MEDIA_ENGINE_CANPLAY_PROBABLY - MF_MEDIA_ENGINE_CANPLAY_PROBABLY -
- - -

Contains flags for the method.

-
- - hh162839 - MF_MEDIA_ENGINE_CREATEFLAGS - MF_MEDIA_ENGINE_CREATEFLAGS -
- - - No documentation. - - - hh162839 - MF_MEDIA_ENGINE_AUDIOONLY - MF_MEDIA_ENGINE_AUDIOONLY - - - - No documentation. - - - hh162839 - MF_MEDIA_ENGINE_WAITFORSTABLE_STATE - MF_MEDIA_ENGINE_WAITFORSTABLE_STATE - - - - No documentation. - - - hh162839 - MF_MEDIA_ENGINE_FORCEMUTE - MF_MEDIA_ENGINE_FORCEMUTE - - - - No documentation. - - - hh162839 - MF_MEDIA_ENGINE_REAL_TIME_MODE - MF_MEDIA_ENGINE_REAL_TIME_MODE - - - - No documentation. - - - hh162839 - MF_MEDIA_ENGINE_DISABLE_LOCAL_PLUGINS - MF_MEDIA_ENGINE_DISABLE_LOCAL_PLUGINS - - - - No documentation. - - - hh162839 - MF_MEDIA_ENGINE_CREATEFLAGS_MASK - MF_MEDIA_ENGINE_CREATEFLAGS_MASK - - - - None. - - - None - None - - - -

Defines error status codes for the Media Engine.

-
- -

The values greater than zero correspond to error codes defined for the MediaError object in HTML5.

-
- - hh162841 - MF_MEDIA_ENGINE_ERR - MF_MEDIA_ENGINE_ERR -
- - -

No error.

-
- - hh162841 - MF_MEDIA_ENGINE_ERR_NOERROR - MF_MEDIA_ENGINE_ERR_NOERROR -
- - -

The process of fetching the media resource was stopped at the user's request.

-
- - hh162841 - MF_MEDIA_ENGINE_ERR_ABORTED - MF_MEDIA_ENGINE_ERR_ABORTED -
- - -

A network error occurred while fetching the media resource.

-
- - hh162841 - MF_MEDIA_ENGINE_ERR_NETWORK - MF_MEDIA_ENGINE_ERR_NETWORK -
- - -

An error occurred while decoding the media resource.

-
- - hh162841 - MF_MEDIA_ENGINE_ERR_DECODE - MF_MEDIA_ENGINE_ERR_DECODE -
- - -

The media resource is not supported.

-
- - hh162841 - MF_MEDIA_ENGINE_ERR_SRC_NOT_SUPPORTED - MF_MEDIA_ENGINE_ERR_SRC_NOT_SUPPORTED -
- - -

An error occurred while encrypting the media resource.

Supported in Windows?8.1 and later.

-
- - hh162841 - MF_MEDIA_ENGINE_ERR_ENCRYPTED - MF_MEDIA_ENGINE_ERR_ENCRYPTED -
- - -

Defines event codes for the Media Engine.

-
- -

The application receives Media Engine events through the method. The EventNotify method includes two event parameters, param1 and param2. The meaning of the parameters depends on the event code. If the event description does not list any parameters, ignore the values of param1 and param2.

Values below 1000 correspond to events defined in HTML 5 for media elements.

-
- - hh162842 - MF_MEDIA_ENGINE_EVENT - MF_MEDIA_ENGINE_EVENT -
- - -

The Media Engine has started to load the source. See .

-
- - hh162842 - MF_MEDIA_ENGINE_EVENT_LOADSTART - MF_MEDIA_ENGINE_EVENT_LOADSTART -
- - -

The Media Engine is loading the source.

-
- - hh162842 - MF_MEDIA_ENGINE_EVENT_PROGRESS - MF_MEDIA_ENGINE_EVENT_PROGRESS -
- - -

The Media Engine has suspended a load operation.

-
- - hh162842 - MF_MEDIA_ENGINE_EVENT_SUSPEND - MF_MEDIA_ENGINE_EVENT_SUSPEND -
- - -

The Media Engine cancelled a load operation that was in progress.

-
- - hh162842 - MF_MEDIA_ENGINE_EVENT_ABORT - MF_MEDIA_ENGINE_EVENT_ABORT -
- - -

An error occurred.

Event ParameterDescription
param1A member of the enumeration.
param2An error code, or zero.

?

-
- - hh162842 - MF_MEDIA_ENGINE_EVENT_ERROR - MF_MEDIA_ENGINE_EVENT_ERROR -
- - -

The Media Engine has switched to the state. This can occur when the method is called, or if an error occurs during the Load method. See .

-
- - hh162842 - MF_MEDIA_ENGINE_EVENT_EMPTIED - MF_MEDIA_ENGINE_EVENT_EMPTIED -
- - -

The Load algorithm is stalled, waiting for data.

-
- - hh162842 - MF_MEDIA_ENGINE_EVENT_STALLED - MF_MEDIA_ENGINE_EVENT_STALLED -
- - -

The Media Engine is switching to the playing state. See .

-
- - hh162842 - MF_MEDIA_ENGINE_EVENT_PLAY - MF_MEDIA_ENGINE_EVENT_PLAY -
- - -

The media engine has paused. See .

-
- - hh162842 - MF_MEDIA_ENGINE_EVENT_PAUSE - MF_MEDIA_ENGINE_EVENT_PAUSE -
- - -

The Media Engine has loaded enough source data to determine the duration and dimensions of the source.

-
- - hh162842 - MF_MEDIA_ENGINE_EVENT_LOADEDMETADATA - MF_MEDIA_ENGINE_EVENT_LOADEDMETADATA -
- - -

The Media Engine has loaded enough data to render some content (for example, a video frame).

-
- - hh162842 - MF_MEDIA_ENGINE_EVENT_LOADEDDATA - MF_MEDIA_ENGINE_EVENT_LOADEDDATA -
- - -

Playback has stopped because the next frame is not available.

-
- - hh162842 - MF_MEDIA_ENGINE_EVENT_WAITING - MF_MEDIA_ENGINE_EVENT_WAITING -
- - -

Playback has started. See .

-
- - hh162842 - MF_MEDIA_ENGINE_EVENT_PLAYING - MF_MEDIA_ENGINE_EVENT_PLAYING -
- - -

Playback can start, but the Media Engine might need to stop to buffer more data.

-
- - hh162842 - MF_MEDIA_ENGINE_EVENT_CANPLAY - MF_MEDIA_ENGINE_EVENT_CANPLAY -
- - -

The Media Engine can probably play through to the end of the resource, without stopping to buffer data.

-
- - hh162842 - MF_MEDIA_ENGINE_EVENT_CANPLAYTHROUGH - MF_MEDIA_ENGINE_EVENT_CANPLAYTHROUGH -
- - -

The Media Engine has started seeking to a new playback position. See .

-
- - hh162842 - MF_MEDIA_ENGINE_EVENT_SEEKING - MF_MEDIA_ENGINE_EVENT_SEEKING -
- - -

The Media Engine has seeked to a new playback position. See .

-
- - hh162842 - MF_MEDIA_ENGINE_EVENT_SEEKED - MF_MEDIA_ENGINE_EVENT_SEEKED -
- - -

The playback position has changed. See .

-
- - hh162842 - MF_MEDIA_ENGINE_EVENT_TIMEUPDATE - MF_MEDIA_ENGINE_EVENT_TIMEUPDATE -
- - -

Playback has reached the end of the source. This event is not sent if the GetLoopis TRUE.

-
- - hh162842 - MF_MEDIA_ENGINE_EVENT_ENDED - MF_MEDIA_ENGINE_EVENT_ENDED -
- - -

The playback rate has changed. See .

-
- - hh162842 - MF_MEDIA_ENGINE_EVENT_RATECHANGE - MF_MEDIA_ENGINE_EVENT_RATECHANGE -
- - -

The duration of the media source has changed. See .

-
- - hh162842 - MF_MEDIA_ENGINE_EVENT_DURATIONCHANGE - MF_MEDIA_ENGINE_EVENT_DURATIONCHANGE -
- - -

The audio volume changed. See .

-
- - hh162842 - MF_MEDIA_ENGINE_EVENT_VOLUMECHANGE - MF_MEDIA_ENGINE_EVENT_VOLUMECHANGE -
- - -

The output format of the media source has changed.

Event ParameterDescription
param1Zero if the video format changed, 1 if the audio format changed.
param2Zero.

?

-
- - hh162842 - MF_MEDIA_ENGINE_EVENT_FORMATCHANGE - MF_MEDIA_ENGINE_EVENT_FORMATCHANGE -
- - -

The Media Engine flushed any pending events from its queue.

-
- - hh162842 - MF_MEDIA_ENGINE_EVENT_PURGEQUEUEDEVENTS - MF_MEDIA_ENGINE_EVENT_PURGEQUEUEDEVENTS -
- - -

The playback position reached a timeline marker. See .

-
- - hh162842 - MF_MEDIA_ENGINE_EVENT_TIMELINE_MARKER - MF_MEDIA_ENGINE_EVENT_TIMELINE_MARKER -
- - -

The audio balance changed. See .

-
- - hh162842 - MF_MEDIA_ENGINE_EVENT_BALANCECHANGE - MF_MEDIA_ENGINE_EVENT_BALANCECHANGE -
- - -

The Media Engine has finished downloading the source data.

-
- - hh162842 - MF_MEDIA_ENGINE_EVENT_DOWNLOADCOMPLETE - MF_MEDIA_ENGINE_EVENT_DOWNLOADCOMPLETE -
- - -

The media source has started to buffer data.

-
- - hh162842 - MF_MEDIA_ENGINE_EVENT_BUFFERINGSTARTED - MF_MEDIA_ENGINE_EVENT_BUFFERINGSTARTED -
- - -

The media source has stopped buffering data.

-
- - hh162842 - MF_MEDIA_ENGINE_EVENT_BUFFERINGENDED - MF_MEDIA_ENGINE_EVENT_BUFFERINGENDED -
- - -

The method completed.

-
- - hh162842 - MF_MEDIA_ENGINE_EVENT_FRAMESTEPCOMPLETED - MF_MEDIA_ENGINE_EVENT_FRAMESTEPCOMPLETED -
- - -

The Media Engine's Load algorithm is waiting to start.

Event ParameterDescription
param1A handle to a waitable event, of type HANDLE.
param2Zero.

?

If Media Engine is created with the flag, the Media Engine sends the event at the start of the Load algorithm. The param1 parameter is a handle to a waitable event. The Load thread waits for the application to signal the event by calling SetEvent.

If the Media Engine is not created with the , it does not send this event, and the Load thread does not wait to be signalled.

-
- - hh162842 - MF_MEDIA_ENGINE_EVENT_NOTIFYSTABLESTATE - MF_MEDIA_ENGINE_EVENT_NOTIFYSTABLESTATE -
- - -

The first frame of the media source is ready to render.

-
- - hh162842 - MF_MEDIA_ENGINE_EVENT_FIRSTFRAMEREADY - MF_MEDIA_ENGINE_EVENT_FIRSTFRAMEREADY -
- - -

Raised when a new track is added or removed.

Supported in Windows?8.1 and later.

-
- - hh162842 - MF_MEDIA_ENGINE_EVENT_TRACKSCHANGE - MF_MEDIA_ENGINE_EVENT_TRACKSCHANGE -
- - -

Raised when there is new information about the Output Protection Manager (OPM).

This event will be raised when an OPM failure occurs, but ITA allows fallback without the OPM. In this case, constriction can be applied.

This event will not be raised when there is an OPM failure and the fallback also fails. For example, if ITA blocks playback entirely when OPM cannot be established.

Supported in Windows?8.1 and later.

-
- - hh162842 - MF_MEDIA_ENGINE_EVENT_OPMINFO - MF_MEDIA_ENGINE_EVENT_OPMINFO -
- - -

Raised when one of the component streams of a media stream fails. This event is only raised if the media stream contains other component streams that did not fail.

-
- - hh162842 - MF_MEDIA_ENGINE_EVENT_RESOURCELOST - MF_MEDIA_ENGINE_EVENT_RESOURCELOST -
- - - No documentation. - - - hh162842 - MF_MEDIA_ENGINE_EVENT_DELAYLOADEVENT_CHANGED - MF_MEDIA_ENGINE_EVENT_DELAYLOADEVENT_CHANGED - - - -

Raised when one of the component streams of a media stream fails. This event is only raised if the media stream contains other component streams that did not fail.

-
- - hh162842 - MF_MEDIA_ENGINE_EVENT_STREAMRENDERINGERROR - MF_MEDIA_ENGINE_EVENT_STREAMRENDERINGERROR -
- - - No documentation. - - - hh162842 - MF_MEDIA_ENGINE_EVENT_SUPPORTEDRATES_CHANGED - MF_MEDIA_ENGINE_EVENT_SUPPORTEDRATES_CHANGED - - - -

Specifies media engine extension types.

-
- - hh162844 - MF_MEDIA_ENGINE_EXTENSION_TYPE - MF_MEDIA_ENGINE_EXTENSION_TYPE -
- - -
-
- - hh162844 - MF_MEDIA_ENGINE_EXTENSION_TYPE_MEDIASOURCE - MF_MEDIA_ENGINE_EXTENSION_TYPE_MEDIASOURCE -
- - -
-
- - hh162844 - MF_MEDIA_ENGINE_EXTENSION_TYPE_BYTESTREAM - MF_MEDIA_ENGINE_EXTENSION_TYPE_BYTESTREAM -
- - -

Specifies the content protection requirements for a video frame.

-
- - hh162845 - MF_MEDIA_ENGINE_FRAME_PROTECTION_FLAGS - MF_MEDIA_ENGINE_FRAME_PROTECTION_FLAGS -
- - -

The video frame should be protected.

-
- - hh162845 - MF_MEDIA_ENGINE_FRAME_PROTECTION_FLAG_PROTECTED - MF_MEDIA_ENGINE_FRAME_PROTECTION_FLAG_PROTECTED -
- - -

Direct3D surface protection must be applied to any surface that contains the frame.

-
- - hh162845 - MF_MEDIA_ENGINE_FRAME_PROTECTION_FLAG_REQUIRES_SURFACE_PROTECTION - MF_MEDIA_ENGINE_FRAME_PROTECTION_FLAG_REQUIRES_SURFACE_PROTECTION -
- - -

Direct3D anti-screen-scrape protection must be applied to any surface that contains the frame.

-
- - hh162845 - MF_MEDIA_ENGINE_FRAME_PROTECTION_FLAG_REQUIRES_ANTI_SCREEN_SCRAPE_PROTECTION - MF_MEDIA_ENGINE_FRAME_PROTECTION_FLAG_REQUIRES_ANTI_SCREEN_SCRAPE_PROTECTION -
- - - None. - - - None - None - - - -

Defines media key error codes for the media engine.

-
- -

is used with the code parameter of and the code value returned from .

-
- - dn302188 - MF_MEDIA_ENGINE_KEYERR - MF_MEDIA_ENGINE_KEYERR -
- - -

Unknown error occurred.

-
- - dn302188 - MF_MEDIAENGINE_KEYERR_UNKNOWN - MF_MEDIAENGINE_KEYERR_UNKNOWN -
- - -

An error with the client occurred.

-
- - dn302188 - MF_MEDIAENGINE_KEYERR_CLIENT - MF_MEDIAENGINE_KEYERR_CLIENT -
- - -

An error with the service occurred.

-
- - dn302188 - MF_MEDIAENGINE_KEYERR_SERVICE - MF_MEDIAENGINE_KEYERR_SERVICE -
- - -

An error with the output occurred.

-
- - dn302188 - MF_MEDIAENGINE_KEYERR_OUTPUT - MF_MEDIAENGINE_KEYERR_OUTPUT -
- - -

An error occurred related to a hardware change.

-
- - dn302188 - MF_MEDIAENGINE_KEYERR_HARDWARECHANGE - MF_MEDIAENGINE_KEYERR_HARDWARECHANGE -
- - -

An error with the domain occurred.

-
- - dn302188 - MF_MEDIAENGINE_KEYERR_DOMAIN - MF_MEDIAENGINE_KEYERR_DOMAIN -
- - -

Defines network status codes for the Media Engine.

-
- - hh162846 - MF_MEDIA_ENGINE_NETWORK - MF_MEDIA_ENGINE_NETWORK -
- - -

The initial state.

-
- - hh162846 - MF_MEDIA_ENGINE_NETWORK_EMPTY - MF_MEDIA_ENGINE_NETWORK_EMPTY -
- - -

The Media Engine has started the resource selection algorithm, and has selected a media resource, but is not using the network.

-
- - hh162846 - MF_MEDIA_ENGINE_NETWORK_IDLE - MF_MEDIA_ENGINE_NETWORK_IDLE -
- - -

The Media Engine is loading a media resource.

-
- - hh162846 - MF_MEDIA_ENGINE_NETWORK_LOADING - MF_MEDIA_ENGINE_NETWORK_LOADING -
- - -

The Media Engine has started the resource selection algorithm, but has not selected a media resource.

-
- - hh162846 - MF_MEDIA_ENGINE_NETWORK_NO_SOURCE - MF_MEDIA_ENGINE_NETWORK_NO_SOURCE -
- - -

Defines the status of the Output Protection Manager (OPM).

-
- - dn302190 - MF_MEDIA_ENGINE_OPM_STATUS - MF_MEDIA_ENGINE_OPM_STATUS -
- - - No documentation. - - - dn302190 - MF_MEDIA_ENGINE_OPM_NOT_REQUESTED - MF_MEDIA_ENGINE_OPM_NOT_REQUESTED - - - - No documentation. - - - dn302190 - MF_MEDIA_ENGINE_OPM_ESTABLISHED - MF_MEDIA_ENGINE_OPM_ESTABLISHED - - - - No documentation. - - - dn302190 - MF_MEDIA_ENGINE_OPM_FAILED_VM - MF_MEDIA_ENGINE_OPM_FAILED_VM - - - - No documentation. - - - dn302190 - MF_MEDIA_ENGINE_OPM_FAILED_BDA - MF_MEDIA_ENGINE_OPM_FAILED_BDA - - - - No documentation. - - - dn302190 - MF_MEDIA_ENGINE_OPM_FAILED_UNSIGNED_DRIVER - MF_MEDIA_ENGINE_OPM_FAILED_UNSIGNED_DRIVER - - - - No documentation. - - - dn302190 - MF_MEDIA_ENGINE_OPM_FAILED - MF_MEDIA_ENGINE_OPM_FAILED - - - -

Defines preload hints for the Media Engine. These values correspond to the preload attribute of the HTMLMediaElement interface in HTML5.

-
- - hh162851 - MF_MEDIA_ENGINE_PRELOAD - MF_MEDIA_ENGINE_PRELOAD -
- - -

The preload attribute is missing.

-
- - hh162851 - MF_MEDIA_ENGINE_PRELOAD_MISSING - MF_MEDIA_ENGINE_PRELOAD_MISSING -
- - -

The preload attribute is an empty string. This value is equivalent to .

-
- - hh162851 - MF_MEDIA_ENGINE_PRELOAD_EMPTY - MF_MEDIA_ENGINE_PRELOAD_EMPTY -
- - -

The preload attribute is "none". This value is a hint to the user agent not to preload the resource.

-
- - hh162851 - MF_MEDIA_ENGINE_PRELOAD_NONE - MF_MEDIA_ENGINE_PRELOAD_NONE -
- - -

The preload attribute is "metadata". This value is a hint to the user agent to fetch the resource metadata.

-
- - hh162851 - MF_MEDIA_ENGINE_PRELOAD_METADATA - MF_MEDIA_ENGINE_PRELOAD_METADATA -
- - -

The preload attribute is "auto". This value is a hint to the user agent to preload the entire resource.

-
- - hh162851 - MF_MEDIA_ENGINE_PRELOAD_AUTOMATIC - MF_MEDIA_ENGINE_PRELOAD_AUTOMATIC -
- - -

Contains flags that specify whether the Media Engine will play protected content, and whether the Media Engine will use the Protected Media Path (PMP).

-
- -

These flags are used with the attribute.

-
- - hh162852 - MF_MEDIA_ENGINE_PROTECTION_FLAGS - MF_MEDIA_ENGINE_PROTECTION_FLAGS -
- - - No documentation. - - - hh162852 - MF_MEDIA_ENGINE_ENABLE_PROTECTED_CONTENT - MF_MEDIA_ENGINE_ENABLE_PROTECTED_CONTENT - - - - No documentation. - - - hh162852 - MF_MEDIA_ENGINE_USE_PMP_FOR_ALL_CONTENT - MF_MEDIA_ENGINE_USE_PMP_FOR_ALL_CONTENT - - - - No documentation. - - - hh162852 - MF_MEDIA_ENGINE_USE_UNPROTECTED_PMP - MF_MEDIA_ENGINE_USE_UNPROTECTED_PMP - - - - None. - - - None - None - - - -

Defines ready-state values for the Media Engine.

-
- -

These values correspond to constants defined for the HTMLMediaElement.readyState attribute in HTML5.

-
- - hh162853 - MF_MEDIA_ENGINE_READY - MF_MEDIA_ENGINE_READY -
- - -

No data is available.

-
- - hh162853 - MF_MEDIA_ENGINE_READY_HAVE_NOTHING - MF_MEDIA_ENGINE_READY_HAVE_NOTHING -
- - -

Some metadata is available, including the duration and, for video files, the video dimensions. No media data is available.

-
- - hh162853 - MF_MEDIA_ENGINE_READY_HAVE_METADATA - MF_MEDIA_ENGINE_READY_HAVE_METADATA -
- - -

There is media data for the current playback position, but not enough data for playback or seeking.

-
- - hh162853 - MF_MEDIA_ENGINE_READY_HAVE_CURRENT_DATA - MF_MEDIA_ENGINE_READY_HAVE_CURRENT_DATA -
- - -

There is enough media data to enable some playback or seeking. The amount of data might be a little as the next video frame.

-
- - hh162853 - MF_MEDIA_ENGINE_READY_HAVE_FUTURE_DATA - MF_MEDIA_ENGINE_READY_HAVE_FUTURE_DATA -
- - -

There is enough data to play the resource, based on the current rate at which the resource is being fetched.

-
- - hh162853 - MF_MEDIA_ENGINE_READY_HAVE_ENOUGH_DATA - MF_MEDIA_ENGINE_READY_HAVE_ENOUGH_DATA -
- - -

Specifies the layout for a packed 3D video frame.

-
- - hh162854 - MF_MEDIA_ENGINE_S3D_PACKING_MODE - MF_MEDIA_ENGINE_S3D_PACKING_MODE -
- - -

None.

-
- - hh162854 - MF_MEDIA_ENGINE_S3D_PACKING_MODE_NONE - MF_MEDIA_ENGINE_S3D_PACKING_MODE_NONE -
- - -

The views are packed side-by-side in a single frame.

-
- - hh162854 - MF_MEDIA_ENGINE_S3D_PACKING_MODE_SIDE_BY_SIDE - MF_MEDIA_ENGINE_S3D_PACKING_MODE_SIDE_BY_SIDE -
- - -

The views are packed top-to-bottom in a single frame.

-
- - hh162854 - MF_MEDIA_ENGINE_S3D_PACKING_MODE_TOP_BOTTOM - MF_MEDIA_ENGINE_S3D_PACKING_MODE_TOP_BOTTOM -
- - -

Defines values for the media engine seek mode.

-
- -

This enumeration is used with the MediaEngineEx::SetCurrentTimeEx.

-
- - jj128345 - MF_MEDIA_ENGINE_SEEK_MODE - MF_MEDIA_ENGINE_SEEK_MODE -
- - -

Specifies normal seek.

-
- - jj128345 - MF_MEDIA_ENGINE_SEEK_MODE_NORMAL - MF_MEDIA_ENGINE_SEEK_MODE_NORMAL -
- - -

Specifies an approximate seek.

-
- - jj128345 - MF_MEDIA_ENGINE_SEEK_MODE_APPROXIMATE - MF_MEDIA_ENGINE_SEEK_MODE_APPROXIMATE -
- - -

Identifies statistics that the Media Engine tracks during playback. To get a playback statistic from the Media Engine, call .

In the descriptions that follow, the data type and value-type tag for the are listed in parentheses.

-
- - hh162855 - MF_MEDIA_ENGINE_STATISTIC - MF_MEDIA_ENGINE_STATISTIC -
- - - No documentation. - - - hh162855 - MF_MEDIA_ENGINE_STATISTIC_FRAMES_RENDERED - MF_MEDIA_ENGINE_STATISTIC_FRAMES_RENDERED - - - - No documentation. - - - hh162855 - MF_MEDIA_ENGINE_STATISTIC_FRAMES_DROPPED - MF_MEDIA_ENGINE_STATISTIC_FRAMES_DROPPED - - - - No documentation. - - - hh162855 - MF_MEDIA_ENGINE_STATISTIC_BYTES_DOWNLOADED - MF_MEDIA_ENGINE_STATISTIC_BYTES_DOWNLOADED - - - - No documentation. - - - hh162855 - MF_MEDIA_ENGINE_STATISTIC_BUFFER_PROGRESS - MF_MEDIA_ENGINE_STATISTIC_BUFFER_PROGRESS - - - - No documentation. - - - hh162855 - MF_MEDIA_ENGINE_STATISTIC_FRAMES_PER_SECOND - MF_MEDIA_ENGINE_STATISTIC_FRAMES_PER_SECOND - - - - No documentation. - - - hh162855 - MF_MEDIA_ENGINE_STATISTIC_PLAYBACK_JITTER - MF_MEDIA_ENGINE_STATISTIC_PLAYBACK_JITTER - - - - No documentation. - - - hh162855 - MF_MEDIA_ENGINE_STATISTIC_FRAMES_CORRUPTED - MF_MEDIA_ENGINE_STATISTIC_FRAMES_CORRUPTED - - - - No documentation. - - - hh162855 - MF_MEDIA_ENGINE_STATISTIC_TOTAL_FRAME_DELAY - MF_MEDIA_ENGINE_STATISTIC_TOTAL_FRAME_DELAY - - - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Identifies the kind of media stream that failed.

-
- - dn879054 - MF_MEDIA_ENGINE_STREAMTYPE_FAILED - MF_MEDIA_ENGINE_STREAMTYPE_FAILED -
- - -

The stream type is unknown.

-
- - dn879054 - MF_MEDIA_ENGINE_STREAMTYPE_FAILED_UNKNOWN - MF_MEDIA_ENGINE_STREAMTYPE_FAILED_UNKNOWN -
- - -

The stream is an audio stream.

-
- - dn879054 - MF_MEDIA_ENGINE_STREAMTYPE_FAILED_AUDIO - MF_MEDIA_ENGINE_STREAMTYPE_FAILED_AUDIO -
- - -

The stream is a video stream.

-
- - dn879054 - MF_MEDIA_ENGINE_STREAMTYPE_FAILED_VIDEO - MF_MEDIA_ENGINE_STREAMTYPE_FAILED_VIDEO -
- - - No documentation. - - - __MIDL___MIDL_itf_mfobjects_0000_0012_0001 - __MIDL___MIDL_itf_mfobjects_0000_0012_0001 - - - - No documentation. - - - MEUnknown - MEUnknown - - - - No documentation. - - - MEError - MEError - - - - No documentation. - - - MEExtendedType - MEExtendedType - - - - No documentation. - - - MENonFatalError - MENonFatalError - - - - No documentation. - - - MEGenericV1Anchor - MEGenericV1Anchor - - - - No documentation. - - - MESessionUnknown - MESessionUnknown - - - - No documentation. - - - MESessionTopologySet - MESessionTopologySet - - - - No documentation. - - - MESessionTopologiesCleared - MESessionTopologiesCleared - - - - No documentation. - - - MESessionStarted - MESessionStarted - - - - No documentation. - - - MESessionPaused - MESessionPaused - - - - No documentation. - - - MESessionStopped - MESessionStopped - - - - No documentation. - - - MESessionClosed - MESessionClosed - - - - No documentation. - - - MESessionEnded - MESessionEnded - - - - No documentation. - - - MESessionRateChanged - MESessionRateChanged - - - - No documentation. - - - MESessionScrubSampleComplete - MESessionScrubSampleComplete - - - - No documentation. - - - MESessionCapabilitiesChanged - MESessionCapabilitiesChanged - - - - No documentation. - - - MESessionTopologyStatus - MESessionTopologyStatus - - - - No documentation. - - - MESessionNotifyPresentationTime - MESessionNotifyPresentationTime - - - - No documentation. - - - MENewPresentation - MENewPresentation - - - - No documentation. - - - MELicenseAcquisitionStart - MELicenseAcquisitionStart - - - - No documentation. - - - MELicenseAcquisitionCompleted - MELicenseAcquisitionCompleted - - - - No documentation. - - - MEIndividualizationStart - MEIndividualizationStart - - - - No documentation. - - - MEIndividualizationCompleted - MEIndividualizationCompleted - - - - No documentation. - - - MEEnablerProgress - MEEnablerProgress - - - - No documentation. - - - MEEnablerCompleted - MEEnablerCompleted - - - - No documentation. - - - MEPolicyError - MEPolicyError - - - - No documentation. - - - MEPolicyReport - MEPolicyReport - - - - No documentation. - - - MEBufferingStarted - MEBufferingStarted - - - - No documentation. - - - MEBufferingStopped - MEBufferingStopped - - - - No documentation. - - - MEConnectStart - MEConnectStart - - - - No documentation. - - - MEConnectEnd - MEConnectEnd - - - - No documentation. - - - MEReconnectStart - MEReconnectStart - - - - No documentation. - - - MEReconnectEnd - MEReconnectEnd - - - - No documentation. - - - MERendererEvent - MERendererEvent - - - - No documentation. - - - MESessionStreamSinkFormatChanged - MESessionStreamSinkFormatChanged - - - - No documentation. - - - MESessionV1Anchor - MESessionV1Anchor - - - - No documentation. - - - MESourceUnknown - MESourceUnknown - - - - No documentation. - - - MESourceStarted - MESourceStarted - - - - No documentation. - - - MEStreamStarted - MEStreamStarted - - - - No documentation. - - - MESourceSeeked - MESourceSeeked - - - - No documentation. - - - MEStreamSeeked - MEStreamSeeked - - - - No documentation. - - - MENewStream - MENewStream - - - - No documentation. - - - MEUpdatedStream - MEUpdatedStream - - - - No documentation. - - - MESourceStopped - MESourceStopped - - - - No documentation. - - - MEStreamStopped - MEStreamStopped - - - - No documentation. - - - MESourcePaused - MESourcePaused - - - - No documentation. - - - MEStreamPaused - MEStreamPaused - - - - No documentation. - - - MEEndOfPresentation - MEEndOfPresentation - - - - No documentation. - - - MEEndOfStream - MEEndOfStream - - - - No documentation. - - - MEMediaSample - MEMediaSample - - - - No documentation. - - - MEStreamTick - MEStreamTick - - - - No documentation. - - - MEStreamThinMode - MEStreamThinMode - - - - No documentation. - - - MEStreamFormatChanged - MEStreamFormatChanged - - - - No documentation. - - - MESourceRateChanged - MESourceRateChanged - - - - No documentation. - - - MEEndOfPresentationSegment - MEEndOfPresentationSegment - - - - No documentation. - - - MESourceCharacteristicsChanged - MESourceCharacteristicsChanged - - - - No documentation. - - - MESourceRateChangeRequested - MESourceRateChangeRequested - - - - No documentation. - - - MESourceMetadataChanged - MESourceMetadataChanged - - - - No documentation. - - - MESequencerSourceTopologyUpdated - MESequencerSourceTopologyUpdated - - - - No documentation. - - - MESourceV1Anchor - MESourceV1Anchor - - - - No documentation. - - - MESinkUnknown - MESinkUnknown - - - - No documentation. - - - MEStreamSinkStarted - MEStreamSinkStarted - - - - No documentation. - - - MEStreamSinkStopped - MEStreamSinkStopped - - - - No documentation. - - - MEStreamSinkPaused - MEStreamSinkPaused - - - - No documentation. - - - MEStreamSinkRateChanged - MEStreamSinkRateChanged - - - - No documentation. - - - MEStreamSinkRequestSample - MEStreamSinkRequestSample - - - - No documentation. - - - MEStreamSinkMarker - MEStreamSinkMarker - - - - No documentation. - - - MEStreamSinkPrerolled - MEStreamSinkPrerolled - - - - No documentation. - - - MEStreamSinkScrubSampleComplete - MEStreamSinkScrubSampleComplete - - - - No documentation. - - - MEStreamSinkFormatChanged - MEStreamSinkFormatChanged - - - - No documentation. - - - MEStreamSinkDeviceChanged - MEStreamSinkDeviceChanged - - - - No documentation. - - - MEQualityNotify - MEQualityNotify - - - - No documentation. - - - MESinkInvalidated - MESinkInvalidated - - - - No documentation. - - - MEAudioSessionNameChanged - MEAudioSessionNameChanged - - - - No documentation. - - - MEAudioSessionVolumeChanged - MEAudioSessionVolumeChanged - - - - No documentation. - - - MEAudioSessionDeviceRemoved - MEAudioSessionDeviceRemoved - - - - No documentation. - - - MEAudioSessionServerShutdown - MEAudioSessionServerShutdown - - - - No documentation. - - - MEAudioSessionGroupingParamChanged - MEAudioSessionGroupingParamChanged - - - - No documentation. - - - MEAudioSessionIconChanged - MEAudioSessionIconChanged - - - - No documentation. - - - MEAudioSessionFormatChanged - MEAudioSessionFormatChanged - - - - No documentation. - - - MEAudioSessionDisconnected - MEAudioSessionDisconnected - - - - No documentation. - - - MEAudioSessionExclusiveModeOverride - MEAudioSessionExclusiveModeOverride - - - - No documentation. - - - MESinkV1Anchor - MESinkV1Anchor - - - - No documentation. - - - MECaptureAudioSessionVolumeChanged - MECaptureAudioSessionVolumeChanged - - - - No documentation. - - - MECaptureAudioSessionDeviceRemoved - MECaptureAudioSessionDeviceRemoved - - - - No documentation. - - - MECaptureAudioSessionFormatChanged - MECaptureAudioSessionFormatChanged - - - - No documentation. - - - MECaptureAudioSessionDisconnected - MECaptureAudioSessionDisconnected - - - - No documentation. - - - MECaptureAudioSessionExclusiveModeOverride - MECaptureAudioSessionExclusiveModeOverride - - - - No documentation. - - - MECaptureAudioSessionServerShutdown - MECaptureAudioSessionServerShutdown - - - - No documentation. - - - MESinkV2Anchor - MESinkV2Anchor - - - - No documentation. - - - METrustUnknown - METrustUnknown - - - - No documentation. - - - MEPolicyChanged - MEPolicyChanged - - - - No documentation. - - - MEContentProtectionMessage - MEContentProtectionMessage - - - - No documentation. - - - MEPolicySet - MEPolicySet - - - - No documentation. - - - METrustV1Anchor - METrustV1Anchor - - - - No documentation. - - - MEWMDRMLicenseBackupCompleted - MEWMDRMLicenseBackupCompleted - - - - No documentation. - - - MEWMDRMLicenseBackupProgress - MEWMDRMLicenseBackupProgress - - - - No documentation. - - - MEWMDRMLicenseRestoreCompleted - MEWMDRMLicenseRestoreCompleted - - - - No documentation. - - - MEWMDRMLicenseRestoreProgress - MEWMDRMLicenseRestoreProgress - - - - No documentation. - - - MEWMDRMLicenseAcquisitionCompleted - MEWMDRMLicenseAcquisitionCompleted - - - - No documentation. - - - MEWMDRMIndividualizationCompleted - MEWMDRMIndividualizationCompleted - - - - No documentation. - - - MEWMDRMIndividualizationProgress - MEWMDRMIndividualizationProgress - - - - No documentation. - - - MEWMDRMProximityCompleted - MEWMDRMProximityCompleted - - - - No documentation. - - - MEWMDRMLicenseStoreCleaned - MEWMDRMLicenseStoreCleaned - - - - No documentation. - - - MEWMDRMRevocationDownloadCompleted - MEWMDRMRevocationDownloadCompleted - - - - No documentation. - - - MEWMDRMV1Anchor - MEWMDRMV1Anchor - - - - No documentation. - - - METransformUnknown - METransformUnknown - - - - No documentation. - - - METransformNeedInput - METransformNeedInput - - - - No documentation. - - - METransformHaveOutput - METransformHaveOutput - - - - No documentation. - - - METransformDrainComplete - METransformDrainComplete - - - - No documentation. - - - METransformMarker - METransformMarker - - - - No documentation. - - - METransformInputStreamStateChanged - METransformInputStreamStateChanged - - - - No documentation. - - - MEByteStreamCharacteristicsChanged - MEByteStreamCharacteristicsChanged - - - - No documentation. - - - MEVideoCaptureDeviceRemoved - MEVideoCaptureDeviceRemoved - - - - No documentation. - - - MEVideoCaptureDevicePreempted - MEVideoCaptureDevicePreempted - - - - No documentation. - - - MEStreamSinkFormatInvalidated - MEStreamSinkFormatInvalidated - - - - No documentation. - - - MEEncodingParameters - MEEncodingParameters - - - - No documentation. - - - MEContentProtectionMetadata - MEContentProtectionMetadata - - - - No documentation. - - - MEDeviceThermalStateChanged - MEDeviceThermalStateChanged - - - - No documentation. - - - MEReservedMax - MEReservedMax - - - - No documentation. - - - MF_MEDIAKEYSESSION_MESSAGETYPE - MF_MEDIAKEYSESSION_MESSAGETYPE - - - - No documentation. - - - MF_MEDIAKEYSESSION_MESSAGETYPE_LICENSE_REQUEST - MF_MEDIAKEYSESSION_MESSAGETYPE_LICENSE_REQUEST - - - - No documentation. - - - MF_MEDIAKEYSESSION_MESSAGETYPE_LICENSE_RENEWAL - MF_MEDIAKEYSESSION_MESSAGETYPE_LICENSE_RENEWAL - - - - No documentation. - - - MF_MEDIAKEYSESSION_MESSAGETYPE_LICENSE_RELEASE - MF_MEDIAKEYSESSION_MESSAGETYPE_LICENSE_RELEASE - - - - No documentation. - - - MF_MEDIAKEYSESSION_MESSAGETYPE_INDIVIDUALIZATION_REQUEST - MF_MEDIAKEYSESSION_MESSAGETYPE_INDIVIDUALIZATION_REQUEST - - - - No documentation. - - - MF_MEDIAKEYSESSION_TYPE - MF_MEDIAKEYSESSION_TYPE - - - - No documentation. - - - MF_MEDIAKEYSESSION_TYPE_TEMPORARY - MF_MEDIAKEYSESSION_TYPE_TEMPORARY - - - - No documentation. - - - MF_MEDIAKEYSESSION_TYPE_PERSISTENT_LICENSE - MF_MEDIAKEYSESSION_TYPE_PERSISTENT_LICENSE - - - - No documentation. - - - MF_MEDIAKEYSESSION_TYPE_PERSISTENT_RELEASE_MESSAGE - MF_MEDIAKEYSESSION_TYPE_PERSISTENT_RELEASE_MESSAGE - - - - No documentation. - - - MF_MEDIAKEYS_REQUIREMENT - MF_MEDIAKEYS_REQUIREMENT - - - - No documentation. - - - MF_MEDIAKEYS_REQUIREMENT_REQUIRED - MF_MEDIAKEYS_REQUIREMENT_REQUIRED - - - - No documentation. - - - MF_MEDIAKEYS_REQUIREMENT_OPTIONAL - MF_MEDIAKEYS_REQUIREMENT_OPTIONAL - - - - No documentation. - - - MF_MEDIAKEYS_REQUIREMENT_NOT_ALLOWED - MF_MEDIAKEYS_REQUIREMENT_NOT_ALLOWED - - - - No documentation. - - - MF_MEDIAKEY_STATUS - MF_MEDIAKEY_STATUS - - - - No documentation. - - - MF_MEDIAKEY_STATUS_USABLE - MF_MEDIAKEY_STATUS_USABLE - - - - No documentation. - - - MF_MEDIAKEY_STATUS_EXPIRED - MF_MEDIAKEY_STATUS_EXPIRED - - - - No documentation. - - - MF_MEDIAKEY_STATUS_OUTPUT_DOWNSCALED - MF_MEDIAKEY_STATUS_OUTPUT_DOWNSCALED - - - - No documentation. - - - MF_MEDIAKEY_STATUS_OUTPUT_NOT_ALLOWED - MF_MEDIAKEY_STATUS_OUTPUT_NOT_ALLOWED - - - - No documentation. - - - MF_MEDIAKEY_STATUS_STATUS_PENDING - MF_MEDIAKEY_STATUS_STATUS_PENDING - - - - No documentation. - - - MF_MEDIAKEY_STATUS_INTERNAL_ERROR - MF_MEDIAKEY_STATUS_INTERNAL_ERROR - - - -

Defines the characteristics of a media source. These flags are retrieved by the method.

-
- -

To skip forward or backward in a playlist, call or with the MF_TIME_FORMAT_ENTRY_RELATIVE time-format . This capability applies only when the flag is present.

-
- - ms694277 - MFMEDIASOURCE_CHARACTERISTICS - MFMEDIASOURCE_CHARACTERISTICS -
- - - No documentation. - - - ms694277 - MFMEDIASOURCE_IS_LIVE - MFMEDIASOURCE_IS_LIVE - - - - No documentation. - - - ms694277 - MFMEDIASOURCE_CAN_SEEK - MFMEDIASOURCE_CAN_SEEK - - - - No documentation. - - - ms694277 - MFMEDIASOURCE_CAN_PAUSE - MFMEDIASOURCE_CAN_PAUSE - - - - No documentation. - - - ms694277 - MFMEDIASOURCE_HAS_SLOW_SEEK - MFMEDIASOURCE_HAS_SLOW_SEEK - - - - No documentation. - - - ms694277 - MFMEDIASOURCE_HAS_MULTIPLE_PRESENTATIONS - MFMEDIASOURCE_HAS_MULTIPLE_PRESENTATIONS - - - - No documentation. - - - ms694277 - MFMEDIASOURCE_CAN_SKIPFORWARD - MFMEDIASOURCE_CAN_SKIPFORWARD - - - - No documentation. - - - ms694277 - MFMEDIASOURCE_CAN_SKIPBACKWARD - MFMEDIASOURCE_CAN_SKIPBACKWARD - - - - No documentation. - - - ms694277 - MFMEDIASOURCE_DOES_NOT_USE_NETWORK - MFMEDIASOURCE_DOES_NOT_USE_NETWORK - - - - No documentation. - - - MF_MEDIASOURCE_STATUS_INFO - MF_MEDIASOURCE_STATUS_INFO - - - - No documentation. - - - MF_MEDIASOURCE_STATUS_INFO_FULLYSUPPORTED - MF_MEDIASOURCE_STATUS_INFO_FULLYSUPPORTED - - - - No documentation. - - - MF_MEDIASOURCE_STATUS_INFO_UNKNOWN - MF_MEDIASOURCE_STATUS_INFO_UNKNOWN - - - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Specifies options for the function.

-
- -

The following typedef is defined for combining flags from this enumeration.

typedef UINT32 MFP_CREATION_OPTIONS; -
- - dd757934 - _MFP_CREATION_OPTIONS - _MFP_CREATION_OPTIONS -
- - - No documentation. - - - dd757934 - MFP_OPTION_NONE - MFP_OPTION_NONE - - - - No documentation. - - - dd757934 - MFP_OPTION_FREE_THREADED_CALLBACK - MFP_OPTION_FREE_THREADED_CALLBACK - - - - No documentation. - - - dd757934 - MFP_OPTION_NO_MMCSS - MFP_OPTION_NO_MMCSS - - - - No documentation. - - - dd757934 - MFP_OPTION_NO_REMOTE_DESKTOP_OPTIMIZATION - MFP_OPTION_NO_REMOTE_DESKTOP_OPTIMIZATION - - - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Contains flags for the structure.

Some of these flags, marked [out], convey information back to the MFPlay player object. The application should set or clear these flags as appropriate, before returning from the callback method.

-
- - dd757935 - _MFP_CREDENTIAL_FLAGS - _MFP_CREDENTIAL_FLAGS -
- - - No documentation. - - - dd757935 - MFP_CREDENTIAL_PROMPT - MFP_CREDENTIAL_PROMPT - - - - No documentation. - - - dd757935 - MFP_CREDENTIAL_SAVE - MFP_CREDENTIAL_SAVE - - - - No documentation. - - - dd757935 - MFP_CREDENTIAL_DO_NOT_CACHE - MFP_CREDENTIAL_DO_NOT_CACHE - - - - No documentation. - - - dd757935 - MFP_CREDENTIAL_CLEAR_TEXT - MFP_CREDENTIAL_CLEAR_TEXT - - - - No documentation. - - - dd757935 - MFP_CREDENTIAL_PROXY - MFP_CREDENTIAL_PROXY - - - - No documentation. - - - dd757935 - MFP_CREDENTIAL_LOGGED_ON_USER - MFP_CREDENTIAL_LOGGED_ON_USER - - - - None. - - - None - None - - - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Contains flags that describe a media item.

-
- -

The following typedef is defined for combining flags from this enumeration.

typedef UINT32 MFP_MEDIAITEM_CHARACTERISTICS; -
- - dd757936 - _MFP_MEDIAITEM_CHARACTERISTICS - _MFP_MEDIAITEM_CHARACTERISTICS -
- - - No documentation. - - - dd757936 - MFP_MEDIAITEM_IS_LIVE - MFP_MEDIAITEM_IS_LIVE - - - - No documentation. - - - dd757936 - MFP_MEDIAITEM_CAN_SEEK - MFP_MEDIAITEM_CAN_SEEK - - - - No documentation. - - - dd757936 - MFP_MEDIAITEM_CAN_PAUSE - MFP_MEDIAITEM_CAN_PAUSE - - - - No documentation. - - - dd757936 - MFP_MEDIAITEM_HAS_SLOW_SEEK - MFP_MEDIAITEM_HAS_SLOW_SEEK - - - -

Not supported.

Note??Earlier versions of this documentation described the _MFT_DRAIN_TYPE enumeration incorrectly. The enumeration is not supported. For more information, see .? -
- - ms700116 - _MFT_DRAIN_TYPE - _MFT_DRAIN_TYPE -
- - - No documentation. - - - ms700116 - MFT_DRAIN_PRODUCE_TAILS - MFT_DRAIN_PRODUCE_TAILS - - - - No documentation. - - - ms700116 - MFT_DRAIN_NO_TAILS - MFT_DRAIN_NO_TAILS - - - -

Defines flags for the method. Currently no flags are defined.

-
- - ms694836 - _MFT_INPUT_DATA_BUFFER_FLAGS - _MFT_INPUT_DATA_BUFFER_FLAGS -
- - - No documentation. - - - ms694836 - MFT_INPUT_DATA_BUFFER_PLACEHOLDER - MFT_INPUT_DATA_BUFFER_PLACEHOLDER - - - - None. - - - None - None - - - -

Indicates the status of an input stream on a Media Foundation transform (MFT).

-
- - ms703084 - _MFT_INPUT_STATUS_FLAGS - _MFT_INPUT_STATUS_FLAGS -
- - -

The input stream can receive more data at this time. To deliver more input data, call .

-
- - ms703084 - MFT_INPUT_STATUS_ACCEPT_DATA - MFT_INPUT_STATUS_ACCEPT_DATA -
- - - None. - - - None - None - - - -

Describes an input stream on a Media Foundation transform (MFT).

-
- -

Before the client sets the media types on the transform, the only flags guaranteed to be accurate are the and flags. For all other flags, the client should first set the media type on every non-optional stream.

In the default processing model, an MFT holds a reference count on the sample that it receives in ProcessInput. It does not process the sample immediately inside ProcessInput. When ProcessOutput is called, the MFT produces output data and then discards the input sample. The following variations on this model are defined:

  • If an MFT never holds onto input samples between ProcessInput and ProcessOutput, it can set the .

  • If an MFT holds some input samples beyond the next call to ProcessOutput, it can set the .

-
- - ms703975 - _MFT_INPUT_STREAM_INFO_FLAGS - _MFT_INPUT_STREAM_INFO_FLAGS -
- - -

Each media sample ( interface) of input data must contain complete, unbroken units of data. The definition of a unit of data depends on the media type: For uncompressed video, a video frame; for compressed data, a compressed packet; for uncompressed audio, a single audio frame.

For uncompressed audio formats, this flag is always implied. (It is valid to set the flag, but not required.) An uncompressed audio frame should never span more than one media sample.

-
- - ms703975 - MFT_INPUT_STREAM_WHOLE_SAMPLES - MFT_INPUT_STREAM_WHOLE_SAMPLES -
- - -

Each media sample that the client provides as input must contain exactly one unit of data, as defined for the flag.

If this flag is present, the flag must also be present.

An MFT that processes uncompressed audio should not set this flag. The MFT should accept buffers that contain more than a single audio frame, for efficiency.

-
- - ms703975 - MFT_INPUT_STREAM_SINGLE_SAMPLE_PER_BUFFER - MFT_INPUT_STREAM_SINGLE_SAMPLE_PER_BUFFER -
- - -

All input samples must be the same size. The size is given in the cbSize member of the structure. The MFT must provide this value. During processing, the MFT should verify the size of input samples, and may drop samples with incorrect size.

-
- - ms703975 - MFT_INPUT_STREAM_FIXED_SAMPLE_SIZE - MFT_INPUT_STREAM_FIXED_SAMPLE_SIZE -
- - -

The MFT might hold one or more input samples after is called. If this flag is present, the hnsMaxLatency member of the structure gives the maximum latency, and the cbMaxLookahead member gives the maximum number of bytes of lookahead.

-
- - ms703975 - MFT_INPUT_STREAM_HOLDS_BUFFERS - MFT_INPUT_STREAM_HOLDS_BUFFERS -
- - -

The MFT does not hold input samples after the method returns. It releases the sample before the ProcessInput method returns.

If this flag is absent, the MFT might hold a reference count on the samples that are passed to the ProcessInput method. The client must not re-use or delete the buffer memory until the MFT releases the sample's reference.

If this flag is absent, it does not guarantee that the MFT holds a reference count on the input samples. It is valid for an MFT to release input samples in ProcessInput even if the MFT does not set this flag. However, setting this flag might enable to client to optimize how it re-uses buffers.

An MFT should not set this flag if it ever holds onto an input sample after returning from ProcessInput.

-
- - ms703975 - MFT_INPUT_STREAM_DOES_NOT_ADDREF - MFT_INPUT_STREAM_DOES_NOT_ADDREF -
- - -

This input stream can be removed by calling .

-
- - ms703975 - MFT_INPUT_STREAM_REMOVABLE - MFT_INPUT_STREAM_REMOVABLE -
- - -

This input stream is optional. The transform can produce output without receiving input from this stream. The caller can deselect the stream by not setting a media type or by setting a null media type. It is possible for every input stream on a transform to be optional, but at least one input must be selected in order to produce output.

-
- - ms703975 - MFT_INPUT_STREAM_OPTIONAL - MFT_INPUT_STREAM_OPTIONAL -
- - -

The MFT can perform in-place processing. In this mode, the MFT directly modifies the input buffer. When the client calls ProcessOutput, the same sample that was delivered to this stream is returned in the output stream that has a matching stream identifier. This flag implies that the MFT holds onto the input buffer, so this flag cannot combined with the flag.

If this flag is present, the MFT must set the or flag for the output stream that corresponds to this input stream. (See ).

-
- - ms703975 - MFT_INPUT_STREAM_PROCESSES_IN_PLACE - MFT_INPUT_STREAM_PROCESSES_IN_PLACE -
- - - None. - - - None - None - - - -

Defines flags for the method.

-
- -

The values in this enumeration are not bit flags, so they should not be combined with a bitwise OR. Also, the caller should test for these flags with the equality operator, not a bitwise AND:

// Correct. - if (Buffer.dwStatus == ) - { ... - } // Incorrect. - if ((Buffer.dwStatus & ) != 0) - { ... - } - -
- - ms702281 - _MFT_OUTPUT_DATA_BUFFER_FLAGS - _MFT_OUTPUT_DATA_BUFFER_FLAGS -
- - - No documentation. - - - ms702281 - MFT_OUTPUT_DATA_BUFFER_INCOMPLETE - MFT_OUTPUT_DATA_BUFFER_INCOMPLETE - - - - No documentation. - - - ms702281 - MFT_OUTPUT_DATA_BUFFER_FORMAT_CHANGE - MFT_OUTPUT_DATA_BUFFER_FORMAT_CHANGE - - - - No documentation. - - - ms702281 - MFT_OUTPUT_DATA_BUFFER_STREAM_END - MFT_OUTPUT_DATA_BUFFER_STREAM_END - - - - No documentation. - - - ms702281 - MFT_OUTPUT_DATA_BUFFER_NO_SAMPLE - MFT_OUTPUT_DATA_BUFFER_NO_SAMPLE - - - - None. - - - None - None - - - -

Indicates whether a Media Foundation transform (MFT) can produce output data.

-
- - ms701553 - _MFT_OUTPUT_STATUS_FLAGS - _MFT_OUTPUT_STATUS_FLAGS -
- - -

There is a sample available for at least one output stream. To retrieve the available output samples, call .

-
- - ms701553 - MFT_OUTPUT_STATUS_SAMPLE_READY - MFT_OUTPUT_STATUS_SAMPLE_READY -
- - - None. - - - None - None - - - -

Describes an output stream on a Media Foundation transform (MFT).

-
- -

Before the client sets the media types on the MFT, the only flag guaranteed to be accurate is the flag. For all other flags, the client should first set the media type on every non-optional stream.

The and flags define different behaviors for how the MFT can discard output data.

  • MFT_OUTPUT_STREAM_DISCARDABLE: The MFT discards output data only if the client calls ProcessOutput with the flag. The MFT never discards data when the client calls ProcessInput.

  • MFT_OUTPUT_STREAM_LAZY_READ: If the client continues to call ProcessInput without collecting the output from this stream, the MFT eventually discards the output. If all output streams have the flag, the MFT never refuses more input data.

If neither of these flags is set, the MFT never discards output data.

-
- - ms705618 - _MFT_OUTPUT_STREAM_INFO_FLAGS - _MFT_OUTPUT_STREAM_INFO_FLAGS -
- - -

Each media sample ( interface) of output data from the MFT contains complete, unbroken units of data. The definition of a unit of data depends on the media type: For uncompressed video, a video frame; for compressed data, a compressed packet; for uncompressed audio, a single audio frame.

For uncompressed audio formats, this flag is always implied. (It is valid to set the flag, but not required.) An uncompressed audio frame should never span more than one media sample.

-
- - ms705618 - MFT_OUTPUT_STREAM_WHOLE_SAMPLES - MFT_OUTPUT_STREAM_WHOLE_SAMPLES -
- - -

Each output sample contains exactly one unit of data, as defined for the flag.

If this flag is present, the flag must also be present.

An MFT that outputs uncompressed audio should not set this flag. For efficiency, it should output more than one audio frame at a time.

-
- - ms705618 - MFT_OUTPUT_STREAM_SINGLE_SAMPLE_PER_BUFFER - MFT_OUTPUT_STREAM_SINGLE_SAMPLE_PER_BUFFER -
- - -

All output samples are the same size.

-
- - ms705618 - MFT_OUTPUT_STREAM_FIXED_SAMPLE_SIZE - MFT_OUTPUT_STREAM_FIXED_SAMPLE_SIZE -
- - -

The MFT can discard the output data from this output stream, if requested by the client. To discard the output, set the flag in the method.

-
- - ms705618 - MFT_OUTPUT_STREAM_DISCARDABLE - MFT_OUTPUT_STREAM_DISCARDABLE -
- - -

This output stream is optional. The client can deselect the stream by not setting a media type or by setting a null media type. When an optional stream is deselected, it does not produce any output data.

-
- - ms705618 - MFT_OUTPUT_STREAM_OPTIONAL - MFT_OUTPUT_STREAM_OPTIONAL -
- - -

The MFT provides the output samples for this stream, either by allocating them internally or by operating directly on the input samples. The MFT cannot use output samples provided by the client for this stream.

If this flag is not set, the MFT must set cbSize to a nonzero value in the structure, so that the client can allocate the correct buffer size. For more information, see . This flag cannot be combined with the flag.

-
- - ms705618 - MFT_OUTPUT_STREAM_PROVIDES_SAMPLES - MFT_OUTPUT_STREAM_PROVIDES_SAMPLES -
- - -

The MFT can either provide output samples for this stream or it can use samples that the client allocates. This flag cannot be combined with the flag.

If the MFT does not set this flag or the flag, the client must allocate the samples for this output stream. The MFT will not provide its own samples.

-
- - ms705618 - MFT_OUTPUT_STREAM_CAN_PROVIDE_SAMPLES - MFT_OUTPUT_STREAM_CAN_PROVIDE_SAMPLES -
- - -

The MFT does not require the client to process the output for this stream. If the client continues to send input data without getting the output from this stream, the MFT simply discards the previous input.

-
- - ms705618 - MFT_OUTPUT_STREAM_LAZY_READ - MFT_OUTPUT_STREAM_LAZY_READ -
- - -

The MFT might remove this output stream during streaming. This flag typically applies to demultiplexers, where the input data contains multiple streams that can start and stop during streaming. For more information, see .

-
- - ms705618 - MFT_OUTPUT_STREAM_REMOVABLE - MFT_OUTPUT_STREAM_REMOVABLE -
- - - None. - - - None - None - - - -

Defines flags for the setting or testing the media type on a Media Foundation transform (MFT).

-
- - ms704051 - _MFT_SET_TYPE_FLAGS - _MFT_SET_TYPE_FLAGS -
- - -

Test the proposed media type, but do not set it.

-
- - ms704051 - MFT_SET_TYPE_TEST_ONLY - MFT_SET_TYPE_TEST_ONLY -
- - - None. - - - None - None - - - - No documentation. - - - __MIDL___MIDL_itf_mfreadwrite_0000_0001_0002 - __MIDL___MIDL_itf_mfreadwrite_0000_0001_0002 - - - - No documentation. - - - MF_SOURCE_READER_CURRENT_TYPE_INDEX - MF_SOURCE_READER_CURRENT_TYPE_INDEX - - - - No documentation. - - - MF_MSE_APPEND_MODE - MF_MSE_APPEND_MODE - - - - No documentation. - - - MF_MSE_APPEND_MODE_SEGMENTS - MF_MSE_APPEND_MODE_SEGMENTS - - - - No documentation. - - - MF_MSE_APPEND_MODE_SEQUENCE - MF_MSE_APPEND_MODE_SEQUENCE - - - -

Defines the different error states of the Media Source Extension.

-
- - dn302195 - MF_MSE_ERROR - MF_MSE_ERROR -
- - -

Specifies no error.

-
- - dn302195 - MF_MSE_ERROR_NOERROR - MF_MSE_ERROR_NOERROR -
- - -

Specifies an error with the network.

-
- - dn302195 - MF_MSE_ERROR_NETWORK - MF_MSE_ERROR_NETWORK -
- - -

Specifies an error with decoding.

-
- - dn302195 - MF_MSE_ERROR_DECODE - MF_MSE_ERROR_DECODE -
- - -

Specifies an unknown error.

-
- - dn302195 - MF_MSE_ERROR_UNKNOWN_ERROR - MF_MSE_ERROR_UNKNOWN_ERROR -
- - - No documentation. - - - MF_MSE_OPUS_SUPPORT_TYPE - MF_MSE_OPUS_SUPPORT_TYPE - - - - No documentation. - - - MF_MSE_OPUS_SUPPORT_ON - MF_MSE_OPUS_SUPPORT_ON - - - - No documentation. - - - MF_MSE_OPUS_SUPPORT_OFF - MF_MSE_OPUS_SUPPORT_OFF - - - -

Defines the different ready states of the Media Source Extension.

-
- - dn302196 - MF_MSE_READY - MF_MSE_READY -
- - -

The media source is closed.

-
- - dn302196 - MF_MSE_READY_CLOSED - MF_MSE_READY_CLOSED -
- - -

The media source is open.

-
- - dn302196 - MF_MSE_READY_OPEN - MF_MSE_READY_OPEN -
- - -

The media source is ended.

-
- - dn302196 - MF_MSE_READY_ENDED - MF_MSE_READY_ENDED -
- - - No documentation. - - - MF_MSE_VP9_SUPPORT_TYPE - MF_MSE_VP9_SUPPORT_TYPE - - - - No documentation. - - - MF_MSE_VP9_SUPPORT_DEFAULT - MF_MSE_VP9_SUPPORT_DEFAULT - - - - No documentation. - - - MF_MSE_VP9_SUPPORT_ON - MF_MSE_VP9_SUPPORT_ON - - - - No documentation. - - - MF_MSE_VP9_SUPPORT_OFF - MF_MSE_VP9_SUPPORT_OFF - - - -

Specifies how the user's credentials will be used.

-
- - ms697023 - MFNetAuthenticationFlags - MFNetAuthenticationFlags -
- - -

The credentials will be used to authenticate with a proxy.

-
- - ms697023 - MFNET_AUTHENTICATION_PROXY - MFNET_AUTHENTICATION_PROXY -
- - -

The credentials will be sent over the network unencrypted.

-
- - ms697023 - MFNET_AUTHENTICATION_CLEAR_TEXT - MFNET_AUTHENTICATION_CLEAR_TEXT -
- - -

The credentials must be from a user who is currently logged on.

-
- - ms697023 - MFNET_AUTHENTICATION_LOGGED_ON_USER - MFNET_AUTHENTICATION_LOGGED_ON_USER -
- - -

Describes options for the caching network credentials.

-
- - ms697386 - MFNetCredentialOptions - MFNetCredentialOptions -
- - -

Allow the credential cache object to save credentials in persistant storage.

-
- - ms697386 - MFNET_CREDENTIAL_SAVE - MFNET_CREDENTIAL_SAVE -
- - -

Do not allow the credential cache object to cache the credentials in memory. This flag cannot be combined with the flag.

-
- - ms697386 - MFNET_CREDENTIAL_DONT_CACHE - MFNET_CREDENTIAL_DONT_CACHE -
- - -

The user allows credentials to be sent over the network in clear text.

By default, always returns the flag when the authentication flags include , even if cached credentials are available. If you set the option, the GetCredential method will not return for clear text, if cached credentials are available.

Do not set this flag without notifying the user that credentials might be sent in clear text.

-
- - ms697386 - MFNET_CREDENTIAL_ALLOW_CLEAR_TEXT - MFNET_CREDENTIAL_ALLOW_CLEAR_TEXT -
- - -

Specifies how the credential manager should obtain user credentials.

-
- -

The application implements the credential manager, which must expose the interface. If the flag is set, the credential manager should prompt the user for his or her name and password.

The credential cache object sets the flag if the cache does not yet contain valid credentials. It also sets this flag if the credentials will be sent as plain text, unless the credential manager previously set the option. (See .)

-
- - ms700813 - MFNetCredentialRequirements - MFNetCredentialRequirements -
- - -

The credential manager should prompt the user to provide the credentials.

-
- - ms700813 - REQUIRE_PROMPT - REQUIRE_PROMPT -
- - -

Note??Requires Windows?7 or later. ?

The credentials are saved to persistent storage. This flag acts as a hint for the application's UI. If the application prompts the user for credentials, the UI can indicate that the credentials have already been saved.

-
- - ms700813 - REQUIRE_SAVE_SELECTED - REQUIRE_SAVE_SELECTED -
- - -

Specifies how the default proxy locator will specify the connection settings to a proxy server. The application must set these values in the MFNETSOURCE_PROXYSETTINGS property.

-
- - aa372538 - MFNET_PROXYSETTINGS - MFNET_PROXYSETTINGS -
- - - No documentation. - - - aa372538 - MFNET_PROXYSETTING_NONE - MFNET_PROXYSETTING_NONE - - - - No documentation. - - - aa372538 - MFNET_PROXYSETTING_MANUAL - MFNET_PROXYSETTING_MANUAL - - - - No documentation. - - - aa372538 - MFNET_PROXYSETTING_AUTO - MFNET_PROXYSETTING_AUTO - - - - No documentation. - - - aa372538 - MFNET_PROXYSETTING_BROWSER - MFNET_PROXYSETTING_BROWSER - - - -

Defines the status of the cache for a media file or entry.

-
- - ms705647 - MFNETSOURCE_CACHE_STATE - MFNETSOURCE_CACHE_STATE -
- - -

The cache for a file or entry does not exist.

-
- - ms705647 - MFNETSOURCE_CACHE_UNAVAILABLE - MFNETSOURCE_CACHE_UNAVAILABLE -
- - -

The cache for a file or entry is growing.

-
- - ms705647 - MFNETSOURCE_CACHE_ACTIVE_WRITING - MFNETSOURCE_CACHE_ACTIVE_WRITING -
- - -

The cache for a file or entry is completed.

-
- - ms705647 - MFNETSOURCE_CACHE_ACTIVE_COMPLETE - MFNETSOURCE_CACHE_ACTIVE_COMPLETE -
- - -

Indicates the type of control protocol that is used in streaming or downloading.

-
- - ms704031 - MFNETSOURCE_PROTOCOL_TYPE - MFNETSOURCE_PROTOCOL_TYPE -
- - -

The protocol type has not yet been determined.

-
- - ms704031 - MFNETSOURCE_UNDEFINED - MFNETSOURCE_UNDEFINED -
- - -

The protocol type is HTTP. This includes HTTPv9, WMSP, and HTTP download.

-
- - ms704031 - MFNETSOURCE_HTTP - MFNETSOURCE_HTTP -
- - -

The protocol type is Real Time Streaming Protocol (RTSP).

-
- - ms704031 - MFNETSOURCE_RTSP - MFNETSOURCE_RTSP -
- - -

The content is read from a file. The file might be local or on a remote share.

-
- - ms704031 - MFNETSOURCE_FILE - MFNETSOURCE_FILE -
- - -

The protocol type is multicast.

Note??Requires Windows?7 or later. ?
-
- - ms704031 - MFNETSOURCE_MULTICAST - MFNETSOURCE_MULTICAST -
- - -

Defines statistics collected by the network source. The values in this enumeration define property identifiers (PIDs) for the MFNETSOURCE_STATISTICS property.

To retrieve statistics from the network source, call with the service identifier and the interface identifier IID_IPropertyStore. The retrieved reference is an reference. To get the value of a network statistic, construct a PROPERTYKEY with fmtid equal to MFNETSOURCE_STATISTICS and pid equal to a value from this enumeration. Then call IPropertyStore::GetValue with the property key to retrieve the value of the statistic as a .

In the descriptions that follow, the data type and value-type tag for the are listed in parentheses.

-
- - ms697019 - MFNETSOURCE_STATISTICS_IDS - MFNETSOURCE_STATISTICS_IDS -
- - - No documentation. - - - ms697019 - MFNETSOURCE_RECVPACKETS_ID - MFNETSOURCE_RECVPACKETS_ID - - - - No documentation. - - - ms697019 - MFNETSOURCE_LOSTPACKETS_ID - MFNETSOURCE_LOSTPACKETS_ID - - - - No documentation. - - - ms697019 - MFNETSOURCE_RESENDSREQUESTED_ID - MFNETSOURCE_RESENDSREQUESTED_ID - - - - No documentation. - - - ms697019 - MFNETSOURCE_RESENDSRECEIVED_ID - MFNETSOURCE_RESENDSRECEIVED_ID - - - - No documentation. - - - ms697019 - MFNETSOURCE_RECOVEREDBYECCPACKETS_ID - MFNETSOURCE_RECOVEREDBYECCPACKETS_ID - - - - No documentation. - - - ms697019 - MFNETSOURCE_RECOVEREDBYRTXPACKETS_ID - MFNETSOURCE_RECOVEREDBYRTXPACKETS_ID - - - - No documentation. - - - ms697019 - MFNETSOURCE_OUTPACKETS_ID - MFNETSOURCE_OUTPACKETS_ID - - - - No documentation. - - - ms697019 - MFNETSOURCE_RECVRATE_ID - MFNETSOURCE_RECVRATE_ID - - - - No documentation. - - - ms697019 - MFNETSOURCE_AVGBANDWIDTHBPS_ID - MFNETSOURCE_AVGBANDWIDTHBPS_ID - - - - No documentation. - - - ms697019 - MFNETSOURCE_BYTESRECEIVED_ID - MFNETSOURCE_BYTESRECEIVED_ID - - - - No documentation. - - - ms697019 - MFNETSOURCE_PROTOCOL_ID - MFNETSOURCE_PROTOCOL_ID - - - - No documentation. - - - ms697019 - MFNETSOURCE_TRANSPORT_ID - MFNETSOURCE_TRANSPORT_ID - - - - No documentation. - - - ms697019 - MFNETSOURCE_CACHE_STATE_ID - MFNETSOURCE_CACHE_STATE_ID - - - - No documentation. - - - ms697019 - MFNETSOURCE_LINKBANDWIDTH_ID - MFNETSOURCE_LINKBANDWIDTH_ID - - - - No documentation. - - - ms697019 - MFNETSOURCE_CONTENTBITRATE_ID - MFNETSOURCE_CONTENTBITRATE_ID - - - - No documentation. - - - ms697019 - MFNETSOURCE_SPEEDFACTOR_ID - MFNETSOURCE_SPEEDFACTOR_ID - - - - No documentation. - - - ms697019 - MFNETSOURCE_BUFFERSIZE_ID - MFNETSOURCE_BUFFERSIZE_ID - - - - No documentation. - - - ms697019 - MFNETSOURCE_BUFFERPROGRESS_ID - MFNETSOURCE_BUFFERPROGRESS_ID - - - - No documentation. - - - ms697019 - MFNETSOURCE_LASTBWSWITCHTS_ID - MFNETSOURCE_LASTBWSWITCHTS_ID - - - - No documentation. - - - ms697019 - MFNETSOURCE_SEEKRANGESTART_ID - MFNETSOURCE_SEEKRANGESTART_ID - - - - No documentation. - - - ms697019 - MFNETSOURCE_SEEKRANGEEND_ID - MFNETSOURCE_SEEKRANGEEND_ID - - - - No documentation. - - - ms697019 - MFNETSOURCE_BUFFERINGCOUNT_ID - MFNETSOURCE_BUFFERINGCOUNT_ID - - - - No documentation. - - - ms697019 - MFNETSOURCE_INCORRECTLYSIGNEDPACKETS_ID - MFNETSOURCE_INCORRECTLYSIGNEDPACKETS_ID - - - - No documentation. - - - ms697019 - MFNETSOURCE_SIGNEDSESSION_ID - MFNETSOURCE_SIGNEDSESSION_ID - - - - No documentation. - - - ms697019 - MFNETSOURCE_MAXBITRATE_ID - MFNETSOURCE_MAXBITRATE_ID - - - - No documentation. - - - ms697019 - MFNETSOURCE_RECEPTION_QUALITY_ID - MFNETSOURCE_RECEPTION_QUALITY_ID - - - - No documentation. - - - ms697019 - MFNETSOURCE_RECOVEREDPACKETS_ID - MFNETSOURCE_RECOVEREDPACKETS_ID - - - - No documentation. - - - ms697019 - MFNETSOURCE_VBR_ID - MFNETSOURCE_VBR_ID - - - - No documentation. - - - ms697019 - MFNETSOURCE_DOWNLOADPROGRESS_ID - MFNETSOURCE_DOWNLOADPROGRESS_ID - - - - No documentation. - - - ms697019 - MFNETSOURCE_UNPREDEFINEDPROTOCOLNAME_ID - MFNETSOURCE_UNPREDEFINEDPROTOCOLNAME_ID - - - -

Describes the type of transport used in streaming or downloading data (TCP or UDP).

-
- - ms702233 - MFNETSOURCE_TRANSPORT_TYPE - MFNETSOURCE_TRANSPORT_TYPE -
- - -

The data transport type is UDP.

-
- - ms702233 - MFNETSOURCE_UDP - MFNETSOURCE_UDP -
- - -

The data transport type is TCP.

-
- - ms702233 - MFNETSOURCE_TCP - MFNETSOURCE_TCP -
- - -

Specifies whether color data includes headroom and toeroom. Headroom allows for values beyond 1.0 white ("whiter than white"), and toeroom allows for values below reference 0.0 black ("blacker than black").

-
- -

This enumeration is used with the attribute.

For more information about these values, see the remarks for the DXVA2_NominalRange enumeration, which is the DirectX Video Acceleration (DXVA) equivalent of this enumeration.

-
- - ms705659 - MFNominalRange - MFNominalRange -
- - -

Unknown nominal range.

-
- - ms705659 - MFNominalRange_Unknown - MFNominalRange_Unknown -
- - -

Equivalent to .

-
- - ms705659 - MFNominalRange_Normal - MFNominalRange_Normal -
- - -

Equivalent to .

-
- - ms705659 - MFNominalRange_Wide - MFNominalRange_Wide -
- - -

The normalized range [0...1] maps to [0...255] for 8-bit samples or [0...1023] for 10-bit samples.

-
- - ms705659 - MFNominalRange_0_255 - MFNominalRange_0_255 -
- - -

The normalized range [0...1] maps to [16...235] for 8-bit samples or [64...940] for 10-bit samples.

-
- - ms705659 - MFNominalRange_16_235 - MFNominalRange_16_235 -
- - -

The normalized range [0..1] maps to [48...208] for 8-bit samples or [64...940] for 10-bit samples.

-
- - ms705659 - MFNominalRange_48_208 - MFNominalRange_48_208 -
- - -

The normalized range [0..1] maps to [64...127] for 8-bit samples or [256...508] for 10-bit samples. This range is used in the xRGB color space.

Note??Requires Windows?7 or later. ?
-
- - ms705659 - MFNominalRange_64_127 - MFNominalRange_64_127 -
- - - No documentation. - - - ms705659 - MFNominalRange_Last - MFNominalRange_Last - - - - No documentation. - - - ms705659 - MFNominalRange_ForceDWORD - MFNominalRange_ForceDWORD - - - -

Defines the object types that are created by the source resolver.

-
- - ms704771 - MF_OBJECT_TYPE - MF_OBJECT_TYPE -
- - -

Media source. You can query the object for the interface.

-
- - ms704771 - MF_OBJECT_MEDIASOURCE - MF_OBJECT_MEDIASOURCE -
- - -

Byte stream. You can query the object for the interface.

-
- - ms704771 - MF_OBJECT_BYTESTREAM - MF_OBJECT_BYTESTREAM -
- - -

Invalid type.

-
- - ms704771 - MF_OBJECT_INVALID - MF_OBJECT_INVALID -
- - -

Defines protection levels for MFPROTECTION_ACP.

-
- - jj128346 - MF_OPM_ACP_PROTECTION_LEVEL - MF_OPM_ACP_PROTECTION_LEVEL -
- - -

Specifies ACP is disabled.

-
- - jj128346 - MF_OPM_ACP_OFF - MF_OPM_ACP_OFF -
- - -

Specifies ACP is level one.

-
- - jj128346 - MF_OPM_ACP_LEVEL_ONE - MF_OPM_ACP_LEVEL_ONE -
- - -

Specifies ACP is level two.

-
- - jj128346 - MF_OPM_ACP_LEVEL_TWO - MF_OPM_ACP_LEVEL_TWO -
- - -

Specifies ACP is level three.

-
- - jj128346 - MF_OPM_ACP_LEVEL_THREE - MF_OPM_ACP_LEVEL_THREE -
- - -

Reserved.

-
- - jj128346 - MF_OPM_ACP_FORCE_ULONG - MF_OPM_ACP_FORCE_ULONG -
- - -

Defines protection levels for MFPROTECTION_CGMSA.

-
- -

These flags are equivalent to the OPM_CGMSA_Protection_Level enumeration constants used in the Output Protection Protocol (OPM).

-
- - jj128347 - MF_OPM_CGMSA_PROTECTION_LEVEL - MF_OPM_CGMSA_PROTECTION_LEVEL -
- - -

CGMS-A is disabled.

-
- - jj128347 - MF_OPM_CGMSA_OFF - MF_OPM_CGMSA_OFF -
- - -

The protection level is Copy Freely.

-
- - jj128347 - MF_OPM_CGMSA_COPY_FREELY - MF_OPM_CGMSA_COPY_FREELY -
- - -

The protection level is Copy No More.

-
- - jj128347 - MF_OPM_CGMSA_COPY_NO_MORE - MF_OPM_CGMSA_COPY_NO_MORE -
- - -

The protection level is Copy One Generation.

-
- - jj128347 - MF_OPM_CGMSA_COPY_ONE_GENERATION - MF_OPM_CGMSA_COPY_ONE_GENERATION -
- - -

The protection level is Copy Never.

-
- - jj128347 - MF_OPM_CGMSA_COPY_NEVER - MF_OPM_CGMSA_COPY_NEVER -
- - -

Redistribution control (also called the broadcast flag) is required. This flag can be combined with the other flags.

-
- - jj128347 - MF_OPM_CGMSA_REDISTRIBUTION_CONTROL_REQUIRED - MF_OPM_CGMSA_REDISTRIBUTION_CONTROL_REQUIRED -
- - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Defines event types for the interface.

-
- -

For each event type, the callback receives a reference to a data structure. The first part of the data structure is always an structure. The following table lists the data structure for each event type.

In your implementation of OnMediaPlayerEvent, you must cast the pEventHeader parameter to the correct structure type. A set of macros is defined for this purpose. These macros check the value of the event type and return null if there is a mismatch; otherwise they return a reference to the correct structure type.

Event type

Event structure

Pointer cast macro

MFP_GET_PLAY_EVENT

MFP_GET_PAUSE_EVENT

MFP_GET_STOP_EVENT

MFP_GET_POSITION_SET_EVENT

MFP_GET_RATE_SET_EVENT

MFP_GET_MEDIAITEM_CREATED_EVENT

MFP_GET_MEDIAITEM_SET_EVENT

MFP_GET_FRAME_STEP_EVENT

MFP_GET_MEDIAITEM_CLEARED_EVENT

MFP_GET_MF_EVENT

MFP_GET_ERROR_EVENT

MFP_GET_PLAYBACK_ENDED_EVENT

MFP_GET_ACQUIRE_USER_CREDENTIAL_EVENT

?

-
- - dd375532 - MFP_EVENT_TYPE - MFP_EVENT_TYPE -
- - - No documentation. - - - dd375532 - MFP_EVENT_TYPE_PLAY - MFP_EVENT_TYPE_PLAY - - - - No documentation. - - - dd375532 - MFP_EVENT_TYPE_PAUSE - MFP_EVENT_TYPE_PAUSE - - - - No documentation. - - - dd375532 - MFP_EVENT_TYPE_STOP - MFP_EVENT_TYPE_STOP - - - - No documentation. - - - dd375532 - MFP_EVENT_TYPE_POSITION_SET - MFP_EVENT_TYPE_POSITION_SET - - - - No documentation. - - - dd375532 - MFP_EVENT_TYPE_RATE_SET - MFP_EVENT_TYPE_RATE_SET - - - - No documentation. - - - dd375532 - MFP_EVENT_TYPE_MEDIAITEM_CREATED - MFP_EVENT_TYPE_MEDIAITEM_CREATED - - - - No documentation. - - - dd375532 - MFP_EVENT_TYPE_MEDIAITEM_SET - MFP_EVENT_TYPE_MEDIAITEM_SET - - - - No documentation. - - - dd375532 - MFP_EVENT_TYPE_FRAME_STEP - MFP_EVENT_TYPE_FRAME_STEP - - - - No documentation. - - - dd375532 - MFP_EVENT_TYPE_MEDIAITEM_CLEARED - MFP_EVENT_TYPE_MEDIAITEM_CLEARED - - - - No documentation. - - - dd375532 - MFP_EVENT_TYPE_MF - MFP_EVENT_TYPE_MF - - - - No documentation. - - - dd375532 - MFP_EVENT_TYPE_ERROR - MFP_EVENT_TYPE_ERROR - - - - No documentation. - - - dd375532 - MFP_EVENT_TYPE_PLAYBACK_ENDED - MFP_EVENT_TYPE_PLAYBACK_ENDED - - - - No documentation. - - - dd375532 - MFP_EVENT_TYPE_ACQUIRE_USER_CREDENTIAL - MFP_EVENT_TYPE_ACQUIRE_USER_CREDENTIAL - - - -

Defines policy settings for the method.

-
- - hh162881 - MF_PLUGIN_CONTROL_POLICY - MF_PLUGIN_CONTROL_POLICY -
- - - No documentation. - - - hh162881 - MF_PLUGIN_CONTROL_POLICY_USE_ALL_PLUGINS - MF_PLUGIN_CONTROL_POLICY_USE_ALL_PLUGINS - - - - No documentation. - - - hh162881 - MF_PLUGIN_CONTROL_POLICY_USE_APPROVED_PLUGINS - MF_PLUGIN_CONTROL_POLICY_USE_APPROVED_PLUGINS - - - - No documentation. - - - hh162881 - MF_PLUGIN_CONTROL_POLICY_USE_WEB_PLUGINS - MF_PLUGIN_CONTROL_POLICY_USE_WEB_PLUGINS - - - - No documentation. - - - hh162881 - MF_PLUGIN_CONTROL_POLICY_USE_WEB_PLUGINS_EDGEMODE - MF_PLUGIN_CONTROL_POLICY_USE_WEB_PLUGINS_EDGEMODE - - - -

Specifies the object type for the interface.

-
- - dd375763 - MF_Plugin_Type - MF_Plugin_Type -
- - - No documentation. - - - dd375763 - MF_Plugin_Type_MFT - MF_Plugin_Type_MFT - - - - No documentation. - - - dd375763 - MF_Plugin_Type_MediaSource - MF_Plugin_Type_MediaSource - - - - No documentation. - - - dd375763 - MF_Plugin_Type_MFT_MatchOutputType - MF_Plugin_Type_MFT_MatchOutputType - - - - No documentation. - - - dd375763 - MF_Plugin_Type_Other - MF_Plugin_Type_Other - - - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Specifies the current playback state.

-
- - dd375562 - MFP_MEDIAPLAYER_STATE - MFP_MEDIAPLAYER_STATE -
- - - No documentation. - - - dd375562 - MFP_MEDIAPLAYER_STATE_EMPTY - MFP_MEDIAPLAYER_STATE_EMPTY - - - - No documentation. - - - dd375562 - MFP_MEDIAPLAYER_STATE_STOPPED - MFP_MEDIAPLAYER_STATE_STOPPED - - - - No documentation. - - - dd375562 - MFP_MEDIAPLAYER_STATE_PLAYING - MFP_MEDIAPLAYER_STATE_PLAYING - - - - No documentation. - - - dd375562 - MFP_MEDIAPLAYER_STATE_PAUSED - MFP_MEDIAPLAYER_STATE_PAUSED - - - - No documentation. - - - dd375562 - MFP_MEDIAPLAYER_STATE_SHUTDOWN - MFP_MEDIAPLAYER_STATE_SHUTDOWN - - - -

Contains flags that define the behavior of the function.

-
- - ms697495 - MFPMPSESSION_CREATION_FLAGS - MFPMPSESSION_CREATION_FLAGS -
- - - No documentation. - - - ms697495 - MFPMPSESSION_UNPROTECTED_PROCESS - MFPMPSESSION_UNPROTECTED_PROCESS - - - - No documentation. - - - ms697495 - MFPMPSESSION_IN_PROCESS - MFPMPSESSION_IN_PROCESS - - - - None. - - - None - None - - - -

Defines actions that can be performed on a stream.

-
- - ms698977 - MFPOLICYMANAGER_ACTION - MFPOLICYMANAGER_ACTION -
- - -

No action.

-
- - ms698977 - PEACTION_NO - PEACTION_NO -
- - -

Play the stream.

-
- - ms698977 - PEACTION_PLAY - PEACTION_PLAY -
- - -

Copy the stream.

-
- - ms698977 - PEACTION_COPY - PEACTION_COPY -
- - -

Export the stream to another format.

-
- - ms698977 - PEACTION_EXPORT - PEACTION_EXPORT -
- - -

Extract the data from the stream and pass it to the application. For example, acoustic echo cancellation requires this action.

-
- - ms698977 - PEACTION_EXTRACT - PEACTION_EXTRACT -
- - -

Reserved.

-
- - ms698977 - PEACTION_RESERVED1 - PEACTION_RESERVED1 -
- - -

Reserved.

-
- - ms698977 - PEACTION_RESERVED2 - PEACTION_RESERVED2 -
- - -

Reserved.

-
- - ms698977 - PEACTION_RESERVED3 - PEACTION_RESERVED3 -
- - -

Last member of the enumeration.

-
- - ms698977 - PEACTION_LAST - PEACTION_LAST -
- - - No documentation. - - - __MIDL___MIDL_itf_mfcaptureengine_0000_0000_0001 - __MIDL___MIDL_itf_mfcaptureengine_0000_0000_0001 - - - - No documentation. - - - MF_CAPTURE_ENGINE_PREFERRED_SOURCE_STREAM_FOR_VIDEO_PREVIEW - MF_CAPTURE_ENGINE_PREFERRED_SOURCE_STREAM_FOR_VIDEO_PREVIEW - - - - No documentation. - - - MF_CAPTURE_ENGINE_PREFERRED_SOURCE_STREAM_FOR_VIDEO_RECORD - MF_CAPTURE_ENGINE_PREFERRED_SOURCE_STREAM_FOR_VIDEO_RECORD - - - - No documentation. - - - MF_CAPTURE_ENGINE_PREFERRED_SOURCE_STREAM_FOR_PHOTO - MF_CAPTURE_ENGINE_PREFERRED_SOURCE_STREAM_FOR_PHOTO - - - - No documentation. - - - MF_CAPTURE_ENGINE_PREFERRED_SOURCE_STREAM_FOR_AUDIO - MF_CAPTURE_ENGINE_PREFERRED_SOURCE_STREAM_FOR_AUDIO - - - - No documentation. - - - MF_CAPTURE_ENGINE_MEDIASOURCE - MF_CAPTURE_ENGINE_MEDIASOURCE - - - -

Contains flags for the method.

-
- -

If the decoder sets the flag, the quality manager tries to reduce latency through the media source and the media sink. For example, it might request the Enhanced Video Renderer (EVR) to drop frames. During this period, the quality manager stops calling the decoder's method, until samples are no longer arriving late at the sink. At that point, the quality manager resumes calling NotifyQualityEvent on the decoder.

-
- - dd743824 - MF_QUALITY_ADVISE_FLAGS - MF_QUALITY_ADVISE_FLAGS -
- - - No documentation. - - - dd743824 - MF_QUALITY_CANNOT_KEEP_UP - MF_QUALITY_CANNOT_KEEP_UP - - - - None. - - - None - None - - - -

Specifies how aggressively a pipeline component should drop samples.

-
- -

In drop mode, a component drops samples, more or less aggressively depending on the level of the drop mode. The specific algorithm used depends on the component. Mode 1 is the least aggressive mode, and mode 5 is the most aggressive. A component is not required to implement all five levels.

For example, suppose an encoded video stream has three B-frames between each pair of P-frames. A decoder might implement the following drop modes:

  • Mode 1: Drop one out of every three B frames.

  • Mode 2: Drop one out of every two B frames.

  • Mode 3: Drop all delta frames.

  • Modes 4 and 5: Unsupported.

The enhanced video renderer (EVR) can drop video frames before sending them to the EVR mixer.

-
- - ms704659 - MF_QUALITY_DROP_MODE - MF_QUALITY_DROP_MODE -
- - -

Normal processing of samples. Drop mode is disabled.

-
- - ms704659 - MF_DROP_MODE_NONE - MF_DROP_MODE_NONE -
- - -

First drop mode (least aggressive).

-
- - ms704659 - MF_DROP_MODE_1 - MF_DROP_MODE_1 -
- - -

Second drop mode.

-
- - ms704659 - MF_DROP_MODE_2 - MF_DROP_MODE_2 -
- - -

Third drop mode.

-
- - ms704659 - MF_DROP_MODE_3 - MF_DROP_MODE_3 -
- - -

Fourth drop mode.

-
- - ms704659 - MF_DROP_MODE_4 - MF_DROP_MODE_4 -
- - -

Fifth drop mode (most aggressive, if it is supported; see Remarks).

-
- - ms704659 - MF_DROP_MODE_5 - MF_DROP_MODE_5 -
- - -

Maximum number of drop modes. This value is not a valid flag.

-
- - ms704659 - MF_NUM_DROP_MODES - MF_NUM_DROP_MODES -
- - -

Specifies the quality level for a pipeline component. The quality level determines how the component consumes or produces samples.

-
- -

Each successive quality level decreases the amount of processing that is needed, while also reducing the resulting quality of the audio or video. The specific algorithm used to reduce quality depends on the component. Mode 1 is the least aggressive mode, and mode 5 is the most aggressive. A component is not required to implement all five levels. Also, the same quality level might not be comparable between two different components.

Video decoders can often reduce quality by leaving out certain post-processing steps. The enhanced video renderer (EVR) can sometimes reduce quality by switching to a different deinterlacing mode.

-
- - ms698949 - MF_QUALITY_LEVEL - MF_QUALITY_LEVEL -
- - -

Normal quality.

-
- - ms698949 - MF_QUALITY_NORMAL - MF_QUALITY_NORMAL -
- - -

One level below normal quality.

-
- - ms698949 - MF_QUALITY_NORMAL_MINUS_1 - MF_QUALITY_NORMAL_MINUS_1 -
- - -

Two levels below normal quality.

-
- - ms698949 - MF_QUALITY_NORMAL_MINUS_2 - MF_QUALITY_NORMAL_MINUS_2 -
- - -

Three levels below normal quality.

-
- - ms698949 - MF_QUALITY_NORMAL_MINUS_3 - MF_QUALITY_NORMAL_MINUS_3 -
- - -

Four levels below normal quality.

-
- - ms698949 - MF_QUALITY_NORMAL_MINUS_4 - MF_QUALITY_NORMAL_MINUS_4 -
- - -

Five levels below normal quality.

-
- - ms698949 - MF_QUALITY_NORMAL_MINUS_5 - MF_QUALITY_NORMAL_MINUS_5 -
- - -

Maximum number of quality levels. This value is not a valid flag.

-
- - ms698949 - MF_NUM_QUALITY_LEVELS - MF_NUM_QUALITY_LEVELS -
- - -

Specifies the direction of playback (forward or reverse).

-
- - ms696225 - MFRATE_DIRECTION - MFRATE_DIRECTION -
- - -

Forward playback.

-
- - ms696225 - MFRATE_FORWARD - MFRATE_FORWARD -
- - -

Reverse playback.

-
- - ms696225 - MFRATE_REVERSE - MFRATE_REVERSE -
- - -

Defines the version number for sample protection.

-
- - ms697061 - SAMPLE_PROTECTION_VERSION - SAMPLE_PROTECTION_VERSION -
- - -

No sample protection.

-
- - ms697061 - SAMPLE_PROTECTION_VERSION_NO - SAMPLE_PROTECTION_VERSION_NO -
- - -

Version 1.

-
- - ms697061 - SAMPLE_PROTECTION_VERSION_BASIC_LOKI - SAMPLE_PROTECTION_VERSION_BASIC_LOKI -
- - -

Version 2.

-
- - ms697061 - SAMPLE_PROTECTION_VERSION_SCATTER - SAMPLE_PROTECTION_VERSION_SCATTER -
- - -

Version 3.

-
- - ms697061 - SAMPLE_PROTECTION_VERSION_RC4 - SAMPLE_PROTECTION_VERSION_RC4 -
- - - No documentation. - - - ms697061 - SAMPLE_PROTECTION_VERSION_AES128CTR - SAMPLE_PROTECTION_VERSION_AES128CTR - - - -

Specifies how a video stream is interlaced.

In the descriptions that follow, upper field refers to the field that contains the leading half scan line. Lower field refers to the field that contains the first full scan line.

-
- -

Scan lines in the lower field are 0.5 scan line lower than those in the upper field. In NTSC television, a frame consists of a lower field followed by an upper field. In PAL television, a frame consists of an upper field followed by a lower field.

The upper field is also called the even field, the top field, or field 2. The lower field is also called the odd field, the bottom field, or field 1.

If the interlace mode is or , each sample contains a single field, so each buffer contains only half the number of field lines given in the media type.

-
- - ms694269 - MFSensorDeviceMode - MFSensorDeviceMode -
- - -

The type of interlacing is not known.

-
- - ms694269 - MFSensorDeviceMode_Controller - MFSensorDeviceMode_Controller -
- - -

Progressive frames.

-
- - ms694269 - MFSensorDeviceMode_Shared - MFSensorDeviceMode_Shared -
- - -

Specifies how to open or create a file.

-
- - ms694164 - MFSensorDeviceType - MFSensorDeviceType -
- - -

Open an existing file. Fail if the file does not exist.

-
- - ms694164 - MFSensorDeviceType_Unknown - MFSensorDeviceType_Unknown -
- - -

Create a new file. Fail if the file already exists.

-
- - ms694164 - MFSensorDeviceType_Device - MFSensorDeviceType_Device -
- - -

Open an existing file and truncate it, so that the size is zero bytes. Fail if the file does not already exist.

-
- - ms694164 - MFSensorDeviceType_MediaSource - MFSensorDeviceType_MediaSource -
- - -

If the file does not exist, create a new file. If the file exists, open it.

-
- - ms694164 - MFSensorDeviceType_FrameProvider - MFSensorDeviceType_FrameProvider -
- - -

Create a new file. If the file exists, overwrite the file.

-
- - ms694164 - MFSensorDeviceType_SensorTransform - MFSensorDeviceType_SensorTransform -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Specifies whether a stream associated with an is an input or an output stream.

-
- - mt797984 - MFSensorStreamType - MFSensorStreamType -
- - - No documentation. - - - mt797984 - MFSensorStreamType_Unknown - MFSensorStreamType_Unknown - - - - No documentation. - - - mt797984 - MFSensorStreamType_Input - MFSensorStreamType_Input - - - - No documentation. - - - mt797984 - MFSensorStreamType_Output - MFSensorStreamType_Output - - - -

Contains flags for adding a topology to the sequencer source, or updating a topology already in the queue.

-
- - ms703884 - MFSequencerTopologyFlags - MFSequencerTopologyFlags -
- - -

This topology is the last topology in the sequence.

-
- - ms703884 - SequencerTopologyFlags_Last - SequencerTopologyFlags_Last -
- - -

Retrieves an interface from the enhanced video renderer (EVR), or from the video mixer or video presenter.

-
- -

This method can be called only from inside the method. At any other time, the method returns .

The presenter can use this method to query the EVR and the mixer. The mixer can use it to query the EVR and the presenter. Which objects are queried depends on the caller and the service , as shown in the following table.

CallerService Objects queried
PresenterMR_VIDEO_RENDER_SERVICEEVR
PresenterMR_VIDEO_MIXER_SERVICEMixer
MixerMR_VIDEO_RENDER_SERVICEPresenter and EVR

?

The following interfaces are available from the EVR:

  • IMediaEventSink. This interface is documented in the DirectShow SDK documentation.

  • interface. This interface is available if the EVR has access to a clock (reference clock in DirectShow or presentation clock in Media Foundation). This interface might not be available. Presenter and mixers must be able to process data without a clock. If the interface is available, you can also get these related interfaces:

    • (Media Foundation EVR only)

The following interfaces are available from the mixer:

-
- - bb970504 - MF_SERVICE_LOOKUP_TYPE - MF_SERVICE_LOOKUP_TYPE -
- - -

Specifies the scope of the search. Currently this parameter is ignored. Use the value .

-
- - bb970504 - MF_SERVICE_LOOKUP_UPSTREAM - MF_SERVICE_LOOKUP_UPSTREAM -
- - -

Reserved, must be zero.

-
- - bb970504 - MF_SERVICE_LOOKUP_UPSTREAM_DIRECT - MF_SERVICE_LOOKUP_UPSTREAM_DIRECT -
- - -

Service of the requested interface.

-
- - bb970504 - MF_SERVICE_LOOKUP_DOWNSTREAM - MF_SERVICE_LOOKUP_DOWNSTREAM -
- - -

Interface identifier of the requested interface.

-
- - bb970504 - MF_SERVICE_LOOKUP_DOWNSTREAM_DIRECT - MF_SERVICE_LOOKUP_DOWNSTREAM_DIRECT -
- - -

Array of interface references. If the method succeeds, each member of the array contains either a valid interface reference or null. The caller must release the interface references when the EVR calls (or earlier). If the method fails, every member of the array is null.

-
- - bb970504 - MF_SERVICE_LOOKUP_ALL - MF_SERVICE_LOOKUP_ALL -
- - -

Pointer to a value that specifies the size of the ppvObjects array. The value must be at least 1. In the current implementation, there is no reason to specify an array size larger than one element. The value is not changed on output.

-
- - bb970504 - MF_SERVICE_LOOKUP_GLOBAL - MF_SERVICE_LOOKUP_GLOBAL -
- - -

Defines flags for the method.

-
- - ms701845 - MFSESSION_GETFULLTOPOLOGY_FLAGS - MFSESSION_GETFULLTOPOLOGY_FLAGS -
- - - No documentation. - - - ms701845 - MFSESSION_GETFULLTOPOLOGY_CURRENT - MFSESSION_GETFULLTOPOLOGY_CURRENT - - - - None. - - - None - None - - - -

Defines the behavior of the method.

-
- -

These flags are optional, and are not mutually exclusive. If no flags are set, the Media Session resolves the topology and then adds it to the queue of pending presentations.

-
- - ms696169 - MFSESSION_SETTOPOLOGY_FLAGS - MFSESSION_SETTOPOLOGY_FLAGS -
- - - No documentation. - - - ms696169 - MFSESSION_SETTOPOLOGY_IMMEDIATE - MFSESSION_SETTOPOLOGY_IMMEDIATE - - - - No documentation. - - - ms696169 - MFSESSION_SETTOPOLOGY_NORESOLUTION - MFSESSION_SETTOPOLOGY_NORESOLUTION - - - - No documentation. - - - ms696169 - MFSESSION_SETTOPOLOGY_CLEAR_CURRENT - MFSESSION_SETTOPOLOGY_CLEAR_CURRENT - - - - None. - - - None - None - - - -

Describes the current status of a call to the method.

-
- - ms701630 - MFSHUTDOWN_STATUS - MFSHUTDOWN_STATUS -
- - - No documentation. - - - ms701630 - MFSHUTDOWN_INITIATED - MFSHUTDOWN_INITIATED - - - - No documentation. - - - ms701630 - MFSHUTDOWN_COMPLETED - MFSHUTDOWN_COMPLETED - - - -

Specifies how the ASF file sink should apply Windows Media DRM.

-
- - ms703949 - MFSINK_WMDRMACTION - MFSINK_WMDRMACTION -
- - -

Undefined action.

-
- - ms703949 - MFSINK_WMDRMACTION_UNDEFINED - MFSINK_WMDRMACTION_UNDEFINED -
- - -

Encode the content using Windows Media DRM. Use this flag if the source content does not have DRM protection.

-
- - ms703949 - MFSINK_WMDRMACTION_ENCODE - MFSINK_WMDRMACTION_ENCODE -
- - -

Transcode the content using Windows Media DRM. Use this flag if the source content has Windows Media DRM protection and you want to change the encoding parameters but not the DRM protection.

-
- - ms703949 - MFSINK_WMDRMACTION_TRANSCODE - MFSINK_WMDRMACTION_TRANSCODE -
- - -

Transcrypt the content. Use this flag if the source content has DRM protection and you want to change the DRM protection; for example, if you want to convert from Windows Media DRM version 1 to Windows Media DRM version 7 or later.

-
- - ms703949 - MFSINK_WMDRMACTION_TRANSCRYPT - MFSINK_WMDRMACTION_TRANSCRYPT -
- - -

Reserved. Do not use.

-
- - ms703949 - MFSINK_WMDRMACTION_LAST - MFSINK_WMDRMACTION_LAST -
- - - No documentation. - - - __MIDL___MIDL_itf_mfreadwrite_0000_0005_0001 - __MIDL___MIDL_itf_mfreadwrite_0000_0005_0001 - - - - No documentation. - - - MF_SINK_WRITER_INVALID_STREAM_INDEX - MF_SINK_WRITER_INVALID_STREAM_INDEX - - - - No documentation. - - - MF_SINK_WRITER_ALL_STREAMS - MF_SINK_WRITER_ALL_STREAMS - - - - No documentation. - - - MF_SINK_WRITER_MEDIASINK - MF_SINK_WRITER_MEDIASINK - - - -

Contains flags for the method.

-
- - dd375771 - MF_SOURCE_READER_CONTROL_FLAG - MF_SOURCE_READER_CONTROL_FLAG -
- - - No documentation. - - - dd375771 - MF_SOURCE_READER_CONTROLF_DRAIN - MF_SOURCE_READER_CONTROLF_DRAIN - - - - None. - - - None - None - - - -

Contains flags that indicate the status of the method.

-
- - dd375773 - MF_SOURCE_READER_FLAG - MF_SOURCE_READER_FLAG -
- - - No documentation. - - - dd375773 - MF_SOURCE_READERF_ERROR - MF_SOURCE_READERF_ERROR - - - - No documentation. - - - dd375773 - MF_SOURCE_READERF_ENDOFSTREAM - MF_SOURCE_READERF_ENDOFSTREAM - - - - No documentation. - - - dd375773 - MF_SOURCE_READERF_NEWSTREAM - MF_SOURCE_READERF_NEWSTREAM - - - - No documentation. - - - dd375773 - MF_SOURCE_READERF_NATIVEMEDIATYPECHANGED - MF_SOURCE_READERF_NATIVEMEDIATYPECHANGED - - - - No documentation. - - - dd375773 - MF_SOURCE_READERF_CURRENTMEDIATYPECHANGED - MF_SOURCE_READERF_CURRENTMEDIATYPECHANGED - - - - No documentation. - - - dd375773 - MF_SOURCE_READERF_STREAMTICK - MF_SOURCE_READERF_STREAMTICK - - - - No documentation. - - - dd375773 - MF_SOURCE_READERF_ALLEFFECTSREMOVED - MF_SOURCE_READERF_ALLEFFECTSREMOVED - - - - None. - - - None - None - - - - No documentation. - - - __MIDL___MIDL_itf_mfreadwrite_0000_0001_0001 - __MIDL___MIDL_itf_mfreadwrite_0000_0001_0001 - - - - No documentation. - - - MF_SOURCE_READER_INVALID_STREAM_INDEX - MF_SOURCE_READER_INVALID_STREAM_INDEX - - - - No documentation. - - - MF_SOURCE_READER_ALL_STREAMS - MF_SOURCE_READER_ALL_STREAMS - - - - No documentation. - - - MF_SOURCE_READER_ANY_STREAM - MF_SOURCE_READER_ANY_STREAM - - - - No documentation. - - - MF_SOURCE_READER_FIRST_AUDIO_STREAM - MF_SOURCE_READER_FIRST_AUDIO_STREAM - - - - No documentation. - - - MF_SOURCE_READER_FIRST_VIDEO_STREAM - MF_SOURCE_READER_FIRST_VIDEO_STREAM - - - - No documentation. - - - MF_SOURCE_READER_MEDIASOURCE - MF_SOURCE_READER_MEDIASOURCE - - - - No documentation. - - - __MIDL___MIDL_itf_mfidl_0000_0001_0001 - __MIDL___MIDL_itf_mfidl_0000_0001_0001 - - - - No documentation. - - - MF_RESOLUTION_MEDIASOURCE - MF_RESOLUTION_MEDIASOURCE - - - - No documentation. - - - MF_RESOLUTION_BYTESTREAM - MF_RESOLUTION_BYTESTREAM - - - - No documentation. - - - MF_RESOLUTION_CONTENT_DOES_NOT_HAVE_TO_MATCH_EXTENSION_OR_MIME_TYPE - MF_RESOLUTION_CONTENT_DOES_NOT_HAVE_TO_MATCH_EXTENSION_OR_MIME_TYPE - - - - No documentation. - - - MF_RESOLUTION_KEEP_BYTE_STREAM_ALIVE_ON_FAIL - MF_RESOLUTION_KEEP_BYTE_STREAM_ALIVE_ON_FAIL - - - - No documentation. - - - MF_RESOLUTION_DISABLE_LOCAL_PLUGINS - MF_RESOLUTION_DISABLE_LOCAL_PLUGINS - - - - No documentation. - - - MF_RESOLUTION_PLUGIN_CONTROL_POLICY_APPROVED_ONLY - MF_RESOLUTION_PLUGIN_CONTROL_POLICY_APPROVED_ONLY - - - - No documentation. - - - MF_RESOLUTION_PLUGIN_CONTROL_POLICY_WEB_ONLY - MF_RESOLUTION_PLUGIN_CONTROL_POLICY_WEB_ONLY - - - - No documentation. - - - MF_RESOLUTION_PLUGIN_CONTROL_POLICY_WEB_ONLY_EDGEMODE - MF_RESOLUTION_PLUGIN_CONTROL_POLICY_WEB_ONLY_EDGEMODE - - - - No documentation. - - - MF_RESOLUTION_READ - MF_RESOLUTION_READ - - - - No documentation. - - - MF_RESOLUTION_WRITE - MF_RESOLUTION_WRITE - - - - None. - - - None - None - - - -

Contains values that specify common video formats.

-
- - aa473799 - MFStandardVideoFormat - MFStandardVideoFormat -
- - -

Reserved; do not use.

-
- - aa473799 - MFStdVideoFormat_reserved - MFStdVideoFormat_reserved -
- - -

NTSC television (720 x 480i).

-
- - aa473799 - MFStdVideoFormat_NTSC - MFStdVideoFormat_NTSC -
- - -

PAL television (720 x 576i).

-
- - aa473799 - MFStdVideoFormat_PAL - MFStdVideoFormat_PAL -
- - -

DVD, NTSC standard (720 x 480).

-
- - aa473799 - MFStdVideoFormat_DVD_NTSC - MFStdVideoFormat_DVD_NTSC -
- - -

DVD, PAL standard (720 x 576).

-
- - aa473799 - MFStdVideoFormat_DVD_PAL - MFStdVideoFormat_DVD_PAL -
- - -

DV video, PAL standard.

-
- - aa473799 - MFStdVideoFormat_DV_PAL - MFStdVideoFormat_DV_PAL -
- - -

DV video, NTSC standard.

-
- - aa473799 - MFStdVideoFormat_DV_NTSC - MFStdVideoFormat_DV_NTSC -
- - -

ATSC digital television, SD (480i).

-
- - aa473799 - MFStdVideoFormat_ATSC_SD480i - MFStdVideoFormat_ATSC_SD480i -
- - -

ATSC digital television, HD interlaced (1080i)

-
- - aa473799 - MFStdVideoFormat_ATSC_HD1080i - MFStdVideoFormat_ATSC_HD1080i -
- - -

ATSC digital television, HD progressive (720p)

-
- - aa473799 - MFStdVideoFormat_ATSC_HD720p - MFStdVideoFormat_ATSC_HD720p -
- - -

Defines stream marker information for the method. The PlaceMarker method places a marker on the stream between samples. The enumeration defines the marker type and the type of information associated with the marker.

-
- -

If the Streaming Audio Renderer receives an marker, it inserts silence to cover the gap in the data.

-
- - ms703837 - MFSTREAMSINK_MARKER_TYPE - MFSTREAMSINK_MARKER_TYPE -
- - - No documentation. - - - ms703837 - MFSTREAMSINK_MARKER_DEFAULT - MFSTREAMSINK_MARKER_DEFAULT - - - - No documentation. - - - ms703837 - MFSTREAMSINK_MARKER_ENDOFSEGMENT - MFSTREAMSINK_MARKER_ENDOFSEGMENT - - - - No documentation. - - - ms703837 - MFSTREAMSINK_MARKER_TICK - MFSTREAMSINK_MARKER_TICK - - - - No documentation. - - - ms703837 - MFSTREAMSINK_MARKER_EVENT - MFSTREAMSINK_MARKER_EVENT - - - - No documentation. - - - MF_STREAM_STATE - MF_STREAM_STATE - - - - No documentation. - - - MF_STREAM_STATE_STOPPED - MF_STREAM_STATE_STOPPED - - - - No documentation. - - - MF_STREAM_STATE_PAUSED - MF_STREAM_STATE_PAUSED - - - - No documentation. - - - MF_STREAM_STATE_RUNNING - MF_STREAM_STATE_RUNNING - - - - No documentation. - - - MFT_AUDIO_DECODER_DEGRADATION_REASON - MFT_AUDIO_DECODER_DEGRADATION_REASON - - - - No documentation. - - - MFT_AUDIO_DECODER_DEGRADATION_REASON_NONE - MFT_AUDIO_DECODER_DEGRADATION_REASON_NONE - - - - No documentation. - - - MFT_AUDIO_DECODER_DEGRADATION_REASON_LICENSING_REQUIREMENT - MFT_AUDIO_DECODER_DEGRADATION_REASON_LICENSING_REQUIREMENT - - - - No documentation. - - - MFT_AUDIO_DECODER_DEGRADATION_TYPE - MFT_AUDIO_DECODER_DEGRADATION_TYPE - - - - No documentation. - - - MFT_AUDIO_DECODER_DEGRADATION_TYPE_NONE - MFT_AUDIO_DECODER_DEGRADATION_TYPE_NONE - - - - No documentation. - - - MFT_AUDIO_DECODER_DEGRADATION_TYPE_DOWNMIX2CHANNEL - MFT_AUDIO_DECODER_DEGRADATION_TYPE_DOWNMIX2CHANNEL - - - - No documentation. - - - MFT_AUDIO_DECODER_DEGRADATION_TYPE_DOWNMIX6CHANNEL - MFT_AUDIO_DECODER_DEGRADATION_TYPE_DOWNMIX6CHANNEL - - - - No documentation. - - - MFT_AUDIO_DECODER_DEGRADATION_TYPE_DOWNMIX8CHANNEL - MFT_AUDIO_DECODER_DEGRADATION_TYPE_DOWNMIX8CHANNEL - - - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Specifies how text is aligned in its parent block element.

-
- - dn782325 - MF_TIMED_TEXT_ALIGNMENT - MF_TIMED_TEXT_ALIGNMENT -
- - -

Text is aligned at the start of its parent block element.

-
- - dn782325 - MF_TIMED_TEXT_ALIGNMENT_START - MF_TIMED_TEXT_ALIGNMENT_START -
- - -

Text is aligned at the end of its parent block element.

-
- - dn782325 - MF_TIMED_TEXT_ALIGNMENT_END - MF_TIMED_TEXT_ALIGNMENT_END -
- - -

Text is aligned in the center of its parent block element.

-
- - dn782325 - MF_TIMED_TEXT_ALIGNMENT_CENTER - MF_TIMED_TEXT_ALIGNMENT_CENTER -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Specifies the type of a timed text cue event.

-
- - dn904197 - MF_TIMED_TEXT_CUE_EVENT - MF_TIMED_TEXT_CUE_EVENT -
- - -

The cue has become active.

-
- - dn904197 - MF_TIMED_TEXT_CUE_EVENT_ACTIVE - MF_TIMED_TEXT_CUE_EVENT_ACTIVE -
- - -

The cue has become inactive.

-
- - dn904197 - MF_TIMED_TEXT_CUE_EVENT_INACTIVE - MF_TIMED_TEXT_CUE_EVENT_INACTIVE -
- - -

All cues have been deactivated.

-
- - dn904197 - MF_TIMED_TEXT_CUE_EVENT_CLEAR - MF_TIMED_TEXT_CUE_EVENT_CLEAR -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Specifies how text is decorated (underlined and so on).

-
- - dn782326 - MF_TIMED_TEXT_DECORATION - MF_TIMED_TEXT_DECORATION -
- - -

Text isn't decorated.

-
- - dn782326 - MF_TIMED_TEXT_DECORATION_NONE - MF_TIMED_TEXT_DECORATION_NONE -
- - -

Text is underlined.

-
- - dn782326 - MF_TIMED_TEXT_DECORATION_UNDERLINE - MF_TIMED_TEXT_DECORATION_UNDERLINE -
- - -

Text has a line through it.

-
- - dn782326 - MF_TIMED_TEXT_DECORATION_LINE_THROUGH - MF_TIMED_TEXT_DECORATION_LINE_THROUGH -
- - -

Text has a line over it.

-
- - dn782326 - MF_TIMED_TEXT_DECORATION_OVERLINE - MF_TIMED_TEXT_DECORATION_OVERLINE -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Specifies how text is aligned with the display.

-
- - dn782327 - MF_TIMED_TEXT_DISPLAY_ALIGNMENT - MF_TIMED_TEXT_DISPLAY_ALIGNMENT -
- - -

Text is aligned before an element.

-
- - dn782327 - MF_TIMED_TEXT_DISPLAY_ALIGNMENT_BEFORE - MF_TIMED_TEXT_DISPLAY_ALIGNMENT_BEFORE -
- - -

Text is aligned after an element.

-
- - dn782327 - MF_TIMED_TEXT_DISPLAY_ALIGNMENT_AFTER - MF_TIMED_TEXT_DISPLAY_ALIGNMENT_AFTER -
- - -

Text is aligned in the center between elements.

-
- - dn782327 - MF_TIMED_TEXT_DISPLAY_ALIGNMENT_CENTER - MF_TIMED_TEXT_DISPLAY_ALIGNMENT_CENTER -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Specifies the kind error that occurred with a timed text track.

-
- -

This enumeration is used to return error information from the method.

-
- - dn859186 - MF_TIMED_TEXT_ERROR_CODE - MF_TIMED_TEXT_ERROR_CODE -
- - -

No error occurred.

-
- - dn859186 - MF_TIMED_TEXT_ERROR_CODE_NOERROR - MF_TIMED_TEXT_ERROR_CODE_NOERROR -
- - -

A fatal error occurred.

-
- - dn859186 - MF_TIMED_TEXT_ERROR_CODE_FATAL - MF_TIMED_TEXT_ERROR_CODE_FATAL -
- - -

An error occurred with the data format of the timed text track.

-
- - dn859186 - MF_TIMED_TEXT_ERROR_CODE_DATA_FORMAT - MF_TIMED_TEXT_ERROR_CODE_DATA_FORMAT -
- - -

A network error occurred when trying to load the timed text track.

-
- - dn859186 - MF_TIMED_TEXT_ERROR_CODE_NETWORK - MF_TIMED_TEXT_ERROR_CODE_NETWORK -
- - -

An internal error occurred.

-
- - dn859186 - MF_TIMED_TEXT_ERROR_CODE_INTERNAL - MF_TIMED_TEXT_ERROR_CODE_INTERNAL -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Specifies the font style of the timed text.

-
- - dn782328 - MF_TIMED_TEXT_FONT_STYLE - MF_TIMED_TEXT_FONT_STYLE -
- - -

The font style is normal, sometimes referred to as roman.

-
- - dn782328 - MF_TIMED_TEXT_FONT_STYLE_NORMAL - MF_TIMED_TEXT_FONT_STYLE_NORMAL -
- - -

The font style is oblique.

-
- - dn782328 - MF_TIMED_TEXT_FONT_STYLE_OBLIQUE - MF_TIMED_TEXT_FONT_STYLE_OBLIQUE -
- - -

The font style is italic.

-
- - dn782328 - MF_TIMED_TEXT_FONT_STYLE_ITALIC - MF_TIMED_TEXT_FONT_STYLE_ITALIC -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Specifies how text appears when the parent element is scrolled.

-
- - dn782329 - MF_TIMED_TEXT_SCROLL_MODE - MF_TIMED_TEXT_SCROLL_MODE -
- - -

Text pops on when the parent element is scrolled.

-
- - dn782329 - MF_TIMED_TEXT_SCROLL_MODE_POP_ON - MF_TIMED_TEXT_SCROLL_MODE_POP_ON -
- - -

Text rolls up when the parent element is scrolled.

-
- - dn782329 - MF_TIMED_TEXT_SCROLL_MODE_ROLL_UP - MF_TIMED_TEXT_SCROLL_MODE_ROLL_UP -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Specifies the kind of timed text track.

-
- - dn782330 - MF_TIMED_TEXT_TRACK_KIND - MF_TIMED_TEXT_TRACK_KIND -
- - -

The kind of timed text track is unknown.

-
- - dn782330 - MF_TIMED_TEXT_TRACK_KIND_UNKNOWN - MF_TIMED_TEXT_TRACK_KIND_UNKNOWN -
- - -

The kind of timed text track is subtitles.

-
- - dn782330 - MF_TIMED_TEXT_TRACK_KIND_SUBTITLES - MF_TIMED_TEXT_TRACK_KIND_SUBTITLES -
- - -

The kind of timed text track is closed captions.

-
- - dn782330 - MF_TIMED_TEXT_TRACK_KIND_CAPTIONS - MF_TIMED_TEXT_TRACK_KIND_CAPTIONS -
- - -

The kind of timed text track is metadata.

-
- - dn782330 - MF_TIMED_TEXT_TRACK_KIND_METADATA - MF_TIMED_TEXT_TRACK_KIND_METADATA -
- - - No documentation. - - - MF_TIMED_TEXT_TRACK_READY_STATE - MF_TIMED_TEXT_TRACK_READY_STATE - - - - No documentation. - - - MF_TIMED_TEXT_TRACK_READY_STATE_NONE - MF_TIMED_TEXT_TRACK_READY_STATE_NONE - - - - No documentation. - - - MF_TIMED_TEXT_TRACK_READY_STATE_LOADING - MF_TIMED_TEXT_TRACK_READY_STATE_LOADING - - - - No documentation. - - - MF_TIMED_TEXT_TRACK_READY_STATE_LOADED - MF_TIMED_TEXT_TRACK_READY_STATE_LOADED - - - - No documentation. - - - MF_TIMED_TEXT_TRACK_READY_STATE_ERROR - MF_TIMED_TEXT_TRACK_READY_STATE_ERROR - - - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Specifies the units in which the timed text is measured.

-
- - dn782331 - MF_TIMED_TEXT_UNIT_TYPE - MF_TIMED_TEXT_UNIT_TYPE -
- - -

The timed text is measured in pixels.

-
- - dn782331 - MF_TIMED_TEXT_UNIT_TYPE_PIXELS - MF_TIMED_TEXT_UNIT_TYPE_PIXELS -
- - -

The timed text is measured as a percentage.

-
- - dn782331 - MF_TIMED_TEXT_UNIT_TYPE_PERCENTAGE - MF_TIMED_TEXT_UNIT_TYPE_PERCENTAGE -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Specifies the sequence in which text is written on its parent element.

-
- - dn782332 - MF_TIMED_TEXT_WRITING_MODE - MF_TIMED_TEXT_WRITING_MODE -
- - -

Text is written from left to right and top to bottom.

-
- - dn782332 - MF_TIMED_TEXT_WRITING_MODE_LRTB - MF_TIMED_TEXT_WRITING_MODE_LRTB -
- - -

Text is written from right to left and top to bottom.

-
- - dn782332 - MF_TIMED_TEXT_WRITING_MODE_RLTB - MF_TIMED_TEXT_WRITING_MODE_RLTB -
- - -

Text is written from top to bottom and right to left.

-
- - dn782332 - MF_TIMED_TEXT_WRITING_MODE_TBRL - MF_TIMED_TEXT_WRITING_MODE_TBRL -
- - -

Text is written from top to bottom and left to right.

-
- - dn782332 - MF_TIMED_TEXT_WRITING_MODE_TBLR - MF_TIMED_TEXT_WRITING_MODE_TBLR -
- - -

Text is written from left to right.

-
- - dn782332 - MF_TIMED_TEXT_WRITING_MODE_LR - MF_TIMED_TEXT_WRITING_MODE_LR -
- - -

Text is written from right to left.

-
- - dn782332 - MF_TIMED_TEXT_WRITING_MODE_RL - MF_TIMED_TEXT_WRITING_MODE_RL -
- - -

Text is written from top to bottom.

-
- - dn782332 - MF_TIMED_TEXT_WRITING_MODE_TB - MF_TIMED_TEXT_WRITING_MODE_TB -
- - -

Contains flags for the method.

-
- - ms703005 - MFTIMER_FLAGS - MFTIMER_FLAGS -
- - - No documentation. - - - ms703005 - MFTIMER_RELATIVE - MFTIMER_RELATIVE - - - - None. - - - None - None - - - -

Defines messages for a Media Foundation transform (MFT). To send a message to an MFT, call .

-
- -

Some messages require specific actions from the MFT. These events have "MESSAGE" in the message name. Other messages are informational; they notify the MFT of some action by the client, and do not require any particular response from the MFT. These messages have "NOTIFY" in the messages name. Except where noted, an MFT should not rely on the client sending notification messages.

-
- - ms697223 - MFT_MESSAGE_TYPE - MFT_MESSAGE_TYPE -
- - - No documentation. - - - ms697223 - MFT_MESSAGE_COMMAND_FLUSH - MFT_MESSAGE_COMMAND_FLUSH - - - - No documentation. - - - ms697223 - MFT_MESSAGE_COMMAND_DRAIN - MFT_MESSAGE_COMMAND_DRAIN - - - - No documentation. - - - ms697223 - MFT_MESSAGE_SET_D3D_MANAGER - MFT_MESSAGE_SET_D3D_MANAGER - - - - No documentation. - - - ms697223 - MFT_MESSAGE_DROP_SAMPLES - MFT_MESSAGE_DROP_SAMPLES - - - - No documentation. - - - ms697223 - MFT_MESSAGE_COMMAND_TICK - MFT_MESSAGE_COMMAND_TICK - - - - No documentation. - - - ms697223 - MFT_MESSAGE_NOTIFY_BEGIN_STREAMING - MFT_MESSAGE_NOTIFY_BEGIN_STREAMING - - - - No documentation. - - - ms697223 - MFT_MESSAGE_NOTIFY_END_STREAMING - MFT_MESSAGE_NOTIFY_END_STREAMING - - - - No documentation. - - - ms697223 - MFT_MESSAGE_NOTIFY_END_OF_STREAM - MFT_MESSAGE_NOTIFY_END_OF_STREAM - - - - No documentation. - - - ms697223 - MFT_MESSAGE_NOTIFY_START_OF_STREAM - MFT_MESSAGE_NOTIFY_START_OF_STREAM - - - - No documentation. - - - ms697223 - MFT_MESSAGE_NOTIFY_RELEASE_RESOURCES - MFT_MESSAGE_NOTIFY_RELEASE_RESOURCES - - - - No documentation. - - - ms697223 - MFT_MESSAGE_NOTIFY_REACQUIRE_RESOURCES - MFT_MESSAGE_NOTIFY_REACQUIRE_RESOURCES - - - - No documentation. - - - ms697223 - MFT_MESSAGE_NOTIFY_EVENT - MFT_MESSAGE_NOTIFY_EVENT - - - - No documentation. - - - ms697223 - MFT_MESSAGE_COMMAND_SET_OUTPUT_STREAM_STATE - MFT_MESSAGE_COMMAND_SET_OUTPUT_STREAM_STATE - - - - No documentation. - - - ms697223 - MFT_MESSAGE_COMMAND_FLUSH_OUTPUT_STREAM - MFT_MESSAGE_COMMAND_FLUSH_OUTPUT_STREAM - - - - No documentation. - - - ms697223 - MFT_MESSAGE_COMMAND_MARKER - MFT_MESSAGE_COMMAND_MARKER - - - -

Specifies whether the topology loader enables Microsoft DirectX Video Acceleration (DXVA) in the topology.

-
- -

This enumeration is used with the topology attribute.

If an MFT supports DXVA, the MFT must return TRUE for the attribute. To enable DXVA, the topology loader calls on the MFT, passing the MFT a reference to the IDirect3DDeviceManager9 interface. The topology loader gets the IDirect3DDeviceManager9 reference from the media sink for the video stream. Typically the enhanced video renderer (EVR) is the media sink.

Previous versions of Microsoft Media Foundation supported DXVA only for decoders.

-
- - dd388653 - MFTOPOLOGY_DXVA_MODE - MFTOPOLOGY_DXVA_MODE -
- - -

The topology loader enables DXVA - on the decoder if possible, and drops optional Media Foundation transforms (MFTs) that do not support DXVA.

-
- - dd388653 - MFTOPOLOGY_DXVA_DEFAULT - MFTOPOLOGY_DXVA_DEFAULT -
- - -

The topology loader disables all video acceleration. This setting forces software processing, even when the decoder supports DXVA.

-
- - dd388653 - MFTOPOLOGY_DXVA_NONE - MFTOPOLOGY_DXVA_NONE -
- - -

The topology loader enables DXVA on every MFT that supports it.

-
- - dd388653 - MFTOPOLOGY_DXVA_FULL - MFTOPOLOGY_DXVA_FULL -
- - -

Specifies whether the topology loader will insert hardware-based Media Foundation transforms (MFTs) into the topology.

-
- -

This enumeration is used with the topology attribute.

-
- - dd388654 - MFTOPOLOGY_HARDWARE_MODE - MFTOPOLOGY_HARDWARE_MODE -
- - -

Use only software MFTs. Do not use hardware-based MFTs. This mode is the default, for backward compatibility with existing applications.

-
- - dd388654 - MFTOPOLOGY_HWMODE_SOFTWARE_ONLY - MFTOPOLOGY_HWMODE_SOFTWARE_ONLY -
- - -

Use hardware-based MFTs when possible, and software MFTs otherwise. This mode is the recommended one.

-
- - dd388654 - MFTOPOLOGY_HWMODE_USE_HARDWARE - MFTOPOLOGY_HWMODE_USE_HARDWARE -
- - -

If hardware-based MFTs are available, the topoloader will insert them. If not, the connection will fail.

Supported in Windows?8.1 and later.

-
- - dd388654 - MFTOPOLOGY_HWMODE_USE_ONLY_HARDWARE - MFTOPOLOGY_HWMODE_USE_ONLY_HARDWARE -
- - -

Defines status flags for the attribute.

-
- - ms704637 - MF_TOPOLOGY_RESOLUTION_STATUS_FLAGS - MF_TOPOLOGY_RESOLUTION_STATUS_FLAGS -
- - - No documentation. - - - ms704637 - MF_TOPOLOGY_RESOLUTION_SUCCEEDED - MF_TOPOLOGY_RESOLUTION_SUCCEEDED - - - - No documentation. - - - ms704637 - MF_OPTIONAL_NODE_REJECTED_MEDIA_TYPE - MF_OPTIONAL_NODE_REJECTED_MEDIA_TYPE - - - - No documentation. - - - ms704637 - MF_OPTIONAL_NODE_REJECTED_PROTECTED_PROCESS - MF_OPTIONAL_NODE_REJECTED_PROTECTED_PROCESS - - - - None. - - - None - None - - - -

Specifies the status of a topology during playback.

-
- -

This enumeration is used with the event. The event always has an attribute whose value is a member of this enumeration.

For a single topology, the Media Session sends these status flags in numerical order, starting with . However, there is no guarantee about the ordering of the events across two different topologies. For example, you might get for a topology before you get for the previous topology.

-
- - aa370812 - MF_TOPOSTATUS - MF_TOPOSTATUS -
- - -

This value is not used.

-
- - aa370812 - MF_TOPOSTATUS_INVALID - MF_TOPOSTATUS_INVALID -
- - -

The topology is ready to start. After this status flag is received, you can use the Media Session's method to query the topology for services, such as rate control.

-
- - aa370812 - MF_TOPOSTATUS_READY - MF_TOPOSTATUS_READY -
- - -

The Media Session has started to read data from the media sources in the topology.

-
- - aa370812 - MF_TOPOSTATUS_STARTED_SOURCE - MF_TOPOSTATUS_STARTED_SOURCE -
- - -

The Media Session modified the topology, because the format of a stream changed.

-
- - aa370812 - MF_TOPOSTATUS_DYNAMIC_CHANGED - MF_TOPOSTATUS_DYNAMIC_CHANGED -
- - -

The media sinks have switched from the previous topology to this topology. This status value is not sent for the first topology that is played. For the first topology, the event indicates that the media sinks have started receiving data.

-
- - aa370812 - MF_TOPOSTATUS_SINK_SWITCHED - MF_TOPOSTATUS_SINK_SWITCHED -
- - -

Playback of this topology is complete. The Media Session might still use the topology internally. The Media Session does not completely release the topology until it sends the next status event or the event.

-
- - aa370812 - MF_TOPOSTATUS_ENDED - MF_TOPOSTATUS_ENDED -
- - -

Defines the type of a topology node.

-
- - ms698973 - MF_TOPOLOGY_TYPE - MF_TOPOLOGY_TYPE -
- - -

Output node. Represents a media sink in the topology.

-
- - ms698973 - MF_TOPOLOGY_OUTPUT_NODE - MF_TOPOLOGY_OUTPUT_NODE -
- - -

Source node. Represents a media stream in the topology.

-
- - ms698973 - MF_TOPOLOGY_SOURCESTREAM_NODE - MF_TOPOLOGY_SOURCESTREAM_NODE -
- - -

Transform node. Represents a Media Foundation Transform (MFT) in the topology.

-
- - ms698973 - MF_TOPOLOGY_TRANSFORM_NODE - MF_TOPOLOGY_TRANSFORM_NODE -
- - -

Tee node. A tee node does not hold a reference to an object. Instead, it represents a fork in the stream. A tee node has one input and multiple outputs, and samples from the upstream node are delivered to all of the downstream nodes.

-
- - ms698973 - MF_TOPOLOGY_TEE_NODE - MF_TOPOLOGY_TEE_NODE -
- - -

Reserved.

-
- - ms698973 - MF_TOPOLOGY_MAX - MF_TOPOLOGY_MAX -
- - -

Defines at what times a transform in a topology is drained.

-
- - aa370822 - MF_TOPONODE_DRAIN_MODE - MF_TOPONODE_DRAIN_MODE -
- - -

The transform is drained when the end of a stream is reached. It is not drained when markout is reached at the end of a segment.

-
- - aa370822 - MF_TOPONODE_DRAIN_DEFAULT - MF_TOPONODE_DRAIN_DEFAULT -
- - -

The transform is drained whenever a topology ends.

-
- - aa370822 - MF_TOPONODE_DRAIN_ALWAYS - MF_TOPONODE_DRAIN_ALWAYS -
- - -

The transform is never drained.

-
- - aa370822 - MF_TOPONODE_DRAIN_NEVER - MF_TOPONODE_DRAIN_NEVER -
- - -

Defines when a transform in a topology is flushed.

-
- - ms704760 - MF_TOPONODE_FLUSH_MODE - MF_TOPONODE_FLUSH_MODE -
- - -

The transform is flushed whenever the stream changes, including seeks and new segments.

-
- - ms704760 - MF_TOPONODE_FLUSH_ALWAYS - MF_TOPONODE_FLUSH_ALWAYS -
- - -

The transform is flushed when seeking is performed on the stream.

-
- - ms704760 - MF_TOPONODE_FLUSH_SEEK - MF_TOPONODE_FLUSH_SEEK -
- - -

The transform is never flushed during streaming. It is flushed only when the object is released.

-
- - ms704760 - MF_TOPONODE_FLUSH_NEVER - MF_TOPONODE_FLUSH_NEVER -
- - -

Defines the profile flags that are set in the attribute.

These flags are checked by during topology building. Based on these flags, adjusts the transcode profile by modifying the configuration settings for the streams according to the input requirements of the encoder used in the topology.

For more information about the stream settings that an application can specify, see Using the Transcode API.

-
- -

If the flag is specified, the following changes are made for the video stream:

  • If the frame rate of the media source specified in the pSrc parameter of and the frame rate specified by the application in the attribute differ by less than 1/1000, the profile uses the media source frame rate. This is because the pipeline considers the difference to be negligible.
  • If the application does not specify an interlaced mode by setting the attribute, the profile is changed to use progressive frames.

The flag must be accompanied with the required audio and video stream attributes provided by the application. For the audio stream, the required attributes are as follows:

For the video stream, the required attributes are as follows:

If these attributes are not set, creates the topology but Media Session fails to generate the encoded file. The failure code depends on the MFT node in the topology. For example, if the application does not set the frame size, the WMV encoder fails to encode the content and application gets the error code through the Media Session.

Use the flag when you want to transcode the file by using the input stream attributes. The input source stream attributes are copied to the output media type before the MFT node is inserted in the topology. If you set additional stream attributes, this flag does not overwrite the set values. Only the missing attributes are filled with the input source's attribute values. This flag is useful in remux scenario where you want to generate the output file in the same format as the input source. If you want to perform format conversion, make sure you set the attribute for the stream to specify the encoder that topology builder must use. The transform node is added in the topology unless is set. In this case, and the content is not encoded. Instead, if permitted by the container, the content is embedded in the specified container.

For example, assume that your input source is an MP3 file. You set the container to be , you do not set any stream attributes, and you set the flag. In this case, the generated output file is an ASF file (.wma) containing MP3 media data. Note that if you use this flag, certain input stream attributes and the container type might not be compatible.

-
- - dd388918 - MF_TRANSCODE_ADJUST_PROFILE_FLAGS - MF_TRANSCODE_ADJUST_PROFILE_FLAGS -
- - - No documentation. - - - dd388918 - MF_TRANSCODE_ADJUST_PROFILE_DEFAULT - MF_TRANSCODE_ADJUST_PROFILE_DEFAULT - - - - No documentation. - - - dd388918 - MF_TRANSCODE_ADJUST_PROFILE_USE_SOURCE_ATTRIBUTES - MF_TRANSCODE_ADJUST_PROFILE_USE_SOURCE_ATTRIBUTES - - - - None. - - - None - None - - - -

Defines flags for the attribute.

-
- - dd388926 - MF_TRANSCODE_TOPOLOGYMODE_FLAGS - MF_TRANSCODE_TOPOLOGYMODE_FLAGS -
- - - No documentation. - - - dd388926 - MF_TRANSCODE_TOPOLOGYMODE_SOFTWARE_ONLY - MF_TRANSCODE_TOPOLOGYMODE_SOFTWARE_ONLY - - - - No documentation. - - - dd388926 - MF_TRANSCODE_TOPOLOGYMODE_HARDWARE_ALLOWED - MF_TRANSCODE_TOPOLOGYMODE_HARDWARE_ALLOWED - - - - None. - - - None - None - - - - No documentation. - - - MF_TRANSFER_VIDEO_FRAME_FLAGS - MF_TRANSFER_VIDEO_FRAME_FLAGS - - - - No documentation. - - - MF_TRANSFER_VIDEO_FRAME_DEFAULT - MF_TRANSFER_VIDEO_FRAME_DEFAULT - - - - No documentation. - - - MF_TRANSFER_VIDEO_FRAME_STRETCH - MF_TRANSFER_VIDEO_FRAME_STRETCH - - - - No documentation. - - - MF_TRANSFER_VIDEO_FRAME_IGNORE_PAR - MF_TRANSFER_VIDEO_FRAME_IGNORE_PAR - - - - None. - - - None - None - - - -

Contains flags for registering and enumeration Media Foundation transforms (MFTs).

These flags are used in the following functions:

  • : These flags control which Media Foundation transforms (MFTs) are enumerated, as well as the enumeration order.
  • : A subset of these flags are used when registering an MFT.
-
- -

For registration, these flags describe the MFT that is being registered. Some flags do not apply in that context. For enumeration, these flags control which MFTs are selected in the enumeration. For more details about the precise meaning of these flags, see the reference topics for and

For registration, the , , and flags are mutually exclusive. For enumeration, these three flags can be combined.

-
- - dd389302 - _MFT_ENUM_FLAG - _MFT_ENUM_FLAG -
- - - No documentation. - - - dd389302 - MFT_ENUM_FLAG_SYNCMFT - MFT_ENUM_FLAG_SYNCMFT - - - - No documentation. - - - dd389302 - MFT_ENUM_FLAG_ASYNCMFT - MFT_ENUM_FLAG_ASYNCMFT - - - - No documentation. - - - dd389302 - MFT_ENUM_FLAG_HARDWARE - MFT_ENUM_FLAG_HARDWARE - - - - No documentation. - - - dd389302 - MFT_ENUM_FLAG_FIELDOFUSE - MFT_ENUM_FLAG_FIELDOFUSE - - - - No documentation. - - - dd389302 - MFT_ENUM_FLAG_LOCALMFT - MFT_ENUM_FLAG_LOCALMFT - - - - No documentation. - - - dd389302 - MFT_ENUM_FLAG_TRANSCODE_ONLY - MFT_ENUM_FLAG_TRANSCODE_ONLY - - - - No documentation. - - - dd389302 - MFT_ENUM_FLAG_SORTANDFILTER - MFT_ENUM_FLAG_SORTANDFILTER - - - - No documentation. - - - dd389302 - MFT_ENUM_FLAG_SORTANDFILTER_APPROVED_ONLY - MFT_ENUM_FLAG_SORTANDFILTER_APPROVED_ONLY - - - - No documentation. - - - dd389302 - MFT_ENUM_FLAG_SORTANDFILTER_WEB_ONLY - MFT_ENUM_FLAG_SORTANDFILTER_WEB_ONLY - - - - No documentation. - - - dd389302 - MFT_ENUM_FLAG_SORTANDFILTER_WEB_ONLY_EDGEMODE - MFT_ENUM_FLAG_SORTANDFILTER_WEB_ONLY_EDGEMODE - - - - No documentation. - - - dd389302 - MFT_ENUM_FLAG_UNTRUSTED_STOREMFT - MFT_ENUM_FLAG_UNTRUSTED_STOREMFT - - - - No documentation. - - - dd389302 - MFT_ENUM_FLAG_ALL - MFT_ENUM_FLAG_ALL - - - - None. - - - None - None - - - -

Defines flags for processing output samples in a Media Foundation transform (MFT).

-
- - ms700163 - _MFT_PROCESS_OUTPUT_FLAGS - _MFT_PROCESS_OUTPUT_FLAGS -
- - -

Do not produce output for streams in which the pSample member of the structure is null. This flag is not valid unless the MFT has marked the output stream with the or flag. For more information, see .

-
- - ms700163 - MFT_PROCESS_OUTPUT_DISCARD_WHEN_NO_BUFFER - MFT_PROCESS_OUTPUT_DISCARD_WHEN_NO_BUFFER -
- - -

Regenerates the last output sample.

Note Requires Windows?8.

-
- - ms700163 - MFT_PROCESS_OUTPUT_REGENERATE_LAST_OUTPUT - MFT_PROCESS_OUTPUT_REGENERATE_LAST_OUTPUT -
- - - None. - - - None - None - - - -

Indicates the status of a call to .

-
- -

If the MFT sets this flag, the ProcessOutput method returns and no output data is produced. The client should respond as follows:

  1. Call to get the new number of streams.

  2. Call to get the new stream identifiers.

  3. Call and to set the media types on the new streams.

Until these steps are completed, all further calls to ProcessOutput return .

-
- - ms699875 - _MFT_PROCESS_OUTPUT_STATUS - _MFT_PROCESS_OUTPUT_STATUS -
- - - No documentation. - - - ms699875 - MFT_PROCESS_OUTPUT_STATUS_NEW_STREAMS - MFT_PROCESS_OUTPUT_STATUS_NEW_STREAMS - - - -

Indicates whether the URL is from a trusted source.

-
- - ms705652 - MF_URL_TRUST_STATUS - MF_URL_TRUST_STATUS -
- - -

The validity of the URL cannot be guaranteed because it is not signed. The application should warn the user.

-
- - ms705652 - MF_LICENSE_URL_UNTRUSTED - MF_LICENSE_URL_UNTRUSTED -
- - -

The URL is the original one provided with the content.

-
- - ms705652 - MF_LICENSE_URL_TRUSTED - MF_LICENSE_URL_TRUSTED -
- - -

The URL was originally signed and has been tampered with. The file should be considered corrupted, and the application should not navigate to the URL without issuing a strong warning the user.

-
- - ms705652 - MF_LICENSE_URL_TAMPERED - MF_LICENSE_URL_TAMPERED -
- - -

Specifies how 3D video frames are stored in memory.

-
- -

This enumeration is used with the attribute.

-
- - hh162802 - MFVideo3DFormat - MFVideo3DFormat -
- - -

The base view is stored in a single buffer. The other view is discarded.

-
- - hh162802 - MFVideo3DSampleFormat_BaseView - MFVideo3DSampleFormat_BaseView -
- - -

Each media sample contains multiple buffers, one for each view.

-
- - hh162802 - MFVideo3DSampleFormat_MultiView - MFVideo3DSampleFormat_MultiView -
- - -

Each media sample contains one buffer, with both views packed side-by-side into a single frame.

-
- - hh162802 - MFVideo3DSampleFormat_Packed_LeftRight - MFVideo3DSampleFormat_Packed_LeftRight -
- - -

Each media sample contains one buffer, with both views packed top-and-bottom into a single frame.

-
- - hh162802 - MFVideo3DSampleFormat_Packed_TopBottom - MFVideo3DSampleFormat_Packed_TopBottom -
- - -

Specifies how to output a 3D stereoscopic video stream.

-
- -

This enumeration is used with the attribute.

-
- - hh162743 - MF3DVideoOutputType - MF3DVideoOutputType -
- - -

Output the base view only. Discard the other view.

-
- - hh162743 - MF3DVideoOutputType_BaseView - MF3DVideoOutputType_BaseView -
- - -

Output a stereo view (two buffers).

-
- - hh162743 - MF3DVideoOutputType_Stereo - MF3DVideoOutputType_Stereo -
- - -

Specifies how a 3D video frame is stored in a media sample.

-
- -

This enumeration is used with the attribute.

The exact layout of the views in memory is specified by the following media type attributes:

-
- - hh162803 - MFVideo3DSampleFormat - MFVideo3DSampleFormat -
- - -

Each view is stored in a separate buffer. The sample contains one buffer per view.

-
- - hh162803 - MFSampleExtension_3DVideo_MultiView - MFSampleExtension_3DVideo_MultiView -
- - -

All of the views are stored in the same buffer. The sample contains a single buffer.

-
- - hh162803 - MFSampleExtension_3DVideo_Packed - MFSampleExtension_3DVideo_Packed -
- - -

Specifies the aspect-ratio mode.

-
- - ms703040 - MFVideoAspectRatioMode - MFVideoAspectRatioMode -
- - -

Do not maintain the aspect ratio of the video. Stretch the video to fit the output rectangle.

-
- - ms703040 - MFVideoARMode_None - MFVideoARMode_None -
- - -

Preserve the aspect ratio of the video by letterboxing or within the output rectangle.

-
- - ms703040 - MFVideoARMode_PreservePicture - MFVideoARMode_PreservePicture -
- - -
Note??Currently the EVR ignores this flag. ?

Correct the aspect ratio if the physical size of the display device does not match the display resolution. For example, if the native resolution of the monitor is 1600 by 1200 (4:3) but the display resolution is 1280 by 1024 (5:4), the monitor will display non-square pixels.

If this flag is set, you must also set the flag.

-
- - ms703040 - MFVideoARMode_PreservePixel - MFVideoARMode_PreservePixel -
- - -

Apply a non-linear horizontal stretch if the aspect ratio of the destination rectangle does not match the aspect ratio of the source rectangle.

The non-linear stretch algorithm preserves the aspect ratio in the middle of the picture and stretches (or shrinks) the image progressively more toward the left and right. This mode is useful when viewing 4:3 content full-screen on a 16:9 display, instead of pillar-boxing. Non-linear vertical stretch is not supported, because the visual results are generally poor.

This mode may cause performance degradation.

If this flag is set, you must also set the and flags.

-
- - ms703040 - MFVideoARMode_NonLinearStretch - MFVideoARMode_NonLinearStretch -
- - -

Contains flags that define the chroma encoding scheme for Y'Cb'Cr' data.

-
- -

These flags are used with the attribute.

For more information about these values, see the remarks for the DXVA2_VideoChromaSubSampling enumeration, which is the DirectX Video Acceleration (DXVA) equivalent of this enumeration.

-
- - ms698989 - MFVideoChromaSubsampling - MFVideoChromaSubsampling -
- - -

Unknown encoding scheme.

-
- - ms698989 - MFVideoChromaSubsampling_Unknown - MFVideoChromaSubsampling_Unknown -
- - -

Chroma should be reconstructed as if the underlying video was progressive content, rather than skipping fields or applying chroma filtering to minimize artifacts from reconstructing 4:2:0 interlaced chroma.

-
- - ms698989 - MFVideoChromaSubsampling_ProgressiveChroma - MFVideoChromaSubsampling_ProgressiveChroma -
- - -

Chroma samples are aligned horizontally with the luma samples, or with multiples of the luma samples. If this flag is not set, chroma samples are located 1/2 pixel to the right of the corresponding luma sample.

-
- - ms698989 - MFVideoChromaSubsampling_Horizontally_Cosited - MFVideoChromaSubsampling_Horizontally_Cosited -
- - -

Chroma samples are aligned vertically with the luma samples, or with multiples of the luma samples. If this flag is not set, chroma samples are located 1/2 pixel down from the corresponding luma sample.

-
- - ms698989 - MFVideoChromaSubsampling_Vertically_Cosited - MFVideoChromaSubsampling_Vertically_Cosited -
- - -

The U and V planes are aligned vertically. If this flag is not set, the chroma planes are assumed to be out of phase by 1/2 chroma sample, alternating between a line of U followed by a line of V.

-
- - ms698989 - MFVideoChromaSubsampling_Vertically_AlignedChromaPlanes - MFVideoChromaSubsampling_Vertically_AlignedChromaPlanes -
- - -

Specifies the chroma encoding scheme for MPEG-2 video. Chroma samples are aligned horizontally with the luma samples, but are not aligned vertically. The U and V planes are aligned vertically.

-
- - ms698989 - MFVideoChromaSubsampling_MPEG2 - MFVideoChromaSubsampling_MPEG2 -
- - -

Specifies the chroma encoding scheme for MPEG-1 video.

-
- - ms698989 - MFVideoChromaSubsampling_MPEG1 - MFVideoChromaSubsampling_MPEG1 -
- - -

Specifies the chroma encoding scheme for PAL DV video.

-
- - ms698989 - MFVideoChromaSubsampling_DV_PAL - MFVideoChromaSubsampling_DV_PAL -
- - -

Chroma samples are aligned vertically and horizontally with the luma samples. YUV formats such as 4:4:4, 4:2:2, and 4:1:1 are always cosited in both directions and should use this flag.

-
- - ms698989 - MFVideoChromaSubsampling_Cosited - MFVideoChromaSubsampling_Cosited -
- - -

Reserved.

-
- - ms698989 - MFVideoChromaSubsampling_Last - MFVideoChromaSubsampling_Last -
- - -

Reserved. This member forces the enumeration type to compile as a DWORD value.

-
- - ms698989 - MFVideoChromaSubsampling_ForceDWORD - MFVideoChromaSubsampling_ForceDWORD -
- - -

Specifies the type of copy protection required for a video stream.

-
- -

Use these flags with the attribute.

-
- - ms698900 - MFVideoDRMFlags - MFVideoDRMFlags -
- - -

No copy protection is required.

-
- - ms698900 - MFVideoDRMFlag_None - MFVideoDRMFlag_None -
- - -

Analog copy protection should be applied.

-
- - ms698900 - MFVideoDRMFlag_AnalogProtected - MFVideoDRMFlag_AnalogProtected -
- - -

Digital copy protection should be applied.

-
- - ms698900 - MFVideoDRMFlag_DigitallyProtected - MFVideoDRMFlag_DigitallyProtected -
- - -

Contains flags that describe a video stream.

These flags are used in the structure, which is part of the structure.

-
- -

Developers are encouraged to use media type attributes instead of using the structure. The following table lists the attributes that correspond to the flags defined in this enumeration.

FlagsMedia Type Attribute

Use the attribute to specify a negative stride.

?

The following flags were defined to describe per-sample interlacing information, but are obsolete:

Instead, components should use sample attributes to describe per-sample interlacing information, as described in the topic Video Interlacing.

-
- - aa473786 - MFVideoFlags - MFVideoFlags -
- - - No documentation. - - - aa473786 - MFVideoFlag_PAD_TO_None - MFVideoFlag_PAD_TO_None - - - - No documentation. - - - aa473786 - MFVideoFlag_PAD_TO_4x3 - MFVideoFlag_PAD_TO_4x3 - - - - No documentation. - - - aa473786 - MFVideoFlag_PAD_TO_16x9 - MFVideoFlag_PAD_TO_16x9 - - - - No documentation. - - - aa473786 - MFVideoFlag_SrcContentHintMask - MFVideoFlag_SrcContentHintMask - - - - No documentation. - - - aa473786 - MFVideoFlag_SrcContentHintNone - MFVideoFlag_SrcContentHintNone - - - - No documentation. - - - aa473786 - MFVideoFlag_SrcContentHint16x9 - MFVideoFlag_SrcContentHint16x9 - - - - No documentation. - - - aa473786 - MFVideoFlag_SrcContentHint235_1 - MFVideoFlag_SrcContentHint235_1 - - - - No documentation. - - - aa473786 - MFVideoFlag_AnalogProtected - MFVideoFlag_AnalogProtected - - - - No documentation. - - - aa473786 - MFVideoFlag_DigitallyProtected - MFVideoFlag_DigitallyProtected - - - - No documentation. - - - aa473786 - MFVideoFlag_ProgressiveContent - MFVideoFlag_ProgressiveContent - - - - No documentation. - - - aa473786 - MFVideoFlag_FieldRepeatCountMask - MFVideoFlag_FieldRepeatCountMask - - - - No documentation. - - - aa473786 - MFVideoFlag_FieldRepeatCountShift - MFVideoFlag_FieldRepeatCountShift - - - - No documentation. - - - aa473786 - MFVideoFlag_ProgressiveSeqReset - MFVideoFlag_ProgressiveSeqReset - - - - No documentation. - - - aa473786 - MFVideoFlag_PanScanEnabled - MFVideoFlag_PanScanEnabled - - - - No documentation. - - - aa473786 - MFVideoFlag_LowerFieldFirst - MFVideoFlag_LowerFieldFirst - - - - No documentation. - - - aa473786 - MFVideoFlag_BottomUpLinearRep - MFVideoFlag_BottomUpLinearRep - - - - No documentation. - - - aa473786 - MFVideoFlags_DXVASurface - MFVideoFlags_DXVASurface - - - - No documentation. - - - aa473786 - MFVideoFlags_RenderTargetSurface - MFVideoFlags_RenderTargetSurface - - - - No documentation. - - - aa473786 - MFVideoFlags_ForceQWORD - MFVideoFlags_ForceQWORD - - - -

Specifies how a video stream is interlaced.

In the descriptions that follow, upper field refers to the field that contains the leading half scan line. Lower field refers to the field that contains the first full scan line.

-
- -

Scan lines in the lower field are 0.5 scan line lower than those in the upper field. In NTSC television, a frame consists of a lower field followed by an upper field. In PAL television, a frame consists of an upper field followed by a lower field.

The upper field is also called the even field, the top field, or field 2. The lower field is also called the odd field, the bottom field, or field 1.

If the interlace mode is or , each sample contains a single field, so each buffer contains only half the number of field lines given in the media type.

-
- - ms694269 - MFVideoInterlaceMode - MFVideoInterlaceMode -
- - -

The type of interlacing is not known.

-
- - ms694269 - MFVideoInterlace_Unknown - MFVideoInterlace_Unknown -
- - -

Progressive frames.

-
- - ms694269 - MFVideoInterlace_Progressive - MFVideoInterlace_Progressive -
- - -

Interlaced frames. Each frame contains two fields. The field lines are interleaved, with the upper field appearing on the first line.

-
- - ms694269 - MFVideoInterlace_FieldInterleavedUpperFirst - MFVideoInterlace_FieldInterleavedUpperFirst -
- - -

Interlaced frames. Each frame contains two fields. The field lines are interleaved, with the lower field appearing on the first line.

-
- - ms694269 - MFVideoInterlace_FieldInterleavedLowerFirst - MFVideoInterlace_FieldInterleavedLowerFirst -
- - -

Interlaced frames. Each frame contains one field, with the upper field appearing first.

-
- - ms694269 - MFVideoInterlace_FieldSingleUpper - MFVideoInterlace_FieldSingleUpper -
- - -

Interlaced frames. Each frame contains one field, with the lower field appearing first.

-
- - ms694269 - MFVideoInterlace_FieldSingleLower - MFVideoInterlace_FieldSingleLower -
- - -

The stream contains a mix of interlaced and progressive modes.

-
- - ms694269 - MFVideoInterlace_MixedInterlaceOrProgressive - MFVideoInterlace_MixedInterlaceOrProgressive -
- - -

Reserved.

-
- - ms694269 - MFVideoInterlace_Last - MFVideoInterlace_Last -
- - -

Reserved. This member forces the enumeration type to compile as a DWORD value.

-
- - ms694269 - MFVideoInterlace_ForceDWORD - MFVideoInterlace_ForceDWORD -
- - -

Describes the optimal lighting for viewing a particular set of video content.

-
- -

This enumeration is used with the attribute.

-
- - ms696202 - MFVideoLighting - MFVideoLighting -
- - -

The optimal lighting is unknown.

-
- - ms696202 - MFVideoLighting_Unknown - MFVideoLighting_Unknown -
- - -

Bright lighting; for example, outdoors.

-
- - ms696202 - MFVideoLighting_bright - MFVideoLighting_bright -
- - -

Medium brightness; for example, normal office lighting.

-
- - ms696202 - MFVideoLighting_office - MFVideoLighting_office -
- - -

Dim; for example, a living room with a television and additional low lighting.

-
- - ms696202 - MFVideoLighting_dim - MFVideoLighting_dim -
- - -

Dark; for example, a movie theater.

-
- - ms696202 - MFVideoLighting_dark - MFVideoLighting_dark -
- - -

Reserved.

-
- - ms696202 - MFVideoLighting_Last - MFVideoLighting_Last -
- - -

Reserved. This member forces the enumeration type to compile as a DWORD value.

-
- - ms696202 - MFVideoLighting_ForceDWORD - MFVideoLighting_ForceDWORD -
- - -

Contains flags that are used to configure how the enhanced video renderer (EVR) performs deinterlacing.

-
- -

To set these flags, call the method.

These flags control some trade-offs between video quality and rendering speed. The constants named "MFVideoMixPrefs_Allow..." enable lower-quality settings, but only when the quality manager requests a drop in quality. The constants named "MFVideoMixPrefs_Force..." force the EVR to use lower-quality settings regardless of what the quality manager requests. (For more information about the quality manager, see .)

Currently two lower-quality modes are supported, as described in the following table. Either is preferable to dropping an entire frame.

ModeDescription

Half interface

The EVR's video mixer skips the second field (relative to temporal order) of each interlaced frame. The video mixer still deinterlaces the first field, and this operation typically interpolates data from the second field. The overall frame rate is unaffected.

Bob deinterlacing

The video mixer uses bob deinterlacing, even if the driver supports a higher-quality deinterlacing algorithm.

?

-
- - dd388675 - MFVideoMixPrefs - MFVideoMixPrefs -
- - -

Force the EVR to skip the second field (in temporal order) of every interlaced frame.

-
- - dd388675 - MFVideoMixPrefs_ForceHalfInterlace - MFVideoMixPrefs_ForceHalfInterlace -
- - -

If the EVR is falling behind, allow it to skip the second field (in temporal order) of every interlaced frame.

-
- - dd388675 - MFVideoMixPrefs_AllowDropToHalfInterlace - MFVideoMixPrefs_AllowDropToHalfInterlace -
- - -

If the EVR is falling behind, allow it to use bob deinterlacing, even if the driver supports a higher-quality deinterlacing mode.

-
- - dd388675 - MFVideoMixPrefs_AllowDropToBob - MFVideoMixPrefs_AllowDropToBob -
- - -

Force the EVR to use bob deinterlacing, even if the driver supports a higher-quality mode.

-
- - dd388675 - MFVideoMixPrefs_ForceBob - MFVideoMixPrefs_ForceBob -
- - -

The bitmask of valid flag values. This constant is not itself a valid flag. -

-
- - dd388675 - MFVideoMixPrefs_EnableRotation - MFVideoMixPrefs_EnableRotation -
- - -

Specifies whether to pad a video image so that it fits within a specified aspect ratio.

-
- -

Use these flags with the attribute.

-
- - ms703091 - MFVideoPadFlags - MFVideoPadFlags -
- - -

Do not pad the image.

-
- - ms703091 - MFVideoPadFlag_PAD_TO_None - MFVideoPadFlag_PAD_TO_None -
- - -

Pad the image so that it can be displayed in a 4?3 area.

-
- - ms703091 - MFVideoPadFlag_PAD_TO_4x3 - MFVideoPadFlag_PAD_TO_4x3 -
- - -

Pad the image so that it can be displayed in a 16?9 area.

-
- - ms703091 - MFVideoPadFlag_PAD_TO_16x9 - MFVideoPadFlag_PAD_TO_16x9 -
- - -

Specifies the color primaries of a video source. The color primaries define how to convert colors from RGB color space to CIE XYZ color space.

-
- -

This enumeration is used with the attribute.

For more information about these values, see the remarks for the DXVA2_VideoPrimaries enumeration, which is the DirectX Video Acceleration (DXVA) equivalent of this enumeration.

-
- - ms701628 - MFVideoPrimaries - MFVideoPrimaries -
- - -

The color primaries are unknown.

-
- - ms701628 - MFVideoPrimaries_Unknown - MFVideoPrimaries_Unknown -
- - -

Reserved.

-
- - ms701628 - MFVideoPrimaries_reserved - MFVideoPrimaries_reserved -
- - -

ITU-R BT.709. Also used for sRGB and scRGB.

-
- - ms701628 - MFVideoPrimaries_BT709 - MFVideoPrimaries_BT709 -
- - -

ITU-R BT.470-4 System M (NTSC).

-
- - ms701628 - MFVideoPrimaries_BT470_2_SysM - MFVideoPrimaries_BT470_2_SysM -
- - -

ITU-R BT.470-4 System B,G (NTSC).

-
- - ms701628 - MFVideoPrimaries_BT470_2_SysBG - MFVideoPrimaries_BT470_2_SysBG -
- - -

SMPTE 170M.

-
- - ms701628 - MFVideoPrimaries_SMPTE170M - MFVideoPrimaries_SMPTE170M -
- - -

SMPTE 240M.

-
- - ms701628 - MFVideoPrimaries_SMPTE240M - MFVideoPrimaries_SMPTE240M -
- - -

EBU 3213.

-
- - ms701628 - MFVideoPrimaries_EBU3213 - MFVideoPrimaries_EBU3213 -
- - -

SMPTE C (SMPTE RP 145).

-
- - ms701628 - MFVideoPrimaries_SMPTE_C - MFVideoPrimaries_SMPTE_C -
- - -

Reserved.

-
- - ms701628 - MFVideoPrimaries_BT2020 - MFVideoPrimaries_BT2020 -
- - -

Reserved. This member forces the enumeration type to compile as a DWORD value.

-
- - ms701628 - MFVideoPrimaries_XYZ - MFVideoPrimaries_XYZ -
- - - No documentation. - - - ms701628 - MFVideoPrimaries_DCI_P3 - MFVideoPrimaries_DCI_P3 - - - - No documentation. - - - ms701628 - MFVideoPrimaries_ACES - MFVideoPrimaries_ACES - - - -

Reserved.

-
- - ms701628 - MFVideoPrimaries_Last - MFVideoPrimaries_Last -
- - -

Reserved. This member forces the enumeration type to compile as a DWORD value.

-
- - ms701628 - MFVideoPrimaries_ForceDWORD - MFVideoPrimaries_ForceDWORD -
- - -

Defines algorithms for the video processor which is use by MF_VIDEO_PROCESSOR_ALGORITHM.

-
- - dn302208 - MF_VIDEO_PROCESSOR_ALGORITHM_TYPE - MF_VIDEO_PROCESSOR_ALGORITHM_TYPE -
- - - No documentation. - - - dn302208 - MF_VIDEO_PROCESSOR_ALGORITHM_DEFAULT - MF_VIDEO_PROCESSOR_ALGORITHM_DEFAULT - - - - No documentation. - - - dn302208 - MF_VIDEO_PROCESSOR_ALGORITHM_MRF_CRF_444 - MF_VIDEO_PROCESSOR_ALGORITHM_MRF_CRF_444 - - - -

Specifies how to flip a video image.

-
- - hh162904 - MF_VIDEO_PROCESSOR_MIRROR - MF_VIDEO_PROCESSOR_MIRROR -
- - -

Do not flip the image.

-
- - hh162904 - MIRROR_NONE - MIRROR_NONE -
- - -

Flip the image horizontally.

-
- - hh162904 - MIRROR_HORIZONTAL - MIRROR_HORIZONTAL -
- - -

Flip the image vertically.

-
- - hh162904 - MIRROR_VERTICAL - MIRROR_VERTICAL -
- - -

Specifies how to rotate a video image.

-
- - hh162905 - MF_VIDEO_PROCESSOR_ROTATION - MF_VIDEO_PROCESSOR_ROTATION -
- - -

Do not rotate the image.

-
- - hh162905 - ROTATION_NONE - ROTATION_NONE -
- - -

Rotate the image to the correct viewing orientation.

-
- - hh162905 - ROTATION_NORMAL - ROTATION_NORMAL -
- - -

Contains flags that define how the enhanced video renderer (EVR) displays the video.

-
- -

To set these flags, call .

The flags named "MFVideoRenderPrefs_Allow..." cause the EVR to use lower-quality settings only when requested by the quality manager. (For more information, see .) The flags named "MFVideoRenderPrefs_Force..." cause the video mixer to use lower-quality settings regardless of the quality manager.

-
- - ms701834 - MFVideoRenderPrefs - MFVideoRenderPrefs -
- - -

If this flag is set, the EVR does not draw the border color. By default, the EVR draws a border on areas of the destination rectangle that have no video. See .

-
- - ms701834 - MFVideoRenderPrefs_DoNotRenderBorder - MFVideoRenderPrefs_DoNotRenderBorder -
- - -

If this flag is set, the EVR does not clip the video when the video window straddles two monitors. By default, if the video window straddles two monitors, the EVR clips the video to the monitor that contains the largest area of video.

-
- - ms701834 - MFVideoRenderPrefs_DoNotClipToDevice - MFVideoRenderPrefs_DoNotClipToDevice -
- - -

Note??Requires Windows?7 or later. ?

Allow the EVR to limit its output to match GPU bandwidth.

-
- - ms701834 - MFVideoRenderPrefs_AllowOutputThrottling - MFVideoRenderPrefs_AllowOutputThrottling -
- - -

Note??Requires Windows?7 or later. ?

Force the EVR to limit its output to match GPU bandwidth.

-
- - ms701834 - MFVideoRenderPrefs_ForceOutputThrottling - MFVideoRenderPrefs_ForceOutputThrottling -
- - -

Note??Requires Windows?7 or later. ?

Force the EVR to batch Direct3D Present calls. This optimization enables the system to enter to idle states more frequently, which can reduce power consumption.

-
- - ms701834 - MFVideoRenderPrefs_ForceBatching - MFVideoRenderPrefs_ForceBatching -
- - -

Note??Requires Windows?7 or later. ?

Allow the EVR to batch Direct3D Present calls.

-
- - ms701834 - MFVideoRenderPrefs_AllowBatching - MFVideoRenderPrefs_AllowBatching -
- - -

Note??Requires Windows?7 or later. ?

Force the EVR to mix the video inside a rectangle that is smaller than the output rectangle. The EVR will then scale the result to the correct output size. The effective resolution will be lower if this setting is applied.

-
- - ms701834 - MFVideoRenderPrefs_ForceScaling - MFVideoRenderPrefs_ForceScaling -
- - -

Note??Requires Windows?7 or later. ?

Allow the EVR to mix the video inside a rectangle that is smaller than the output rectangle.

-
- - ms701834 - MFVideoRenderPrefs_AllowScaling - MFVideoRenderPrefs_AllowScaling -
- - -

Note??Requires Windows?7 or later. ?

Prevent the EVR from repainting the video window after a stop command. By default, the EVR repaints the video window black after a stop command.

-
- - ms701834 - MFVideoRenderPrefs_DoNotRepaintOnStop - MFVideoRenderPrefs_DoNotRepaintOnStop -
- - -

Describes the rotation of the video image in the counter-clockwise direction.

-
- -

This enumeration is used with the attribute.

-
- - hh162805 - MFVideoRotationFormat - MFVideoRotationFormat -
- - -

The image is not rotated.

-
- - hh162805 - MFVideoRotationFormat_0 - MFVideoRotationFormat_0 -
- - -

The image is rotated 90 degrees counter-clockwise.

-
- - hh162805 - MFVideoRotationFormat_90 - MFVideoRotationFormat_90 -
- - -

The image is rotated 180 degrees.

-
- - hh162805 - MFVideoRotationFormat_180 - MFVideoRotationFormat_180 -
- - -

The image is rotated 270 degrees counter-clockwise.

-
- - hh162805 - MFVideoRotationFormat_270 - MFVideoRotationFormat_270 -
- - - No documentation. - - - MFVideoSphericalFormat - MFVideoSphericalFormat - - - - No documentation. - - - MFVideoSphericalFormat_Unsupported - MFVideoSphericalFormat_Unsupported - - - - No documentation. - - - MFVideoSphericalFormat_Equirectangular - MFVideoSphericalFormat_Equirectangular - - - -

Describes the intended aspect ratio for a video stream.

-
- -

Use these flags with the attribute.

-
- - ms697451 - MFVideoSrcContentHintFlags - MFVideoSrcContentHintFlags -
- - -

The aspect ratio is unknown.

-
- - ms697451 - MFVideoSrcContentHintFlag_None - MFVideoSrcContentHintFlag_None -
- - -

The source is 16?9 content encoded within a 4?3 area.

-
- - ms697451 - MFVideoSrcContentHintFlag_16x9 - MFVideoSrcContentHintFlag_16x9 -
- - -

The source is 2.35:1 content encoded within a 16?9 or 4?3 area.

-
- - ms697451 - MFVideoSrcContentHintFlag_235_1 - MFVideoSrcContentHintFlag_235_1 -
- - -

Specifies the conversion function from linear RGB to non-linear RGB (R'G'B').

-
- -

These flags are used with the attribute.

For more information about these values, see the remarks for the DXVA2_VideoTransferFunction enumeration, which is the DirectX Video Acceleration (DXVA) equivalent of this enumeration.

-
- - ms705629 - MFVideoTransferFunction - MFVideoTransferFunction -
- - -

Unknown. Treat as .

-
- - ms705629 - MFVideoTransFunc_Unknown - MFVideoTransFunc_Unknown -
- - -

Linear RGB (gamma = 1.0).

-
- - ms705629 - MFVideoTransFunc_10 - MFVideoTransFunc_10 -
- - -

True 1.8 gamma, L' = L^1/1.8.

-
- - ms705629 - MFVideoTransFunc_18 - MFVideoTransFunc_18 -
- - -

True 2.0 gamma, L' = L^1/2.0.

-
- - ms705629 - MFVideoTransFunc_20 - MFVideoTransFunc_20 -
- - -

True 2.2 gamma, L' = L^1/2.2. This transfer function is used in ITU-R BT.470-2 System M (NTSC).

-
- - ms705629 - MFVideoTransFunc_22 - MFVideoTransFunc_22 -
- - -

ITU-R BT.709 transfer function. Gamma 2.2 curve with a linear segment in the lower range. This transfer function is used in BT.709, BT.601, SMPTE 296M, SMPTE 170M, BT.470, and SPMTE 274M. In addition BT-1361 uses this function within the range [0...1].

-
- - ms705629 - MFVideoTransFunc_709 - MFVideoTransFunc_709 -
- - -

SPMTE 240M transfer function. Gamma 2.2 curve with a linear segment in the lower range.

-
- - ms705629 - MFVideoTransFunc_240M - MFVideoTransFunc_240M -
- - -

sRGB transfer function. Gamma 2.4 curve with a linear segment in the lower range.

-
- - ms705629 - MFVideoTransFunc_sRGB - MFVideoTransFunc_sRGB -
- - -

True 2.8 gamma. L' = L^1/2.8. This transfer function is used in ITU-R BT.470-2 System B, G (PAL).

-
- - ms705629 - MFVideoTransFunc_28 - MFVideoTransFunc_28 -
- - -

Logarithmic transfer (100:1 range); for example, as used in H.264 video.

Note??Requires Windows?7 or later. ?
-
- - ms705629 - MFVideoTransFunc_Log_100 - MFVideoTransFunc_Log_100 -
- - -

Logarithmic transfer (316.22777:1 range); for example, as used in H.264 video.

Note??Requires Windows?7 or later. ?
-
- - ms705629 - MFVideoTransFunc_Log_316 - MFVideoTransFunc_Log_316 -
- - -

Symmetric ITU-R BT.709.

Note??Requires Windows?7 or later. ?
-
- - ms705629 - MFVideoTransFunc_709_sym - MFVideoTransFunc_709_sym -
- - -

Reserved.

-
- - ms705629 - MFVideoTransFunc_2020_const - MFVideoTransFunc_2020_const -
- - -

Reserved. This member forces the enumeration type to compile as a DWORD value.

-
- - ms705629 - MFVideoTransFunc_2020 - MFVideoTransFunc_2020 -
- - - No documentation. - - - ms705629 - MFVideoTransFunc_26 - MFVideoTransFunc_26 - - - - No documentation. - - - ms705629 - MFVideoTransFunc_2084 - MFVideoTransFunc_2084 - - - - No documentation. - - - ms705629 - MFVideoTransFunc_HLG - MFVideoTransFunc_HLG - - - -

Reserved.

-
- - ms705629 - MFVideoTransFunc_Last - MFVideoTransFunc_Last -
- - -

Reserved. This member forces the enumeration type to compile as a DWORD value.

-
- - ms705629 - MFVideoTransFunc_ForceDWORD - MFVideoTransFunc_ForceDWORD -
- - -

Describes the conversion matrices between Y'PbPr (component video) and studio R'G'B'.

-
- -

This enumeration is used with the attribute.

For more information about these values, see the remarks for the DXVA2_VideoTransferMatrix enumeration, which is the DirectX Video Acceleration (DXVA) equivalent of this enumeration.

-
- - ms694036 - MFVideoTransferMatrix - MFVideoTransferMatrix -
- - -

Unknown transfer matrix. Treat as .

-
- - ms694036 - MFVideoTransferMatrix_Unknown - MFVideoTransferMatrix_Unknown -
- - -

ITU-R BT.709 transfer matrix.

-
- - ms694036 - MFVideoTransferMatrix_BT709 - MFVideoTransferMatrix_BT709 -
- - -

ITU-R BT.601 transfer matrix. Also used for SMPTE 170 and ITU-R BT.470-2 System B,G.

-
- - ms694036 - MFVideoTransferMatrix_BT601 - MFVideoTransferMatrix_BT601 -
- - -

SMPTE 240M transfer matrix.

-
- - ms694036 - MFVideoTransferMatrix_SMPTE240M - MFVideoTransferMatrix_SMPTE240M -
- - -

Reserved.

-
- - ms694036 - MFVideoTransferMatrix_BT2020_10 - MFVideoTransferMatrix_BT2020_10 -
- - -

Reserved. This member forces the enumeration type to compile as a DWORD value.

-
- - ms694036 - MFVideoTransferMatrix_BT2020_12 - MFVideoTransferMatrix_BT2020_12 -
- - -

Reserved.

-
- - ms694036 - MFVideoTransferMatrix_Last - MFVideoTransferMatrix_Last -
- - -

Reserved. This member forces the enumeration type to compile as a DWORD value.

-
- - ms694036 - MFVideoTransferMatrix_ForceDWORD - MFVideoTransferMatrix_ForceDWORD -
- - -

Defines messages for an enhanced video renderer (EVR) presenter. This enumeration is used with the method.

-
- - ms698964 - MFVP_MESSAGE_TYPE - MFVP_MESSAGE_TYPE -
- - - No documentation. - - - ms698964 - MFVP_MESSAGE_FLUSH - MFVP_MESSAGE_FLUSH - - - - No documentation. - - - ms698964 - MFVP_MESSAGE_INVALIDATEMEDIATYPE - MFVP_MESSAGE_INVALIDATEMEDIATYPE - - - - No documentation. - - - ms698964 - MFVP_MESSAGE_PROCESSINPUTNOTIFY - MFVP_MESSAGE_PROCESSINPUTNOTIFY - - - - No documentation. - - - ms698964 - MFVP_MESSAGE_BEGINSTREAMING - MFVP_MESSAGE_BEGINSTREAMING - - - - No documentation. - - - ms698964 - MFVP_MESSAGE_ENDSTREAMING - MFVP_MESSAGE_ENDSTREAMING - - - - No documentation. - - - ms698964 - MFVP_MESSAGE_ENDOFSTREAM - MFVP_MESSAGE_ENDOFSTREAM - - - - No documentation. - - - ms698964 - MFVP_MESSAGE_STEP - MFVP_MESSAGE_STEP - - - - No documentation. - - - ms698964 - MFVP_MESSAGE_CANCELSTEP - MFVP_MESSAGE_CANCELSTEP - - - -

Contains flags that specify how to convert an audio media type.

-
- - ms703181 - MFWaveFormatExConvertFlags - MFWaveFormatExConvertFlags -
- - -

Convert the media type to a structure if possible, or a structure otherwise.

-
- - ms703181 - MFWaveFormatExConvertFlag_Normal - MFWaveFormatExConvertFlag_Normal -
- - -

Convert the media type to a structure.

-
- - ms703181 - MFWaveFormatExConvertFlag_ForceExtensible - MFWaveFormatExConvertFlag_ForceExtensible -
- - -

Provides configuration information to the dispatching thread for a callback.

-
- -

The GetParameters method returns information about the callback so that the dispatching thread can optimize the process that it uses to invoke the callback.

If the method returns a value other than zero in the pdwFlags parameter, your Invoke method must meet the requirements described here. Otherwise, the callback might delay the pipeline.

If you want default values for both parameters, return E_NOTIMPL. The default values are given in the parameter descriptions on this page.

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - bb970381 - MFASYNC_CALLBACK_QUEUE - MFASYNC_CALLBACK_QUEUE -
- - -

Receives a flag indicating the behavior of the callback object's method. The following values are defined. The default value is zero.

ValueMeaning
Zero

The callback does not take a long time to complete, but has no specific restrictions on what system calls it makes. The callback generally takes less than 30 milliseconds to complete.

The callback does very minimal processing. It takes less than 1 millisecond to complete.

The callback must be invoked from one of the following work queues:

Implies , with the additional restriction that the callback does no processing (less than 50 microseconds), and the only system call it makes is SetEvent.

The callback must be invoked from one of the following work queues:

Blocking callback.

Reply callback.

?

-
- - bb970381 - MFASYNC_CALLBACK_QUEUE_UNDEFINED - MFASYNC_CALLBACK_QUEUE_UNDEFINED -
- - -

Receives the identifier of the work queue on which the callback is dispatched.

This value can specify one of the standard Media Foundation work queues, or a work queue created by the application. For list of standard Media Foundation work queues, see Work Queue Identifiers. To create a new work queue, call . The default value is .

If the work queue is not compatible with the value returned in pdwFlags, the Media Foundation platform returns when it tries to dispatch the callback. (See .)

-
- - bb970381 - MFASYNC_CALLBACK_QUEUE_STANDARD - MFASYNC_CALLBACK_QUEUE_STANDARD -
- - - No documentation. - - - bb970381 - MFASYNC_CALLBACK_QUEUE_RT - MFASYNC_CALLBACK_QUEUE_RT - - - - No documentation. - - - bb970381 - MFASYNC_CALLBACK_QUEUE_IO - MFASYNC_CALLBACK_QUEUE_IO - - - - No documentation. - - - bb970381 - MFASYNC_CALLBACK_QUEUE_TIMER - MFASYNC_CALLBACK_QUEUE_TIMER - - - - No documentation. - - - bb970381 - MFASYNC_CALLBACK_QUEUE_MULTITHREADED - MFASYNC_CALLBACK_QUEUE_MULTITHREADED - - - - No documentation. - - - bb970381 - MFASYNC_CALLBACK_QUEUE_LONG_FUNCTION - MFASYNC_CALLBACK_QUEUE_LONG_FUNCTION - - - - No documentation. - - - bb970381 - MFASYNC_CALLBACK_QUEUE_PRIVATE_MASK - MFASYNC_CALLBACK_QUEUE_PRIVATE_MASK - - - - No documentation. - - - bb970381 - MFASYNC_CALLBACK_QUEUE_ALL - MFASYNC_CALLBACK_QUEUE_ALL - - - - Functions - - - - - Constant Maxpacketsize. - MF_ASFPROFILE_MAXPACKETSIZE - - - Constant Minpacketsize. - MF_ASFPROFILE_MINPACKETSIZE - - - - Functions - - - - - Constant PacketBoundary. - MFASFSPLITTER_PACKET_BOUNDARY - - - - Functions - - - - - Constant LeakyBucket1. - MF_ASFSTREAMCONFIG_LEAKYBUCKET1 - - - Constant LeakyBucket2. - MF_ASFSTREAMCONFIG_LEAKYBUCKET2 - - - - Functions - - - - - Constant Base. - MFAudioFormat_Base - - - Constant Pcm. - MFAudioFormat_PCM - - - Constant Float. - MFAudioFormat_Float - - - Constant Dts. - MFAudioFormat_DTS - - - Constant DolbyAc3Spdif. - MFAudioFormat_Dolby_AC3_SPDIF - - - Constant Drm. - MFAudioFormat_DRM - - - Constant WMAudioV8. - MFAudioFormat_WMAudioV8 - - - Constant WMAudioV9. - MFAudioFormat_WMAudioV9 - - - Constant WMAudioLossless. - MFAudioFormat_WMAudio_Lossless - - - Constant Wmaspdif. - MFAudioFormat_WMASPDIF - - - Constant MultisampledP1. - MFAudioFormat_MSP1 - - - Constant Mp3. - MFAudioFormat_MP3 - - - Constant Mpeg. - MFAudioFormat_MPEG - - - Constant Aac. - MFAudioFormat_AAC - - - Constant Adts. - MFAudioFormat_ADTS - - - Constant AmrNb. - MFAudioFormat_AMR_NB - - - Constant AmrWb. - MFAudioFormat_AMR_WB - - - Constant AmrWp. - MFAudioFormat_AMR_WP - - - Constant Flac. - MFAudioFormat_FLAC - - - Constant Alac. - MFAudioFormat_ALAC - - - Constant Opus. - MFAudioFormat_Opus - - - Constant DolbyAc3. - MFAudioFormat_Dolby_AC3 - - - Constant DolbyDDPlus. - MFAudioFormat_Dolby_DDPlus - - - Constant Vorbis. - MFAudioFormat_Vorbis - - - Constant FloatSpatialObjects. - MFAudioFormat_Float_SpatialObjects - - - Constant Lpcm. - MFAudioFormat_LPCM - - - Constant PcmHdcp. - MFAudioFormat_PCM_HDCP - - - Constant DolbyAc3Hdcp. - MFAudioFormat_Dolby_AC3_HDCP - - - Constant AacHdcp. - MFAudioFormat_AAC_HDCP - - - Constant AdtsHdcp. - MFAudioFormat_ADTS_HDCP - - - Constant BaseHdcp. - MFAudioFormat_Base_HDCP - - - - Functions - - - - - Constant EndpointId. - MF_AUDIO_RENDERER_ATTRIBUTE_ENDPOINT_ID - - - Constant EndpointRole. - MF_AUDIO_RENDERER_ATTRIBUTE_ENDPOINT_ROLE - - - Constant Flags. - MF_AUDIO_RENDERER_ATTRIBUTE_FLAGS - - - Constant SessionId. - MF_AUDIO_RENDERER_ATTRIBUTE_SESSION_ID - - - Constant StreamCategory. - MF_AUDIO_RENDERER_ATTRIBUTE_STREAM_CATEGORY - - - - Functions - - - - - Constant ContentType. - MF_BYTESTREAM_CONTENT_TYPE - - - Constant Duration. - MF_BYTESTREAM_DURATION - - - Constant EffectiveUrl. - MF_BYTESTREAM_EFFECTIVE_URL - - - Constant IfoFileUri. - MF_BYTESTREAM_IFO_FILE_URI - - - Constant LastModifiedTime. - MF_BYTESTREAM_LAST_MODIFIED_TIME - - - Constant OriginName. - MF_BYTESTREAM_ORIGIN_NAME - - - Constant HandlerAcceptsShareWrite. - MF_BYTESTREAMHANDLER_ACCEPTS_SHARE_WRITE - - - - Functions - - - - - Constant SourceTypeVideoCapture. - MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_GUID - - - Constant SourceTypeAudioCapture. - MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_AUDCAP_GUID - - - Constant FriendlyName. - MF_DEVSOURCE_ATTRIBUTE_FRIENDLY_NAME - - - Constant MediaType. - MF_DEVSOURCE_ATTRIBUTE_MEDIA_TYPE - - - Constant SourceType. - MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE - - - Constant SourceTypeAudcapEndpointId. - MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_AUDCAP_ENDPOINT_ID - - - Constant SourceTypeAudcapRole. - MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_AUDCAP_ROLE - - - Constant SourceTypeVidcapCategory. - MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_CATEGORY - - - Constant SourceTypeVidcapHwSource. - MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_HW_SOURCE - - - Constant SourceTypeVidcapMaxBuffers. - MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_MAX_BUFFERS - - - Constant SourceTypeVidcapSymbolicLink. - MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_SYMBOLIC_LINK - - - - Functions - - - - - Constant D3DManager. - MF_CAPTURE_ENGINE_D3D_MANAGER - - - Constant DecoderTransformFieldOfUseUnlockAttribute. - MF_CAPTURE_ENGINE_DECODER_MFT_FIELDOFUSE_UNLOCK_Attribute - - - Constant DisableDXVA. - MF_CAPTURE_ENGINE_DISABLE_DXVA - - - Constant DisableHardwareTransforms. - MF_CAPTURE_ENGINE_DISABLE_HARDWARE_TRANSFORMS - - - Constant EncoderTransformFieldOfUseUnlockAttribute. - MF_CAPTURE_ENGINE_ENCODER_MFT_FIELDOFUSE_UNLOCK_Attribute - - - Constant EventGeneratorGuid. - MF_CAPTURE_ENGINE_EVENT_GENERATOR_GUID - - - Constant EventStreamIndex. - MF_CAPTURE_ENGINE_EVENT_STREAM_INDEX - - - Constant MediaSourceConfig. - MF_CAPTURE_ENGINE_MEDIASOURCE_CONFIG - - - Constant RecordSinkAudioMaxProcessedSamples. - MF_CAPTURE_ENGINE_RECORD_SINK_AUDIO_MAX_PROCESSED_SAMPLES - - - Constant RecordSinkAudioMaxUnprocessedSamples. - MF_CAPTURE_ENGINE_RECORD_SINK_AUDIO_MAX_UNPROCESSED_SAMPLES - - - Constant RecordSinkVideoMaxProcessedSamples. - MF_CAPTURE_ENGINE_RECORD_SINK_VIDEO_MAX_PROCESSED_SAMPLES - - - Constant RecordSinkVideoMaxUnprocessedSamples. - MF_CAPTURE_ENGINE_RECORD_SINK_VIDEO_MAX_UNPROCESSED_SAMPLES - - - Constant UseAudioDeviceOnly. - MF_CAPTURE_ENGINE_USE_AUDIO_DEVICE_ONLY - - - Constant UseVideoDeviceOnly. - MF_CAPTURE_ENGINE_USE_VIDEO_DEVICE_ONLY - - - - Functions - - - - - Constant ExtensionPluginClsid. - MF_DEVICESTREAM_EXTENSION_PLUGIN_CLSID - - - Constant ExtensionPluginConnectionPoint. - MF_DEVICESTREAM_EXTENSION_PLUGIN_CONNECTION_POINT - - - Constant ImageStream. - MF_DEVICESTREAM_IMAGE_STREAM - - - Constant IndependentImageStream. - MF_DEVICESTREAM_INDEPENDENT_IMAGE_STREAM - - - Constant MaxFrameBuffers. - MF_DEVICESTREAM_MAX_FRAME_BUFFERS - - - Constant StreamCategory. - MF_DEVICESTREAM_STREAM_CATEGORY - - - Constant StreamId. - MF_DEVICESTREAM_STREAM_ID - - - Constant TakephotoTrigger. - MF_DEVICESTREAM_TAKEPHOTO_TRIGGER - - - Constant TransformStreamId. - MF_DEVICESTREAM_TRANSFORM_STREAM_ID - - - - Functions - - - - - Constant AudioBitRate. - MF_MP2DLNA_AUDIO_BIT_RATE - - - Constant EncodeQuality. - MF_MP2DLNA_ENCODE_QUALITY - - - Constant Statistics. - MF_MP2DLNA_STATISTICS - - - Constant UseMmcss. - MF_MP2DLNA_USE_MMCSS - - - Constant VideoBitRate. - MF_MP2DLNA_VIDEO_BIT_RATE - - - - Functions - - - - - Constant DoThinning. - MF_EVENT_DO_THINNING - - - Constant TransformContext. - MF_EVENT_MFT_CONTEXT - - - Constant TransformInputStreamId. - MF_EVENT_MFT_INPUT_STREAM_ID - - - Constant OutputNode. - MF_EVENT_OUTPUT_NODE - - - Constant PresentationTimeOffset. - MF_EVENT_PRESENTATION_TIME_OFFSET - - - Constant ScrubsampleTime. - MF_EVENT_SCRUBSAMPLE_TIME - - - Constant Sessioncaps. - MF_EVENT_SESSIONCAPS - - - Constant SessioncapsDelta. - MF_EVENT_SESSIONCAPS_DELTA - - - Constant SourceActualStart. - MF_EVENT_SOURCE_ACTUAL_START - - - Constant SourceCharacteristics. - MF_EVENT_SOURCE_CHARACTERISTICS - - - Constant SourceCharacteristicsOld. - MF_EVENT_SOURCE_CHARACTERISTICS_OLD - - - Constant SourceFakeStart. - MF_EVENT_SOURCE_FAKE_START - - - Constant SourceProjectstart. - MF_EVENT_SOURCE_PROJECTSTART - - - Constant SourceTopologyCanceled. - MF_EVENT_SOURCE_TOPOLOGY_CANCELED - - - Constant StartPresentationTime. - MF_EVENT_START_PRESENTATION_TIME - - - Constant StartPresentationTimeAtOutput. - MF_EVENT_START_PRESENTATION_TIME_AT_OUTPUT - - - Constant TopologyStatus. - MF_EVENT_TOPOLOGY_STATUS - - - - Functions - - - - - Constant SaRequiredSampleCount. - MF_SA_REQUIRED_SAMPLE_COUNT - - - Constant VideoZoomRect. - VIDEO_ZOOM_RECT - - - - Functions - - - - - Constant AllowBatching. - EVRConfig_AllowBatching - - - Constant AllowDropToBob. - EVRConfig_AllowDropToBob - - - Constant AllowDropToHalfInterlace. - EVRConfig_AllowDropToHalfInterlace - - - Constant AllowDropToThrottle. - EVRConfig_AllowDropToThrottle - - - Constant AllowScaling. - EVRConfig_AllowScaling - - - Constant ForceBatching. - EVRConfig_ForceBatching - - - Constant ForceBob. - EVRConfig_ForceBob - - - Constant ForceHalfInterlace. - EVRConfig_ForceHalfInterlace - - - Constant ForceScaling. - EVRConfig_ForceScaling - - - Constant ForceThrottle. - EVRConfig_ForceThrottle - - - - Functions - - - - - Constant MixerActivate. - MF_ACTIVATE_CUSTOM_VIDEO_MIXER_ACTIVATE - - - Constant MixerClsid. - MF_ACTIVATE_CUSTOM_VIDEO_MIXER_CLSID - - - Constant MixerFlags. - MF_ACTIVATE_CUSTOM_VIDEO_MIXER_FLAGS - - - Constant PresenterActivate. - MF_ACTIVATE_CUSTOM_VIDEO_PRESENTER_ACTIVATE - - - Constant PresenterClsid. - MF_ACTIVATE_CUSTOM_VIDEO_PRESENTER_CLSID - - - Constant PresenterFlags. - MF_ACTIVATE_CUSTOM_VIDEO_PRESENTER_FLAGS - - - Constant ActivateVideoWindow. - MF_ACTIVATE_VIDEO_WINDOW - - - - Functions - - - - - Constant UserDataPayload. - MF_USER_DATA_PAYLOAD - - - Constant XvpDisableFrc. - MF_XVP_DISABLE_FRC - - - Constant LocalPluginControlPolicy. - MF_LOCAL_PLUGIN_CONTROL_POLICY - - - Constant SourceStreamSupportsHardwareConnection. - MF_SOURCE_STREAM_SUPPORTS_HW_CONNECTION - - - Constant SupportsHardwareConnection. - MF_STREAM_SINK_SUPPORTS_HW_CONNECTION - - - Constant SupportsRotation. - MF_STREAM_SINK_SUPPORTS_ROTATION - - - - Functions - - - - - Constant AudioCategory. - MF_MEDIA_ENGINE_AUDIO_CATEGORY - - - Constant AudioEndpointRole. - MF_MEDIA_ENGINE_AUDIO_ENDPOINT_ROLE - - - Constant Callback. - MF_MEDIA_ENGINE_CALLBACK - - - Constant ContentProtectionFlags. - MF_MEDIA_ENGINE_CONTENT_PROTECTION_FLAGS - - - Constant ContentProtectionManager. - MF_MEDIA_ENGINE_CONTENT_PROTECTION_MANAGER - - - Constant DxgiManager. - MF_MEDIA_ENGINE_DXGI_MANAGER - - - Constant Extension. - MF_MEDIA_ENGINE_EXTENSION - - - Constant OpmHwnd. - MF_MEDIA_ENGINE_OPM_HWND - - - Constant PlaybackHwnd. - MF_MEDIA_ENGINE_PLAYBACK_HWND - - - Constant PlaybackVisual. - MF_MEDIA_ENGINE_PLAYBACK_VISUAL - - - Constant VideoOutputFormat. - MF_MEDIA_ENGINE_VIDEO_OUTPUT_FORMAT - - - - Functions - - - - - Constant Version. - MF_VERSION - - - -

Creates the default video presenter for the enhanced video renderer (EVR).

-
-

Pointer to the owner of the object. If the object is aggregated, pass a reference to the aggregating object's interface. Otherwise, set this parameter to null.

-

Interface identifier (IID) of the video device interface that will be used for processing the video. Currently the only supported value is IID_IDirect3DDevice9.

-

IID of the requested interface on the video presenter. The video presenter exposes the interface.

-

Receives a reference to the requested interface on the video presenter. The caller must release the interface.

-

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - ms693842 - HRESULT MFCreateVideoPresenter([In, Optional] IUnknown* pOwner,[In] const GUID& riidDevice,[In] const GUID& riid,[Out, Optional] void** ppVideoPresenter) - MFCreateVideoPresenter -
- - -

Creates the default video mixer for the enhanced video renderer (EVR).

-
-

Pointer to the owner of this object. If the object is aggregated, pass a reference to the aggregating object's interface. Otherwise, set this parameter to null.

-

Interface identifier (IID) of the video device interface that will be used for processing the video. Currently the only supported value is IID_IDirect3DDevice9.

-

IID of the requested interface on the video mixer. The video mixer exposes the interface.

-

Receives a reference to the requested interface. The caller must release the interface.

-

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The function succeeded.

?

- - ms705653 - HRESULT MFCreateVideoMixer([In, Optional] IUnknown* pOwner,[In] const GUID& riidDevice,[In] const GUID& riid,[Out] void** ppv) - MFCreateVideoMixer -
- - -

Creates the default video mixer and video presenter for the enhanced video renderer (EVR).

-
-

Pointer to the owner of the video mixer. If the mixer is aggregated, pass a reference to the aggregating object's interface. Otherwise, set this parameter to null.

-

Pointer to the owner of the video presenter. If the presenter is aggregated, pass a reference to the aggregating object's interface. Otherwise, set this parameter to null.

-

Interface identifier (IID) of the requested interface on the video mixer. The video mixer exposes the interface.

-

Receives a reference to the requested interface on the video mixer. The caller must release the interface.

-

IID of the requested interface on the video presenter. The video presenter exposes the interface.

-

Receives a reference to the requested interface on the video presenter. The caller must release the interface.

-

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - ms694842 - HRESULT MFCreateVideoMixerAndPresenter([In, Optional] IUnknown* pMixerOwner,[In, Optional] IUnknown* pPresenterOwner,[In] const GUID& riidMixer,[Out] void** ppvVideoMixer,[In] const GUID& riidPresenter,[Out] void** ppvVideoPresenter) - MFCreateVideoMixerAndPresenter -
- - -

Creates an instance of the enhanced video renderer (EVR) media sink.

-
-

Interface identifier (IID) of the requested interface on the EVR.

-

Receives a reference to the requested interface. The caller must release the interface.

-

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

This function creates the Media Foundation version of the EVR. To create the DirectShow EVR filter, call CoCreateInstance with the class identifier CLSID_EnhancedVideoRenderer.

-
- - ms703814 - HRESULT MFCreateVideoRenderer([In] const GUID& riidRenderer,[Out, Optional] void** ppVideoRenderer) - MFCreateVideoRenderer -
- - -

Creates a media sample that manages a Direct3D surface.

-
-

A reference to the interface of the Direct3D surface. This parameter can be null.

-

Receives a reference to the sample's interface. The caller must release the interface.

-

If this function succeeds, it returns . Otherwise, it returns an error code.

- -

The media sample created by this function exposes the following interfaces in addition to :

If pUnkSurface is non-null, the sample contains a single media buffer, which holds a reference to the Direct3D surface. To get the Direct3D surface from the media buffer, call on the buffer, using the service identifier . The media buffer does not implement , nor does it implement the and Unlock methods.

Alternatively, you can set pUnkSurface to null, and later add a DirectX surface buffer to the sample by calling . To create a DirectX surface buffer, call .

-
- - ms703859 - HRESULT MFCreateVideoSampleFromSurface([In] IUnknown* pUnkSurface,[Out] IMFSample** ppSample) - MFCreateVideoSampleFromSurface -
- - -

Creates an object that allocates video samples.

-
-

The identifier of the interface to retrieve. Specify one of the following values:

ValueMeaning
IID_IUnknown

Retrieve an reference.

IID_IMFVideoSampleAllocator

Retrieve an reference.

IID_IMFVideoSampleAllocatorCallback

Retrieve an reference.

?

-

Receives a reference to the requested interface. The caller must release the interface.

-

If the function succeeds, it returns . Otherwise, it returns an error code.

- - ff384864 - HRESULT MFCreateVideoSampleAllocator([In] const GUID& riid,[Out] void** ppSampleAllocator) - MFCreateVideoSampleAllocator -
- - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Creates a new instance of the MFPlay player object.

-
- No documentation. - No documentation. - No documentation. - No documentation. - No documentation. - No documentation. -

If this function succeeds, it returns . Otherwise, it returns an error code.

- -

Before calling this function, call CoIntialize(Ex) from the same thread to initialize the COM library.

Internally, calls to initialize the Microsoft Media Foundation platform. When the player object is destroyed, it calls to shut down the platform. It is not necessary for an application to call or when using MFPlay.

Note??If you use other Media Foundation APIs outside the life time of the player object, then your application should call and .? -
- - dd375520 - HRESULT MFPCreateMediaPlayer([In, Optional] const wchar_t* pwszURL,[In] BOOL fStartPlayback,[In, Optional] unsigned int creationOptions,[In, Optional] IMFPMediaPlayerCallback* pCallback,[In, Optional] HWND hWnd,[Out, Optional] IMFPMediaPlayer** ppMediaPlayer) - MFPCreateMediaPlayer -
- - -

Creates the ASF Header Object object.

-
- No documentation. -

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The function succeeded.

?

- - bb970315 - HRESULT MFCreateASFContentInfo([In] IMFASFContentInfo** ppIContentInfo) - MFCreateASFContentInfo -
- - -

Creates the ASF profile object.

-
-

Receives a reference to the interface. The caller must release the interface.

-

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The function succeeded.

?

- - ms705632 - HRESULT MFCreateASFProfile([In] IMFASFProfile** ppIProfile) - MFCreateASFProfile -
- - -

Creates an ASF profile object from a presentation descriptor.

-
-

Pointer to the interface of the presentation descriptor that contains the profile information.

-

Receives a reference to the interface. The caller must release the interface.

-

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The function succeeded.

?

- - ms694279 - HRESULT MFCreateASFProfileFromPresentationDescriptor([In] IMFPresentationDescriptor* pIPD,[In] IMFASFProfile** ppIProfile) - MFCreateASFProfileFromPresentationDescriptor -
- - -

Creates a presentation descriptor from an ASF profile object.

-
-

Pointer to the interface of the ASF profile object.

-

Receives a reference to the interface. The caller must release the interface.

-

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The function succeeded.

?

- - ms704656 - HRESULT MFCreatePresentationDescriptorFromASFProfile([In] IMFASFProfile* pIProfile,[In] IMFPresentationDescriptor** ppIPD) - MFCreatePresentationDescriptorFromASFProfile -
- - -

Creates the ASF Splitter.

-
- No documentation. -

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The function succeeded.

?

- - bb970321 - HRESULT MFCreateASFSplitter([In] IMFASFSplitter** ppISplitter) - MFCreateASFSplitter -
- - -

Creates the ASF Multiplexer.

-
-

Receives a reference to the interface. The caller must release the interface.

-

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The function succeeded.

?

- - bb970397 - HRESULT MFCreateASFMultiplexer([In] IMFASFMultiplexer** ppIMultiplexer) - MFCreateASFMultiplexer -
- - -

Creates the ASF Indexer object.

-
-

Receives a reference to the interface. The caller must release the interface.

-

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The function succeeded.

?

- - ms704561 - HRESULT MFCreateASFIndexer([In] IMFASFIndexer** ppIIndexer) - MFCreateASFIndexer -
- - -

Creates a byte stream to access the index in an ASF stream.

-
-

Pointer to the interface of a byte stream that contains the ASF stream.

-

Byte offset of the index within the ASF stream. To get this value, call .

-

Receives a reference to the interface. Use this interface to read from the index or write to the index. The caller must release the interface.

-

The function returns an . Possible values include, but are not limited to, those in the following table:

Return codeDescription

The call succeeded.

The offset specified in cbIndexStartOffset is invalid.

?

- - bb970563 - HRESULT MFCreateASFIndexerByteStream([In] IMFByteStream* pIContentByteStream,[In] unsigned longlong cbIndexStartOffset,[In] IMFByteStream** pIIndexByteStream) - MFCreateASFIndexerByteStream -
- - -

Creates the ASF stream selector.

-
-

Pointer to the interface.

-

Receives a reference to the interface. The caller must release the interface.

-

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The function succeeded.

?

- - ms698963 - HRESULT MFCreateASFStreamSelector([In] IMFASFProfile* pIASFProfile,[In] IMFASFStreamSelector** ppSelector) - MFCreateASFStreamSelector -
- - -

Creates the ASF media sink.

-
-

Pointer to a byte stream that will be used to write the ASF stream.

-

Receives a reference to the interface. The caller must release the interface.

-

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The function succeeded.

?

- - ms703955 - HRESULT MFCreateASFMediaSink([In] IMFByteStream* pIByteStream,[In] IMFMediaSink** ppIMediaSink) - MFCreateASFMediaSink -
- - -

Creates an activation object that can be used to create the ASF media sink.

-
-

Null-terminated wide-character string that contains the output file name.

-

A reference to the interface of an initialized ASF Header Object object. Use this interface to configure the ASF media sink.

-

Receives a reference to the interface. The caller must release the interface.

-

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The function succeeded.

?

- - bb970403 - HRESULT MFCreateASFMediaSinkActivate([In] const wchar_t* pwszFileName,[In] IMFASFContentInfo* pContentInfo,[In] IMFActivate** ppIActivate) - MFCreateASFMediaSinkActivate -
- - -

Creates an activation object that can be used to create a Windows Media Video (WMV) encoder.

-
-

A reference to the interface. This parameter specifies the encoded output format.

-

A reference to the interface of a property store that contains encoding parameters. Encoding parameters for the WMV encoder are defined in the header file wmcodecdsp.h. If you have an ASF ContentInfo object that contains an ASF profile object with all the streams for the output file, you can get the property store by calling .

-

Receives a reference to the interface. Use this interface to create the encoder. The caller must release the interface.

-

If this function succeeds, it returns . Otherwise, it returns an error code.

- - ms705622 - HRESULT MFCreateWMVEncoderActivate([In] IMFMediaType* pMediaType,[In] IPropertyStore* pEncodingConfigurationProperties,[In] IMFActivate** ppActivate) - MFCreateWMVEncoderActivate -
- - -

Creates an activation object that can be used to create a Windows Media Audio (WMA) encoder.

-
-

A reference to the interface. This parameter specifies the encoded output format.

-

A reference to the interface of a property store that contains encoding parameters. Encoding parameters for the WMV encoder are defined in the header file wmcodecdsp.h. If you have an ASF ContentInfo object that contains an ASF profile object with all the streams for the output file, you can get the property store by calling .

-

Receives a reference to the interface. Use this interface to create the encoder. The caller must release the interface.

-

If this function succeeds, it returns . Otherwise, it returns an error code.

- - ms702208 - HRESULT MFCreateWMAEncoderActivate([In] IMFMediaType* pMediaType,[In] IPropertyStore* pEncodingConfigurationProperties,[In] IMFActivate** ppActivate) - MFCreateWMAEncoderActivate -
- - -

Creates an activation object for the ASF streaming sink.

The ASF streaming sink enables an application to write streaming Advanced Systems Format (ASF) packets to an HTTP byte stream.

-
-

A reference to a byte stream object in which the ASF media sink writes the streamed content.

-

Receives a reference to the interface of the ASF streaming-media sink object. To create the media sink, the application must call on the received reference. The caller must release the interface reference.

-

If this function succeeds, it returns . Otherwise, it returns an error code.

- -

To create the ASF streaming sink in another process, call .

An application can get a reference to the ASF ContentInfo Object by calling IUnknown::QueryInterface on the media sink object received in the ppIMediaSink parameter. The ContentInfo object is used to set the encoder configuration settings, provide stream properties supplied by an ASF profile, and add metadata information. These configuration settings populate the various ASF header objects of the encoded ASF file. For more information, see - Setting Properties in the ContentInfo Object.

-
- - dd388087 - HRESULT MFCreateASFStreamingMediaSink([In] IMFByteStream* pIByteStream,[In] IMFMediaSink** ppIMediaSink) - MFCreateASFStreamingMediaSink -
- - -

Creates an activation object for the ASF streaming sink.

The ASF streaming sink enables an application to write streaming Advanced Systems Format (ASF) packets to an HTTP byte stream. The activation object can be used to create the ASF streaming sink in another process.

-
-

A reference to the interface of an activation object. The caller implements this interface. The method of the activation object must create a byte-stream object. The byte stream exposes the interface. The ASF streaming sink will write data to this byte stream.

-

A reference to an ASF ContentInfo Object that contains the properties that describe the ASF content. These settings can contain stream settings, encoding properties, and metadata. For more information about these properties, see Setting Properties in the ContentInfo Object.

-

Receives a reference to the interface of the activation object that is used to create the ASF streaming-media sink. To create the media sink, the application must call by using the received reference. The ActivateObject method also calls IMFActivate::Activate on the byte stream activate object specified by pByteStreamActivate, to create it so that the media sink can write streamed content in the byte stream. The caller must release the interface reference of the media sink activation object received in ppIActivate.

-

If this function succeeds, it returns . Otherwise, it returns an error code.

- -

Starting in Windows?7, Media Foundation provides an ASF streaming sink that writes the content in a live streaming scenario. This function should be used in secure transcode scenarios where this media sink needs to be created and configured in the remote - process. Like the ASF file sink, the new media sink performs ASF related tasks such as writing the ASF header, generating data packets (muxing). The content is written to a caller-implemented byte stream such as an HTTP byte stream. - The caller must also provide an activation object that media sink can use to create the byte stream remotely.

In addition, it performs transcryption for streaming protected content. It hosts the Windows Media Digital Rights Management (DRM) for Network Devices Output Trust Authority (OTA) that handles the license request and response. For more information, see interface.

The new media sink does not perform any time adjustments. If the clock seeks, the timestamps are not changed.

-
- - dd388090 - HRESULT MFCreateASFStreamingMediaSinkActivate([In] IMFActivate* pByteStreamActivate,[In] IMFASFContentInfo* pContentInfo,[In] IMFActivate** ppIActivate) - MFCreateASFStreamingMediaSinkActivate -
- - -

Initializes Microsoft Media Foundation.

-
-

Version number. Use the value , defined in mfapi.h.

-

This parameter is optional when using C++ but required in C. The value must be one of the following flags:

ValueMeaning
MFSTARTUP_NOSOCKET

Do not initialize the sockets library.

MFSTARTUP_LITE

Equivalent to MFSTARTUP_NOSOCKET.

MFSTARTUP_FULL

Initialize the entire Media Foundation platform. This is the default value when dwFlags is not specified.

?

-

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The Version parameter requires a newer version of Media Foundation than the version that is running.

The Media Foundation platform is disabled because the system was started in "Safe Mode" (fail-safe boot).

E_NOTIMPL

Media Foundation is not implemented on the system. This error can occur if the media components are not present (See KB2703761 for more info).

?

- -

An application must call this function before using Media Foundation. Before your application quits, call once for every previous call to .

Do not call or from work queue threads. For more information about work queues, see Work Queues.

This function is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms702238 - HRESULT MFStartup([In] unsigned int Version,[In] unsigned int dwFlags) - MFStartup -
- - -

Shuts down the Microsoft Media Foundation platform. Call this function once for every call to . Do not call this function from work queue threads.

-
-

If this function succeeds, it returns . Otherwise, it returns an error code.

- -

This function is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms694273 - HRESULT MFShutdown() - MFShutdown -
- - -

Blocks the function.

-
-

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The function succeeded.

?

- -

This function prevents work queue threads from being shut down when is called. Use this function to ensure that asynchronous operations complete gracefully before the platform shuts down.

This function holds a lock on the Media Foundation platform. To unlock the platform, call . The application must call once for every call to .

The function blocks until the platform is unlocked, or until a fixed wait period has elapsed. (The wait period is a few seconds.) To avoid memory leaks, the application should unlock the platform before the wait period ends. For example, cancel any asynchronous operations that are waiting to complete and are holding a lock on the platform.

The default implementation of the interface automatically locks the Media Foundation platform when the result object is created. Releasing the interface unlocks the platform. Therefore, in most cases your application does not need to lock the platform directly. For more information, see Work Queues.

This function is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms693588 - HRESULT MFLockPlatform() - MFLockPlatform -
- - -

Unlocks the Media Foundation platform after it was locked by a call to the function.

-
-

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The function succeeded.

?

- -

The application must call once for every call to .

This function is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms703879 - HRESULT MFUnlockPlatform() - MFUnlockPlatform -
- - -

Puts an asynchronous operation on a work queue.

-
-

The identifier for the work queue. This value can specify one of the standard Media Foundation work queues, or a work queue created by the application. For list of standard Media Foundation work queues, see Work Queue Identifiers. To create a new work queue, call or .

-

A reference to the interface. The caller must implement this interface.

-

A reference to the interface of a state object, defined by the caller. This parameter can be null. You can use this object to hold state information. The object is returned to the caller when the callback is invoked.

-

Returns an value. Possible values include the following.

Return codeDescription

Success.

Invalid work queue. For more information, see .

The function was not called, or was called.

?

- -

This function creates an asynchronous result object and puts the result object on the work queue. The work queue calls the method specified by pCallback.

-
- - ms702164 - HRESULT MFPutWorkItem([In] unsigned int dwQueue,[In] IMFAsyncCallback* pCallback,[In] IUnknown* pState) - MFPutWorkItem -
- - -

Puts an asynchronous operation on a work queue, with a specified priority.

-
-

The identifier for the work queue. This value can specify one of the standard Media Foundation work queues, or a work queue created by the application. For list of standard Media Foundation work queues, see Work Queue Identifiers. To create a new work queue, call or .

-

The priority of the work item. Work items are performed in order of priority.

-

A reference to the interface. The caller must implement this interface.

-

A reference to the interface of a state object, defined by the caller. This parameter can be null. You can use this object to hold state information. The object is returned to the caller when the callback is invoked.

-

Returns an value. Possible values include the following.

Return codeDescription

Success.

Invalid work queue identifier.

The function was not called, or was called.

?

- - hh162784 - HRESULT MFPutWorkItem2([In] unsigned int dwQueue,[In] int Priority,[In] IMFAsyncCallback* pCallback,[In, Optional] IUnknown* pState) - MFPutWorkItem2 -
- - -

Puts an asynchronous operation on a work queue.

-
-

The identifier for the work queue. This value can specify one of the standard Media Foundation work queues, or a work queue created by the application. For list of standard Media Foundation work queues, see Work Queue Identifiers. To create a new work queue, call or .

-

A reference to the interface of an asynchronous result object. To create the result object, call .

-

Returns an value. Possible values include the following.

Return codeDescription

Success.

Invalid work queue identifier. For more information, see .

The function was not called, or was called.

?

- -

To invoke the work-item, this function passes pResult to the function. The callback is specified when you create the result object specified by pResult.

This function is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms697572 - HRESULT MFPutWorkItemEx([In] unsigned int dwQueue,[In] IMFAsyncResult* pResult) - MFPutWorkItemEx -
- - -

Puts an asynchronous operation on a work queue, with a specified priority.

-
-

The identifier for the work queue. This value can specify one of the standard Media Foundation work queues, or a work queue created by the application. For list of standard Media Foundation work queues, see Work Queue Identifiers. To create a new work queue, call or .

-

The priority of the work item. Work items are performed in order of priority.

-

A reference to the interface of an asynchronous result object. To create the result object, call .

-

Returns an value. Possible values include the following.

Return codeDescription

Success.

Invalid work queue identifier.

The function was not called, or was called.

?

- -

To invoke the work item, this function passes pResult to the function. The callback is specified when you create the result object specified by pResult.

-
- - hh162785 - HRESULT MFPutWorkItemEx2([In] unsigned int dwQueue,[In] int Priority,[In] IMFAsyncResult* pResult) - MFPutWorkItemEx2 -
- - -

Queues a work item that waits for an event to be signaled.

-
-

A handle to an event object. To create an event object, call CreateEvent or CreateEventEx.

-

The priority of the work item. Work items are performed in order of priority.

-

A reference to the interface of an asynchronous result object. To create the result object, call .

-

Receives a key that can be used to cancel the wait. To cancel the wait, call and pass this key in the Key parameter. This parameter can be null.

-

If this function succeeds, it returns . Otherwise, it returns an error code.

- -

This function enables a component to wait for an event without blocking the current thread.

The function puts a work item on the specified work queue. This work item waits for the event given in hEvent to be signaled. When the event is signaled, the work item invokes a callback. (The callback is contained in the result object given in pResult. For more information, see ).

The work item is dispatched on a work queue by the method of the callback. The work queue can be any of the following:

  • The default work queue ().
  • The platform multithreaded queue ().
  • A multithreaded queue returned by the function.
  • A serial queue created by the function.

Do not use any of the following work queues: , , , or .

-
- - hh162783 - HRESULT MFPutWaitingWorkItem([In] void* hEvent,[In] int Priority,[In] IMFAsyncResult* pResult,[Out, Optional] unsigned longlong* pKey) - MFPutWaitingWorkItem -
- - -

Creates a work queue that is guaranteed to serialize work items. The serial work queue wraps an existing multithreaded work queue. The serial work queue enforces a first-in, first-out (FIFO) execution order.

-
-

The identifier of an existing work queue. This must be either a multithreaded queue or another serial work queue. Any of the following can be used:

  • The default work queue ()
  • The platform multithreaded queue ()
  • A multithreaded queue returned by the function.
  • A serial queue created by the function.
-

Receives an identifier for the new serial work queue. Use this identifier when queuing work items.

-

This function can return one of these values.

Return codeDescription

The function succeeded.

E_FAIL

The application exceeded the maximum number of work queues.

The application did not call , or the application has already called .

?

- -

When you are done using the work queue, call .

Multithreaded queues use a thread pool, which can reduce the total number of threads in the pipeline. However, they do not serialize work items. A serial work queue enables the application to get the benefits of the thread pool, without needing to perform manual serialization of its own work items.

-
- - hh162744 - HRESULT MFAllocateSerialWorkQueue([In] unsigned int dwWorkQueue,[Out] unsigned int* pdwWorkQueue) - MFAllocateSerialWorkQueue -
- - -

Schedules an asynchronous operation to be completed after a specified interval.

-
-

Pointer to the interface of an asynchronous result object. To create the result object, call .

-

Time-out interval, in milliseconds. Set this parameter to a negative value. The callback is invoked after ?Timeout milliseconds. For example, if Timeout is ?5000, the callback is invoked after 5000 milliseconds.

-

Receives a key that can be used to cancel the timer. To cancel the timer, call and pass this key in the Key parameter.

-

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The function succeeded.

?

- -

When the timer interval elapses, the timer calls with the pResult reference to invoke the asynchronous callback. The callback is specified when you create the result object.

-
- - ms702259 - HRESULT MFScheduleWorkItemEx([In] IMFAsyncResult* pResult,[In] longlong Timeout,[Out, Optional] unsigned longlong* pKey) - MFScheduleWorkItemEx -
- - -

Schedules an asynchronous operation to be completed after a specified interval.

-
-

Pointer to the interface. The caller must implement this interface.

-

Pointer to the interface of a state object, defined by the caller. This parameter can be null. You can use this object to hold state information. The object is returned to the caller when the callback is invoked.

-

Time-out interval, in milliseconds. Set this parameter to a negative value. The callback is invoked after ?Timeout milliseconds. For example, if Timeout is ?5000, the callback is invoked after 5000 milliseconds.

-

Receives a key that can be used to cancel the timer. To cancel the timer, call and pass this key in the Key parameter.

-

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The function succeeded.

?

- -

This function creates an asynchronous result object. When the timer interval elapses, the method specified by pCallback is called.

This function is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms703045 - HRESULT MFScheduleWorkItem([In] IMFAsyncCallback* pCallback,[In] IUnknown* pState,[In] longlong Timeout,[Out, Optional] unsigned longlong* pKey) - MFScheduleWorkItem -
- - -

Attempts to cancel an asynchronous operation that was scheduled with or .

-
- No documentation. -

If this function succeeds, it returns . Otherwise, it returns an error code.

- -

Because work items are asynchronous, the work-item callback might still be invoked after is called.

This function is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms701633 - HRESULT MFCancelWorkItem([In] unsigned longlong Key) - MFCancelWorkItem -
- - -

Retrieves the timer interval for the function.

-
- No documentation. -

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The function succeeded.

?

- - ms694873 - HRESULT MFGetTimerPeriodicity([Out] unsigned int* Periodicity) - MFGetTimerPeriodicity -
- - -

Sets a callback function to be called at a fixed interval.

-
-

Pointer to the callback function, of type MFPERIODICCALLBACK.

-

Pointer to a caller-provided object that implements , or null. This parameter is passed to the callback function.

-

Receives a key that can be used to cancel the callback. To cancel the callback, call and pass this key as the dwKey parameter.

-

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The function succeeded.

?

- -

To get the timer interval for the periodic callback, call .

-
- - ms704699 - HRESULT MFAddPeriodicCallback([In] __function__stdcall* Callback,[In] IUnknown* pContext,[Out, Optional] unsigned int* pdwKey) - MFAddPeriodicCallback -
- - -

Cancels a callback function that was set by the function.

-
- No documentation. -

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The function succeeded.

?

- -

The callback is dispatched on another thread, and this function does not attempt to synchronize with the callback thread. Therefore, it is possible for the callback to be invoked after this function returns.

-
- - ms704741 - HRESULT MFRemovePeriodicCallback([In] unsigned int dwKey) - MFRemovePeriodicCallback -
- - -

Creates a new work queue. This function extends the capabilities of the function by making it possible to create a work queue that has a message loop.

-
- No documentation. - No documentation. -

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The function succeeded.

E_FAIL

The application exceeded the maximum number of work queues.

E_INVALIDARG

Invalid argument.

The application did not call , or the application has already called .

?

- -

When you are done using the work queue, call .

The function is equivalent to calling with the value for the WorkQueueType parameter.

This function is available on Windows?Vista if Platform Update Supplement for Windows?Vista is installed.

-
- - dd375150 - HRESULT MFAllocateWorkQueueEx([In] MFASYNC_WORKQUEUE_TYPE WorkQueueType,[Out] unsigned int* pdwWorkQueue) - MFAllocateWorkQueueEx -
- - -

Creates a new work queue.

-
-

Receives an identifier for the work queue.

-

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The function succeeded.

E_FAIL

The application exceeded the maximum number of work queues.

The application did not call , or the application has already called .

?

- -

When you are done using the work queue, call .

-
- - ms700204 - HRESULT MFAllocateWorkQueue([Out] unsigned int* pdwWorkQueue) - MFAllocateWorkQueue -
- - -

Locks a work queue.

-
-

The identifier for the work queue. The identifier is returned by the function.

-

If this function succeeds, it returns . Otherwise, it returns an error code.

- -

This function prevents the function from shutting down the work queue. Use this function to ensure that asynchronous operations on the work queue complete gracefully before the platform shuts down. The function blocks until the work queue is unlocked, or until a fixed wait period has elapsed. (The wait period is a few seconds.)

Call to unlock the work queue. Each call to must be matched by a corresponding call to .

Note??The function implicitly locks the work queue that it creates.? -
- - aa367740 - HRESULT MFLockWorkQueue([In] unsigned int dwWorkQueue) - MFLockWorkQueue -
- - -

Unlocks a work queue.

-
-

Identifier for the work queue to be unlocked. The identifier is returned by the function.

-

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The function succeeded.

?

- -

The application must call once for every call to and then once for every call to .

-
- - aa372543 - HRESULT MFUnlockWorkQueue([In] unsigned int dwWorkQueue) - MFUnlockWorkQueue -
- - -

Associates a work queue with a Multimedia Class Scheduler Service (MMCSS) task.

-
-

The identifier of the work queue. For private work queues, the identifier is returned by the function. For platform work queues, see Work Queue Identifiers.

-

The name of the MMCSS task.For more information, see Multimedia Class Scheduler Service.

-

The unique task identifier. To obtain a new task identifier, set this value to zero.

-

A reference to the interface of a callback object. The caller must implement this interface.

-

A reference to the interface of a state object, defined by the caller. This parameter can be null. You can use this object to hold state information. The object is returned to the caller when the callback is invoked.

-

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The function succeeded.

?

- -

This function is asynchronous. When the operation completes, the callback object's method is called. At that point, the application should call to complete the asynchronous request.

To unregister the work queue from the MMCSS task, call .

-
- - ms701600 - HRESULT MFBeginRegisterWorkQueueWithMMCSS([In] unsigned int dwWorkQueueId,[In] const wchar_t* wszClass,[In] unsigned int dwTaskId,[In] IMFAsyncCallback* pDoneCallback,[In] IUnknown* pDoneState) - MFBeginRegisterWorkQueueWithMMCSS -
- - -

Associates a work queue with a Multimedia Class Scheduler Service (MMCSS) task.

-
-

The identifier of the work queue. For private work queues, the identifier is returned by the function. For platform work queues, see Work Queue Identifiers.

-

The name of the MMCSS task. For more information, see Multimedia Class Scheduler Service.

-

The unique task identifier. To obtain a new task identifier, set this value to zero.

-

The base relative priority for the work-queue threads. For more information, see AvSetMmThreadPriority.

-

A reference to the interface of a callback object. The caller must implement this interface.

-

A reference to the interface of a state object, defined by the caller. This parameter can be null. You can use this object to hold state information. The object is returned to the caller when the callback is invoked.

-

If this function succeeds, it returns . Otherwise, it returns an error code.

- -

This function extends the function by adding the lPriority parameter.

This function is asynchronous. When the operation completes, the callback object's method is called. At that point, call to complete the asynchronous request.

To unregister the work queue from the MMCSS task, call .

-
- - hh162745 - HRESULT MFBeginRegisterWorkQueueWithMMCSSEx([In] unsigned int dwWorkQueueId,[In] const wchar_t* wszClass,[In] unsigned int dwTaskId,[In] int lPriority,[In] IMFAsyncCallback* pDoneCallback,[In] IUnknown* pDoneState) - MFBeginRegisterWorkQueueWithMMCSSEx -
- - -

Completes an asynchronous request to associate a work queue with a Multimedia Class Scheduler Service (MMCSS) task.

-
-

Pointer to the interface. Pass in the same reference that your callback object received in the method.

-

The unique task identifier.

-

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The function succeeded.

?

- -

Call this function when the function completes asynchronously.

To unregister the work queue from the MMCSS class, call .

-
- - ms696982 - HRESULT MFEndRegisterWorkQueueWithMMCSS([In] IMFAsyncResult* pResult,[Out] unsigned int* pdwTaskId) - MFEndRegisterWorkQueueWithMMCSS -
- - -

Unregisters a work queue from a Multimedia Class Scheduler Service (MMCSS) task.

-
-

The identifier of the work queue. For private work queues, the identifier is returned by the function. For platform work queues, see Work Queue Identifiers.

-

Pointer to the interface of a callback object. The caller must implement this interface.

-

Pointer to the interface of a state object, defined by the caller. This parameter can be null. You can use this object to hold state information. The object is returned to the caller when the callback is invoked.

-

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The function succeeded.

?

- -

This function unregisters a work queue that was associated with an MMCSS class through the function.

This function is asynchronous. When the operation completes, the callback object's method is called. At that point, the application should call to complete the asynchronous request.

-
- - ms704613 - HRESULT MFBeginUnregisterWorkQueueWithMMCSS([In] unsigned int dwWorkQueueId,[In] IMFAsyncCallback* pDoneCallback,[In] IUnknown* pDoneState) - MFBeginUnregisterWorkQueueWithMMCSS -
- - -

Completes an asynchronous request to unregister a work queue from a Multimedia Class Scheduler Service (MMCSS) task.

-
-

Pointer to the interface. Pass in the same reference that your callback object received in the method.

-

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The function succeeded.

?

- -

Call this function when the function completes asynchronously.

-
- - ms704803 - HRESULT MFEndUnregisterWorkQueueWithMMCSS([In] IMFAsyncResult* pResult) - MFEndUnregisterWorkQueueWithMMCSS -
- - -

Retrieves the Multimedia Class Scheduler Service (MMCSS) class currently associated with this work queue.

-
-

Identifier for the work queue. The identifier is retrieved by the function.

-

Pointer to a buffer that receives the name of the MMCSS class. This parameter can be null.

-

On input, specifies the size of the pwszClass buffer, in characters. On output, receives the required size of the buffer, in characters. The size includes the terminating null character.

-

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The function succeeded.

The pwszClass buffer is too small to receive the task name.

?

- -

If the work queue is not associated with an MMCSS task, the function retrieves an empty string.

To associate a work queue with an MMCSS task, call .

-
- - ms701582 - HRESULT MFGetWorkQueueMMCSSClass([In] unsigned int dwWorkQueueId,[Out, Buffer, Optional] wchar_t* pwszClass,[InOut] unsigned int* pcchClass) - MFGetWorkQueueMMCSSClass -
- - -

Retrieves the Multimedia Class Scheduler Service (MMCSS) task identifier currently associated with this work queue.

-
-

Identifier for the work queue. The identifier is retrieved by the function.

-

Receives the task identifier.

-

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The function succeeded.

?

- -

To associate a work queue with an MMCSS task, call .

-
- - ms704780 - HRESULT MFGetWorkQueueMMCSSTaskId([In] unsigned int dwWorkQueueId,[Out] unsigned int* pdwTaskId) - MFGetWorkQueueMMCSSTaskId -
- - -

Registers the standard Microsoft Media Foundation platform work queues with the Multimedia Class Scheduler Service (MMCSS). -

-
-

The name of the MMCSS task.

-

The MMCSS task identifier. On input, specify an existing MCCSS task group ID, or use the value zero to create a new task group. On output, receives the actual task group ID.

-

The base priority of the work-queue threads.

-

If this function succeeds, it returns . Otherwise, it returns an error code.

- -

To unregister the platform work queues from the MMCSS class, call .

-
- - hh162788 - HRESULT MFRegisterPlatformWithMMCSS([In] const wchar_t* wszClass,[InOut] unsigned int* pdwTaskId,[In] int lPriority) - MFRegisterPlatformWithMMCSS -
- - -

Unregisters the Microsoft Media Foundation platform work queues from a Multimedia Class Scheduler Service (MMCSS) task.

-
-

If this function succeeds, it returns . Otherwise, it returns an error code.

- - hh162801 - HRESULT MFUnregisterPlatformFromMMCSS() - MFUnregisterPlatformFromMMCSS -
- - -

Obtains and locks a shared work queue.

-
-

The name of the MMCSS task.

-

The base priority of the work-queue threads. If the regular-priority queue is being used (wszClass=""), then the value 0 must be passed in.

-

The MMCSS task identifier. On input, specify an existing MCCSS task group ID , or use the value zero to create a new task group. If the regular priority queue is being used (wszClass=""), then null must be passed in. On output, receives the actual task group ID.

-

Receives an identifier for the new work queue. Use this identifier when queuing work items.

-

If this function succeeds, it returns . Otherwise, it returns an error code.

- -

A multithreaded work queue uses a thread pool to dispatch work items. Whenever a thread becomes available, it dequeues the next work item from the queue. Work items are dequeued in first-in-first-out order, but work items are not serialized. In other words, the work queue does not wait for a work item to complete before it starts the next work item.

Within a single process, the Microsoft Media Foundation platform creates up to one multithreaded queue for each Multimedia Class Scheduler Service (MMCSS) task. The function checks whether a matching work queue already exists. If not, the function creates a new work queue and registers the work queue with MMCSS. The function returns the MMCSS task identifier (pdwTaskId) and the work queue identifier (pID). To queue a work item, pass the work queue identifier to any of the following functions:

The function also locks the queue. Before the process exits, call to unlock the work queue.

If the regular priority queue is being used (wszClass=""), then null must be passed in to pdwTaskId and the value 0 must be passed into BasePriority.

-
- - hh162771 - HRESULT MFLockSharedWorkQueue([In] const wchar_t* wszClass,[In] int BasePriority,[InOut] unsigned int* pdwTaskId,[Out] unsigned int* pID) - MFLockSharedWorkQueue -
- - -

Gets the relative thread priority of a work queue.

-
-

The identifier of the work queue. For private work queues, the identifier is returned by the function. For platform work queues, see Work Queue Identifiers.

-

Receives the relative thread priority.

-

If this function succeeds, it returns . Otherwise, it returns an error code.

- -

This function returns the relative thread priority set by the function.

-
- - hh162768 - HRESULT MFGetWorkQueueMMCSSPriority([In] unsigned int dwWorkQueueId,[Out] int* lPriority) - MFGetWorkQueueMMCSSPriority -
- - -

Creates an asynchronous result object. Use this function if you are implementing an asynchronous method.

-
-

Pointer to the object stored in the asynchronous result. This reference is returned by the method. This parameter can be null.

-

Pointer to the interface. This interface is implemented by the caller of the asynchronous method.

-

Pointer to the interface of a state object. This value is provided by the caller of the asynchronous method. This parameter can be null.

-

Receives a reference to the interface. The caller must release the interface.

-

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The function succeeded.

?

- -

To invoke the callback specified in pCallback, call the function.

-
- - ms698952 - HRESULT MFCreateAsyncResult([In] IUnknown* punkObject,[In] IMFAsyncCallback* pCallback,[In] IUnknown* punkState,[Out] IMFAsyncResult** ppAsyncResult) - MFCreateAsyncResult -
- - -

Invokes a callback method to complete an asynchronous operation.

-
-

Pointer to the interface. To create this object, call .

-

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The function succeeded.

Invalid work queue. For more information, see .

The function was called to shut down the Media Foundation platform.

?

- -

If you are implementing an asynchronous method, use this function to invoke the caller's method.

The callback is invoked from a Media Foundation work queue. For more information, see Writing an Asynchronous Method.

The function shuts down the work queue threads, so the callback is not guaranteed to be invoked after is called.

-
- - ms695400 - HRESULT MFInvokeCallback([In] IMFAsyncResult* pAsyncResult) - MFInvokeCallback -
- - -

Creates a byte stream from a file.

-
-

The requested access mode, specified as a member of the enumeration.

-

The behavior of the function if the file already exists or does not exist, specified as a member of the enumeration.

-

Bitwise OR of values from the enumeration.

-

Pointer to a null-terminated string that contains the file name.

-

Receives a reference to the interface of the byte stream. The caller must release the interface.

-

If this function succeeds, it returns . Otherwise, it returns an error code.

- -

This function is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms696166 - HRESULT MFCreateFile([In] MF_FILE_ACCESSMODE AccessMode,[In] MF_FILE_OPENMODE OpenMode,[In] MF_FILE_FLAGS fFlags,[In] const wchar_t* pwszFileURL,[Out] IMFByteStream** ppIByteStream) - MFCreateFile -
- - -

Creates a byte stream that is backed by a temporary local file.

-
-

The requested access mode, specified as a member of the enumeration.

-

The behavior of the function if the file already exists or does not exist, specified as a member of the enumeration.

-

Bitwise OR of values from the enumeration.

-

Receives a reference to the interface of the byte stream. The caller must release the interface.

-

If this function succeeds, it returns . Otherwise, it returns an error code.

- -

This function creates a file in the system temporary folder, and then returns a byte stream object for that file. The full path name of the file is storted in the attribute. The file is created with the FILE_FLAG_DELETE_ON_CLOSE flag, and is deleted after the byte stream is released.

This function is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms695209 - HRESULT MFCreateTempFile([In] MF_FILE_ACCESSMODE AccessMode,[In] MF_FILE_OPENMODE OpenMode,[In] MF_FILE_FLAGS fFlags,[Out] IMFByteStream** ppIByteStream) - MFCreateTempFile -
- - -

Begins an asynchronous request to create a byte stream from a file.

-
-

The requested access mode, specified as a member of the enumeration.

-

The behavior of the function if the file already exists or does not exist, specified as a member of the enumeration.

-

Bitwise OR of values from the enumeration.

-

Pointer to a null-terminated string containing the file name.

-

Pointer to the interface of a callback object. The caller must implement this interface

-

Pointer to the interface of a state object, defined by the caller. This parameter can be null. You can use this object to hold state information. The object is returned to the caller when the callback is invoked.

-

Receives an reference or the value null. If the value is not null, you can cancel the asynchronous operation by passing this reference to the function. The caller must release the interface. This parameter is optional and can be null.

-

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The function succeeded.

?

- -

When the request is completed, the callback object's method is called. The callback object should then call the function to get a reference to the byte stream.

-
- - ms702074 - HRESULT MFBeginCreateFile([In] MF_FILE_ACCESSMODE AccessMode,[In] MF_FILE_OPENMODE OpenMode,[In] MF_FILE_FLAGS fFlags,[In] const wchar_t* pwszFilePath,[In] IMFAsyncCallback* pCallback,[In] IUnknown* pState,[Out] IUnknown** ppCancelCookie) - MFBeginCreateFile -
- - -

Completes an asynchronous request to create a byte stream from a file.

-
-

Pointer to the interface. Pass in the same reference that your callback object received in the Invoke method.

-

Receives a reference to the interface of the byte stream. The caller must release the interface.

-

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The function succeeded.

?

- -

Call this function when the function completes asynchronously.

-
- - ms703984 - HRESULT MFEndCreateFile([In] IMFAsyncResult* pResult,[Out] IMFByteStream** ppFile) - MFEndCreateFile -
- - -

Cancels an asynchronous request to create a byte stream from a file.

-
-

A reference to the interface of the cancellation object. This reference is received in the ppCancelCookie parameter of the function.

-

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The function succeeded.

?

- -

You can use this function to cancel a previous call to . Because that function is asynchronous, however, it might complete before the operation can be canceled. Therefore, your callback might still be invoked after you call this function.

-
- - ms702218 - HRESULT MFCancelCreateFile([In] IUnknown* pCancelCookie) - MFCancelCreateFile -
- - -

Allocates system memory and creates a media buffer to manage it.

-
-

Size of the buffer, in bytes.

-

Receives a reference to the interface of the media buffer. The caller must release the interface.

- -

The function allocates a buffer with a 1-byte memory alignment. To allocate a buffer that is aligned to a larger memory boundary, call .

When the media buffer object is destroyed, it releases the allocated memory.

This function is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms695212 - HRESULT MFCreateMemoryBuffer([In] unsigned int cbMaxLength,[Out] IMFMediaBuffer** ppBuffer) - MFCreateMemoryBuffer -
- - -

Creates a media buffer that wraps an existing media buffer. The new media buffer points to the same memory as the original media buffer, or to an offset from the start of the memory.

-
-

A reference to the interface of the original media buffer.

-

The start of the new buffer, as an offset in bytes from the start of the original buffer.

-

The size of the new buffer. The value of cbOffset + dwLength must be less than or equal to the size of valid data the original buffer. (The size of the valid data is returned by the method.)

-

Receives a reference to the interface. The caller must release the interface.

-

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The function succeeded.

E_INVALIDARG

The requested offset or the requested length is not valid.

?

- -

The maximum size of the wrapper buffer is limited to the size of the valid data in the original buffer. This might be less than the allocated size of the original buffer. To set the size of the valid data, call .

This function is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - aa370450 - HRESULT MFCreateMediaBufferWrapper([In] IMFMediaBuffer* pBuffer,[In] unsigned int cbOffset,[In] unsigned int dwLength,[Out] IMFMediaBuffer** ppBuffer) - MFCreateMediaBufferWrapper -
- - -

Converts a Media Foundation media buffer into a buffer that is compatible with DirectX Media Objects (DMOs).

-
-

Pointer to the interface of the sample that contains the Media Foundation buffer. This parameter can be null.

-

Pointer to the interface of the Media Foundation buffer.

-

Offset in bytes from the start of the Media Foundation buffer. This offset defines where the DMO buffer starts. If this parameter is zero, the DMO buffer starts at the beginning of the Media Foundation buffer.

-

Receives a reference to the interface. This interface is documented in the DirectShow SDK documentation. The caller must release the interface.

-

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The function succeeded.

E_INVALIDARG

Invalid argument. The pIMFMediaBuffer parameter must not be null.

?

- -

The DMO buffer created by this function also exposes the interface. If pIMFSample is null, all of the methods return . Otherwise, they call through to the pIMFSample reference.

If the Media Foundation buffer specified by pIMFMediaBuffer exposes the interface, the DMO buffer also exposes .

-
- - ms696233 - HRESULT MFCreateLegacyMediaBufferOnMFMediaBuffer([In, Optional] IMFSample* pSample,[In] IMFMediaBuffer* pMFMediaBuffer,[In] unsigned int cbOffset,[Out] IMediaBuffer** ppMediaBuffer) - MFCreateLegacyMediaBufferOnMFMediaBuffer -
- - -

Converts a Microsoft Direct3D?9 format identifier to a Microsoft DirectX Graphics Infrastructure (DXGI) format identifier.

-
-

The D3DFORMAT value or FOURCC code to convert.

-

Returns a value.

- - hh162772 - DXGI_FORMAT MFMapDX9FormatToDXGIFormat([In] unsigned int dx9) - MFMapDX9FormatToDXGIFormat -
- - -

Converts a Microsoft DirectX Graphics Infrastructure (DXGI) format identifier to a Microsoft Direct3D?9 format identifier.

-
-

The value to convert.

-

Returns a D3DFORMAT value or FOURCC code.

- - hh162773 - unsigned int MFMapDXGIFormatToDX9Format([In] DXGI_FORMAT dx11) - MFMapDXGIFormatToDX9Format -
- - -

Locks the shared Microsoft DirectX Graphics Infrastructure (DXGI) Device Manager.

-
-

Receives a token that identifies this instance of the DXGI Device Manager. Use this token when calling . This parameter can be null.

-

Receives a reference to the interface. The caller must release the interface.

-

If this function succeeds, it returns . Otherwise, it returns an error code.

- -

This function obtains a reference to a DXGI Device Manager instance that can be shared between components. The Microsoft Media Foundation platform creates this instance of the DXGI Device Manager as a singleton object. Alternatively, you can create a new DXGI Device Manager by calling .

The first time this function is called, the Media Foundation platform creates the shared DXGI Device Manager.

When you are done use the reference, call the .

-
- - hh162770 - HRESULT MFLockDXGIDeviceManager([Out, Optional] unsigned int* pResetToken,[Out] IMFDXGIDeviceManager** ppManager) - MFLockDXGIDeviceManager -
- - -

Unlocks the shared Microsoft DirectX Graphics Infrastructure (DXGI) Device Manager.

-
-

If this function succeeds, it returns . Otherwise, it returns an error code.

- -

Call this function after a successful call to the function.

-
- - hh162800 - HRESULT MFUnlockDXGIDeviceManager() - MFUnlockDXGIDeviceManager -
- - -

Creates a media buffer object that manages a Direct3D 9 surface.

-
-

Identifies the type of Direct3D 9 surface. Currently this value must be IID_IDirect3DSurface9.

-

A reference to the interface of the DirectX surface.

-

If TRUE, the buffer's method copies the buffer into a bottom-up format. The bottom-up format is compatible with GDI for uncompressed RGB images. If this parameter is , the ContiguousCopyTo method copies the buffer into a top-down format, which is compatible with DirectX.

For more information about top-down versus bottom-up images, see Image Stride.

-

Receives a reference to the interface. The caller must release the buffer.

-

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_INVALIDARG

Invalid argument.

?

- -

This function creates a media buffer object that holds a reference to the Direct3D surface specified in punkSurface. Locking the buffer gives the caller access to the surface memory. When the buffer object is destroyed, it releases the surface. For more information about media buffers, see Media Buffers.

Note??This function does not allocate the Direct3D surface itself.?

The buffer object created by this function also exposes the interface. For more information, see DirectX Surface Buffer.

This function does not support DXGI surfaces.

-
- - ms703840 - HRESULT MFCreateDXSurfaceBuffer([In] const GUID& riid,[In] IUnknown* punkSurface,[In] BOOL fBottomUpWhenLinear,[Out] IMFMediaBuffer** ppBuffer) - MFCreateDXSurfaceBuffer -
- - -

Creates a media buffer object that manages a Windows Imaging Component (WIC) bitmap.

-
-

Set this parameter to __uuidof().

-

A reference to the interface of the bitmap surface. The bitmap surface must be a WIC bitmap that exposes the interface.

-

Receives a reference to the interface. The caller must release the interface.

-

If this function succeeds, it returns . Otherwise, it returns an error code.

- - hh162764 - HRESULT MFCreateWICBitmapBuffer([In] const GUID& riid,[In] IUnknown* punkSurface,[Out] IMFMediaBuffer** ppBuffer) - MFCreateWICBitmapBuffer -
- - -

Creates a media buffer to manage a Microsoft DirectX Graphics Infrastructure (DXGI) surface.

-
-

Identifies the type of DXGI surface. This value must be IID_ID3D11Texture2D.

-

A reference to the interface of the DXGI surface.

-

The zero-based index of a subresource of the surface. The media buffer object is associated with this subresource.

-

If TRUE, the buffer's method copies the buffer into a bottom-up format. The bottom-up format is compatible with GDI for uncompressed RGB images. If this parameter is , the ContiguousCopyTo method copies the buffer into a top-down format, which is compatible with Direct3D.

For more information about top-down versus bottom-up images, see Image Stride.

-

Receives a reference to the interface. The caller must release the buffer.

-

If this function succeeds, it returns . Otherwise, it returns an error code.

- -

The returned buffer object supports the following interfaces:

-
- - hh162751 - HRESULT MFCreateDXGISurfaceBuffer([In] const GUID& riid,[In] IUnknown* punkSurface,[In] unsigned int uSubresourceIndex,[In] BOOL fBottomUpWhenLinear,[Out] IMFMediaBuffer** ppBuffer) - MFCreateDXGISurfaceBuffer -
- - -

Creates an object that allocates video samples that are compatible with Microsoft DirectX Graphics Infrastructure (DXGI).

-
-

The identifier of the interface to retrieve. Specify one of the following values.

ValueMeaning
IID_IUnknown

Retrieve an reference.

IID_IMFVideoSampleAllocator

Retrieve an reference.

IID_IMFVideoSampleAllocatorEx

Retrieve an reference.

IID_IMFVideoSampleAllocatorCallback

Retrieve an reference.

?

-

Receives a reference to the requested interface. The caller must release the interface.

-

If this function succeeds, it returns . Otherwise, it returns an error code.

- -

This function creates an allocator for DXGI video surfaces. The buffers created by this allocator expose the interface. To create an allocator for Microsoft Direct3D?9 video surfaces, call .

-
- - hh162763 - HRESULT MFCreateVideoSampleAllocatorEx([In] const GUID& riid,[Out] void** ppSampleAllocator) - MFCreateVideoSampleAllocatorEx -
- - -

Creates an instance of the Microsoft DirectX Graphics Infrastructure (DXGI) Device Manager.

-
-

Receives a token that identifies this instance of the DXGI Device Manager. Use this token when calling .

-

Receives a reference to the interface. The caller must release the interface.

-

If this function succeeds, it returns . Otherwise, it returns an error code.

- -

When you create an with , a Microsoft Direct3D?11 device is not associated with the device manager. To associate a Direct3D?11 device with the device manager, call , passing in the reference to the Direct3D?11 device. To create a Direct3D?11 device, call . The device should be created with the device creation flag which is defined in the enumeration.

-
- - hh162750 - HRESULT MFCreateDXGIDeviceManager([Out] unsigned int* resetToken,[Out, Fast] IMFDXGIDeviceManager** ppDeviceManager) - MFCreateDXGIDeviceManager -
- - -

Allocates system memory with a specified byte alignment and creates a media buffer to manage the memory.

-
-

Size of the buffer, in bytes.

-

Specifies the memory alignment for the buffer. Use one of the following constants.

ValueMeaning
MF_1_BYTE_ALIGNMENT
0x00000000

Align to 1 bytes.

MF_2_BYTE_ALIGNMENT
0x00000001

Align to 2 bytes.

MF_4_BYTE_ALIGNMENT
0x00000003

Align to 4 bytes.

MF_8_BYTE_ALIGNMENT
0x00000007

Align to 8 bytes.

MF_16_BYTE_ALIGNMENT
0x0000000F

Align to 16 bytes.

MF_32_BYTE_ALIGNMENT
0x0000001F

Align to 32 bytes.

MF_64_BYTE_ALIGNMENT
0x0000003F

Align to 64 bytes.

MF_128_BYTE_ALIGNMENT
0x0000007F

Align to 128 bytes.

MF_256_BYTE_ALIGNMENT
0x000000FF

Align to 256 bytes.

MF_512_BYTE_ALIGNMENT
0x000001FF

Align to 512 bytes.

?

-

Receives a reference to the interface of the media buffer. The caller must release the interface.

-

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The function succeeded.

?

- -

When the media buffer object is destroyed, it releases the allocated memory.

-
- - bb970523 - HRESULT MFCreateAlignedMemoryBuffer([In] unsigned int cbMaxLength,[In] unsigned int cbAligment,[Out] IMFMediaBuffer** ppBuffer) - MFCreateAlignedMemoryBuffer -
- - -

Creates a media event object.

-
-

The event type. See . For a list of event types, see Media Foundation Events.

-

The extended type. See . If the event type does not have an extended type, use the value GUID_NULL.

-

The event status. See

-

The value associated with the event, if any. See . This parameter can be null.

-

Receives a reference to the interface. The caller must release the interface.

-

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

This function is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms697521 - HRESULT MFCreateMediaEvent([In] unsigned int met,[In] const GUID& guidExtendedType,[In] HRESULT hrStatus,[In, Optional] const PROPVARIANT* pvValue,[Out] IMFMediaEvent** ppEvent) - MFCreateMediaEvent -
- - -

Creates an event queue.

-
-

Receives a reference to the interface of the event queue. The caller must release the interface.

-

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The function succeeded.

?

- -

This function creates a helper object that you can use to implement the interface.

This function is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms695252 - HRESULT MFCreateEventQueue([Out] IMFMediaEventQueue** ppMediaEventQueue) - MFCreateEventQueue -
- - -

Creates an empty media sample.

-
-

Receives a reference to the interface of the media sample. The caller must release the interface.

- -

Initially the sample does not contain any media buffers.

This function is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms702276 - HRESULT MFCreateSample([Out] IMFSample** ppIMFSample) - MFCreateSample -
- - -

Creates an empty attribute store.

-
-

Receives a reference to the interface. The caller must release the interface.

-

The initial number of elements allocated for the attribute store. The attribute store grows as needed.

-

If this function succeeds, it returns . Otherwise, it returns an error code.

- -

Attributes are used throughout Microsoft Media Foundation to configure objects, describe media formats, query object properties, and other purposes. For more information, see Attributes in Media Foundation.

For a complete list of all the defined attribute GUIDs in Media Foundation, see Media Foundation Attributes.

-
- - ms701878 - HRESULT MFCreateAttributes([Out, Fast] IMFAttributes** ppMFAttributes,[In] unsigned int cInitialSize) - MFCreateAttributes -
- - -

Initializes the contents of an attribute store from a byte array.

-
-

Pointer to the interface of the attribute store.

-

Pointer to the array that contains the initialization data.

-

Size of the pBuf array, in bytes.

-

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The function succeeded.

E_INVALIDARG

The buffer is not valid.

?

- -

Use this function to deserialize an attribute store that was serialized with the function.

This function deletes any attributes that were previously stored in pAttributes.

-
- - ms703978 - HRESULT MFInitAttributesFromBlob([In] IMFAttributes* pAttributes,[In, Buffer] const unsigned char* pBuf,[In] unsigned int cbBufSize) - MFInitAttributesFromBlob -
- - -

Retrieves the size of the buffer needed for the function.

-
- No documentation. - No documentation. -

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The function succeeded.

?

- -

Use this function to find the size of the array that is needed for the function.

-
- - ms697064 - HRESULT MFGetAttributesAsBlobSize([In] IMFAttributes* pAttributes,[Out] unsigned int* pcbBufSize) - MFGetAttributesAsBlobSize -
- - -

Converts the contents of an attribute store to a byte array.

-
-

Pointer to the interface of the attribute store.

-

Pointer to an array that receives the attribute data.

-

Size of the pBuf array, in bytes. To get the required size of the buffer, call .

-

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The function succeeded.

The buffer given in pBuf is too small.

?

- -

The function skips any attributes with reference values (); they are not stored in the array.

To convert the byte array back into an attribute store, call .

To write an attribute store to a stream, call the function.

-
- - ms694877 - HRESULT MFGetAttributesAsBlob([In] IMFAttributes* pAttributes,[Out, Buffer] unsigned char* pBuf,[In] unsigned int cbBufSize) - MFGetAttributesAsBlob -
- - -

Adds information about a Media Foundation transform (MFT) to the registry.

Applications can enumerate the MFT by calling the or function.

-
- No documentation. - No documentation. - No documentation. - No documentation. - No documentation. - No documentation. - No documentation. - No documentation. - No documentation. -

If this function succeeds, it returns . Otherwise, it returns an error code.

- -

The registry entries created by this function are read by the following functions:

FunctionDescription
Enumerates MFTs by media type and category.
Extended version of .
Looks up an MFT by CLSID and retrieves the registry information.

?

This function does not register the CLSID of the MFT for the CoCreateInstance or CoGetClassObject functions.

To remove the entries from the registry, call . If you remove an MFT from the system, you should always call .

The formats given in the pInputTypes and pOutputTypes parameters are intended to help applications search for MFTs by format. Applications can use the or functions to enumerate MFTs that match a particular set of formats.

It is recommended to specify at least one input type in pInputTypes and one output type in the pOutputTypes parameter. Otherwise, the MFT might be skipped in the enumeration.

On 64-bit Windows, the 32-bit version of this function registers the MFT in the 32-bit node of the registry. For more information, see 32-bit and 64-bit Application Data in the Registry.

-
- - ms705640 - HRESULT MFTRegister([In] GUID clsidMFT,[In] GUID guidCategory,[In] wchar_t* pszName,[In] unsigned int Flags,[In] unsigned int cInputTypes,[In, Buffer, Optional] MFT_REGISTER_TYPE_INFO* pInputTypes,[In] unsigned int cOutputTypes,[In, Buffer, Optional] MFT_REGISTER_TYPE_INFO* pOutputTypes,[In, Optional] IMFAttributes* pAttributes) - MFTRegister -
- - -

Unregisters a Media Foundation transform (MFT).

-
-

The CLSID of the MFT.

-

If this function succeeds, it returns . Otherwise, it returns an error code.

- -

This function removes the registry entries created by the function.

It is safe to call twice with the same CLSID. If the CLSID is not found in the registry, the function succeeds and does nothing.

-
- - ms696199 - HRESULT MFTUnregister([In] GUID clsidMFT) - MFTUnregister -
- - -

Registers a Media Foundation transform (MFT) in the caller's process.

-
-

A reference to the interface of a class factory object. The class factory creates the MFT.

-

A that specifies the category of the MFT. For a list of MFT categories, see MFT_CATEGORY.

-

A wide-character null-terminated string that contains the friendly name of the MFT.

-

A bitwise OR of zero or more flags from the _MFT_ENUM_FLAG enumeration.

-

The number of elements in the pInputTypes array.

-

A reference to an array of structures. Each member of the array specifies an input format that the MFT supports. This parameter can be null if cInputTypes is zero.

-

The number of elements in the pOutputTypes array.

-

A reference to an array of structures. Each member of the array defines an output format that the MFT supports. This parameter can be null if cOutputTypes is zero.

-

If this function succeeds, it returns . Otherwise, it returns an error code.

- -

The primary purpose of this function is to make an MFT available for automatic topology resolution without making the MFT available to other processes or applications.

After you call this function, the MFT can be enumerated by calling the function with the flag. The MFT can be enumerated from within the same process, but is not visible to other processes.

The pClassFactory parameter specifies a class factory object that creates the MFT. The class factory's IClassFactory::CreateInstance method must return an object that supports the interface.

Note??The function retrieves a list of references. However, the class factory does not need to support the interface. Instead, the function provides an implementation of that wraps the class factory.?

To unregister the MFT from the current process, call .

If you need to register an MFT in the Protected Media Path (PMP) process, use the interface.

-
- - dd388656 - HRESULT MFTRegisterLocal([In] IClassFactory* pClassFactory,[In] const GUID& guidCategory,[In] const wchar_t* pszName,[In] unsigned int Flags,[In] unsigned int cInputTypes,[In, Buffer, Optional] const MFT_REGISTER_TYPE_INFO* pInputTypes,[In] unsigned int cOutputTypes,[In, Buffer, Optional] const MFT_REGISTER_TYPE_INFO* pOutputTypes) - MFTRegisterLocal -
- - -

Unregisters one or more Media Foundation transforms (MFTs) from the caller's process.

-
-

A reference to the interface of a class factory object. This parameter can be null.

-

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

HRESULT_FROM_WIN32()

The MFT specified by the pClassFactory parameter was not registered in this process.

?

- -

Use this function to unregister a local MFT that was previously registered through the function.

If the pClassFactory parameter is null, all local MFTs in the process are unregistered. Otherwise, the function unregisters the MFT associated with the class factory specified by the pClassFactory parameter. In that case, the pClassFactory parameter should equal a reference value that was previously passed to the function.

-
- - dd388658 - HRESULT MFTUnregisterLocal([In, Optional] IClassFactory* pClassFactory) - MFTUnregisterLocal -
- - -

Registers a Media Foundation transform (MFT) in the caller's process.

-
-

The class identifier (CLSID) of the MFT.

-

A that specifies the category of the MFT. For a list of MFT categories, see MFT_CATEGORY.

-

A wide-character null-terminated string that contains the friendly name of the MFT.

-

A bitwise OR of zero or more flags from the _MFT_ENUM_FLAG enumeration.

-

The number of elements in the pInputTypes array.

-

A reference to an array of structures. Each member of the array specifies an input format that the MFT supports. This parameter can be null if cInputTypes is zero.

-

The number of elements in the pOutputTypes array.

-

A reference to an array of structures. Each member of the array defines an output format that the MFT supports. This parameter can be null if cOutputTypes is zero.

-

If this function succeeds, it returns . Otherwise, it returns an error code.

- -

The primary purpose of this function is to make an MFT available for automatic topology resolution without making the MFT available to other processes or applications.

After you call this function, the MFT can be enumerated by calling the function with the flag. The MFT can be enumerated from within the same process, but is not visible to other processes.

To unregister the MFT from the current process, call .

If you need to register an MFT in the Protected Media Path (PMP) process, use the interface.

-
- - dd388657 - HRESULT MFTRegisterLocalByCLSID([In] const GUID& clisdMFT,[In] const GUID& guidCategory,[In] const wchar_t* pszName,[In] unsigned int Flags,[In] unsigned int cInputTypes,[In, Buffer, Optional] const MFT_REGISTER_TYPE_INFO* pInputTypes,[In] unsigned int cOutputTypes,[In, Buffer, Optional] const MFT_REGISTER_TYPE_INFO* pOutputTypes) - MFTRegisterLocalByCLSID -
- - -

Unregisters a Media Foundation transform (MFT) from the caller's process.

-
-

The class identifier (CLSID) of the MFT.

-

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

HRESULT_FROM_WIN32()

The MFT specified by the clsidMFT parameter was not registered in this process.

?

- -

Use this function to unregister a local MFT that was previously registered through the function.

-
- - dd388659 - HRESULT MFTUnregisterLocalByCLSID([In] GUID clsidMFT) - MFTUnregisterLocalByCLSID -
- - -

Enumerates Media Foundation transforms (MFTs) in the registry.

Starting in Windows?7, applications should use the function instead.

-
- No documentation. - No documentation. - No documentation. - No documentation. - No documentation. - No documentation. - No documentation. -

If this function succeeds, it returns . Otherwise, it returns an error code.

- -

This function returns a list of all the MFTs in the specified category that match the search criteria given by the pInputType, pOutputType, and pAttributes parameters. Any of those parameters can be null.

If no MFTs match the criteria, the method succeeds but returns the value zero in pcMFTs.

-
- - ms701774 - HRESULT MFTEnum([In] GUID guidCategory,[In] unsigned int Flags,[In, Optional] MFT_REGISTER_TYPE_INFO* pInputType,[In, Optional] MFT_REGISTER_TYPE_INFO* pOutputType,[In, Optional] IMFAttributes* pAttributes,[Out, Buffer] GUID** ppclsidMFT,[Out] unsigned int* pcMFTs) - MFTEnum -
- - -

Gets a list of Microsoft Media Foundation transforms (MFTs) that match specified search criteria. This function extends the function.

-
- No documentation. - No documentation. - No documentation. - No documentation. - No documentation. - No documentation. -

If this function succeeds, it returns . Otherwise, it returns an error code.

- -

The Flags parameter controls which MFTs are enumerated, and the order in which they are returned. The flags for this parameter fall into several groups.

The first set of flags specifies how an MFT processes data.

FlagDescription

The MFT performs synchronous data processing in software. This is the original MFT processing model, and is compatible with Windows?Vista.

The MFT performs asynchronous data processing in software. This processing model requires Windows?7. For more information, see Asynchronous MFTs.

The MFT performs hardware-based data processing, using either the AVStream driver or a GPU-based proxy MFT. MFTs in this category always process data asynchronously. For more information, see Hardware MFTs.

?

Every MFT falls into exactly one of these categories. To enumerate a category, set the corresponding flag in the Flags parameter. You can combine these flags to enumerate more than one category. If none of these flags is specified, the default category is synchronous MFTs ().

Next, the following flags include MFTs that are otherwise excluded from the results. By default, flags that match these criteria are excluded from the results. Use any these flags to include them.

FlagDescription

Include MFTs that must be unlocked by the application.

Include MFTs that are registered in the caller's process through either the or function.

Include MFTs that are optimized for transcoding rather than playback.

?

The last flag is used to sort and filter the results:

FlagDescription

Sort and filter the results.

?

If the flag is set, the function sorts the results as follows:

  • Local: If the flag is set, local MFTs appear first in the list. To register a local MFT, call the or function.
  • Merit: MFTs with a merit value appear next on the list, in order of merit value (highest to lowest). For more information about merit, see .
  • Preferred: If an MFT is listed in the plug-in control's preferred list, it appears next in the list. For more information about the plug-in control, see .
  • If an MFT appears on the blocked list, it is excluded from the results. For more information about the blocked list, see .
  • Any other MFTs that match the search criteria appear at the end of the list, unsorted.

If you do not set the flag, the function returns an unsorted list.

Setting the Flags parameter to zero is equivalent to using the value | | .

Setting Flags to is equivalent to calling the function.

If no MFTs match the search criteria, the function returns , unless some other error occurs. Therefore, always check the count received in the pcMFTActivate parameter before you dereference the pppMFTActivate reference.

Note??There is no way to enumerate just local MFTs and nothing else. Setting Flags equal to is equivalent to including the flag. However, if you also sort the results by specifying the flag, local MFTs appear first in the list.? -
- - dd388652 - HRESULT MFTEnumEx([In] GUID guidCategory,[In] unsigned int Flags,[In, Optional] const MFT_REGISTER_TYPE_INFO* pInputType,[In, Optional] const MFT_REGISTER_TYPE_INFO* pOutputType,[Out] void*** pppMFTActivate,[Out] unsigned int* pnumMFTActivate) - MFTEnumEx -
- - -

Gets a list of Microsoft Media Foundation transforms (MFTs) that match specified search criteria. This function extends the function to allow external applications and internal components to discover the hardware MFTs that correspond to a specific video adapter.

-
- No documentation. - No documentation. - No documentation. - No documentation. - No documentation. - No documentation. - No documentation. -

If this function succeeds, it returns . Otherwise, it returns an error code.

- -

The Flags parameter controls which MFTs are enumerated, and the order in which they are returned. The flags for this parameter fall into several groups.

The first set of flags specifies how an MFT processes data.

FlagDescription

The MFT performs synchronous data processing in software. This is the original MFT processing model, and is compatible with Windows?Vista.

The MFT performs asynchronous data processing in software. This processing model requires Windows?7. For more information, see Asynchronous MFTs.

The MFT performs hardware-based data processing, using either the AVStream driver or a GPU-based proxy MFT. MFTs in this category always process data asynchronously. For more information, see Hardware MFTs.

?

Every MFT falls into exactly one of these categories. To enumerate a category, set the corresponding flag in the Flags parameter. You can combine these flags to enumerate more than one category. If none of these flags is specified, the default category is synchronous MFTs ().

Next, the following flags include MFTs that are otherwise excluded from the results. By default, flags that match these criteria are excluded from the results. Use any these flags to include them.

FlagDescription

Include MFTs that must be unlocked by the application.

Include MFTs that are registered in the caller's process through either the or function.

Include MFTs that are optimized for transcoding rather than playback.

?

The last flag is used to sort and filter the results:

FlagDescription

Sort and filter the results.

?

If the flag is set, the function sorts the results as follows:

  • Local: If the flag is set, local MFTs appear first in the list. To register a local MFT, call the or function.
  • Merit: MFTs with a merit value appear next on the list, in order of merit value (highest to lowest). For more information about merit, see .
  • Preferred: If an MFT is listed in the plug-in control's preferred list, it appears next in the list. For more information about the plug-in control, see .
  • If an MFT appears on the blocked list, it is excluded from the results. For more information about the blocked list, see .
  • Any other MFTs that match the search criteria appear at the end of the list, unsorted.

If you do not set the flag, the function returns an unsorted list.

Setting the Flags parameter to zero is equivalent to using the value | | .

Setting Flags to is equivalent to calling the function.

If no MFTs match the search criteria, the function returns , unless some other error occurs. Therefore, always check the count received in the pcMFTActivate parameter before you dereference the pppMFTActivate reference.

Note??There is no way to enumerate just local MFTs and nothing else. Setting Flags equal to is equivalent to including the flag. However, if you also sort the results by specifying the flag, local MFTs appear first in the list.? -
- - mt739436 - HRESULT MFTEnum2([In] GUID guidCategory,[In] unsigned int Flags,[In, Optional] const MFT_REGISTER_TYPE_INFO* pInputType,[In, Optional] const MFT_REGISTER_TYPE_INFO* pOutputType,[In, Optional] IMFAttributes* pAttributes,[Out, Buffer] IMFActivate*** pppMFTActivate,[Out] unsigned int* pnumMFTActivate) - MFTEnum2 -
- - -

Gets information from the registry about a Media Foundation transform (MFT).

-
-

The CLSID of the MFT.

-

Receives a reference to a wide-character string containing the friendly name of the MFT. The caller must free the string by calling CoTaskMemFree. This parameter can be null.

-

Receives a reference to an array of structures. Each member of the array describes an input format that the MFT supports. The caller must free the array by calling CoTaskMemFree. This parameter can be null.

-

Receives the number of elements in the ppInputTypes array. If ppInputTypes is null, this parameter is ignored and can be null.

-

Receives a reference to an array of structures. Each member of the array describes an output format that the MFT supports. The caller must free the array by calling CoTaskMemFree. This parameter can be null.

-

Receives the number of elements in the ppOutputType array. If ppOutputTypes is null, this parameter is ignored and can be null.

-

Receives a reference to the interface of an attribute store. The caller must release the interface. The attribute store might contain attributes that are stored in the registry for the specified MFT. (For more information, see .) If no attributes are stored in the registry for this MFT, the attribute store is empty.

This parameter can be null.

-

If this function succeeds, it returns . Otherwise, it returns an error code.

- - ms703830 - HRESULT MFTGetInfo([In] GUID clsidMFT,[Out, Optional] wchar_t** pszName,[Out, Buffer, Optional] MFT_REGISTER_TYPE_INFO** ppInputTypes,[Out, Optional] unsigned int* pcInputTypes,[Out, Buffer, Optional] MFT_REGISTER_TYPE_INFO** ppOutputTypes,[Out, Optional] unsigned int* pcOutputTypes,[Out, Optional] IMFAttributes** ppAttributes) - MFTGetInfo -
- - -

Gets a reference to the Microsoft Media Foundation plug-in manager.

-
-

Receives a reference to the interface. The caller must release the interface.

-

If this function succeeds, it returns . Otherwise, it returns an error code.

- - dd388507 - HRESULT MFGetPluginControl([Out] IMFPluginControl** ppPluginControl) - MFGetPluginControl -
- - -

Gets the merit value of a hardware codec.

-
-

A reference to the interface of the Media Foundation transform (MFT) that represents the codec.

-

The size, in bytes, of the verifier array.

-

The address of a buffer that contains one of the following:

  • The class identifier (CLSID) of the MFT.
  • A null-terminated wide-character string that contains the symbol link for the underlying hardware device. Include the size of the terminating null in the value of cbVerifier.
-

Receives the merit value.

-

If this function succeeds, it returns . Otherwise, it returns an error code.

- -

The function fails if the MFT does not represent a hardware device with a valid Output Protection Manager (OPM) certificate.

-
- - dd388506 - HRESULT MFGetMFTMerit([InOut] IUnknown* pMFT,[In] unsigned int cbVerifier,[In, Buffer] const unsigned char* verifier,[Out] unsigned int* merit) - MFGetMFTMerit -
- - -

Registers a scheme handler in the caller's process.

-
-

A string that contains the scheme. The scheme includes the trailing ':' character; for example, "http:".

-

A reference to the interface of an activation object. The caller implements this interface. The method of the activation object must create a scheme handler object. The scheme handler exposes the interface.

-

If this function succeeds, it returns . Otherwise, it returns an error code.

- -

Scheme handlers are used in Microsoft Media Foundation during the source resolution process, which creates a media source from a URL. For more information, see Scheme Handlers and Byte-Stream Handlers.

Within a process, local scheme handlers take precedence over scheme handlers that are registered in the registry. Local scheme handlers are not visible to other processes.

Use this function if you want to register a custom scheme handler for your application, but do not want the handler available to other applications.

-
- - hh162787 - HRESULT MFRegisterLocalSchemeHandler([In] const wchar_t* szScheme,[In] IMFActivate* pActivate) - MFRegisterLocalSchemeHandler -
- - -

Registers a byte-stream handler in the caller's process.

-
-

A string that contains the file name extension for this handler.

-

A string that contains the MIME type for this handler.

-

A reference to the interface of an activation object. The caller implements this interface. The method of the activation object must create a byte-stream handler. The byte-stream handler exposes the interface.

-

If this function succeeds, it returns . Otherwise, it returns an error code.

- -

Byte-stream handlers are used in Microsoft Media Foundation during the source resolution process, which creates a media source from a URL. For more information, see Scheme Handlers and Byte-Stream Handlers.

Within a process, local byte-stream handlers take precedence over byte-stream handlers that are registered in the registry. Local byte-stream handlers are not visible to other processes.

Use this function if you want to register a custom byte-stream handler for your application, but do not want the handler available to other applications.

Either szFileExtension or szMimeType can be null; at least one must be non-null.

-
- - hh162786 - HRESULT MFRegisterLocalByteStreamHandler([In] const wchar_t* szFileExtension,[In] const wchar_t* szMimeType,[In] IMFActivate* pActivate) - MFRegisterLocalByteStreamHandler -
- - -

Creates a wrapper for a byte stream.

-
-

A reference to the interface of the original byte stream.

-

Receives a reference to the interface of the wrapper. The caller must release the interface.

-

If this function succeeds, it returns . Otherwise, it returns an error code.

- -

The methods on the wrapper call directly through to the original byte stream, except for the method. Calling Close on the wrapper closes the wrapper object, but leaves the original byte stream open.

-
- - hh162755 - HRESULT MFCreateMFByteStreamWrapper([In] IMFByteStream* pStream,[Out] IMFByteStream** ppStreamWrapper) - MFCreateMFByteStreamWrapper -
- - -

Creates an activation object for a Windows Runtime class.

-
-

The class identifier that is associated with the activatable runtime class.

-

A reference to an optional IPropertySet object, which is used to configure the Windows Runtime class. This parameter can be null.

-

The interface identifier (IID) of the interface being requested. The activation object created by this function supports the following interfaces:

  • IPersistStream
-

Receives a reference to the requested interface. The caller must release the interface.

-

If this function succeeds, it returns . Otherwise, it returns an error code.

- -

To create the Windows Runtime object, call or IClassFactory::CreateInstance.

-
- - hh162753 - HRESULT MFCreateMediaExtensionActivate([In] const wchar_t* szActivatableClassId,[In, Optional] IUnknown* pConfiguration,[In] const GUID& riid,[Out] void** ppvObject) - MFCreateMediaExtensionActivate -
- - - No documentation. - - No documentation. - No documentation. - No documentation. - - HRESULT MFCreateMuxStreamAttributes([In] IMFCollection* pAttributesToMux,[Out] IMFAttributes** ppMuxAttribs) - MFCreateMuxStreamAttributes - - - - No documentation. - - No documentation. - No documentation. - No documentation. - - HRESULT MFCreateMuxStreamMediaType([In] IMFCollection* pMediaTypesToMux,[Out] IMFMediaType** ppMuxMediaType) - MFCreateMuxStreamMediaType - - - - No documentation. - - No documentation. - No documentation. - No documentation. - - HRESULT MFCreateMuxStreamSample([In] IMFCollection* pSamplesToMux,[Out] IMFSample** ppMuxSample) - MFCreateMuxStreamSample - - - -

Validates the size of a buffer for a video format block.

-
-

that specifies the type of format block. It must be one of the following values:

FORMAT_DvInfo
FORMAT_MFVideoFormat
FORMAT_MPEG2Video
FORMAT_MPEGStreams
FORMAT_MPEGVideo
FORMAT_VideoInfo
FORMAT_VideoInfo2
FORMAT_WaveFormatEx
-

Pointer to a buffer that contains the format block.

-

Size of the pBlock buffer, in bytes.

-

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The buffer that contains the format block is large enough.

The buffer that contains the format block is too small, or the format block is not valid.

This function does not support the specified format type.

?

- -

This function is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms698993 - HRESULT MFValidateMediaTypeSize([In] GUID FormatType,[In, Buffer, Optional] unsigned char* pBlock,[In] unsigned int cbSize) - MFValidateMediaTypeSize -
- - -

Creates an empty media type.

-
-

Receives a reference to the interface. The caller must release the interface.

-

If this function succeeds, it returns . Otherwise, it returns an error code.

- -

The media type is created without any attributes.

-
- - ms693861 - HRESULT MFCreateMediaType([Out, Fast] IMFMediaType** ppMFType) - MFCreateMediaType -
- - -

[This API is not supported and may be altered or unavailable in the future. Applications should avoid using the structure, and use media type attributes instead. For more information, see Video Media Types.]

Creates an structure from a video media type.

-
- No documentation. - No documentation. - No documentation. -

If this function succeeds, it returns . Otherwise, it returns an error code.

- - aa473827 - HRESULT MFCreateMFVideoFormatFromMFMediaType([In] IMFMediaType* pMFType,[Out] MFVIDEOFORMAT** ppMFVF,[Out, Optional] unsigned int* pcbSize) - MFCreateMFVideoFormatFromMFMediaType -
- - -

Converts a Media Foundation audio media type to a structure.

-
-

Pointer to the interface of the media type.

-

Receives a reference to the structure. The caller must release the memory allocated for the structure by calling CoTaskMemFree.

-

Receives the size of the structure.

-

Contains a flag from the enumeration.

-

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The function succeeded.

?

- -

If the wFormatTag member of the returned structure is , you can cast the reference to a structure.

-
- - ms702177 - HRESULT MFCreateWaveFormatExFromMFMediaType([In] IMFMediaType* pMFType,[Out] void** ppWF,[Out, Optional] unsigned int* pcbSize,[In] unsigned int Flags) - MFCreateWaveFormatExFromMFMediaType -
- - -

Retrieves the image size for a video format. Given a structure, this function calculates the correct value of the biSizeImage member.

-
- No documentation. - No documentation. - No documentation. - No documentation. -

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The function succeeded.

E_INVALIDARG

The structure is not valid, or the value of cbBufSize is too small.

?

- -

Before calling this function, you must set at least the following members of the structure:

  • biCompression
  • biBitCount
  • biWidth
  • biHeight

Also, if biCompression is BI_BITFIELDS, the structure must be followed by an array of color masks.

This function fails if the structure describes a format that is not a video format. For example, it fails if biCompresson is BI_JPEG or BI_PNG .

This function is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms697582 - HRESULT MFCalculateBitmapImageSize([In, Buffer] const BITMAPINFOHEADER* pBMIH,[In] unsigned int cbBufSize,[Out] unsigned int* pcbImageSize,[Out, Optional] BOOL* pbKnown) - MFCalculateBitmapImageSize -
- - -

Retrieves the image size, in bytes, for an uncompressed video format.

-
-

Media subtype for the video format. For a list of subtypes, see Media Type GUIDs.

-

Width of the image, in pixels.

-

Height of the image, in pixels.

-

Receives the size of each frame, in bytes. If the format is compressed or is not recognized, the value is zero.

-

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The function succeeded.

?

- - bb970318 - HRESULT MFCalculateImageSize([In] const GUID& guidSubtype,[In] unsigned int unWidth,[In] unsigned int unHeight,[Out] unsigned int* pcbImageSize) - MFCalculateImageSize -
- - -

Converts a video frame rate into a frame duration.

-
-

The numerator of the frame rate.

-

The denominator of the frame rate.

-

Receives the average duration of a video frame, in 100-nanosecond units.

-

If this function succeeds, it returns . Otherwise, it returns an error code.

- -

This function is useful for calculating time stamps on a sample, given the frame rate.

Also, average time per frame is used in the older and format structures. This function provides a standard conversion so that all components in the pipeline can use consistent values, if they need to translate between the older format structures and the media type attributes used in Media Foundation.

For certain common frame rates, the function gets the frame duration from a look-up table:

Frames per second (floating point)Frames per second (fractional)Average time per frame
59.9460000/1001166833
29.9730000/1001333667
23.97624000/1001417188
6060/1166667
3030/1333333
5050/1200000
2525/1400000
2424/1416667

?

Most video content uses one of the frame rates listed here. For other frame rates, the function calculates the duration.

-
- - aa370467 - HRESULT MFFrameRateToAverageTimePerFrame([In] unsigned int unNumerator,[In] unsigned int unDenominator,[Out] unsigned longlong* punAverageTimePerFrame) - MFFrameRateToAverageTimePerFrame -
- - -

Calculates the frame rate, in frames per second, from the average duration of a video frame.

-
-

The average duration of a video frame, in 100-nanosecond units.

-

Receives the numerator of the frame rate.

-

Receives the denominator of the frame rate.

-

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The function succeeded.

?

- -

Average time per frame is used in the older and format structures. This function provides a standard conversion so that all components in the pipeline can use consistent values, if they need to translate between the older format structures and the media type attributes used in Media Foundation.

This function uses a look-up table for certain common durations. The table is listed in the Remarks section for the function.

-
- - bb970468 - HRESULT MFAverageTimePerFrameToFrameRate([In] unsigned longlong unAverageTimePerFrame,[Out] unsigned int* punNumerator,[Out] unsigned int* punDenominator) - MFAverageTimePerFrameToFrameRate -
- - -

[This API is not supported and may be altered or unavailable in the future. Applications should avoid using the structure, and use media type attributes instead. For more information, see Video Media Types.]

Initializes a media type from an structure.

-
- No documentation. - No documentation. - No documentation. -

If this function succeeds, it returns . Otherwise, it returns an error code.

- - aa473795 - HRESULT MFInitMediaTypeFromMFVideoFormat([In] IMFMediaType* pMFType,[In, Buffer] const MFVIDEOFORMAT* pMFVF,[In] unsigned int cbBufSize) - MFInitMediaTypeFromMFVideoFormat -
- - -

Initializes a media type from a structure.

-
-

Pointer to the interface of the media type to initialize. To create the uninitialized media type object, call .

-

Pointer to a structure that describes the media type. The caller must fill in the structure members before calling this function.

-

Size of the structure, in bytes.

-

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The function succeeded.

?

- - ms700801 - HRESULT MFInitMediaTypeFromWaveFormatEx([In] IMFMediaType* pMFType,[In, Buffer] const WAVEFORMATEX* pWaveFormat,[In] unsigned int cbBufSize) - MFInitMediaTypeFromWaveFormatEx -
- - -

Compares a full media type to a partial media type.

-
-

Pointer to the interface of the full media type.

-

Pointer to the interface of the partial media type.

-

If the full media type is compatible with the partial media type, the function returns TRUE. Otherwise, the function returns .

- -

A pipeline component can return a partial media type to describe a range of possible formats the component might accept. A partial media type has at least a major type , but might be missing some of the other attributes that are needed to fully describe the type. The missing attributes represent "don't care" values for the partial type. For example, a partial video type might be missing the attributes for the width and height of the video.

This function returns TRUE if the following conditions are both true:

  • The partial media type contains a major type .
  • All of the attributes in the partial type exist in the full type and are set to the same value.

Otherwise, the function returns .

-
- - ms697237 - BOOL MFCompareFullToPartialMediaType([In] IMFMediaType* pMFTypeFull,[In] IMFMediaType* pMFTypePartial) - MFCompareFullToPartialMediaType -
- - -

Creates a media type that wraps another media type.

-
-

A reference to the interface of the media type to wrap in a new media type.

-

A that specifies the major type for the new media type. For a list of possible values, see Major Media Types.

-

A that specifies the subtype for the new media type. For possible values, see:

  • Audio Subtypes
  • Video Subtypes

Applications can define custom subtype GUIDs.

-

Receives a reference to the interface of the new media type that wraps the original media type. The caller must release the interface.

-

If this function succeeds, it returns . Otherwise, it returns an error code.

- -

The original media type (pOrig) is stored in the new media type under the attribute. To extract the original media type, call .

This function is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms701782 - HRESULT MFWrapMediaType([In] IMFMediaType* pOrig,[In] const GUID& MajorType,[In] const GUID& SubType,[Out] IMFMediaType** ppWrap) - MFWrapMediaType -
- - -

Retrieves a media type that was wrapped in another media type by the function.

-
- No documentation. - No documentation. -

If this function succeeds, it returns . Otherwise, it returns an error code.

- -

This function is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms696190 - HRESULT MFUnwrapMediaType([In] IMFMediaType* pWrap,[Out] IMFMediaType** ppOrig) - MFUnwrapMediaType -
- - -

[This API is not supported and may be altered or unavailable in the future. Applications should avoid using the structure, and use media type attributes instead. For more information, see Video Media Types.]

Creates a video media type from an structure.

-
- No documentation. - No documentation. -

If this function succeeds, it returns . Otherwise, it returns an error code.

- -

Instead of using the structure to initialize a video media type, you can call and set the media type attributes directly.

Note??Prior to Windows?7, this function was exported from evr.dll. Starting in Windows?7, this function is exported from mfplat.dll, and evr.dll exports a stub function that calls into mfplat.dll. For more information, see Library Changes in Windows?7.? -
- - aa473781 - HRESULT MFCreateVideoMediaType([In] const MFVIDEOFORMAT* pVideoFormat,[Out] IMFVideoMediaType** ppIVideoMediaType) - MFCreateVideoMediaType -
- - -

Creates a partial video media type with a specified subtype.

-
-

Pointer to a that specifies the subtype. See Video Subtype GUIDs.

-

Receives a reference to the interface. The caller must release the interface.

-

If this function succeeds, it returns . Otherwise, it returns an error code.

- -

This function creates a media type and sets the major type equal to and the subtype equal to the value specified in pAMSubtype.

You can get the same result with the following steps:

  1. Call . This function returns a reference to the interface.
  2. Set the attribute to .
  3. Set the attribute to the subtype.
Note??Prior to Windows?7, this function was exported from evr.dll. Starting in Windows?7, this function is exported from mfplat.dll, and evr.dll exports a stub function that calls into mfplat.dll. For more information, see Library Changes in Windows?7.? -
- - aa473791 - HRESULT MFCreateVideoMediaTypeFromSubtype([In] const GUID* pAMSubtype,[Out] IMFVideoMediaType** ppIVideoMediaType) - MFCreateVideoMediaTypeFromSubtype -
- - -

Queries whether a FOURCC code or D3DFORMAT value is a YUV format.

-
-

FOURCC code or D3DFORMAT value.

-

The function returns one of the following values.

Return codeDescription
TRUE

The value specifies a YUV format.

The value does not specify a recognized YUV format.

?

- -

This function checks whether Format specifies a YUV format. Not every YUV format is recognized by this function. However, if a YUV format is not recognized by this function, it is probably not supported for video rendering or DirectX video acceleration (DXVA).

-
- - ms704010 - BOOL MFIsFormatYUV([In] unsigned int Format) - MFIsFormatYUV -
- - -

This function is not implemented.

-
-

Reserved.

-

Reserved.

-

Reserved.

-

Reserved.

-

Reserved.

-

Reserved.

-

Reserved.

-

Reserved.

-

Reserved.

-

Returns E_FAIL.

- - Note??Prior to Windows?7, this function was exported from evr.dll. Starting in Windows?7, this function is exported from mfplat.dll, and evr.dll exports a stub function that calls into mfplat.dll. For more information, see Library Changes in Windows?7.? - - - aa473801 - HRESULT MFCreateVideoMediaTypeFromBitMapInfoHeader([In] const BITMAPINFOHEADER* pbmihBitMapInfoHeader,[In] unsigned int dwPixelAspectRatioX,[In] unsigned int dwPixelAspectRatioY,[In] MFVideoInterlaceMode InterlaceMode,[In] unsigned longlong VideoFlags,[In] unsigned longlong qwFramesPerSecondNumerator,[In] unsigned longlong qwFramesPerSecondDenominator,[In] unsigned int dwMaxBitRate,[Out] IMFVideoMediaType** ppIVideoMediaType) - MFCreateVideoMediaTypeFromBitMapInfoHeader -
- - -

Calculates the minimum surface stride for a video format.

-
-

FOURCC code or D3DFORMAT value that specifies the video format. If you have a video subtype , you can use the first DWORD of the subtype.

-

Width of the image, in pixels.

-

Receives the minimum surface stride, in pixels.

-

If this function succeeds, it returns . Otherwise, it returns an error code.

- -

This function calculates the minimum stride needed to hold the image in memory. Use this function if you are allocating buffers in system memory. Surfaces allocated in video memory might require a larger stride, depending on the graphics card.

If you are working with a DirectX surface buffer, use the method to find the surface stride.

For planar YUV formats, this function returns the stride for the Y plane. Depending on the format, the chroma planes might have a different stride.

Note??Prior to Windows?7, this function was exported from evr.dll. Starting in Windows?7, this function is exported from mfplat.dll, and evr.dll exports a stub function that calls into mfplat.dll. For more information, see Library Changes in Windows?7.? -
- - aa473720 - HRESULT MFGetStrideForBitmapInfoHeader([In] unsigned int format,[In] unsigned int dwWidth,[Out] int* pStride) - MFGetStrideForBitmapInfoHeader -
- - -

Retrieves the image size, in bytes, for an uncompressed video format.

-
-

FOURCC code or D3DFORMAT value that specifies the video format.

-

Width of the image, in pixels.

-

Height of the image, in pixels.

-

Receives the size of one frame, in bytes. If the format is compressed or is not recognized, this value is zero.

-

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The function succeeded.

?

- -

This function is equivalent to the function.

Note??Prior to Windows?7, this function was exported from evr.dll. Starting in Windows?7, this function is exported from mfplat.dll, and evr.dll exports a stub function that calls into mfplat.dll.? -
- - aa473798 - HRESULT MFGetPlaneSize([In] unsigned int format,[In] unsigned int dwWidth,[In] unsigned int dwHeight,[Out] unsigned int* pdwPlaneSize) - MFGetPlaneSize -
- - -

Creates a video media type from a structure.

-
- No documentation. - No documentation. - No documentation. - No documentation. - No documentation. - No documentation. - No documentation. - No documentation. - No documentation. - No documentation. -

If the function succeeds, it returns . Otherwise, it returns an error code.

- - dd388121 - HRESULT MFCreateVideoMediaTypeFromBitMapInfoHeaderEx([In, Buffer] const BITMAPINFOHEADER* pbmihBitMapInfoHeader,[In] unsigned int cbBitMapInfoHeader,[In] unsigned int dwPixelAspectRatioX,[In] unsigned int dwPixelAspectRatioY,[In] MFVideoInterlaceMode InterlaceMode,[In] unsigned longlong VideoFlags,[In] unsigned int dwFramesPerSecondNumerator,[In] unsigned int dwFramesPerSecondDenominator,[In] unsigned int dwMaxBitRate,[Out] IMFVideoMediaType** ppIVideoMediaType) - MFCreateVideoMediaTypeFromBitMapInfoHeaderEx -
- - -

Creates a Media Foundation media type from another format representation.

-
-

that specifies which format representation to convert. The following value is defined.

Description
AM_MEDIA_TYPE_REPRESENTATIONConvert a DirectShow structure.

?

-

Pointer to a buffer that contains the format representation to convert. The layout of the buffer depends on the value of guidRepresentation.

-

Receives a reference to the interface. The caller must release the interface.

-

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The function succeeded.

The specified in guidRepresentation is not supported.

?

- -

If the original format is a DirectShow audio media type, and the format type is not recognized, the function sets the following attributes on the converted media type.

AttributeDescription
Contains the format type .
Contains the format block.

?

-
- - aa369931 - HRESULT MFCreateMediaTypeFromRepresentation([In] GUID guidRepresentation,[In] void* pvRepresentation,[Out] IMFMediaType** ppIMediaType) - MFCreateMediaTypeFromRepresentation -
- - -

[This API is not supported and may be altered or unavailable in the future.]

Creates an audio media type from a structure.

-
-

Pointer to a structure that describes the audio format.

-

Receives a reference to the interface. The caller must release the interface.

-

If this function succeeds, it returns . Otherwise, it returns an error code.

- -

The interface is deprecrated, so applications should avoid using this function. To create a media type from a structure, do the following:

  1. Call . This function returns a reference to the interface. The returned media type object is initially empty.
  2. Call to populate the media type from the structure.

Alternatively, you can call and then set the media type attributes directly.

This function is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - aa473812 - HRESULT MFCreateAudioMediaType([In] const WAVEFORMATEX* pAudioFormat,[Out] IMFAudioMediaType** ppIAudioMediaType) - MFCreateAudioMediaType -
- - -

[This API is not supported and may be altered or unavailable in the future. Applications should avoid using the structure, and use media type attributes instead. For more information, see Video Media Types.]

Returns the FOURCC or D3DFORMAT value for an uncompressed video format.

-
- No documentation. -

Returns a FOURCC or D3DFORMAT value that identifies the video format. If the video format is compressed or not recognized, the return value is D3DFMT_UNKNOWN.

- - Note??Prior to Windows?7, this function was exported from evr.dll. Starting in Windows?7, this function is exported from mfplat.dll, and evr.dll exports a stub function that calls into mfplat.dll. For more information, see Library Changes in Windows?7.? - - - aa473806 - unsigned int MFGetUncompressedVideoFormat([In] const MFVIDEOFORMAT* pVideoFormat) - MFGetUncompressedVideoFormat -
- - -

[This API is not supported and may be altered or unavailable in the future. Applications should avoid using the structure, and use media type attributes instead. For more information, see Video Media Types.]

Initializes an structure for a standard video format such as DVD, analog television, or ATSC digital television.

-
- No documentation. - No documentation. -

If this function succeeds, it returns . Otherwise, it returns an error code.

- - Note??Prior to Windows?7, this function was exported from evr.dll. Starting in Windows?7, this function is exported from mfplat.dll, and evr.dll exports a stub function that calls into mfplat.dll. For more information, see Library Changes in Windows?7.? - - - aa473783 - HRESULT MFInitVideoFormat([In] MFVIDEOFORMAT* pVideoFormat,[In] MFStandardVideoFormat type) - MFInitVideoFormat -
- - -

[This API is not supported and may be altered or unavailable in the future. Applications should avoid using the structure, and use media type attributes instead. For more information, see Video Media Types.]

Initializes an structure for an uncompressed RGB video format.

-
- No documentation. - No documentation. - No documentation. - No documentation. -

If this function succeeds, it returns . Otherwise, it returns an error code.

- -

This function fills in some reasonable default values for the specified RGB format.

Developers are encouraged to use media type attributes instead of using the structure. See Media Type Attributes.

In general, you should avoid calling this function. If you know all of the format details, you can fill in the structure without this function. If you do not know all of the format details, attributes are preferable to using the structure.

Note??Prior to Windows?7, this function was exported from evr.dll. Starting in Windows?7, this function is exported from mfplat.dll, and evr.dll exports a stub function that calls into mfplat.dll. For more information, see Library Changes in Windows?7.? -
- - aa473797 - HRESULT MFInitVideoFormat_RGB([In] MFVIDEOFORMAT* pVideoFormat,[In] unsigned int dwWidth,[In] unsigned int dwHeight,[In] unsigned int D3Dfmt) - MFInitVideoFormat_RGB -
- - -

[This API is not supported and may be altered or unavailable in the future. Applications should avoid using the structure, and use media type attributes instead. For more information, see Extended Color Information.]

Converts the extended color information from an to the equivalent DirectX Video Acceleration (DXVA) color information.

-
- No documentation. - No documentation. -

If this function succeeds, it returns . Otherwise, it returns an error code.

- - Note??Prior to Windows?7, this function was exported from evr.dll. Starting in Windows?7, this function is exported from mfplat.dll, and evr.dll exports a stub function that calls into mfplat.dll. For more information, see Library Changes in Windows?7.? - - - bb970405 - HRESULT MFConvertColorInfoToDXVA([Out] unsigned int* pdwToDXVA,[In] const MFVIDEOFORMAT* pFromFormat) - MFConvertColorInfoToDXVA -
- - -

[This API is not supported and may be altered or unavailable in the future. Applications should avoid using the structure, and use media type attributes instead. For more information, see Extended Color Information.]

Sets the extended color information in a structure.

-
- No documentation. - No documentation. -

If this function succeeds, it returns . Otherwise, it returns an error code.

- -

This function sets the following fields in the structure.

  • videoInfo.
  • videoInfo.
  • videoInfo.
  • videoInfo.
  • videoInfo.
  • videoInfo.SourceChromaSubsampling
Note??Prior to Windows?7, this function was exported from evr.dll. Starting in Windows?7, this function is exported from mfplat.dll, and evr.dll exports a stub function that calls into mfplat.dll. For more information, see Library Changes in Windows?7.? -
- - bb970494 - HRESULT MFConvertColorInfoFromDXVA([InOut] MFVIDEOFORMAT* pToFormat,[In] unsigned int dwFromDXVA) - MFConvertColorInfoFromDXVA -
- - -

Copies an image or image plane from one buffer to another.

-
-

Pointer to the start of the first row of pixels in the destination buffer.

-

Stride of the destination buffer, in bytes.

-

Pointer to the start of the first row of pixels in the source image.

-

Stride of the source image, in bytes.

-

Width of the image, in bytes.

-

Number of rows of pixels to copy.

-

If this function succeeds, it returns . Otherwise, it returns an error code.

- -

This function copies a single plane of the image. For planar YUV formats, you must call the function once for each plane. In this case, pDest and pSrc must point to the start of each plane.

This function is optimized if the MMX, SSE, or SSE2 instruction sets are available on the processor. The function performs a non-temporal store (the data is written to memory directly without polluting the cache).

Note??Prior to Windows?7, this function was exported from evr.dll. Starting in Windows?7, this function is exported from mfplat.dll, and evr.dll exports a stub function that calls into mfplat.dll. For more information, see Library Changes in Windows?7.? -
- - bb970554 - HRESULT MFCopyImage([Out, Buffer] unsigned char* pDest,[In] int lDestStride,[In, Buffer] const unsigned char* pSrc,[In] int lSrcStride,[In] unsigned int dwWidthInBytes,[In] unsigned int dwLines) - MFCopyImage -
- - -

Converts an array of 16-bit floating-point numbers into an array of 32-bit floating-point numbers.

-
-

Pointer to an array of float values. The array must contain at least dwCount elements.

-

Pointer to an array of 16-bit floating-point values, typed as WORD values. The array must contain at least dwCount elements.

-

Number of elements in the pSrc array to convert.

-

If this function succeeds, it returns . Otherwise, it returns an error code.

- -

The function converts dwCount values in the pSrc array and writes them into the pDest array.

Note??Prior to Windows?7, this function was exported from evr.dll. Starting in Windows?7, this function is exported from mfplat.dll, and evr.dll exports a stub function that calls into mfplat.dll. For more information, see Library Changes in Windows?7.? -
- - bb970412 - HRESULT MFConvertFromFP16Array([Out, Buffer] float* pDest,[In, Buffer] const unsigned short* pSrc,[In] unsigned int dwCount) - MFConvertFromFP16Array -
- - -

Converts an array of 32-bit floating-point numbers into an array of 16-bit floating-point numbers.

-
-

Pointer to an array of 16-bit floating-point values, typed as WORD values. The array must contain at least dwCount elements.

-

Pointer to an array of float values. The array must contain at least dwCount elements.

-

Number of elements in the pSrc array to convert.

-

If this function succeeds, it returns . Otherwise, it returns an error code.

- -

The function converts the values in the pSrc array and writes them into the pDest array.

Note??Prior to Windows?7, this function was exported from evr.dll. Starting in Windows?7, this function is exported from mfplat.dll, and evr.dll exports a stub function that calls into mfplat.dll. For more information, see Library Changes in Windows?7.? -
- - aa473816 - HRESULT MFConvertToFP16Array([Out, Buffer] unsigned short* pDest,[In, Buffer] const float* pSrc,[In] unsigned int dwCount) - MFConvertToFP16Array -
- - -

Creates a system-memory buffer object to hold 2D image data.

-
-

Width of the image, in pixels.

-

Height of the image, in pixels.

-

A FOURCC code or D3DFORMAT value that specifies the video format. If you have a video subtype , you can use the first DWORD of the subtype.

-

If TRUE, the buffer's method copies the buffer into a bottom-up format. The bottom-up format is compatible with GDI for uncompressed RGB images. If this parameter is , the ContiguousCopyTo method copies the buffer into a top-down format, which is compatible with DirectX.

For more information about top-down versus bottom-up images, see Image Stride.

-

Receives a reference to the interface.

-

This function can return one of these values.

Return codeDescription

Success.

Unrecognized video format.

?

- -

The returned buffer object also exposes the interface.

-
- - hh162746 - HRESULT MFCreate2DMediaBuffer([In] unsigned int dwWidth,[In] unsigned int dwHeight,[In] unsigned int dwFourCC,[In] BOOL fBottomUp,[Out] IMFMediaBuffer** ppBuffer) - MFCreate2DMediaBuffer -
- - -

Allocates a system-memory buffer that is optimal for a specified media type.

-
-

A reference to the interface of the media type.

-

The sample duration. This value is required for audio formats.

-

The minimum size of the buffer, in bytes. The actual buffer size might be larger. Specify zero to allocate the default buffer size for the media type.

-

The minimum memory alignment for the buffer. Specify zero to use the default memory alignment.

-

Receives a reference to the interface. The caller must release the interface.

-

If this function succeeds, it returns . Otherwise, it returns an error code.

- -

For video formats, if the format is recognized, the function creates a 2-D buffer that implements the interface. Otherwise it creates a linear buffer. To get the interface, call QueryInterface on the reference returned in ppBuffer. If the QueryInterface method fails, use the interface to access the buffer memory.

For audio formats, the function allocates a buffer that is large enough to contain llDuration audio samples, or dwMinLength, whichever is larger.

This function always allocates system memory. For Direct3D surfaces, use the or function.

-
- - hh162752 - HRESULT MFCreateMediaBufferFromMediaType([In] IMFMediaType* pMediaType,[In] longlong llDuration,[In] unsigned int dwMinLength,[In] unsigned int dwMinAlignment,[Out] IMFMediaBuffer** ppBuffer) - MFCreateMediaBufferFromMediaType -
- - -

Creates an empty collection object.

-
-

Receives a reference to the collection object's interface. The caller must release the interface.

-

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - ms698852 - HRESULT MFCreateCollection([Out] IMFCollection** ppIMFCollection) - MFCreateCollection -
- - -

Allocates a block of memory.

-
-

Number of bytes to allocate.

-

Zero or more flags. For a list of valid flags, see HeapAlloc in the Windows SDK documentation.

-

Reserved. Set to null.

-

Reserved. Set to zero.

-

Reserved. Set to eAllocationTypeIgnore.

-

If the function succeeds, it returns a reference to the allocated memory block. If the function fails, it returns null.

- -

In the current version of Media Foundation, this function is equivalent to calling the HeapAlloc function and specifying the heap of the calling process.

To free the allocated memory, call .

-
- - aa473790 - void* MFHeapAlloc([In] unsigned int nSize,[In] unsigned int dwFlags,[In, Optional] char* pszFile,[In] int line,[In] EAllocationType eat) - MFHeapAlloc -
- - -

Frees a block of memory that was allocated by calling the function.

-
- No documentation. - - aa473826 - void MFHeapFree([In] void* pv) - MFHeapFree -
- - -

Calculates ((a * b) + d) / c, where each term is a 64-bit signed value.

-
-

A multiplier.

-

Another multiplier.

-

The divisor.

-

The rounding factor.

-

Returns the result of the calculation. If numeric overflow occurs, the function returns _I64_MAX (positive overflow) or LLONG_MIN (negative overflow). If Mfplat.dll cannot be loaded, the function returns _I64_MAX.

- - Note??A previous version of this topic described the parameters incorrectly. The divisor is c and the rounding factor is d.? - - - dd388510 - longlong MFllMulDiv([In] longlong a,[In] longlong b,[In] longlong c,[In] longlong d) - MFllMulDiv -
- - -

Gets the class identifier for a content protection system.

-
-

The that identifies the content protection system.

-

Receives the class identifier to the content protection system.

-

If this function succeeds, it returns . Otherwise, it returns an error code.

- -

The class identifier can be used to create the input trust authority (ITA) for the content protection system. Call CoCreateInstance or to get an reference.

-
- - hh162766 - HRESULT MFGetContentProtectionSystemCLSID([In] const GUID& guidProtectionSystemID,[Out] GUID* pclsid) - MFGetContentProtectionSystemCLSID -
- - -

Creates the Media Session in the application's process.

-
- No documentation. - No documentation. -

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The function succeeded.

?

- -

If your application does not play protected content, you can use this function to create the Media Session in the application's process. To use the Media Session for protected content, you must call .

You can use the pConfiguration parameter to specify any of the following attributes:

-
- - ms700174 - HRESULT MFCreateMediaSession([In] IMFAttributes* pConfiguration,[Out] IMFMediaSession** ppMediaSession) - MFCreateMediaSession -
- - -

Creates an instance of the Media Session inside a Protected Media Path (PMP) process.

-
- No documentation. - No documentation. - No documentation. - No documentation. -

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The function succeeded.

?

- -

You can use the pConfiguration parameter to set any of the following attributes:

If this function cannot create the PMP Media Session because a trusted binary was revoked, the ppEnablerActivate parameter receives an interface reference. The application can use this reference to create a content enabler object, which can then be used to download an updated binary:

  1. Call with the interface identifier IID_IMFContentEnabler to get an interface reference.
  2. Use that interface to download the updated binary.
  3. Call again.

If the function successfully creates the PMP Media Session, the ppEnablerActivate parameter receives the value null.

Do not make calls to the PMP Media Session from a thread that is processing a window message sent from another thread. To test whether the current thread falls into this category, call InSendMessage.

-
- - ms703144 - HRESULT MFCreatePMPMediaSession([In] unsigned int dwCreationFlags,[In] IMFAttributes* pConfiguration,[Out] IMFMediaSession** ppMediaSession,[Out, Optional] IMFActivate** ppEnablerActivate) - MFCreatePMPMediaSession -
- - -

Creates the source resolver, which is used to create a media source from a URL or byte stream.

-
-

Receives a reference to the source resolver's interface. The caller must release the interface.

-

If this function succeeds, it returns . Otherwise, it returns an error code.

- - Note??Prior to Windows?7, this function was exported from mf.dll. Starting in Windows?7, this function is exported from mfplat.dll, and mf.dll exports a stub function that calls into mfplat.dll. For more information, see Library Changes in Windows?7.? - - - ms697433 - HRESULT MFCreateSourceResolver([Out, Fast] IMFSourceResolver** ppISourceResolver) - MFCreateSourceResolver -
- - -

[This API is not supported and may be altered or unavailable in the future. Instead, applications should use the PSCreateMemoryPropertyStore function to create property stores.]

Creates an empty property store object.

-
-

Receives a reference to the interface. The caller must release the interface.

-

If this function succeeds, it returns . Otherwise, it returns an error code.

- -

This function is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms702984 - HRESULT CreatePropertyStore([Out] IPropertyStore** ppStore) - CreatePropertyStore -
- - -

Retrieves the URL schemes that are registered for the source resolver.

-
-

Pointer to a that receives the URL schemes. Before calling this method, call PropVariantInit to initialize the . If the method succeeds, the contains an array of wide-character strings. The data type is VT_VECTOR | VT_LPWSTR. The caller must release the by calling PropVariantClear.

-

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The function succeeded.

?

- - ms702236 - HRESULT MFGetSupportedSchemes([Out] PROPVARIANT* pPropVarSchemeArray) - MFGetSupportedSchemes -
- - -

Retrieves the MIME types that are registered for the source resolver.

-
-

Pointer to a that receives the MIME types. Before calling this method, call PropVariantInit to initialize the . If the method succeeds, the contains an array of wide-character strings. The data type is VT_VECTOR | VT_LPWSTR. The caller must release the by calling PropVariantClear.

-

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The function succeeded.

?

- - ms699844 - HRESULT MFGetSupportedMimeTypes([Out] PROPVARIANT* pPropVarMimeTypeArray) - MFGetSupportedMimeTypes -
- - -

Creates a topology object.

-
-

Receives a reference to the interface of the topology object. The caller must release the interface.

-

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The function succeeded.

?

- - ms701584 - HRESULT MFCreateTopology([Out] IMFTopology** ppTopo) - MFCreateTopology -
- - -

Creates a topology node.

-
-

The type of node to create, specified as a member of the enumeration.

-

Receives a reference to the node's interface. The caller must release the interface.

-

If this function succeeds, it returns . Otherwise, it returns an error code.

- - ms697574 - HRESULT MFCreateTopologyNode([In] MF_TOPOLOGY_TYPE NodeType,[Out] IMFTopologyNode** ppNode) - MFCreateTopologyNode -
- - -

Gets the media type for a stream associated with a topology node.

-
-

A reference to the interface.

-

The identifier of the stream to query. This parameter is interpreted as follows:

  • Transform nodes: The value is the zero-based index of the input or output stream.
  • All other node types: The value must be zero.
-

If TRUE, the function gets an output type. If , the function gets an input type. This parameter is interpreted as follows:

  • Output nodes: The value must be TRUE.
  • Source nodes: The value must be .
  • Tee nodes: The value is ignored.
  • Transform nodes: If the value is TRUE, the dwStreamIndex parameter is the index for an output stream. Otherwise, dwStreamIndex is the index for an input stream.
-

Receives a reference to the interface. The caller must release the interface.

-

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The stream index is invalid.

?

- -

This function gets the actual media type from the object that is associated with the topology node. The pNode parameter should specify a node that belongs to a fully resolved topology. If the node belongs to a partial topology, the function will probably fail.

Tee nodes do not have an associated object to query. For tee nodes, the function gets the node's input type, if available. Otherwise, if no input type is available, the function gets the media type of the node's primary output stream. The primary output stream is identified by the attribute.

-
- - dd388509 - HRESULT MFGetTopoNodeCurrentType([In] IMFTopologyNode* pNode,[In] unsigned int dwStreamIndex,[In] BOOL fOutput,[Out] IMFMediaType** ppType) - MFGetTopoNodeCurrentType -
- - -

Queries an object for a specified service interface.

This function is a helper function that wraps the method. The function queries the object for the interface and, if successful, calls GetService on the object.

-
- No documentation. - No documentation. - No documentation. - No documentation. -

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The service requested cannot be found in the object represented by punkObject.

?

- - ms694284 - HRESULT MFGetService([In] IUnknown* punkObject,[In] const GUID& guidService,[In] const GUID& riid,[Out] void** ppvObject) - MFGetService -
- - -

Returns the system time.

-
-

Returns the system time, in 100-nanosecond units.

- - ms704625 - longlong MFGetSystemTime() - MFGetSystemTime -
- - -

Creates the presentation clock. The presentation clock is used to schedule the time at which samples are rendered and to synchronize multiple streams. -

-
-

Receives a reference to the clock's interface. The caller must release the interface.

-

If this function succeeds, it returns . Otherwise, it returns an error code.

- -

The caller must shut down the presentation clock by calling on the clock.

Typically applications do not create the presentation clock. The Media Session automatically creates the presentation clock. To get a reference to the presentation clock from the Media Session, call .

-
- - ms702174 - HRESULT MFCreatePresentationClock([Out] IMFPresentationClock** ppPresentationClock) - MFCreatePresentationClock -
- - -

Creates a presentation time source that is based on the system time.

-
-

Receives a reference to the object's interface. The caller must release the interface.

-

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The function succeeded.

?

- - ms705610 - HRESULT MFCreateSystemTimeSource([Out] IMFPresentationTimeSource** ppSystemTimeSource) - MFCreateSystemTimeSource -
- - -

Creates a presentation descriptor.

-
-

Number of elements in the apStreamDescriptors array.

-

Array of interface references. Each reference represents a stream descriptor for one stream in the presentation.

-

Receives a reference to an interface of the presentation descriptor. The caller must release the interface.

-

If this function succeeds, it returns . Otherwise, it returns an error code.

- -

If you are writing a custom media source, you can use this function to create the source presentation descriptor. The presentation descriptor is created with no streams selected. Generally, a media source should select at least one stream by default. To select a stream, call .

This function is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms695404 - HRESULT MFCreatePresentationDescriptor([In] unsigned int cStreamDescriptors,[In, Buffer, Optional] IMFStreamDescriptor** apStreamDescriptors,[Out] IMFPresentationDescriptor** ppPresentationDescriptor) - MFCreatePresentationDescriptor -
- - -

Queries whether a media presentation requires the Protected Media Path (PMP).

-
-

Pointer to the interface of a presentation descriptor. The presentation descriptor is created by the media source, and describes the presentation.

-

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

This presentation requires a protected environment.

S_FALSE

This presentation does not require a protected environment.

?

- -

If this function returns , it means the PMP is required for this presentation. Call to create the PMP session object.

If the function returns S_FALSE, you can use the unprotected pipeline. Call to create the regular Media Session object.

Internally, this function checks whether any of the stream descriptors in the presentation have the attribute with the value TRUE.

-
- - ms697052 - HRESULT MFRequireProtectedEnvironment([In] IMFPresentationDescriptor* pPresentationDescriptor) - MFRequireProtectedEnvironment -
- - -

Serializes a presentation descriptor to a byte array.

-
-

Pointer to the interface of the presentation descriptor to serialize.

-

Receives the size of the ppbData array, in bytes.

-

Receives a reference to an array of bytes containing the serialized presentation descriptor. The caller must free the memory for the array by calling CoTaskMemFree.

-

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The function succeeded.

?

- -

To deserialize the presentation descriptor, pass the byte array to the function.

-
- - ms705608 - HRESULT MFSerializePresentationDescriptor([In] IMFPresentationDescriptor* pPD,[Out] unsigned int* pcbData,[Out, Buffer] unsigned char** ppbData) - MFSerializePresentationDescriptor -
- - -

Deserializes a presentation descriptor from a byte array.

-
-

Size of the pbData array, in bytes.

-

Pointer to an array of bytes that contains the serialized presentation descriptor.

-

Receives a reference to the interface of the presentation descriptor. The caller must release the interface.

-

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The function succeeded.

?

- - ms697044 - HRESULT MFDeserializePresentationDescriptor([In] unsigned int cbData,[In, Buffer] unsigned char* pbData,[Out] IMFPresentationDescriptor** ppPD) - MFDeserializePresentationDescriptor -
- - -

Creates a stream descriptor.

-
-

Stream identifier.

-

Number of elements in the apMediaTypes array.

-

Pointer to an array of interface references. These references are used to initialize the media type handler for the stream descriptor.

-

Receives a reference to the interface of the new stream descriptor. The caller must release the interface.

-

If this function succeeds, it returns . Otherwise, it returns an error code.

- -

If you are writing a custom media source, you can use this function to create stream descriptors for the source. This function automatically creates the stream descriptor media type handler and initializes it with the list of types given in apMediaTypes. The function does not set the current media type on the handler, however. To set the type, call .

This function is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms698990 - HRESULT MFCreateStreamDescriptor([In] unsigned int dwStreamIdentifier,[In] unsigned int cMediaTypes,[In, Buffer] IMFMediaType** apMediaTypes,[Out] IMFStreamDescriptor** ppDescriptor) - MFCreateStreamDescriptor -
- - -

Creates a media-type handler that supports a single media type at a time.

-
-

Receives a reference to the interface of the media-type handler. The caller must release the interface.

-

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

The media-type handler created by this function supports one media type at a time. Set the media type by calling . After the type is set, always checks against that type.

-
- - ms696988 - HRESULT MFCreateSimpleTypeHandler([Out] IMFMediaTypeHandler** ppHandler) - MFCreateSimpleTypeHandler -
- - -

Shuts down a Media Foundation object and releases all resources associated with the object.

This function is a helper function that wraps the method. The function queries the object for the interface and, if successful, calls Shutdown on the object.

-
- No documentation. -

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The function succeeded.

?

- -

This function is not related to the function, which shuts down the Media Foundation platform, as described in Initializing Media Foundation.

-
- - ms701968 - HRESULT MFShutdownObject([In] IUnknown* pUnk) - MFShutdownObject -
- - -

Creates the Streaming Audio Renderer.

-
- No documentation. - No documentation. -

If this function succeeds, it returns . Otherwise, it returns an error code.

- -

To configure the audio renderer, set any of the following attributes on the interface specified in the pAudioAttributes parameter.

AttributeDescription
The audio endpoint device identifier.
The audio endpoint role.
Miscellaneous configuration flags.
The audio policy class.
The audio stream category.
Enables low-latency audio streaming.

?

-
- - ms701557 - HRESULT MFCreateAudioRenderer([In] IMFAttributes* pAudioAttributes,[Out] IMFMediaSink** ppSink) - MFCreateAudioRenderer -
- - -

Creates an activation object for the Streaming Audio Renderer.

-
- No documentation. -

If this function succeeds, it returns . Otherwise, it returns an error code.

- -

To create the audio renderer, call on the retrieved reference.

Note??To avoid a memory leak, call before releasing the final reference to the audio renderer or the audio renderer activate object.?

To configure the audio renderer, set any of the following attributes on the object before calling ActivateObject. (If you are using the Media Session, the Media Session automatically calls ActivateObject when you queue the topology.)

AttributeDescription
The audio endpoint device identifier.
The audio endpoint role.
Miscellaneous configuration flags.
The audio policy class.
The audio stream category.
Enables low-latency audio streaming.

?

-
- - ms702998 - HRESULT MFCreateAudioRendererActivate([Out] IMFActivate** ppActivate) - MFCreateAudioRendererActivate -
- - -

Creates an activation object for the enhanced video renderer (EVR) media sink.

-
-

Handle to the window where the video will be displayed.

-

Receives a reference to the interface. Use this interface to create the EVR. The caller must release the interface.

-

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

To create the EVR, call on the retrieved reference. (If you are using the Media Session, the Media Session automatically calls ActivateObject when you queue the topology.)

To configure the EVR, set any of the following attributes on the object before calling ActivateObject.

AttributeDescription
Activation object for a custom mixer.
CLSID for a custom mixer.
Flags for creating a custom mixer.
Activation object for a custom presenter.
CLSID for a custom presenter.
Flags for creating a custom presenter.

?

When is called, the activation objects sets the video window on the EVR by calling . Passing null for the hwndVideo parameter is not an error, but no video will render unless the EVR has a valid video window.

-
- - ms693543 - HRESULT MFCreateVideoRendererActivate([In] HWND hwndVideo,[Out] IMFActivate** ppActivate) - MFCreateVideoRendererActivate -
- - -

Creates a media sink for authoring MP4 files.

-
-

A reference to the interface of a byte stream. The media sink writes the MP4 file to this byte stream. The byte stream must be writable and support seeking.

-

A reference to the interface of a video media type. This type specifies the format of the video stream.

This parameter can be null, but not if pAudioMediaType is null.

-

A reference to the interface of an audio media type. This type specifies the format of the audio stream.

This parameter can be null, but not if pVideoMediaType is null.

-

Receives a reference to the MP4 media sink's interface. The caller must release the interface.

-

If this function succeeds, it returns . Otherwise, it returns an error code.

- -

The MP4 media sink supports a maximum of one video stream and one audio stream. The initial stream formats are given in the pVideoMediaType and pAudioMediaType parameters. To create an MP4 file with one stream, set the other stream type to null. For example, to create an audio-only file, set pVideoMediaType to null.

The number of streams is fixed when you create the media sink. The sink does not support the method.

To author 3GP files, use the function.

-
- - dd388100 - HRESULT MFCreateMPEG4MediaSink([In] IMFByteStream* pIByteStream,[In, Optional] IMFMediaType* pVideoMediaType,[In, Optional] IMFMediaType* pAudioMediaType,[Out] IMFMediaSink** ppIMediaSink) - MFCreateMPEG4MediaSink -
- - -

Creates a media sink for authoring 3GP files.

-
-

A reference to the interface of a byte stream. The media sink writes the 3GP file to this byte stream. The byte stream must be writable and support seeking.

-

A reference to the interface of a video media type. This type specifies the format of the video stream.

This parameter can be null, but not if pAudioMediaType is null.

-

A reference to the interface of an audio media type. This type specifies the format of the audio stream.

This parameter can be null, but not if pVideoMediaType is null.

-

Receives a reference to the 3GP media sink's interface. The caller must release the interface.

-

If this function succeeds, it returns . Otherwise, it returns an error code.

- -

The 3GP media sink supports a maximum of one video stream and one audio stream. The initial stream formats are given in the pVideoMediaType and pAudioMediaType parameters. To create an MP4 file with one stream, set the other stream type to null. For example, to create an audio-only file, set pVideoMediaType to null.

The number of streams is fixed when you create the media sink. The sink does not support the method.

To author MP4 files, use the function.

-
- - dd388084 - HRESULT MFCreate3GPMediaSink([In] IMFByteStream* pIByteStream,[In, Optional] IMFMediaType* pVideoMediaType,[In, Optional] IMFMediaType* pAudioMediaType,[Out] IMFMediaSink** ppIMediaSink) - MFCreate3GPMediaSink -
- - -

Creates the MP3 media sink.

-
-

A reference to the interface of a byte stream. The media sink writes the MP3 file to this byte stream. The byte stream must be writable.

-

Receives a reference to the interface of the MP3 media sink.. The caller must release the interface.

-

If this function succeeds, it returns . Otherwise, it returns an error code.

- -

The MP3 media sink takes compressed MP3 - audio samples as input, and writes an MP3 file with ID3 headers as output. The MP3 media sink does not perform MP3 audio encoding.

-
- - dd388098 - HRESULT MFCreateMP3MediaSink([In] IMFByteStream* pTargetByteStream,[Out] IMFMediaSink** ppMediaSink) - MFCreateMP3MediaSink -
- - -

Creates an instance of the AC-3 media sink.

-
-

A reference to the interface of a byte stream. The media sink writes the AC-3 file to this byte stream. The byte stream must be writable.

-

A reference to the interface. This parameter specifies the media type for the AC-3 audio stream. The media type must contain the following attributes.

AttributeValue
or

?

-

Receives a reference to the interface. The caller must release the interface.

-

If this function succeeds, it returns . Otherwise, it returns an error code.

- -

The AC-3 media sink takes compressed AC-3 audio as input and writes the audio to the byte stream without modification. The primary use for this media sink is to stream AC-3 audio over a network. The media sink does not perform AC-3 audio encoding.

-
- - hh162747 - HRESULT MFCreateAC3MediaSink([In] IMFByteStream* pTargetByteStream,[In] IMFMediaType* pAudioMediaType,[Out] IMFMediaSink** ppMediaSink) - MFCreateAC3MediaSink -
- - -

Creates an instance of the audio data transport stream (ADTS) media sink.

-
-

A reference to the interface of a byte stream. The media sink writes the ADTS stream to this byte stream. The byte stream must be writable.

-

A reference to the interface. This parameter specifies the media type for the ADTS stream. The media type must contain the following attributes.

AttributeValue
0 (raw AAC) or 1 (ADTS)

?

-

Receives a reference to the interface. The caller must release the interface.

-

If this function succeeds, it returns . Otherwise, it returns an error code.

- -

The ADTS media sink converts Advanced Audio Coding (AAC) audio packets into an ADTS stream. The primary use for this media sink is to stream ADTS over a network. The output is not an audio file, but a stream of audio frames with ADTS headers.

The media sink can accept raw AAC frames ( = 0) or ADTS packets ( = 1). If the input is raw AAC, the media sink inserts an ADTS header at the start of each audio frame. If the input is ADTS packets, the media sink passes the packets through to the byte stream, without modification.

-
- - hh162748 - HRESULT MFCreateADTSMediaSink([In] IMFByteStream* pTargetByteStream,[In] IMFMediaType* pAudioMediaType,[Out] IMFMediaSink** ppMediaSink) - MFCreateADTSMediaSink -
- - -

Creates a generic media sink that wraps a multiplexer Microsoft Media Foundation transform (MFT).

-
-

The subtype of the output type for the MFT.

-

A list of format attributes for the MFT output type. This parameter is optional and can be null.

-

A reference to the interface of a byte stream. The output from the MFT is written to this byte stream. This parameter can be null.

-

Receives a reference to the interface of the media sink. The caller must release the interface.

-

If this function succeeds, it returns . Otherwise, it returns an error code.

- -

This function attempts to find a multiplexer MFT that supports an output type with the following definition:

  • Major type:
  • Subtype: guidOutputSubType
  • Additional format attributes (optional)

To provide a list of additional format attributes:

  1. Call to get an reference.
  2. Use the interface to set the attributes. (See Media Type Attributes.)
  3. Pass the reference in the pOutputAttributes parameter.

The multiplexer MFT must be registered in the category.

-
- - hh162756 - HRESULT MFCreateMuxSink([In] GUID guidOutputSubType,[In, Optional] IMFAttributes* pOutputAttributes,[In, Optional] IMFByteStream* pOutputByteStream,[Out] IMFMediaSink** ppMuxSink) - MFCreateMuxSink -
- - -

Creates a media sink for authoring fragmented MP4 files.

-
-

A reference to the interface of a byte stream. The media sink writes the MP4 file to this byte stream. The byte stream must be writable and support seeking.

-

A reference to the interface of a video media type. This type specifies the format of the video stream.

This parameter can be null, but not if pAudioMediaType is null.

-

A reference to the interface of an audio media type. This type specifies the format of the audio stream.

This parameter can be null, but not if pVideoMediaType is null.

-

Receives a reference to the MP4 media sink's interface. The caller must release the interface.

-

If this function succeeds, it returns . Otherwise, it returns an error code.

- - jj247578 - HRESULT MFCreateFMPEG4MediaSink([In] IMFByteStream* pIByteStream,[In, Optional] IMFMediaType* pVideoMediaType,[In, Optional] IMFMediaType* pAudioMediaType,[Out] IMFMediaSink** ppIMediaSink) - MFCreateFMPEG4MediaSink -
- - -

Creates an Audio-Video Interleaved (AVI) Sink.

-
-

Pointer to the byte stream that will be used to write the AVI file.

-

Pointer to the media type of the video input stream

-

Pointer to the media type of the audio input stream

-

Receives a reference to the Interface. The caller must release this interface.

-

If this function succeeds, it returns . Otherwise, it returns an error code.

- - dn302108 - HRESULT MFCreateAVIMediaSink([In] IMFByteStream* pIByteStream,[In] IMFMediaType* pVideoMediaType,[In, Optional] IMFMediaType* pAudioMediaType,[Out] IMFMediaSink** ppIMediaSink) - MFCreateAVIMediaSink -
- - -

Creates an WAVE archive sink. The WAVE archive sink takes - audio and writes it to an .wav file. -

-
-

Pointer to the byte stream that will be used to write the .wav file.

-

Pointer to the audio media type.

-

Receives a reference to the interface. The caller must release this interface.

- No documentation. - - dn302112 - HRESULT MFCreateWAVEMediaSink([In] IMFByteStream* pTargetByteStream,[In] IMFMediaType* pAudioMediaType,[Out] IMFMediaSink** ppMediaSink) - MFCreateWAVEMediaSink -
- - -

Creates a new instance of the topology loader.

-
-

Receives a reference to the interface of the topology loader. The caller must release the interface.

-

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The function succeeded.

?

- - ms694159 - HRESULT MFCreateTopoLoader([Out] IMFTopoLoader** ppObj) - MFCreateTopoLoader -
- - -

Creates an activation object for the sample grabber media sink.

-
-

Pointer to the interface, defining the media type for the sample grabber's input stream.

-

Pointer to the interface of a callback object. The caller must implement this interface.

-

Receives a reference to the interface. Use this interface to complete the creation of the sample grabber. The caller must release the interface.

-

If this function succeeds, it returns . Otherwise, it returns an error code.

- -

To create the sample grabber sink, call on the reference received in the ppIActivate parameter.

Before calling ActivateObject, you can configure the sample grabber by setting any of the following attributes on the ppIActivate reference:

-
- - ms702068 - HRESULT MFCreateSampleGrabberSinkActivate([In] IMFMediaType* pIMFMediaType,[In] IMFSampleGrabberSinkCallback* pIMFSampleGrabberSinkCallback,[Out] IMFActivate** ppIActivate) - MFCreateSampleGrabberSinkActivate -
- - -

Creates the default implementation of the quality manager.

-
-

Receives a reference to the quality manager's interface. The caller must release the interface.

-

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - ms701594 - HRESULT MFCreateStandardQualityManager([Out] IMFQualityManager** ppQualityManager) - MFCreateStandardQualityManager -
- - -

Creates the sequencer source.

-
-

Reserved. Must be null.

-

Receives a reference to the interface of the sequencer source. The caller must release the interface.

-

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The function succeeded.

?

- - ms704663 - HRESULT MFCreateSequencerSource([In] IUnknown* pReserved,[Out] IMFSequencerSource** ppSequencerSource) - MFCreateSequencerSource -
- - -

Creates a that can be used to seek within a sequencer source presentation.

-
-

Sequencer element identifier. This value specifies the segment in which to begin playback. The element identifier is returned in the method.

-

Starting position within the segment, in 100-nanosecond units.

-

Pointer to a . The method fills in the with the information needed for performing a seek operation. The caller must free the by calling PropVariantClear.

-

If this function succeeds, it returns . Otherwise, it returns an error code.

- -

The returned in pvarSegmentOffset can be used for the pvarStartPosition parameter in the method. Use the time format MF_TIME_FORMAT_SEGMENT_OFFSET.

-
- - ms697268 - HRESULT MFCreateSequencerSegmentOffset([In] unsigned int dwId,[In] longlong hnsOffset,[Out] PROPVARIANT* pvarSegmentOffset) - MFCreateSequencerSegmentOffset -
- - -

Creates a media source that aggregates a collection of media sources.

-
-

A reference to the interface of the collection object that contains a list of media sources.

-

Receives a reference to the interface of the aggregated media source. The caller must release the interface.

-

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_INVALIDARG

The pSourceCollection collection does not contain any elements.

?

- -

The aggregated media source is useful for combining streams from separate media sources. For example, you can use it to combine a video capture source and an audio capture source.

-
- - dd388085 - HRESULT MFCreateAggregateSource([In] IMFCollection* pSourceCollection,[Out] IMFMediaSource** ppAggSource) - MFCreateAggregateSource -
- - -

Creates a credential cache object. An application can use this object to implement a custom credential manager.

-
-

Receives a reference to the interface of the new credential cache object. The caller must release the interface.

-

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The function succeeded.

?

- - ms704802 - HRESULT MFCreateCredentialCache([Out] IMFNetCredentialCache** ppCache) - MFCreateCredentialCache -
- - -

Creates a default proxy locator.

-
-

The name of the protocol.

Note??In this release of Media Foundation, the default proxy locator does not support RTSP. ?
-

Pointer to the interface of a property store that contains the proxy configuration in the MFNETSOURCE_PROXYSETTINGS property.

-

Receives a reference to the interface. The caller must release the interface.

-

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The function succeeded.

?

- - ms701595 - HRESULT MFCreateProxyLocator([In] const wchar_t* pszProtocol,[In] IPropertyStore* pProxyConfig,[Out] IMFNetProxyLocator** ppProxyLocator) - MFCreateProxyLocator -
- - -

Creates the scheme handler for the network source.

-
-

Interface identifier (IID) of the interface to retrieve.

-

Receives a reference to the requested interface. The caller must release the interface. The scheme handler exposes the interface.

-

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The function succeeded.

?

- - aa378396 - HRESULT MFCreateNetSchemePlugin([In] const GUID& riid,[In] void** ppvHandler) - MFCreateNetSchemePlugin -
- - -

Creates the protected media path (PMP) server object.

-
-

A member of the enumeration that specifies how to create the PMP session.

-

Receives a reference to the interface. The caller must release the interface.

-

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The function succeeded.

?

- - ms696183 - HRESULT MFCreatePMPServer([In] unsigned int dwCreationFlags,[Out] IMFPMPServer** ppPMPServer) - MFCreatePMPServer -
- - -

Creates the remote desktop plug-in object. Use this object if the application is running in a Terminal Services client session.

-
-

Receives a reference to the interface of the plug-in object. The caller must release the interface.

-

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The function succeeded.

E_ACCESSDENIED

Remote desktop connections are not allowed by the current session policy.

?

- - ms703133 - HRESULT MFCreateRemoteDesktopPlugin([Out] IMFRemoteDesktopPlugin** ppPlugin) - MFCreateRemoteDesktopPlugin -
- - -

[This API is not supported and may be altered or unavailable in the future. Instead, applications should use the PSCreateMemoryPropertyStore function to create named property stores.]

Creates an empty property store to hold name/value pairs.

-
-

Receives a reference to the interface. The caller must release the interface.

-

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The function succeeded.

?

- - aa367379 - HRESULT CreateNamedPropertyStore([Out] INamedPropertyStore** ppStore) - CreateNamedPropertyStore -
- - -

Creates an instance of the sample copier transform.

-
-

Receives a reference to the interface. The caller must release the interface.

-

If this function succeeds, it returns . Otherwise, it returns an error code.

- -

The sample copier is a Media Foundation transform (MFT) that copies data from input samples to output samples without modifying the data. The following data is copied from the sample:

  • All Sample Attributes.
  • The time stamp and duration.
  • Sample flags (see ).
  • The data in the media buffers. If the input sample contains multiple buffers, the data is copied into a single buffer on the output sample.

This MFT is useful in the following situation:

  • One pipeline object, such as a media source, allocates media samples for output.
  • Another pipeline object, such as a media sink, allocates its own media samples for input. For example, the object might require buffers allocated from a special memory pool, such as video memory.

The following diagram shows this situation with a media source and a media sink.

In order for the media sink to receive data from the media source, the data must be copied into the media samples owned by the media sink. The sample copier can be used for this purpose.

A specific example of such a media sink is the Enhanced Video Renderer (EVR). The EVR allocates samples that contain Direct3D surface buffers, so it cannot receive video samples directly from a media source. Starting in Windows?7, the topology loader automatically handles this case by inserting the sample copier between the media source and the EVR.

-
- - dd388101 - HRESULT MFCreateSampleCopierMFT([Out] IMFTransform** ppCopierMFT) - MFCreateSampleCopierMFT -
- - -

Creates an empty transcode profile object.

The transcode profile stores configuration settings for the output file. These configuration settings are specified by the caller, and include audio and video stream properties, encoder settings, and container settings. To set these properties, the caller must call the appropriate methods.

The configured transcode profile is passed to the function. The underlying topology builder uses these settings to build the transcode topology.

-
- No documentation. -

If this function succeeds, it returns . Otherwise, it returns an error code.

- -

The function creates an empty transcode profile. You must configure the transcode profile setting attributes that define the media types and the container properties. Use the following methods to configure the profile:

For example code that uses this function, see the following topics:

  • Tutorial: Encoding an MP4 File
  • Tutorial: Encoding a WMA File
-
- - dd388113 - HRESULT MFCreateTranscodeProfile([Out] IMFTranscodeProfile** ppTranscodeProfile) - MFCreateTranscodeProfile -
- - -

Creates a partial transcode topology.

The underlying topology builder creates a partial topology by connecting the required pipeline objects: - source, encoder, and sink. The encoder and the sink are configured according to the settings specified by the caller in the transcode profile.

To create the transcode profile object, call the function and set the required attributes by calling the appropriate the methods.

The configured transcode profile is passed to the function, which creates the transcode topology with the appropriate settings. The caller can then set this topology on the Media Session and start the session to begin the encoding process. When the Media Session ends, the transcoded file is generated.

-
- No documentation. - No documentation. - No documentation. - No documentation. -

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The function call succeeded, and ppTranscodeTopo receives a reference to the transcode topology.

E_INVALIDARG

pwszOutputFilePath contains invalid characters.

No streams are selected in the media source.

The profile does not contain the attribute.

For one or more streams, cannot find an encoder that accepts the media type given in the profile.

The profile does not specify a media type for any of the selected streams on the media source.

?

- -

For example code that uses this function, see the following topics:

  • Tutorial: Encoding an MP4 File
  • Tutorial: Encoding a WMA File
-
- - dd388118 - HRESULT MFCreateTranscodeTopology([In] IMFMediaSource* pSrc,[In] const wchar_t* pwszOutputFilePath,[In] IMFTranscodeProfile* pProfile,[Out] IMFTopology** ppTranscodeTopo) - MFCreateTranscodeTopology -
- - -

Creates a topology for transcoding to a byte stream.

-
-

A reference to the interface of a media source. The media source provides that source content for transcoding.

-

A reference to the interface of a byte stream. The transcoded output will be written to this byte stream.

-

A reference to the interface of a transcoding profile.

-

Receives a reference to the interface. The caller must release the interface.

-

If this function succeeds, it returns . Otherwise, it returns an error code.

- -

This function creates a partial topology that contains the media source, the encoder, and the media sink.

-
- - hh162762 - HRESULT MFCreateTranscodeTopologyFromByteStream([In] IMFMediaSource* pSrc,[In] IMFByteStream* pOutputStream,[In] IMFTranscodeProfile* pProfile,[Out] IMFTopology** ppTranscodeTopo) - MFCreateTranscodeTopologyFromByteStream -
- - -

Gets a list of output formats from an audio encoder.

-
-

Specifies the subtype of the output media. The encoder uses this value as a filter when it is enumerating the available output types. For information about the audio subtypes, see Audio Subtype GUIDs.

-

Bitwise OR of zero or more flags from the _MFT_ENUM_FLAG enumeration.

-

A reference to the interface of an attribute store. The attribute store specifies the encoder configuration settings. This parameter can be null. The attribute store can hold any of the following attributes.

ValueMeaning

Set this attribute to unlock an encoder that has field-of-use descriptions.

Specifies a device conformance profile for a Windows Media encoder.

Sets the tradeoff between encoding quality and encoding speed.

?

-

Receives a reference to the interface of a collection object that contains a list of preferred audio media types. The collection contains references. The caller must release the interface reference.

- -

This function assumes the encoder will be used in its default encoding mode, which is typically constant bit-rate (CBR) encoding. Therefore, the types returned by the function might not work with other modes, such as variable bit-rate (VBR) encoding.

Internally, this function works by calling to find a matching encoder, and then calling to get the encoder's output types.

-
- - dd388655 - HRESULT MFTranscodeGetAudioOutputAvailableTypes([In] const GUID& guidSubType,[In] _MFT_ENUM_FLAG dwMFTFlags,[In, Optional] IMFAttributes* pCodecConfig,[Out] IMFCollection** ppAvailableTypes) - MFTranscodeGetAudioOutputAvailableTypes -
- - -

Creates the transcode sink activation object.

The transcode sink activation object can be used to create any of the following file sinks:

  • 3GP file sink
  • MP3 file sink
  • MP4 file sink

The transcode sink activation object exposes the interface.

-
- No documentation. -

If this function succeeds, it returns . Otherwise, it returns an error code.

- - dd388115 - HRESULT MFCreateTranscodeSinkActivate([Out] IMFActivate** ppActivate) - MFCreateTranscodeSinkActivate -
- - -

Creates an object that tracks the reference counts on a video media sample.

-
- No documentation. - No documentation. - - hh162761 - HRESULT MFCreateTrackedSample([Out] IMFTrackedSample** ppMFSample) - MFCreateTrackedSample -
- - -

Creates a Microsoft Media Foundation byte stream that wraps an reference.

-
-

A reference to the interface.

-

Receives a reference to the interface. The caller must release the interface.

-

Returns an value.

- -

This function enables applications to pass an object to a Media Foundation API that takes an reference.

-
- - dd388095 - HRESULT MFCreateMFByteStreamOnStream([In] IStream* pStream,[Out] IMFByteStream** ppByteStream) - MFCreateMFByteStreamOnStream -
- - -

Returns an reference that wraps a Microsoft Media Foundation byte stream.

-
- No documentation. - No documentation. -

If this function succeeds, it returns . Otherwise, it returns an error code.

- -

This function enables an application to pass a Media Foundation byte stream to an API that takes an reference.

-
- - hh162759 - HRESULT MFCreateStreamOnMFByteStream([In] IMFByteStream* pByteStream,[Out] IStream** ppStream) - MFCreateStreamOnMFByteStream -
- - -

Creates a Microsoft Media Foundation byte stream that wraps an IRandomAccessStream object.

-
- No documentation. - No documentation. -

If this function succeeds, it returns . Otherwise, it returns an error code.

- - hh162754 - HRESULT MFCreateMFByteStreamOnStreamEx([In] IUnknown* punkStream,[Out, Fast] IMFByteStream** ppByteStream) - MFCreateMFByteStreamOnStreamEx -
- - -

Creates an IRandomAccessStream object that wraps a Microsoft Media Foundation byte stream.

-
- No documentation. - No documentation. - No documentation. -

If this function succeeds, it returns . Otherwise, it returns an error code.

- -

The returned byte stream object exposes the interface. To get the original reference, call using the service identifier .

-
- - hh162760 - HRESULT MFCreateStreamOnMFByteStreamEx([In] IMFByteStream* pByteStream,[In] const GUID& riid,[Out] void** ppv) - MFCreateStreamOnMFByteStreamEx -
- - -

Create an from properties.

-
- No documentation. - No documentation. -

If this function succeeds, it returns . Otherwise, it returns an error code.

- - jj247579 - HRESULT MFCreateMediaTypeFromProperties([In] IUnknown* punkStream,[Out] IMFMediaType** ppMediaType) - MFCreateMediaTypeFromProperties -
- - -

Creates properties from a .

-
- No documentation. - No documentation. - No documentation. -

If this function succeeds, it returns . Otherwise, it returns an error code.

- - jj247580 - HRESULT MFCreatePropertiesFromMediaType([In] IMFMediaType* pMediaType,[In] const GUID& riid,[Out] void** ppv) - MFCreatePropertiesFromMediaType -
- - -

Enumerates a list of audio or video capture devices.

-
-

Pointer to an attribute store that contains search criteria. To create the attribute store, call . Set one or more of the following attributes on the attribute store:

ValueMeaning

Specifies whether to enumerate audio or video devices. (Required.)

For audio capture devices, specifies the device role. (Optional.)

For video capture devices, specifies the device category. (Optional.)

?

-

Receives an array of interface references. Each reference represents an activation object for a media source. The function allocates the memory for the array. The caller must release the references in the array and call CoTaskMemFree to free the memory for the array.

-

Receives the number of elements in the pppSourceActivate array. If no capture devices match the search criteria, this parameter receives the value 0.

-

If this function succeeds, it returns . Otherwise, it returns an error code.

- -

Each returned reference represents a capture device, and can be used to create a media source for that device. You can also use the reference to query for attributes that describe the device. The following attributes might be set:

AttributeDescription
The display name of the device.
The major type and subtype GUIDs that describe the device's output format.
The type of capture device (audio or video).
The audio endpoint ID string. (Audio devices only.)
The device category. (Video devices only.)
Whether a device is a hardware or software device. (Video devices only.)
The symbolic link for the device driver. (Video devices only.)

?

To create a media source from an reference, call the method.

-
- - dd388503 - HRESULT MFEnumDeviceSources([In] IMFAttributes* pAttributes,[Out] void*** pppSourceActivate,[Out] unsigned int* pcSourceActivate) - MFEnumDeviceSources -
- - -

Creates a media source for a hardware capture device.

-
-

Pointer to the interface of an attribute store, which is used to select the device. See Remarks.

-

Receives a reference to the media source's interface. The caller must release the interface.

-

If this function succeeds, it returns . Otherwise, it returns an error code.

- - Important??When the capture device is no longer needed, you must shut down the device by calling Shutdown on the object you obtained by calling . Failure to call Shutdown can result in memory links because the system may keep a reference to resources until Shutdown is called.?

The pAttributes parameter specifies an attribute store. To create the attribute store, call the function. You must set the attribute, which specifies the type of device (audio or video).

For audio capture devices, optionally set one of the following attributes:

AttributeDescription

Specifies the audio endpoint ID of the audio capture device.

Specifies the device role. If this attribute is set, the function uses the default audio capture device for that device role.

Do not combine this attribute with the attribute.

?

If neither attribute is specified, the function selects the default audio capture device for the eCommunications role.

For video capture devices, you must set the following attribute:

AttributeDescription

Specifies the symbolic link to the device.

?

-
- - dd388091 - HRESULT MFCreateDeviceSource([In] IMFAttributes* pAttributes,[Out] IMFMediaSource** ppSource) - MFCreateDeviceSource -
- - -

Creates an activation object that represents a hardware capture device.

-
-

Pointer to the interface of an attribute store, which is used to select the device. See Remarks.

-

Receives a reference to the interface. The caller must release the interface.

- No documentation. - -

This function creates an activation object that can be used to create a media source for a hardware device. To create the media source itself, call .

The pAttributes parameter specifies an attribute store. To create the attribute store, call the function. You must set the attribute, which specifies the type of device (audio or video).

For audio capture devices, optionally set one of the following attributes:

AttributeDescription

Specifies the audio endpoint ID of the audio capture device.

Specifies the device role. If this attribute is set, the function uses the default audio capture device for that device role.

Do not combine this attribute with the attribute.

?

If neither attribute is specified, the function selects the default audio capture device for the eCommunications role.

For video capture devices, you must set the following attribute:

AttributeDescription

Specifies the symbolic link to the device.

?

-
- - dd388093 - HRESULT MFCreateDeviceSourceActivate([In] IMFAttributes* pAttributes,[Out] IMFActivate** ppActivate) - MFCreateDeviceSourceActivate -
- - -

Creates an object that allows content protection systems to perform a handshake with the protected environment.

-
- No documentation. - No documentation. - - hh162758 - HRESULT MFCreateProtectedEnvironmentAccess([Out] IMFProtectedEnvironmentAccess** ppAccess) - MFCreateProtectedEnvironmentAccess -
- - -

Loads a dynamic link library that is signed for the protected environment.

-
-

The name of the dynamic link library to load. This dynamic link library must be signed for the protected environment.

-

Receives a reference to the interface for the library.

- No documentation. - -

A singlemodule load count is maintained on the dynamic link library (as it is with LoadLibrary). This load count is freed when the final release is called on the object.

-
- - hh162769 - HRESULT MFLoadSignedLibrary([In] const wchar_t* pszName,[Out] IMFSignedLibrary** ppLib) - MFLoadSignedLibrary -
- - -

Returns an object for retrieving system id data.

-
- No documentation. - No documentation. - - hh162767 - HRESULT MFGetSystemId([Out] IMFSystemId** ppId) - MFGetSystemId -
- - -

Gets the local system ID.

-
-

Application-specific verifier value.

-

Length in bytes of verifier.

-

Returned ID string. This value must be freed by the caller by calling CoTaskMemFree.

-

The function returns an . Possible values include, but are not limited to, those in the following table.

- - jj128335 - HRESULT MFGetLocalId([In, Buffer] const unsigned char* verifier,[In] unsigned int size,[Out] wchar_t** id) - MFGetLocalId -
- - -

Creates an interface for the specified media protection system.

-
- No documentation. - No documentation. - No documentation. - - mt219225 - HRESULT MFCreateContentProtectionDevice([In] const GUID& ProtectionSystemId,[Out] IMFContentProtectionDevice** ContentProtectionDevice) - MFCreateContentProtectionDevice -
- - -

Checks whether a hardware security processor is supported for the specified media protection system.

-
-

The identifier of the protection system that you want to check.

-

TRUE if the hardware security processor is supported for the specified protection system; otherwise .

- No documentation. - - mt219226 - HRESULT MFIsContentProtectionDeviceSupported([In] const GUID& ProtectionSystemId,[Out] BOOL* isSupported) - MFIsContentProtectionDeviceSupported -
- - -

Creates an interface for the specified media protection system.

-
- No documentation. - No documentation. - No documentation. - No documentation. - No documentation. - - mt219224 - HRESULT MFCreateContentDecryptorContext([In] const GUID& guidMediaProtectionSystemId,[In, Optional] IMFDXGIDeviceManager* pD3DManager,[In] IMFContentProtectionDevice* pContentProtectionDevice,[Out] IMFContentDecryptorContext** ppContentDecryptorContext) - MFCreateContentDecryptorContext -
- - -

Locks the shared Microsoft DirectX Graphics Infrastructure (DXGI) Device Manager.

-
-

Receives a token that identifies this instance of the DXGI Device Manager. Use this token when calling . This parameter can be null.

-

Receives a reference to the interface. The caller must release the interface.

-

If this function succeeds, it returns . Otherwise, it returns an error code.

- -

This function obtains a reference to a DXGI Device Manager instance that can be shared between components. The Microsoft Media Foundation platform creates this instance of the DXGI Device Manager as a singleton object. Alternatively, you can create a new DXGI Device Manager by calling .

The first time this function is called, the Media Foundation platform creates the shared DXGI Device Manager.

When you are done use the reference, call the .

-
- - hh162770 - HRESULT MFCreateSensorGroup([In] const wchar_t* SensorGroupSymbolicLink,[Out] IMFSensorGroup** ppSensorGroup) - MFCreateSensorGroup -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Creates an instance of the interface.

-
- No documentation. - No documentation. - No documentation. - No documentation. -

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_POINTER

The supplied is null.

E_INVALIDARG

The supplied LPCWSTR is null.

?

- - mt797980 - HRESULT MFCreateSensorStream([In] unsigned int StreamId,[In, Optional] IMFAttributes* pAttributes,[In] IMFCollection* pMediaTypeCollection,[Out] IMFSensorStream** ppStream) - MFCreateSensorStream -
- - -

Creates the source reader from a URL.

-
-

The URL of a media file to open.

-

Pointer to the interface. You can use this parameter to configure the source reader. For more information, see Source Reader Attributes. This parameter can be null.

-

Receives a reference to the interface. The caller must release the interface.

-

If this function succeeds, it returns . Otherwise, it returns an error code.

- -

Call CoInitialize(Ex) and before calling this function.

Internally, the source reader calls the method to create a media source from the URL.

This function is available on Windows?Vista if Platform Update Supplement for Windows?Vista is installed.

-
- - dd388110 - HRESULT MFCreateSourceReaderFromURL([In] const wchar_t* pwszURL,[In, Optional] IMFAttributes* pAttributes,[Out, Fast] IMFSourceReader** ppSourceReader) - MFCreateSourceReaderFromURL -
- - -

Creates the source reader from a byte stream.

-
-

A reference to the interface of a byte stream. This byte stream will provide the source data for the source reader.

-

Pointer to the interface. You can use this parameter to configure the source reader. For more information, see Source Reader Attributes. This parameter can be null.

-

Receives a reference to the interface. The caller must release the interface.

-

If this function succeeds, it returns . Otherwise, it returns an error code.

- -

Call CoInitialize(Ex) and before calling this function.

Internally, the source reader calls the method to create a media source from the byte stream. Therefore, a byte-stream handler must be registered for the byte stream. For more information about byte-stream handlers, see Scheme Handlers and Byte-Stream Handlers.

This function is available on Windows?Vista if Platform Update Supplement for Windows?Vista is installed.

-
- - dd388106 - HRESULT MFCreateSourceReaderFromByteStream([In] IMFByteStream* pByteStream,[In, Optional] IMFAttributes* pAttributes,[Out, Fast] IMFSourceReader** ppSourceReader) - MFCreateSourceReaderFromByteStream -
- - -

Creates the source reader from a media source.

-
-

A reference to the interface of a media source.

-

Pointer to the interface. You can use this parameter to configure the source reader. For more information, see Source Reader Attributes. This parameter can be null.

-

Receives a reference to the interface. The caller must release the interface.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The source contains protected content.

?

- -

Call CoInitialize(Ex) and before calling this function.

By default, when the application releases the source reader, the source reader shuts down the media source by calling on the media source. At that point, the application can no longer use the media source.

To change this default behavior, set the attribute in the pAttributes parameter. If this attribute is TRUE, the application is responsible for shutting down the media source.

When using the Source Reader, do not call any of the following methods on the media source:

  • All methods

This function is available on Windows?Vista if Platform Update Supplement for Windows?Vista is installed.

-
- - dd388108 - HRESULT MFCreateSourceReaderFromMediaSource([In] IMFMediaSource* pMediaSource,[In, Optional] IMFAttributes* pAttributes,[Out, Fast] IMFSourceReader** ppSourceReader) - MFCreateSourceReaderFromMediaSource -
- - -

Creates the sink writer from a URL or byte stream.

-
-

A null-terminated string that contains the URL of the output file. This parameter can be null.

-

Pointer to the interface of a byte stream. This parameter can be null.

If this parameter is a valid reference, the sink writer writes to the provided byte stream. (The byte stream must be writable.) Otherwise, if pByteStream is null, the sink writer creates a new file named pwszOutputURL.

-

Pointer to the interface. You can use this parameter to configure the sink writer. For more information, see Sink Writer Attributes. This parameter can be null.

-

Receives a reference to the interface. The caller must release the interface.

- -

Call CoInitialize(Ex) and before calling this function.

The first three parameters to this function can be null; however, only certain combinations are valid:

DescriptionpwszOutputURLpByteStreampAttributes
Specify a byte stream, with no URL.nullnon-nullRequired (must not be null).
Specify a URL, with no byte stream.not nullnullOptional (may be null).
Specify both a URL and a byte stream.non-nullnon-nullOptional (may be null).

?

The pAttributes parameter is required in the first case and optional in the others.

  • Case 1: Specify a byte stream without a URL. The pAttributes parameter must point to an attribute store that contains the attribute. The sink writer uses the attribute to determine the type of file container to write, such as ASF or MP4.
  • Case 2: Specify a URL without a byte stream. The sink writer creates a new file named pwszOutputURL. If pAttributes specifies an attribute store with the attribute, the sink writer uses that attribute to determine the type of file container. Otherwise, if the attribute is absent or pAttributes is null, the sink writer uses the file name extension to select the container type; for example, ".asf" for an ASF file.
  • Case 3: Specify both a URL and a byte stream. The sink writer writes to the byte stream. The URL provided in pwszOutputURL is informational only; the sink writer does not create a new file. If pAttributes specifies an attribute store with the attribute, the sink writer uses that attribute to determine the type of file container. Otherwise, the sink writer uses the file name extension to select the container type. The attribute overrides the URL file name extension in this case.

This function is available on Windows?Vista if Platform Update Supplement for Windows?Vista is installed.

-
- - dd388105 - HRESULT MFCreateSinkWriterFromURL([In, Optional] const wchar_t* pwszOutputURL,[In, Optional] IMFByteStream* pByteStream,[In, Optional] IMFAttributes* pAttributes,[Out] IMFSinkWriter** ppSinkWriter) - MFCreateSinkWriterFromURL -
- - -

Creates the sink writer from a media sink.

-
-

Pointer to the interface of a media sink.

-

Pointer to the interface. You can use this parameter to configure the sink writer. For more information, see Sink Writer Attributes. This parameter can be null.

-

Receives a reference to the interface. The caller must release the interface.

-

If this function succeeds, it returns . Otherwise, it returns an error code.

- -

Call CoInitialize(Ex) and before calling this function.

When you are done using the media sink, call the media sink's method. (The sink writer does not shut down the media sink.) Release the sink writer before calling Shutdown on the media sink.

This function is available on Windows?Vista if Platform Update Supplement for Windows?Vista is installed.

-
- - dd388103 - HRESULT MFCreateSinkWriterFromMediaSink([In] IMFMediaSink* pMediaSink,[In, Optional] IMFAttributes* pAttributes,[Out] IMFSinkWriter** ppSinkWriter) - MFCreateSinkWriterFromMediaSink -
- - -

Writes the contents of an attribute store to a stream.

-
-

Pointer to the interface of the attribute store.

-

Bitwise OR of zero or more flags from the enumeration.

-

Pointer to the interface of the stream where the attributes are saved.

-

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

If dwOptions contains the flag, the function serializes references in the attribute store, as follows:

  • If the reference exposes the interface (through QueryInterface), the function calls to serialize each reference.

  • Otherwise, the function calls CoMarshalInterface to serialize a proxy for the object.

If dwOptions does not include the flag, the function skips references in the attribute store.

To load the attributes from the stream, call .

The main purpose of this function is to marshal attributes across process boundaries.

-
- - ms702278 - HRESULT MFSerializeAttributesToStream([In] IMFAttributes* pAttr,[In] unsigned int dwOptions,[In] IStream* pStm) - MFSerializeAttributesToStream -
- - -

Loads attributes from a stream into an attribute store.

-
-

Pointer to the interface of the attribute store.

-

Bitwise OR of zero or more flags from the enumeration.

-

Pointer to the interface of the stream from which to read the attributes.

-

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

Use this function to deserialize an attribute store that was serialized with the function.

If dwOptions contains the flag, the function deserializes references from the stream, as follows:

  • If the reference exposes the interface (through QueryInterface), the function calls to deserialize each reference.

  • Otherwise, the function calls CoUnmarshalInterface to deserialize a proxy for the object.

This function deletes any attributes that were previously stored in pAttr.

-
- - ms703162 - HRESULT MFDeserializeAttributesFromStream([In] IMFAttributes* pAttr,[In] unsigned int dwOptions,[In] IStream* pStm) - MFDeserializeAttributesFromStream -
- - -

Creates a generic activation object for Media Foundation transforms (MFTs).

-
-

Receives a reference to the interface. The caller must release the interface.

-

If this function succeeds, it returns . Otherwise, it returns an error code.

- -

Most applications will not use this function; it is used internally by the function.

An activation object is a helper object that creates another object, somewhat similar to a class factory. The function creates an activation object for MFTs. Before this activation object can create an MFT, the caller must initialize the activation object by setting one or more attributes on it.

AttributeDescription
Required. Contains the CLSID of the MFT. The activation object creates the MFT by passing this CLSID to the CoCreateInstance function.
Optional. Specifies the category of the MFT.
Contains various flags that describe the MFT. For hardware-based MFTs, set the flag. Otherwise, this attribute is optional.

Optional. Contains the merit value of a hardware codec.

If this attribute is set and its value is greater than zero, the activation object calls to get the trusted merit value for the MFT. If the trusted merit is less than the value of this attribute, the activation object's method fails and returns .

Required for hardware-based MFTs. Specifies the symbolic link for the hardware device. The device proxy uses this value to configure the MFT.

Optional. Contains an reference, which can be used to unlock the MFT. The interface is used with MFTs that have usage restrictions.

If this attribute is set and the attribute contains the flag, the activation object calls when it creates the MFT. An application can also set the attribute without setting the flag. In that case, the application must call Unlock.

Optional. Contains the encoding profile for an encoder. The value of this attribute is an reference.

If this attribute is set and the value of the attribute is or , the activation object uses the encoding profile to configure the MFT. The MFT must expose either ICodecAPI or for this purpose.

Optional. Specifies the preferred output format for an encoder.

If this attribute set and the value of the attribute is or , the activation object sets this media type on the MFT.

?

For more information about activation objects, see Activation Objects.

-
- - dd388120 - HRESULT MFCreateTransformActivate([Out] IMFActivate** ppActivate) - MFCreateTransformActivate -
- - -

Enumerates a list of audio or video capture devices.

-
-

Pointer to an attribute store that contains search criteria. To create the attribute store, call . Set one or more of the following attributes on the attribute store:

ValueMeaning

Specifies whether to enumerate audio or video devices. (Required.)

For audio capture devices, specifies the device role. (Optional.)

For video capture devices, specifies the device category. (Optional.)

?

-

Receives an array of interface references. Each reference represents an activation object for a media source. The function allocates the memory for the array. The caller must release the references in the array and call CoTaskMemFree to free the memory for the array.

-

Receives the number of elements in the pppSourceActivate array. If no capture devices match the search criteria, this parameter receives the value 0.

-

If this function succeeds, it returns . Otherwise, it returns an error code.

- -

Each returned reference represents a capture device, and can be used to create a media source for that device. You can also use the reference to query for attributes that describe the device. The following attributes might be set:

AttributeDescription
The display name of the device.
The major type and subtype GUIDs that describe the device's output format.
The type of capture device (audio or video).
The audio endpoint ID string. (Audio devices only.)
The device category. (Video devices only.)
Whether a device is a hardware or software device. (Video devices only.)
The symbolic link for the device driver. (Video devices only.)

?

To create a media source from an reference, call the method.

-
- - dd388503 - HRESULT MFEnumDeviceSources([In] IMFAttributes* pAttributes,[Out, Buffer] IMFActivate*** pppSourceActivate,[Out] unsigned int* pcSourceActivate) - MFEnumDeviceSources -
- - - Gets a list of Microsoft Media Foundation transforms (MFTs) that match specified search criteria. This function extends the function. - - A GUID that specifies the category of MFTs to enumerate. For a list of MFT categories, see . - The bitwise OR of zero or more flags from the enumeration. - A pointer to an structure that specifies an input media type to match.This parameter can be NULL. If NULL, all input types are matched. - A pointer to an structure that specifies an output media type to match.This parameter can be NULL. If NULL, all output types are matched. - Returns an array of objects. Each object represents an activation object for an MFT that matches the search criteria. The function allocates the memory for the array. The caller must release the pointers and call the Dispose for each element in the array. - dd388652 - HRESULT MFTEnumEx([In] GUID guidCategory,[In] unsigned int Flags,[In, Optional] const MFT_REGISTER_TYPE_INFO* pInputType,[In, Optional] const MFT_REGISTER_TYPE_INFO* pOutputType,[Out, Buffer] IMFActivate*** pppMFTActivate,[Out] unsigned int* pnumMFTActivate) - MFTEnumEx - - - -

Applies to: desktop apps only

Creates an activation object for the sample grabber media sink.

-
-

Pointer to the interface, defining the media type for the sample grabber's input stream.

-

Pointer to the interface of a callback object. The caller must implement this interface.

-

Receives a reference to the interface. Use this interface to complete the creation of the sample grabber. The caller must release the interface.

-

If this function succeeds, it returns . Otherwise, it returns an error code.

- -

To create the sample grabber sink, call on the reference received in the ppIActivate parameter.

Before calling ActivateObject, you can configure the sample grabber by setting any of the following attributes on the ppIActivate reference:

-
- - ms702068 - HRESULT MFCreateSampleGrabberSinkActivate([In] IMFMediaType* pIMFMediaType,[In] IMFSampleGrabberSinkCallback* pIMFSampleGrabberSinkCallback,[Out] IMFActivate** ppIActivate) - MFCreateSampleGrabberSinkActivate -
- - -

Applies to: desktop apps | Metro style apps

Copies an image or image plane from one buffer to another.

-
-

Pointer to the start of the first row of pixels in the destination buffer.

-

Stride of the destination buffer, in bytes.

-

Pointer to the start of the first row of pixels in the source image.

-

Stride of the source image, in bytes.

-

Width of the image, in bytes.

-

Number of rows of pixels to copy.

-

If this function succeeds, it returns . Otherwise, it returns an error code.

- -

This function copies a single plane of the image. For planar YUV formats, you must call the function once for each plane. In this case, pDest and pSrc must point to the start of each plane.

This function is optimized if the MMX, SSE, or SSE2 instruction sets are available on the processor. The function performs a non-temporal store (the data is written to memory directly without polluting the cache).

Note??Prior to Windows?7, this function was exported from evr.dll. Starting in Windows?7, this function is exported from mfplat.dll, and evr.dll exports a stub function that calls into mfplat.dll. For more information, see Library Changes in Windows?7.

-
- - bb970554 - HRESULT MFCopyImage([Out, Buffer] unsigned char* pDest,[In] int lDestStride,[In, Buffer] const unsigned char* pSrc,[In] int lSrcStride,[In] unsigned int dwWidthInBytes,[In] unsigned int dwLines) - MFCopyImage -
- - - Functions - - - - - Constant MetadataProvider. - MF_METADATA_PROVIDER_SERVICE - - - Constant PMPServer. - MF_PMP_SERVER_CONTEXT - - - Constant Qualiy. - MF_QUALITY_SERVICES - - - Constant RateControl. - MF_RATE_CONTROL_SERVICE - - - Constant RemoteProxy. - MF_REMOTE_PROXY - - - Constant Sami. - MF_SAMI_SERVICE - - - Constant SourcePresentationProvider. - MF_SOURCE_PRESENTATION_PROVIDER_SERVICE - - - Constant TimeCode. - MF_TIMECODE_SERVICE - - - Constant ToplogyNodeAttributeEditor. - MF_TOPONODE_ATTRIBUTE_EDITOR_SERVICE - - - Constant WrappedObject. - MF_WRAPPED_OBJECT - - - Constant WorkQueue. - MF_WORKQUEUE_SERVICES - - - Constant SaveJob. - MFNET_SAVEJOB_SERVICE - - - Constant NetworkSourceStatistics. - MFNETSOURCE_STATISTICS_SERVICE - - - Constant AudioPolicy. - MR_AUDIO_POLICY_SERVICE - - - Constant Buffer. - MR_BUFFER_SERVICE - - - Constant CapturePolicyVolume. - MR_CAPTURE_POLICY_VOLUME_SERVICE - - - Constant PolicyVolume. - MR_POLICY_VOLUME_SERVICE - - - Constant StreamVolume. - MR_STREAM_VOLUME_SERVICE - - - Constant VideoAcceleration. - MR_VIDEO_ACCELERATION_SERVICE - - - - Functions - - - - - Constant ApproxEventOccurrenceTime. - MF_SESSION_APPROX_EVENT_OCCURRENCE_TIME - - - Constant ContentProtectionManager. - MF_SESSION_CONTENT_PROTECTION_MANAGER - - - Constant GlobalTime. - MF_SESSION_GLOBAL_TIME - - - Constant QualityManager. - MF_SESSION_QUALITY_MANAGER - - - Constant RemoteSourceMode. - MF_SESSION_REMOTE_SOURCE_MODE - - - Constant ServerContext. - MF_SESSION_SERVER_CONTEXT - - - Constant Topoloader. - MF_SESSION_TOPOLOADER - - - - Functions - - - - - Constant AacAudioProfileLevelIndication. - MF_MT_AAC_AUDIO_PROFILE_LEVEL_INDICATION - - - Constant AacPayloadType. - MF_MT_AAC_PAYLOAD_TYPE - - - Constant AllSamplesIndependent. - MF_MT_ALL_SAMPLES_INDEPENDENT - - - Constant AmFormatType. - MF_MT_AM_FORMAT_TYPE - - - Constant ArbitraryFormat. - MF_MT_ARBITRARY_FORMAT - - - Constant ArbitraryHeader. - MF_MT_ARBITRARY_HEADER - - - Constant AudioAvgBytesPerSecond. - MF_MT_AUDIO_AVG_BYTES_PER_SECOND - - - Constant AudioBitsPerSample. - MF_MT_AUDIO_BITS_PER_SAMPLE - - - Constant AudioBlockAlignment. - MF_MT_AUDIO_BLOCK_ALIGNMENT - - - Constant AudioChannelMask. - MF_MT_AUDIO_CHANNEL_MASK - - - Constant AudioFloatSamplesPerSecond. - MF_MT_AUDIO_FLOAT_SAMPLES_PER_SECOND - - - Constant AudioFolddownMatrix. - MF_MT_AUDIO_FOLDDOWN_MATRIX - - - Constant AudioNumChannels. - MF_MT_AUDIO_NUM_CHANNELS - - - Constant AudioPreferWaveformatex. - MF_MT_AUDIO_PREFER_WAVEFORMATEX - - - Constant AudioSamplesPerBlock. - MF_MT_AUDIO_SAMPLES_PER_BLOCK - - - Constant AudioSamplesPerSecond. - MF_MT_AUDIO_SAMPLES_PER_SECOND - - - Constant AudioValidBitsPerSample. - MF_MT_AUDIO_VALID_BITS_PER_SAMPLE - - - Constant AudioWmadrcAvgref. - MF_MT_AUDIO_WMADRC_AVGREF - - - Constant AudioWmadrcAvgtarget. - MF_MT_AUDIO_WMADRC_AVGTARGET - - - Constant AudioWmadrcPeakref. - MF_MT_AUDIO_WMADRC_PEAKREF - - - Constant AudioWmadrcPeaktarget. - MF_MT_AUDIO_WMADRC_PEAKTARGET - - - Constant AvgBitErrorRate. - MF_MT_AVG_BIT_ERROR_RATE - - - Constant AvgBitrate. - MF_MT_AVG_BITRATE - - - Constant Compressed. - MF_MT_COMPRESSED - - - Constant CustomVideoPrimaries. - MF_MT_CUSTOM_VIDEO_PRIMARIES - - - Constant DefaultStride. - MF_MT_DEFAULT_STRIDE - - - Constant DrmFlags. - MF_MT_DRM_FLAGS - - - Constant DvAauxCtrlPack0. - MF_MT_DV_AAUX_CTRL_PACK_0 - - - Constant DvAauxCtrlPack1. - MF_MT_DV_AAUX_CTRL_PACK_1 - - - Constant DvAauxSrcPack0. - MF_MT_DV_AAUX_SRC_PACK_0 - - - Constant DvAauxSrcPack1. - MF_MT_DV_AAUX_SRC_PACK_1 - - - Constant DvVauxCtrlPack. - MF_MT_DV_VAUX_CTRL_PACK - - - Constant DvVauxSrcPack. - MF_MT_DV_VAUX_SRC_PACK - - - Constant FixedSizeSamples. - MF_MT_FIXED_SIZE_SAMPLES - - - Constant FrameRate. - MF_MT_FRAME_RATE - - - Constant FrameRateRangeMax. - MF_MT_FRAME_RATE_RANGE_MAX - - - Constant FrameRateRangeMin. - MF_MT_FRAME_RATE_RANGE_MIN - - - Constant FrameSize. - MF_MT_FRAME_SIZE - - - Constant GeometricAperture. - MF_MT_GEOMETRIC_APERTURE - - - Constant H264Capabilities. - MF_MT_H264_CAPABILITIES - - - Constant H264MaxCodecConfigDelay. - MF_MT_H264_MAX_CODEC_CONFIG_DELAY - - - Constant H264MaxMbPerSec. - MF_MT_H264_MAX_MB_PER_SEC - - - Constant H264RateControlModes. - MF_MT_H264_RATE_CONTROL_MODES - - - Constant H264SimulcastSupport. - MF_MT_H264_SIMULCAST_SUPPORT - - - Constant H264SupportedRateControlModes. - MF_MT_H264_SUPPORTED_RATE_CONTROL_MODES - - - Constant H264SupportedSliceModes. - MF_MT_H264_SUPPORTED_SLICE_MODES - - - Constant H264SupportedSyncFrameTypes. - MF_MT_H264_SUPPORTED_SYNC_FRAME_TYPES - - - Constant H264SupportedUsages. - MF_MT_H264_SUPPORTED_USAGES - - - Constant H264SvcCapabilities. - MF_MT_H264_SVC_CAPABILITIES - - - Constant H264Usage. - MF_MT_H264_USAGE - - - Constant ImageLossTolerant. - MF_MT_IMAGE_LOSS_TOLERANT - - - Constant InterlaceMode. - MF_MT_INTERLACE_MODE - - - Constant MajorType. - MF_MT_MAJOR_TYPE - - - Constant MaxKeyframeSpacing. - MF_MT_MAX_KEYFRAME_SPACING - - - Constant MinimumDisplayAperture. - MF_MT_MINIMUM_DISPLAY_APERTURE - - - Constant MpegSequenceHeader. - MF_MT_MPEG_SEQUENCE_HEADER - - - Constant MpegStartTimeCode. - MF_MT_MPEG_START_TIME_CODE - - - Constant Mpeg2ContentPACKET. - MF_MT_MPEG2_CONTENT_PACKET - - - Constant Mpeg2Flags. - MF_MT_MPEG2_FLAGS - - - Constant Mpeg2Level. - MF_MT_MPEG2_LEVEL - - - Constant Mpeg2Profile. - MF_MT_MPEG2_PROFILE - - - Constant Mpeg2STANDARD. - MF_MT_MPEG2_STANDARD - - - Constant Mpeg2TIMECODE. - MF_MT_MPEG2_TIMECODE - - - Constant Mpeg4CurrentSampleEntry. - MF_MT_MPEG4_CURRENT_SAMPLE_ENTRY - - - Constant Mpeg4SampleDescription. - MF_MT_MPEG4_SAMPLE_DESCRIPTION - - - Constant Original4cc. - MF_MT_ORIGINAL_4CC - - - Constant OriginalWaveFormatTag. - MF_MT_ORIGINAL_WAVE_FORMAT_TAG - - - Constant PadControlFlags. - MF_MT_PAD_CONTROL_FLAGS - - - Constant Palette. - MF_MT_PALETTE - - - Constant PanScanAperture. - MF_MT_PAN_SCAN_APERTURE - - - Constant PanScanEnabled. - MF_MT_PAN_SCAN_ENABLED - - - Constant PixelAspectRatio. - MF_MT_PIXEL_ASPECT_RATIO - - - Constant SampleSize. - MF_MT_SAMPLE_SIZE - - - Constant SourceContentHint. - MF_MT_SOURCE_CONTENT_HINT - - - Constant Subtype. - MF_MT_SUBTYPE - - - Constant TimestampCanBeDTS. - MF_MT_TIMESTAMP_CAN_BE_DTS - - - Constant TransferFunction. - MF_MT_TRANSFER_FUNCTION - - - Constant UserData. - MF_MT_USER_DATA - - - Constant Video3d. - MF_MT_VIDEO_3D - - - Constant Video3dFirstIsLeft. - MF_MT_VIDEO_3D_FIRST_IS_LEFT - - - Constant Video3dFormat. - MF_MT_VIDEO_3D_FORMAT - - - Constant Video3dLeftIsBase. - MF_MT_VIDEO_3D_LEFT_IS_BASE - - - Constant Video3dNumViews. - MF_MT_VIDEO_3D_NUM_VIEWS - - - Constant VideoChromaSiting. - MF_MT_VIDEO_CHROMA_SITING - - - Constant VideoLighting. - MF_MT_VIDEO_LIGHTING - - - Constant VideoNominalRange. - MF_MT_VIDEO_NOMINAL_RANGE - - - Constant VideoPrimaries. - MF_MT_VIDEO_PRIMARIES - - - Constant VideoRotation. - MF_MT_VIDEO_ROTATION - - - Constant WrappedType. - MF_MT_WRAPPED_TYPE - - - Constant YuvMatrix. - MF_MT_YUV_MATRIX - - - - Functions - - - - - Constant Default. - MFMediaType_Default - - - Constant Audio. - MFMediaType_Audio - - - Constant Video. - MFMediaType_Video - - - Constant Protected. - MFMediaType_Protected - - - Constant Sami. - MFMediaType_SAMI - - - Constant Script. - MFMediaType_Script - - - Constant Image. - MFMediaType_Image - - - Constant Html. - MFMediaType_HTML - - - Constant Binary. - MFMediaType_Binary - - - Constant FileTransfer. - MFMediaType_FileTransfer - - - Constant Stream. - MFMediaType_Stream - - - Constant MultiplexedFrames. - MFMediaType_MultiplexedFrames - - - Constant Subtitle. - MFMediaType_Subtitle - - - Constant Perception. - MFMediaType_Perception - - - - Functions - - - - - Constant MoovBeforeMdat. - MF_MPEG4SINK_MOOV_BEFORE_MDAT - - - Constant SpsppsPassthrough. - MF_MPEG4SINK_SPSPPS_PASSTHROUGH - - - - Functions - - - - - Constant LengthInformation. - MF_NALU_LENGTH_INFORMATION - - - Constant LengthSet. - MF_NALU_LENGTH_SET - - - - Functions - - - - - Constant AppContext. - MF_PD_APP_CONTEXT - - - Constant AsfCodeclist. - MF_PD_ASF_CODECLIST - - - Constant AsfContentencryptionKeyid. - MF_PD_ASF_CONTENTENCRYPTION_KEYID - - - Constant AsfContentencryptionLicenseUrl. - MF_PD_ASF_CONTENTENCRYPTION_LICENSE_URL - - - Constant AsfContentencryptionSecretData. - MF_PD_ASF_CONTENTENCRYPTION_SECRET_DATA - - - Constant AsfContentencryptionType. - MF_PD_ASF_CONTENTENCRYPTION_TYPE - - - Constant AsfContentencryptionexEncryptionData. - MF_PD_ASF_CONTENTENCRYPTIONEX_ENCRYPTION_DATA - - - Constant AsfDataLength. - MF_PD_ASF_DATA_LENGTH - - - Constant AsfDataStartOffset. - MF_PD_ASF_DATA_START_OFFSET - - - Constant AsfFilepropertiesCreationTime. - MF_PD_ASF_FILEPROPERTIES_CREATION_TIME - - - Constant AsfFilepropertiesFileId. - MF_PD_ASF_FILEPROPERTIES_FILE_ID - - - Constant AsfFilepropertiesFlags. - MF_PD_ASF_FILEPROPERTIES_FLAGS - - - Constant AsfFilepropertiesMaxBitrate. - MF_PD_ASF_FILEPROPERTIES_MAX_BITRATE - - - Constant AsfFilepropertiesMaxPacketSize. - MF_PD_ASF_FILEPROPERTIES_MAX_PACKET_SIZE - - - Constant AsfFilepropertiesMinPacketSize. - MF_PD_ASF_FILEPROPERTIES_MIN_PACKET_SIZE - - - Constant AsfFilepropertiesPackets. - MF_PD_ASF_FILEPROPERTIES_PACKETS - - - Constant AsfFilepropertiesPlayDuration. - MF_PD_ASF_FILEPROPERTIES_PLAY_DURATION - - - Constant AsfFilepropertiesPreroll. - MF_PD_ASF_FILEPROPERTIES_PREROLL - - - Constant AsfFilepropertiesSendDuration. - MF_PD_ASF_FILEPROPERTIES_SEND_DURATION - - - Constant AsfInfoHasAudio. - MF_PD_ASF_INFO_HAS_AUDIO - - - Constant AsfInfoHasNonAudioVideo. - MF_PD_ASF_INFO_HAS_NON_AUDIO_VIDEO - - - Constant AsfInfoHasVideo. - MF_PD_ASF_INFO_HAS_VIDEO - - - Constant AsfLanglist. - MF_PD_ASF_LANGLIST - - - Constant AsfLanglistLegacyorder. - MF_PD_ASF_LANGLIST_LEGACYORDER - - - Constant AsfMarker. - MF_PD_ASF_MARKER - - - Constant AsfMetadataIsVbr. - MF_PD_ASF_METADATA_IS_VBR - - - Constant AsfMetadataLeakyBucketPairs. - MF_PD_ASF_METADATA_LEAKY_BUCKET_PAIRS - - - Constant AsfMetadataV8Bufferaverage. - MF_PD_ASF_METADATA_V8_BUFFERAVERAGE - - - Constant AsfMetadataV8Vbrpeak. - MF_PD_ASF_METADATA_V8_VBRPEAK - - - Constant AsfScript. - MF_PD_ASF_SCRIPT - - - Constant AudioEncodingBitrate. - MF_PD_AUDIO_ENCODING_BITRATE - - - Constant AudioIsvariablebitrate. - MF_PD_AUDIO_ISVARIABLEBITRATE - - - Constant Duration. - MF_PD_DURATION - - - Constant LastModifiedTime. - MF_PD_LAST_MODIFIED_TIME - - - Constant MimeType. - MF_PD_MIME_TYPE - - - Constant PlaybackBoundaryTime. - MF_PD_PLAYBACK_BOUNDARY_TIME - - - Constant PlaybackElementId. - MF_PD_PLAYBACK_ELEMENT_ID - - - Constant PmphostContext. - MF_PD_PMPHOST_CONTEXT - - - Constant PreferredLanguage. - MF_PD_PREFERRED_LANGUAGE - - - Constant SamiStylelist. - MF_PD_SAMI_STYLELIST - - - Constant TotalFileSize. - MF_PD_TOTAL_FILE_SIZE - - - Constant VideoEncodingBitrate. - MF_PD_VIDEO_ENCODING_BITRATE - - - - Functions - - - - - Constant GraphicsTransferAesEncryption. - MFPROTECTION_GRAPHICS_TRANSFER_AES_ENCRYPTION - - - Constant VideoFrames. - MFPROTECTION_VIDEO_FRAMES - - - Constant BestEffort. - MFPROTECTIONATTRIBUTE_BEST_EFFORT - - - Constant FailOver. - MFPROTECTIONATTRIBUTE_FAIL_OVER - - - - Functions - - - - - Constant DxgiDeviceNotInitializeD. - MF_E_DXGI_DEVICE_NOT_INITIALIZED - - - Constant DxgiNewVideoDevice. - MF_E_DXGI_NEW_VIDEO_DEVICE - - - Constant DxgiVideoDeviceLocked. - MF_E_DXGI_VIDEO_DEVICE_LOCKED - - - Constant PlatformNotInitializeD. - MF_E_PLATFORM_NOT_INITIALIZED - - - Constant BufferTooSmall. - MF_E_BUFFERTOOSMALL - - - Constant InvalidRequest. - MF_E_INVALIDREQUEST - - - Constant InvalidStreamNumber. - MF_E_INVALIDSTREAMNUMBER - - - Constant InvalidMediaType. - MF_E_INVALIDMEDIATYPE - - - Constant NotAccepting. - MF_E_NOTACCEPTING - - - Constant NotInitializeD. - MF_E_NOT_INITIALIZED - - - Constant UnsupportedRepresentation. - MF_E_UNSUPPORTED_REPRESENTATION - - - Constant NoMoreTypes. - MF_E_NO_MORE_TYPES - - - Constant UnsupportedService. - MF_E_UNSUPPORTED_SERVICE - - - Constant Unexpected. - MF_E_UNEXPECTED - - - Constant InvalidName. - MF_E_INVALIDNAME - - - Constant InvalidType. - MF_E_INVALIDTYPE - - - Constant InvalidFileFormat. - MF_E_INVALID_FILE_FORMAT - - - Constant InvalidIndex. - MF_E_INVALIDINDEX - - - Constant InvalidTimestamp. - MF_E_INVALID_TIMESTAMP - - - Constant UnsupportedScheme. - MF_E_UNSUPPORTED_SCHEME - - - Constant UnsupportedByteStreamType. - MF_E_UNSUPPORTED_BYTESTREAM_TYPE - - - Constant UnsupportedTimeFormat. - MF_E_UNSUPPORTED_TIME_FORMAT - - - Constant NoSampleTimestamp. - MF_E_NO_SAMPLE_TIMESTAMP - - - Constant NoSampleDuration. - MF_E_NO_SAMPLE_DURATION - - - Constant InvalidStreamData. - MF_E_INVALID_STREAM_DATA - - - Constant RtUnavailable. - MF_E_RT_UNAVAILABLE - - - Constant UnsupportedRate. - MF_E_UNSUPPORTED_RATE - - - Constant ThinningUnsupported. - MF_E_THINNING_UNSUPPORTED - - - Constant ReverseUnsupported. - MF_E_REVERSE_UNSUPPORTED - - - Constant UnsupportedRateTransition. - MF_E_UNSUPPORTED_RATE_TRANSITION - - - Constant RateChangePreempted. - MF_E_RATE_CHANGE_PREEMPTED - - - Constant NotFound. - MF_E_NOT_FOUND - - - Constant NotAvailable. - MF_E_NOT_AVAILABLE - - - Constant NoClock. - MF_E_NO_CLOCK - - - Constant MultipleBegin. - MF_E_MULTIPLE_BEGIN - - - Constant MultipleSubScribers. - MF_E_MULTIPLE_SUBSCRIBERS - - - Constant TimerOrphaned. - MF_E_TIMER_ORPHANED - - - Constant StateTransitionPending. - MF_E_STATE_TRANSITION_PENDING - - - Constant UnsupportedStateTransition. - MF_E_UNSUPPORTED_STATE_TRANSITION - - - Constant UnrecoverableErrorOccurred. - MF_E_UNRECOVERABLE_ERROR_OCCURRED - - - Constant SampleHasTooManyBuffers. - MF_E_SAMPLE_HAS_TOO_MANY_BUFFERS - - - Constant SampleNotWritable. - MF_E_SAMPLE_NOT_WRITABLE - - - Constant InvalidKey. - MF_E_INVALID_KEY - - - Constant BadStartupVersion. - MF_E_BAD_STARTUP_VERSION - - - Constant UnsupportedCaption. - MF_E_UNSUPPORTED_CAPTION - - - Constant InvalidPosition. - MF_E_INVALID_POSITION - - - Constant Attributenotfound. - MF_E_ATTRIBUTENOTFOUND - - - Constant PropertyTypeNotAllowEd. - MF_E_PROPERTY_TYPE_NOT_ALLOWED - - - Constant PropertyTypeNotSupported. - MF_E_PROPERTY_TYPE_NOT_SUPPORTED - - - Constant PropertyEmpty. - MF_E_PROPERTY_EMPTY - - - Constant PropertyNotEmpty. - MF_E_PROPERTY_NOT_EMPTY - - - Constant PropertyVectorNotAllowEd. - MF_E_PROPERTY_VECTOR_NOT_ALLOWED - - - Constant PropertyVectorRequired. - MF_E_PROPERTY_VECTOR_REQUIRED - - - Constant OperationCancelled. - MF_E_OPERATION_CANCELLED - - - Constant ByteStreamNotSeekable. - MF_E_BYTESTREAM_NOT_SEEKABLE - - - Constant DisabledInSafemode. - MF_E_DISABLED_IN_SAFEMODE - - - Constant CannotParseByteStream. - MF_E_CANNOT_PARSE_BYTESTREAM - - - Constant SourceResolverMutuallyExclusiveFlags. - MF_E_SOURCERESOLVER_MUTUALLY_EXCLUSIVE_FLAGS - - - Constant MediaProcWrongState. - MF_E_MEDIAPROC_WRONGSTATE - - - Constant RtThroughputNotAvailable. - MF_E_RT_THROUGHPUT_NOT_AVAILABLE - - - Constant RtTooManyClassEs. - MF_E_RT_TOO_MANY_CLASSES - - - Constant RtWouldblock. - MF_E_RT_WOULDBLOCK - - - Constant NoBitpump. - MF_E_NO_BITPUMP - - - Constant RtOufOfMemory. - MF_E_RT_OUTOFMEMORY - - - Constant RtWorkqueueClassNotSpecified. - MF_E_RT_WORKQUEUE_CLASS_NOT_SPECIFIED - - - Constant InsufficientBuffer. - MF_E_INSUFFICIENT_BUFFER - - - Constant CannotCreateSink. - MF_E_CANNOT_CREATE_SINK - - - Constant ByteStreamUnknownLength. - MF_E_BYTESTREAM_UNKNOWN_LENGTH - - - Constant SessionPausewhilestopped. - MF_E_SESSION_PAUSEWHILESTOPPED - - - Constant FormatChangeNotSupported. - MF_E_FORMAT_CHANGE_NOT_SUPPORTED - - - Constant InvalidWorkqueue. - MF_E_INVALID_WORKQUEUE - - - Constant DrmUnsupported. - MF_E_DRM_UNSUPPORTED - - - Constant Unauthorized. - MF_E_UNAUTHORIZED - - - Constant OutOfRange. - MF_E_OUT_OF_RANGE - - - Constant InvalidCodecMerit. - MF_E_INVALID_CODEC_MERIT - - - Constant HwMftFailedStartStreaming. - MF_E_HW_MFT_FAILED_START_STREAMING - - - Constant OperationInProgress. - MF_E_OPERATION_IN_PROGRESS - - - Constant HardwareDrmUnsupported. - MF_E_HARDWARE_DRM_UNSUPPORTED - - - Constant AsfParsingincomplete. - MF_E_ASF_PARSINGINCOMPLETE - - - Constant AsfMissingData. - MF_E_ASF_MISSINGDATA - - - Constant AsfInvalidData. - MF_E_ASF_INVALIDDATA - - - Constant AsfOpaquePacket. - MF_E_ASF_OPAQUEPACKET - - - Constant AsfNoindex. - MF_E_ASF_NOINDEX - - - Constant AsfOufOfRange. - MF_E_ASF_OUTOFRANGE - - - Constant AsfIndexNotLoaded. - MF_E_ASF_INDEXNOTLOADED - - - Constant AsfTooManyPayloads. - MF_E_ASF_TOO_MANY_PAYLOADS - - - Constant AsfUnsupportedStreamType. - MF_E_ASF_UNSUPPORTED_STREAM_TYPE - - - Constant AsfDroppedPacket. - MF_E_ASF_DROPPED_PACKET - - - Constant NoEventsAvailable. - MF_E_NO_EVENTS_AVAILABLE - - - Constant InvalidStateTransition. - MF_E_INVALID_STATE_TRANSITION - - - Constant EndOfStream. - MF_E_END_OF_STREAM - - - Constant Shutdown. - MF_E_SHUTDOWN - - - Constant Mp3NotFound. - MF_E_MP3_NOTFOUND - - - Constant Mp3OufOfData. - MF_E_MP3_OUTOFDATA - - - Constant Mp3NotMp3. - MF_E_MP3_NOTMP3 - - - Constant Mp3NotSupported. - MF_E_MP3_NOTSUPPORTED - - - Constant NoDuration. - MF_E_NO_DURATION - - - Constant InvalidFormat. - MF_E_INVALID_FORMAT - - - Constant PropertyNotFound. - MF_E_PROPERTY_NOT_FOUND - - - Constant PropertyReadOnly. - MF_E_PROPERTY_READ_ONLY - - - Constant PropertyNotAllowEd. - MF_E_PROPERTY_NOT_ALLOWED - - - Constant MediaSourceNotStarted. - MF_E_MEDIA_SOURCE_NOT_STARTED - - - Constant UnsupportedFormat. - MF_E_UNSUPPORTED_FORMAT - - - Constant Mp3BadCrc. - MF_E_MP3_BAD_CRC - - - Constant NotProtected. - MF_E_NOT_PROTECTED - - - Constant MediaSourceWrongState. - MF_E_MEDIA_SOURCE_WRONGSTATE - - - Constant MediaSourceNoStreamsSelected. - MF_E_MEDIA_SOURCE_NO_STREAMS_SELECTED - - - Constant CannotFindKeyframeSample. - MF_E_CANNOT_FIND_KEYFRAME_SAMPLE - - - Constant UnsupportedCharacteristics. - MF_E_UNSUPPORTED_CHARACTERISTICS - - - Constant NoAudioRecordingDevice. - MF_E_NO_AUDIO_RECORDING_DEVICE - - - Constant AudioRecordingDeviceInUse. - MF_E_AUDIO_RECORDING_DEVICE_IN_USE - - - Constant AudioRecordingDeviceInvalidated. - MF_E_AUDIO_RECORDING_DEVICE_INVALIDATED - - - Constant VideoRecordingDeviceInvalidated. - MF_E_VIDEO_RECORDING_DEVICE_INVALIDATED - - - Constant VideoRecordingDevicePreempted. - MF_E_VIDEO_RECORDING_DEVICE_PREEMPTED - - - Constant NetworkResourceFailure. - MF_E_NETWORK_RESOURCE_FAILURE - - - Constant NetWrite. - MF_E_NET_WRITE - - - Constant NetRead. - MF_E_NET_READ - - - Constant NetRequireNetwork. - MF_E_NET_REQUIRE_NETWORK - - - Constant NetRequireAsync. - MF_E_NET_REQUIRE_ASYNC - - - Constant NetBwlevelNotSupported. - MF_E_NET_BWLEVEL_NOT_SUPPORTED - - - Constant NetStreamGroupsNotSupported. - MF_E_NET_STREAMGROUPS_NOT_SUPPORTED - - - Constant NetManualssNotSupported. - MF_E_NET_MANUALSS_NOT_SUPPORTED - - - Constant NetInvalidPresentationDescriptor. - MF_E_NET_INVALID_PRESENTATION_DESCRIPTOR - - - Constant NetCachestreamNotFound. - MF_E_NET_CACHESTREAM_NOT_FOUND - - - Constant NetRequireInput. - MF_E_NET_REQUIRE_INPUT - - - Constant NetRedirect. - MF_E_NET_REDIRECT - - - Constant NetRedirectToProxy. - MF_E_NET_REDIRECT_TO_PROXY - - - Constant NetTooManyRedirects. - MF_E_NET_TOO_MANY_REDIRECTS - - - Constant NetTimeout. - MF_E_NET_TIMEOUT - - - Constant NetClientClose. - MF_E_NET_CLIENT_CLOSE - - - Constant NetBadControlData. - MF_E_NET_BAD_CONTROL_DATA - - - Constant NetIncompatibleServer. - MF_E_NET_INCOMPATIBLE_SERVER - - - Constant NetUnsafeUrl. - MF_E_NET_UNSAFE_URL - - - Constant NetCacheNoData. - MF_E_NET_CACHE_NO_DATA - - - Constant NetEol. - MF_E_NET_EOL - - - Constant NetBadRequest. - MF_E_NET_BAD_REQUEST - - - Constant NetInternalServerError. - MF_E_NET_INTERNAL_SERVER_ERROR - - - Constant NetSessionNotFound. - MF_E_NET_SESSION_NOT_FOUND - - - Constant NetNoconnection. - MF_E_NET_NOCONNECTION - - - Constant NetConnectionFailure. - MF_E_NET_CONNECTION_FAILURE - - - Constant NetIncompatiblePushserver. - MF_E_NET_INCOMPATIBLE_PUSHSERVER - - - Constant NetServerAccessDenied. - MF_E_NET_SERVER_ACCESSDENIED - - - Constant NetProxyAccessDenied. - MF_E_NET_PROXY_ACCESSDENIED - - - Constant NetCannotconnect. - MF_E_NET_CANNOTCONNECT - - - Constant NetInvalidPushTemplate. - MF_E_NET_INVALID_PUSH_TEMPLATE - - - Constant NetInvalidPushPublishingPoint. - MF_E_NET_INVALID_PUSH_PUBLISHING_POINT - - - Constant NetBusy. - MF_E_NET_BUSY - - - Constant NetResourceGone. - MF_E_NET_RESOURCE_GONE - - - Constant NetErrorFromProxy. - MF_E_NET_ERROR_FROM_PROXY - - - Constant NetProxyTimeout. - MF_E_NET_PROXY_TIMEOUT - - - Constant NetServerUnavailable. - MF_E_NET_SERVER_UNAVAILABLE - - - Constant NetTooMuchData. - MF_E_NET_TOO_MUCH_DATA - - - Constant NetSessionInvalid. - MF_E_NET_SESSION_INVALID - - - Constant OfflineMode. - MF_E_OFFLINE_MODE - - - Constant NetUdpBlocked. - MF_E_NET_UDP_BLOCKED - - - Constant NetUnsupportedConfiguration. - MF_E_NET_UNSUPPORTED_CONFIGURATION - - - Constant NetProtocolDisabled. - MF_E_NET_PROTOCOL_DISABLED - - - Constant NetCompanionDriverDisconnect. - MF_E_NET_COMPANION_DRIVER_DISCONNECT - - - Constant AlreadyInitializeD. - MF_E_ALREADY_INITIALIZED - - - Constant BandwidthOverrun. - MF_E_BANDWIDTH_OVERRUN - - - Constant LateSample. - MF_E_LATE_SAMPLE - - - Constant FlushNeeded. - MF_E_FLUSH_NEEDED - - - Constant InvalidProfile. - MF_E_INVALID_PROFILE - - - Constant IndexNotCommitted. - MF_E_INDEX_NOT_COMMITTED - - - Constant NoIndex. - MF_E_NO_INDEX - - - Constant CannotIndexInPlace. - MF_E_CANNOT_INDEX_IN_PLACE - - - Constant MissingAsfLeakybucket. - MF_E_MISSING_ASF_LEAKYBUCKET - - - Constant InvalidAsfStreamId. - MF_E_INVALID_ASF_STREAMID - - - Constant StreamsInkRemoved. - MF_E_STREAMSINK_REMOVED - - - Constant StreamsInksOutOfSync. - MF_E_STREAMSINKS_OUT_OF_SYNC - - - Constant StreamsInksFixed. - MF_E_STREAMSINKS_FIXED - - - Constant StreamsInkExists. - MF_E_STREAMSINK_EXISTS - - - Constant SampleallocatorCanceled. - MF_E_SAMPLEALLOCATOR_CANCELED - - - Constant SampleallocatorEmpty. - MF_E_SAMPLEALLOCATOR_EMPTY - - - Constant SinkAlreadystopped. - MF_E_SINK_ALREADYSTOPPED - - - Constant AsfFilesinkBitRateUnknown. - MF_E_ASF_FILESINK_BITRATE_UNKNOWN - - - Constant SinkNoStreams. - MF_E_SINK_NO_STREAMS - - - Constant MetadataTooLong. - MF_E_METADATA_TOO_LONG - - - Constant SinkNoSamplesProcessed. - MF_E_SINK_NO_SAMPLES_PROCESSED - - - Constant SinkHeadersNotFound. - MF_E_SINK_HEADERS_NOT_FOUND - - - Constant VideoRenNoProcampHw. - MF_E_VIDEO_REN_NO_PROCAMP_HW - - - Constant VideoRenNoDeinterlaceHw. - MF_E_VIDEO_REN_NO_DEINTERLACE_HW - - - Constant VideoRenCopyProtFailed. - MF_E_VIDEO_REN_COPYPROT_FAILED - - - Constant VideoRenSurfaceNotShared. - MF_E_VIDEO_REN_SURFACE_NOT_SHARED - - - Constant VideoDeviceLocked. - MF_E_VIDEO_DEVICE_LOCKED - - - Constant NewVideoDevice. - MF_E_NEW_VIDEO_DEVICE - - - Constant NoVideoSampleAvailable. - MF_E_NO_VIDEO_SAMPLE_AVAILABLE - - - Constant NoAudioPlaybackDevice. - MF_E_NO_AUDIO_PLAYBACK_DEVICE - - - Constant AudioPlaybackDeviceInUse. - MF_E_AUDIO_PLAYBACK_DEVICE_IN_USE - - - Constant AudioPlaybackDeviceInvalidated. - MF_E_AUDIO_PLAYBACK_DEVICE_INVALIDATED - - - Constant AudioServiceNotRunning. - MF_E_AUDIO_SERVICE_NOT_RUNNING - - - Constant TopoInvalidOptionalNode. - MF_E_TOPO_INVALID_OPTIONAL_NODE - - - Constant TopoCannotFindDecrementYptor. - MF_E_TOPO_CANNOT_FIND_DECRYPTOR - - - Constant TopoCodecNotFound. - MF_E_TOPO_CODEC_NOT_FOUND - - - Constant TopoCannotConnect. - MF_E_TOPO_CANNOT_CONNECT - - - Constant TopoUnsupported. - MF_E_TOPO_UNSUPPORTED - - - Constant TopoInvalidTimeAttributes. - MF_E_TOPO_INVALID_TIME_ATTRIBUTES - - - Constant TopoLoopsInTopology. - MF_E_TOPO_LOOPS_IN_TOPOLOGY - - - Constant TopoMissingPresentationDescriptor. - MF_E_TOPO_MISSING_PRESENTATION_DESCRIPTOR - - - Constant TopoMissingStreamDescriptor. - MF_E_TOPO_MISSING_STREAM_DESCRIPTOR - - - Constant TopoStreamDescriptorNotSelected. - MF_E_TOPO_STREAM_DESCRIPTOR_NOT_SELECTED - - - Constant TopoMissingSource. - MF_E_TOPO_MISSING_SOURCE - - - Constant TopoSinkActivatesUnsupported. - MF_E_TOPO_SINK_ACTIVATES_UNSUPPORTED - - - Constant SequencerUnknownSegmentId. - MF_E_SEQUENCER_UNKNOWN_SEGMENT_ID - - - Constant NoSourceInCache. - MF_E_NO_SOURCE_IN_CACHE - - - Constant TransformTypeNotSet. - MF_E_TRANSFORM_TYPE_NOT_SET - - - Constant TransformStreamChange. - MF_E_TRANSFORM_STREAM_CHANGE - - - Constant TransformInputRemaining. - MF_E_TRANSFORM_INPUT_REMAINING - - - Constant TransformProfileMissing. - MF_E_TRANSFORM_PROFILE_MISSING - - - Constant TransformProfileInvalidOrCorrupt. - MF_E_TRANSFORM_PROFILE_INVALID_OR_CORRUPT - - - Constant TransformProfileTruncated. - MF_E_TRANSFORM_PROFILE_TRUNCATED - - - Constant TransformPropertyPidNotRecognized. - MF_E_TRANSFORM_PROPERTY_PID_NOT_RECOGNIZED - - - Constant TransformPropertyVariantTypeWrong. - MF_E_TRANSFORM_PROPERTY_VARIANT_TYPE_WRONG - - - Constant TransformPropertyNotWriteAble. - MF_E_TRANSFORM_PROPERTY_NOT_WRITEABLE - - - Constant TransformPropertyArrayValueWrongNumDim. - MF_E_TRANSFORM_PROPERTY_ARRAY_VALUE_WRONG_NUM_DIM - - - Constant TransformPropertyValueSizeWrong. - MF_E_TRANSFORM_PROPERTY_VALUE_SIZE_WRONG - - - Constant TransformPropertyValueOutOfRange. - MF_E_TRANSFORM_PROPERTY_VALUE_OUT_OF_RANGE - - - Constant TransformPropertyValueIncompatible. - MF_E_TRANSFORM_PROPERTY_VALUE_INCOMPATIBLE - - - Constant TransformNotPossibleForCurrentOutputMediaType. - MF_E_TRANSFORM_NOT_POSSIBLE_FOR_CURRENT_OUTPUT_MEDIATYPE - - - Constant TransformNotPossibleForCurrentInputMediaType. - MF_E_TRANSFORM_NOT_POSSIBLE_FOR_CURRENT_INPUT_MEDIATYPE - - - Constant TransformNotPossibleForCurrentMediaTypeCombination. - MF_E_TRANSFORM_NOT_POSSIBLE_FOR_CURRENT_MEDIATYPE_COMBINATION - - - Constant TransformConflictsWithOtherCurrentlyEnabledFeatures. - MF_E_TRANSFORM_CONFLICTS_WITH_OTHER_CURRENTLY_ENABLED_FEATURES - - - Constant TransformNeedMoreInput. - MF_E_TRANSFORM_NEED_MORE_INPUT - - - Constant TransformNotPossibleForCurrentSpkrConfig. - MF_E_TRANSFORM_NOT_POSSIBLE_FOR_CURRENT_SPKR_CONFIG - - - Constant TransformCannotChangeMediaTypeWhileProcessing. - MF_E_TRANSFORM_CANNOT_CHANGE_MEDIATYPE_WHILE_PROCESSING - - - Constant UnsupportedD3DType. - MF_E_UNSUPPORTED_D3D_TYPE - - - Constant TransformAsyncLocked. - MF_E_TRANSFORM_ASYNC_LOCKED - - - Constant TransformCannotInitializeAcmDriver. - MF_E_TRANSFORM_CANNOT_INITIALIZE_ACM_DRIVER - - - Constant TransformStreamInvalidResolution. - MF_E_TRANSFORM_STREAM_INVALID_RESOLUTION - - - Constant TransformAsyncMftNotSupported. - MF_E_TRANSFORM_ASYNC_MFT_NOT_SUPPORTED - - - Constant TransformExattributeNotSupported. - MF_E_TRANSFORM_EXATTRIBUTE_NOT_SUPPORTED - - - Constant LicenseIncorrectRights. - MF_E_LICENSE_INCORRECT_RIGHTS - - - Constant LicenseOufOfDate. - MF_E_LICENSE_OUTOFDATE - - - Constant LicenseRequired. - MF_E_LICENSE_REQUIRED - - - Constant DrmHardwareInconsistent. - MF_E_DRM_HARDWARE_INCONSISTENT - - - Constant NoContentProtectionManager. - MF_E_NO_CONTENT_PROTECTION_MANAGER - - - Constant LicenseRestoreNoRights. - MF_E_LICENSE_RESTORE_NO_RIGHTS - - - Constant BackupRestrictedLicense. - MF_E_BACKUP_RESTRICTED_LICENSE - - - Constant LicenseRestoreNeedsIndividualization. - MF_E_LICENSE_RESTORE_NEEDS_INDIVIDUALIZATION - - - Constant ComponentRevoked. - MF_E_COMPONENT_REVOKED - - - Constant TrustDisabled. - MF_E_TRUST_DISABLED - - - Constant WmdrmotaNoAction. - MF_E_WMDRMOTA_NO_ACTION - - - Constant WmdrmotaActionAlreadySet. - MF_E_WMDRMOTA_ACTION_ALREADY_SET - - - Constant WmdrmotaDrmHeaderNotAvailable. - MF_E_WMDRMOTA_DRM_HEADER_NOT_AVAILABLE - - - Constant WmdrmotaDrmEncryptionSchemeNotSupported. - MF_E_WMDRMOTA_DRM_ENCRYPTION_SCHEME_NOT_SUPPORTED - - - Constant WmdrmotaActionMismatch. - MF_E_WMDRMOTA_ACTION_MISMATCH - - - Constant WmdrmotaInvalidPolicy. - MF_E_WMDRMOTA_INVALID_POLICY - - - Constant PolicyUnsupported. - MF_E_POLICY_UNSUPPORTED - - - Constant OperationLNotSupported. - MF_E_OPL_NOT_SUPPORTED - - - Constant TopologyVerificationFailed. - MF_E_TOPOLOGY_VERIFICATION_FAILED - - - Constant SignatureVerificationFailed. - MF_E_SIGNATURE_VERIFICATION_FAILED - - - Constant DebuggingNotAllowEd. - MF_E_DEBUGGING_NOT_ALLOWED - - - Constant CodeExpired. - MF_E_CODE_EXPIRED - - - Constant GrlVersionTooLow. - MF_E_GRL_VERSION_TOO_LOW - - - Constant GrlRenewalNotFound. - MF_E_GRL_RENEWAL_NOT_FOUND - - - Constant GrlExtensibleEntryNotFound. - MF_E_GRL_EXTENSIBLE_ENTRY_NOT_FOUND - - - Constant KernelUntrusted. - MF_E_KERNEL_UNTRUSTED - - - Constant PeauthUntrusted. - MF_E_PEAUTH_UNTRUSTED - - - Constant NonPeProcess. - MF_E_NON_PE_PROCESS - - - Constant RebootRequired. - MF_E_REBOOT_REQUIRED - - - Constant GrlInvalidFormat. - MF_E_GRL_INVALID_FORMAT - - - Constant GrlUnrecognizedFormat. - MF_E_GRL_UNRECOGNIZED_FORMAT - - - Constant AllProcessRestartRequired. - MF_E_ALL_PROCESS_RESTART_REQUIRED - - - Constant ProcessRestartRequired. - MF_E_PROCESS_RESTART_REQUIRED - - - Constant UsermodeUntrusted. - MF_E_USERMODE_UNTRUSTED - - - Constant PeauthSessionNotStarted. - MF_E_PEAUTH_SESSION_NOT_STARTED - - - Constant PeauthPublickeyRevoked. - MF_E_PEAUTH_PUBLICKEY_REVOKED - - - Constant GrlAbsent. - MF_E_GRL_ABSENT - - - Constant PeUntrusted. - MF_E_PE_UNTRUSTED - - - Constant PeauthNotStarted. - MF_E_PEAUTH_NOT_STARTED - - - Constant IncompatibleSampleProtection. - MF_E_INCOMPATIBLE_SAMPLE_PROTECTION - - - Constant PeSessionsMaximumEd. - MF_E_PE_SESSIONS_MAXED - - - Constant HighSecurityLevelContentNotAllowEd. - MF_E_HIGH_SECURITY_LEVEL_CONTENT_NOT_ALLOWED - - - Constant TestSignedComponentsNotAllowEd. - MF_E_TEST_SIGNED_COMPONENTS_NOT_ALLOWED - - - Constant ItaUnsupportedAction. - MF_E_ITA_UNSUPPORTED_ACTION - - - Constant ItaErrorParsingSapParameters. - MF_E_ITA_ERROR_PARSING_SAP_PARAMETERS - - - Constant PolicyMgrActionOufOfBounds. - MF_E_POLICY_MGR_ACTION_OUTOFBOUNDS - - - Constant BadOperationLStructureFormat. - MF_E_BAD_OPL_STRUCTURE_FORMAT - - - Constant ItaUnrecognizedAnalogVideoProtectionGuid. - MF_E_ITA_UNRECOGNIZED_ANALOG_VIDEO_PROTECTION_GUID - - - Constant NoPmpHost. - MF_E_NO_PMP_HOST - - - Constant ItaOperationLDataNotInitializeD. - MF_E_ITA_OPL_DATA_NOT_INITIALIZED - - - Constant ItaUnrecognizedAnalogVideoOutput. - MF_E_ITA_UNRECOGNIZED_ANALOG_VIDEO_OUTPUT - - - Constant ItaUnrecognizedDigitalVideoOutput. - MF_E_ITA_UNRECOGNIZED_DIGITAL_VIDEO_OUTPUT - - - Constant ResolutionRequiresPmpCreationCallback. - MF_E_RESOLUTION_REQUIRES_PMP_CREATION_CALLBACK - - - Constant InvalidAkeChannelParameters. - MF_E_INVALID_AKE_CHANNEL_PARAMETERS - - - Constant ContentProtectionSystemNotEnabled. - MF_E_CONTENT_PROTECTION_SYSTEM_NOT_ENABLED - - - Constant UnsupportedContentProtectionSystem. - MF_E_UNSUPPORTED_CONTENT_PROTECTION_SYSTEM - - - Constant DrmMigrationNotSupported. - MF_E_DRM_MIGRATION_NOT_SUPPORTED - - - Constant HdcpAuthenticationFailure. - MF_E_HDCP_AUTHENTICATION_FAILURE - - - Constant HdcpLinkFailure. - MF_E_HDCP_LINK_FAILURE - - - Constant ClockInvalidContinuityKey. - MF_E_CLOCK_INVALID_CONTINUITY_KEY - - - Constant ClockNoTimeSource. - MF_E_CLOCK_NO_TIME_SOURCE - - - Constant ClockStateAlreadySet. - MF_E_CLOCK_STATE_ALREADY_SET - - - Constant ClockNotSimple. - MF_E_CLOCK_NOT_SIMPLE - - - Constant NoMoreDropModes. - MF_E_NO_MORE_DROP_MODES - - - Constant NoMoreQualityLevels. - MF_E_NO_MORE_QUALITY_LEVELS - - - Constant DroptimeNotSupported. - MF_E_DROPTIME_NOT_SUPPORTED - - - Constant QualityknobWaitLonger. - MF_E_QUALITYKNOB_WAIT_LONGER - - - Constant QmInvalidState. - MF_E_QM_INVALIDSTATE - - - Constant TranscodeNoContainertype. - MF_E_TRANSCODE_NO_CONTAINERTYPE - - - Constant TranscodeProfileNoMatchingStreams. - MF_E_TRANSCODE_PROFILE_NO_MATCHING_STREAMS - - - Constant TranscodeNoMatchingEncoder. - MF_E_TRANSCODE_NO_MATCHING_ENCODER - - - Constant TranscodeInvalidProfile. - MF_E_TRANSCODE_INVALID_PROFILE - - - Constant AllOcatorNotInitializeD. - MF_E_ALLOCATOR_NOT_INITIALIZED - - - Constant AllOcatorNotCommited. - MF_E_ALLOCATOR_NOT_COMMITED - - - Constant AllOcatorAlreadyCommited. - MF_E_ALLOCATOR_ALREADY_COMMITED - - - Constant StreamError. - MF_E_STREAM_ERROR - - - Constant InvalidStreamState. - MF_E_INVALID_STREAM_STATE - - - Constant HwStreamNotConnected. - MF_E_HW_STREAM_NOT_CONNECTED - - - Constant NoCaptureDevicesAvailable. - MF_E_NO_CAPTURE_DEVICES_AVAILABLE - - - Constant CaptureSinkOutputNotSet. - MF_E_CAPTURE_SINK_OUTPUT_NOT_SET - - - Constant CaptureSinkMirrorError. - MF_E_CAPTURE_SINK_MIRROR_ERROR - - - Constant CaptureSinkRotateError. - MF_E_CAPTURE_SINK_ROTATE_ERROR - - - Constant CaptureEngineInvalidOperation. - MF_E_CAPTURE_ENGINE_INVALID_OP - - - Constant CaptureEngineAllEffectsRemoved. - MF_E_CAPTURE_ENGINE_ALL_EFFECTS_REMOVED - - - Constant CaptureSourceNoIndependentPhotoStreamPresent. - MF_E_CAPTURE_SOURCE_NO_INDEPENDENT_PHOTO_STREAM_PRESENT - - - Constant CaptureSourceNoVideoStreamPresent. - MF_E_CAPTURE_SOURCE_NO_VIDEO_STREAM_PRESENT - - - Constant CaptureSourceNoAudioStreamPresent. - MF_E_CAPTURE_SOURCE_NO_AUDIO_STREAM_PRESENT - - - Constant CaptureSourceDeviceExtendedpropOperationInProgress. - MF_E_CAPTURE_SOURCE_DEVICE_EXTENDEDPROP_OP_IN_PROGRESS - - - Constant CapturePropertySetDuringPhoto. - MF_E_CAPTURE_PROPERTY_SET_DURING_PHOTO - - - Constant CaptureNoSamplesInQueue. - MF_E_CAPTURE_NO_SAMPLES_IN_QUEUE - - - Constant HwAcceleratedThumbnailNotSupported. - MF_E_HW_ACCELERATED_THUMBNAIL_NOT_SUPPORTED - - - Constant UnsupportedCaptureDevicePresent. - MF_E_UNSUPPORTED_CAPTURE_DEVICE_PRESENT - - - Constant TimelinecontrollerUnsupportedSourceType. - MF_E_TIMELINECONTROLLER_UNSUPPORTED_SOURCE_TYPE - - - Constant TimelinecontrollerNotAllowEd. - MF_E_TIMELINECONTROLLER_NOT_ALLOWED - - - Constant TimelinecontrollerCannotAttach. - MF_E_TIMELINECONTROLLER_CANNOT_ATTACH - - - Constant MediaExtensionAppserviceConnectionFailed. - MF_E_MEDIA_EXTENSION_APPSERVICE_CONNECTION_FAILED - - - Constant MediaExtensionAppserviceRequestFailed. - MF_E_MEDIA_EXTENSION_APPSERVICE_REQUEST_FAILED - - - Constant MediaExtensionPackageIntegrityCheckFailed. - MF_E_MEDIA_EXTENSION_PACKAGE_INTEGRITY_CHECK_FAILED - - - Constant MediaExtensionPackageLicenseInvalid. - MF_E_MEDIA_EXTENSION_PACKAGE_LICENSE_INVALID - - - - Functions - - - - - Constant Video3D. - MFSampleExtension_3DVideo - - - Constant Video3DSampleFormat. - MFSampleExtension_3DVideo_SampleFormat - - - Constant BottomFieldFirst. - MFSampleExtension_BottomFieldFirst - - - Constant CleanPoint. - MFSampleExtension_CleanPoint - - - Constant DecodeTimestamp. - MFSampleExtension_DecodeTimestamp - - - Constant DerivedFromTopField. - MFSampleExtension_DerivedFromTopField - - - Constant DeviceTimestamp. - MFSampleExtension_DeviceTimestamp - - - Constant Discontinuity. - MFSampleExtension_Discontinuity - - - Constant FrameCorruption. - MFSampleExtension_FrameCorruption - - - Constant Interlaced. - MFSampleExtension_Interlaced - - - Constant PacketCrossOffsets. - MFSampleExtension_PacketCrossOffsets - - - Constant RepeatFirstField. - MFSampleExtension_RepeatFirstField - - - Constant SingleField. - MFSampleExtension_SingleField - - - Constant Token. - MFSampleExtension_Token - - - Constant VideoEncodePictureType. - MFSampleExtension_VideoEncodePictureType - - - Constant VideoEncodeQP. - MFSampleExtension_VideoEncodeQP - - - Constant DescrambleData. - MFSampleExtension_DescrambleData - - - Constant SampleKeyID. - MFSampleExtension_SampleKeyID - - - Constant GenKeyFunc. - MFSampleExtension_GenKeyFunc - - - Constant GenKeyCtx. - MFSampleExtension_GenKeyCtx - - - - Functions - - - - - Constant IgnoreClock. - MF_SAMPLEGRABBERSINK_IGNORE_CLOCK - - - Constant SampleTimeOffset. - MF_SAMPLEGRABBERSINK_SAMPLE_TIME_OFFSET - - - - Functions - - - - - Constant LowLatency. - MF_LOW_LATENCY - - - Constant ReadwriteD3DOptional. - MF_READWRITE_D3D_OPTIONAL - - - Constant ReadwriteDisableConverters. - MF_READWRITE_DISABLE_CONVERTERS - - - Constant ReadwriteEnableHardwareTransforms. - MF_READWRITE_ENABLE_HARDWARE_TRANSFORMS - - - Constant ReadwriteMmcssClass. - MF_READWRITE_MMCSS_CLASS - - - Constant ReadwriteMmcssClassAudio. - MF_READWRITE_MMCSS_CLASS_AUDIO - - - Constant ReadwriteMmcssPriority. - MF_READWRITE_MMCSS_PRIORITY - - - Constant ReadwriteMmcssPriorityAudio. - MF_READWRITE_MMCSS_PRIORITY_AUDIO - - - Constant AsyncCallback. - MF_SINK_WRITER_ASYNC_CALLBACK - - - Constant D3DManager. - MF_SINK_WRITER_D3D_MANAGER - - - Constant DisableThrottling. - MF_SINK_WRITER_DISABLE_THROTTLING - - - Constant EncoderConfig. - MF_SINK_WRITER_ENCODER_CONFIG - - - - Functions - - - - - Constant AsyncCallback. - MF_SOURCE_READER_ASYNC_CALLBACK - - - Constant D3DManager. - MF_SOURCE_READER_D3D_MANAGER - - - Constant DisableCameraPlugins. - MF_SOURCE_READER_DISABLE_CAMERA_PLUGINS - - - Constant DisableDxva. - MF_SOURCE_READER_DISABLE_DXVA - - - Constant DisconnectMediasourceOnShutdown. - MF_SOURCE_READER_DISCONNECT_MEDIASOURCE_ON_SHUTDOWN - - - Constant EnableAdvancedVideoProcessing. - MF_SOURCE_READER_ENABLE_ADVANCED_VIDEO_PROCESSING - - - Constant EnableTranscodeOnlyTransforms. - MF_SOURCE_READER_ENABLE_TRANSCODE_ONLY_TRANSFORMS - - - Constant EnableVideoProcessing. - MF_SOURCE_READER_ENABLE_VIDEO_PROCESSING - - - Constant MediaSourceCharacteristics. - MF_SOURCE_READER_MEDIASOURCE_CHARACTERISTICS - - - Constant MediaSourceConfig. - MF_SOURCE_READER_MEDIASOURCE_CONFIG - - - - Functions - - - - - Constant AsfExtstrmpropAvgBuffersize. - MF_SD_ASF_EXTSTRMPROP_AVG_BUFFERSIZE - - - Constant AsfExtstrmpropAvgDataBitrate. - MF_SD_ASF_EXTSTRMPROP_AVG_DATA_BITRATE - - - Constant AsfExtstrmpropLanguageIdIndex. - MF_SD_ASF_EXTSTRMPROP_LANGUAGE_ID_INDEX - - - Constant AsfExtstrmpropMaxBuffersize. - MF_SD_ASF_EXTSTRMPROP_MAX_BUFFERSIZE - - - Constant AsfExtstrmpropMaxDataBitrate. - MF_SD_ASF_EXTSTRMPROP_MAX_DATA_BITRATE - - - Constant AsfMetadataDeviceConformanceTemplate. - MF_SD_ASF_METADATA_DEVICE_CONFORMANCE_TEMPLATE - - - Constant AsfStreambitratesBitrate. - MF_SD_ASF_STREAMBITRATES_BITRATE - - - Constant Language. - MF_SD_LANGUAGE - - - Constant MutuallyExclusive. - MF_SD_MUTUALLY_EXCLUSIVE - - - Constant Protected. - MF_SD_PROTECTED - - - Constant SamiLanguage. - MF_SD_SAMI_LANGUAGE - - - Constant StreamName. - MF_SD_STREAM_NAME - - - - Functions - - - - - Constant DXVAMode. - MF_TOPOLOGY_DXVA_MODE - - - Constant DynamicChangeNotAllowed. - MF_TOPOLOGY_DYNAMIC_CHANGE_NOT_ALLOWED - - - Constant EnumerateSourceTypes. - MF_TOPOLOGY_ENUMERATE_SOURCE_TYPES - - - Constant HardwareMode. - MF_TOPOLOGY_HARDWARE_MODE - - - Constant NoMarkinMarkout. - MF_TOPOLOGY_NO_MARKIN_MARKOUT - - - Constant PlaybackFramerate. - MF_TOPOLOGY_PLAYBACK_FRAMERATE - - - Constant PlaybackMaxDimensions. - MF_TOPOLOGY_PLAYBACK_MAX_DIMS - - - Constant ProjectStart. - MF_TOPOLOGY_PROJECTSTART - - - Constant ProjectStop. - MF_TOPOLOGY_PROJECTSTOP - - - Constant ResolutionStatus. - MF_TOPOLOGY_RESOLUTION_STATUS - - - Constant StartTimeOnPresentationSwitch. - MF_TOPOLOGY_START_TIME_ON_PRESENTATION_SWITCH - - - Constant StaticPlaybackOptimizations. - MF_TOPOLOGY_STATIC_PLAYBACK_OPTIMIZATIONS - - - - Functions - - - - - Constant ConnectMethod. - MF_TOPONODE_CONNECT_METHOD - - - Constant D3DAWARE. - MF_TOPONODE_D3DAWARE - - - Constant Decoder. - MF_TOPONODE_DECODER - - - Constant Decryptor. - MF_TOPONODE_DECRYPTOR - - - Constant DisablePreroll. - MF_TOPONODE_DISABLE_PREROLL - - - Constant Discardable. - MF_TOPONODE_DISCARDABLE - - - Constant Drain. - MF_TOPONODE_DRAIN - - - Constant ErrorMajortype. - MF_TOPONODE_ERROR_MAJORTYPE - - - Constant ErrorSubtype. - MF_TOPONODE_ERROR_SUBTYPE - - - Constant Errorcode. - MF_TOPONODE_ERRORCODE - - - Constant Flush. - MF_TOPONODE_FLUSH - - - Constant Locked. - MF_TOPONODE_LOCKED - - - Constant MarkinHere. - MF_TOPONODE_MARKIN_HERE - - - Constant MarkoutHere. - MF_TOPONODE_MARKOUT_HERE - - - Constant Mediastart. - MF_TOPONODE_MEDIASTART - - - Constant Mediastop. - MF_TOPONODE_MEDIASTOP - - - Constant NoshutdownOnRemove. - MF_TOPONODE_NOSHUTDOWN_ON_REMOVE - - - Constant PresentationDescriptor. - MF_TOPONODE_PRESENTATION_DESCRIPTOR - - - Constant Primaryoutput. - MF_TOPONODE_PRIMARYOUTPUT - - - Constant Rateless. - MF_TOPONODE_RATELESS - - - Constant SequenceElementid. - MF_TOPONODE_SEQUENCE_ELEMENTID - - - Constant Source. - MF_TOPONODE_SOURCE - - - Constant StreamDescriptor. - MF_TOPONODE_STREAM_DESCRIPTOR - - - Constant Streamid. - MF_TOPONODE_STREAMID - - - Constant TransformObjectid. - MF_TOPONODE_TRANSFORM_OBJECTID - - - Constant WorkqueueId. - MF_TOPONODE_WORKQUEUE_ID - - - Constant WorkqueueItemPriority. - MF_TOPONODE_WORKQUEUE_ITEM_PRIORITY - - - Constant WorkqueueMmcssClass. - MF_TOPONODE_WORKQUEUE_MMCSS_CLASS - - - Constant WorkqueueMmcssPriority. - MF_TOPONODE_WORKQUEUE_MMCSS_PRIORITY - - - Constant WorkqueueMmcssTaskid. - MF_TOPONODE_WORKQUEUE_MMCSS_TASKID - - - - Functions - - - - - Constant TranscodeAdjustProfile. - MF_TRANSCODE_ADJUST_PROFILE - - - Constant TranscodeContainertype. - MF_TRANSCODE_CONTAINERTYPE - - - Constant TranscodeDonotInsertEncoder. - MF_TRANSCODE_DONOT_INSERT_ENCODER - - - Constant TranscodeEncodingprofile. - MF_TRANSCODE_ENCODINGPROFILE - - - Constant TranscodeQualityvsspeed. - MF_TRANSCODE_QUALITYVSSPEED - - - Constant TranscodeSkipMetadataTransfer. - MF_TRANSCODE_SKIP_METADATA_TRANSFER - - - Constant TranscodeTopologymode. - MF_TRANSCODE_TOPOLOGYMODE - - - - Functions - - - - - Constant Asf. - MFTranscodeContainerType_ASF - - - Constant Mpeg4. - MFTranscodeContainerType_MPEG4 - - - Constant Mp3. - MFTranscodeContainerType_MP3 - - - Constant Flac. - MFTranscodeContainerType_FLAC - - - Constant Ac3. - MFTranscodeContainerType_AC3 - - - Constant Adts. - MFTranscodeContainerType_ADTS - - - Constant Mpeg2. - MFTranscodeContainerType_MPEG2 - - - Constant Wave. - MFTranscodeContainerType_WAVE - - - Constant Avi. - MFTranscodeContainerType_AVI - - - Constant Fmpeg4. - MFTranscodeContainerType_FMPEG4 - - - Constant Amr. - MFTranscodeContainerType_AMR - - - Constant Mobile3gp. - MFTranscodeContainerType_3GP - - - - Functions - - - - - Constant ActivateMftLocked. - MF_ACTIVATE_MFT_LOCKED - - - Constant DisableLocallyRegisteredPlugins. - MF_DISABLE_LOCALLY_REGISTERED_PLUGINS - - - Constant Enable3dvideoOutput. - MF_ENABLE_3DVIDEO_OUTPUT - - - Constant BuffersPerSample. - MF_SA_BUFFERS_PER_SAMPLE - - - Constant D3DAware. - MF_SA_D3D_AWARE - - - Constant D3D11Aware. - MF_SA_D3D11_AWARE - - - Constant D3D11Bindflags. - MF_SA_D3D11_BINDFLAGS - - - Constant D3D11Usage. - MF_SA_D3D11_USAGE - - - Constant TransformAsync. - MF_TRANSFORM_ASYNC - - - Constant TransformAsyncUnlock. - MF_TRANSFORM_ASYNC_UNLOCK - - - Constant TransformCategoryAttribute. - MF_TRANSFORM_CATEGORY_Attribute - - - Constant TransformFlagsAttribute. - MF_TRANSFORM_FLAGS_Attribute - - - Constant MftCodecMeritAttribute. - MFT_CODEC_MERIT_Attribute - - - Constant MftConnectedStreamAttribute. - MFT_CONNECTED_STREAM_ATTRIBUTE - - - Constant MftConnectedToHwStream. - MFT_CONNECTED_TO_HW_STREAM - - - Constant MftDecoderExposeOutputTypesInNativeOrder. - MFT_DECODER_EXPOSE_OUTPUT_TYPES_IN_NATIVE_ORDER - - - Constant MftDecoderFinalVideoResolutionHint. - MFT_DECODER_FINAL_VIDEO_RESOLUTION_HINT - - - Constant MftEnumHardwareUrlAttribute. - MFT_ENUM_HARDWARE_URL_Attribute - - - Constant MftEnumHardwareVendorIdAttribute. - MFT_ENUM_HARDWARE_VENDOR_ID_Attribute - - - Constant MftEnumTranscodeOnlyAttribute. - MFT_ENUM_TRANSCODE_ONLY_ATTRIBUTE - - - Constant MftFieldofuseUnlockAttribute. - MFT_FIELDOFUSE_UNLOCK_Attribute - - - Constant MftFriendlyNameAttribute. - MFT_FRIENDLY_NAME_Attribute - - - Constant MftHwTimestampWithQpcAttribute. - MFT_HW_TIMESTAMP_WITH_QPC_Attribute - - - Constant MftInputTypesAttributes. - MFT_INPUT_TYPES_Attributes - - - Constant MftOutputTypesAttributes. - MFT_OUTPUT_TYPES_Attributes - - - Constant MftPreferredEncoderProfile. - MFT_PREFERRED_ENCODER_PROFILE - - - Constant MftPreferredOutputtypeAttribute. - MFT_PREFERRED_OUTPUTTYPE_Attribute - - - Constant MftProcessLocalAttribute. - MFT_PROCESS_LOCAL_Attribute - - - Constant MftSupport3dvideo. - MFT_SUPPORT_3DVIDEO - - - Constant MftSupportDynamicFormatChange. - MFT_SUPPORT_DYNAMIC_FORMAT_CHANGE - - - Constant MftTransformClsidAttribute. - MFT_TRANSFORM_CLSID_Attribute - - - - Functions - - - - - Constant VideoDecoder. - MFT_CATEGORY_VIDEO_DECODER - - - Constant VideoEncoder. - MFT_CATEGORY_VIDEO_ENCODER - - - Constant VideoEffect. - MFT_CATEGORY_VIDEO_EFFECT - - - Constant Multiplexer. - MFT_CATEGORY_MULTIPLEXER - - - Constant Demultiplexer. - MFT_CATEGORY_DEMULTIPLEXER - - - Constant AudioDecoder. - MFT_CATEGORY_AUDIO_DECODER - - - Constant AudioEncoder. - MFT_CATEGORY_AUDIO_ENCODER - - - Constant AudioEffect. - MFT_CATEGORY_AUDIO_EFFECT - - - Constant VideoProcessor. - MFT_CATEGORY_VIDEO_PROCESSOR - - - Constant Other. - MFT_CATEGORY_OTHER - - - Constant Encryptor. - MFT_CATEGORY_ENCRYPTOR - - - - Functions - - - - - Constant Base. - MFVideoFormat_Base - - - Constant Rgb32. - MFVideoFormat_RGB32 - - - Constant Argb32. - MFVideoFormat_ARGB32 - - - Constant Rgb24. - MFVideoFormat_RGB24 - - - Constant Rgb555. - MFVideoFormat_RGB555 - - - Constant Rgb565. - MFVideoFormat_RGB565 - - - Constant Rgb8. - MFVideoFormat_RGB8 - - - Constant L8. - MFVideoFormat_L8 - - - Constant L16. - MFVideoFormat_L16 - - - Constant D16. - MFVideoFormat_D16 - - - Constant A2R10G10B10. - MFVideoFormat_A2R10G10B10 - - - Constant A16B16G16R16F. - MFVideoFormat_A16B16G16R16F - - - Constant H264Es. - MFVideoFormat_H264_ES - - - Constant Mpeg2. - MFVideoFormat_MPEG2 - - - Constant H264Hdcp. - MFVideoFormat_H264_HDCP - - - Constant HevcHdcp. - MFVideoFormat_HEVC_HDCP - - - Constant BaseHdcp. - MFVideoFormat_Base_HDCP - - - - Returns a standard Media foundation GUID format from a FourCC input - - FourCC input - Media foundation unique ID - - - -

Uses profile data from a profile object to configure settings in the ContentInfo object.

-
- -

If there is already information in the ContentInfo object when this method is called, it is replaced by the information from the profile object.

-
- - ms699846 - IMFASFContentInfo - IMFASFContentInfo -
- - - Initializes a new instance of the 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 an Advanced Systems Format (ASF) profile that describes the ASF content.

-
- -

The profile is set by calling either or .

The ASF profile object returned by this method does not include any of the MF_PD_ASF_xxx attributes (see Presentation Descriptor Attributes). To get these attributes, do the following:

  1. Call to get the ASF presentation descriptor. You can query the presentation descriptor for the MF_PD_ASF_xxx attributes.

  2. (Optional.) Call to convert the presentation descriptor into an ASF profile. The profile object created by this function contains the MF_PD_ASF_xxx attributes.

An ASF profile is a template for file encoding, and is intended mainly for creating ASF content. If you are reading an existing ASF file, it is recommended that you use the presentation descriptor to get information about the file. One exception is that the profile contains the mutual exclusion and stream prioritization objects, which are not exposed directly from the presentation descriptor.

-
- - ms698931 - GetProfile / SetProfile - GetProfile - HRESULT IMFASFContentInfo::GetProfile([In] IMFASFProfile** ppIProfile) -
- - -

Retrieves the size of the header section of an Advanced Systems Format (ASF) file.

-
-

The interface of a buffer object containing the beginning of ASF content. The size of the valid data in the buffer must be at least MFASF_MIN_HEADER_BYTES in bytes.

-

Receives the size, in bytes, of the header section of the content. The value includes the size of the ASF Header Object plus the size of the header section of the Data Object. Therefore, the resulting value is the offset to the start of the data packets in the ASF Data Object.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The buffer does not contain valid ASF data.

The buffer does not contain enough valid data.

?

- -

The header of an ASF file or stream can be passed to the method to populate the ContentInfo object with the header information.

-
- - ms703043 - HRESULT IMFASFContentInfo::GetHeaderSize([In] IMFMediaBuffer* pIStartOfContent,[In] unsigned longlong* cbHeaderSize) - IMFASFContentInfo::GetHeaderSize -
- - -

Parses the information in an ASF header and uses that information to set values in the ContentInfo object. You can pass the entire header in a single buffer or send it in several pieces.

-
-

Pointer to the interface of a buffer object containing some or all of the header. The buffer must contain at least 30 bytes, which is the size of the Header Object, not including the objects contained in the Header Object (that is, everything up to and including the Reserved2 field in the Header Object).

-

Offset, in bytes, of the first byte in the buffer relative to the beginning of the header.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The header is completely parsed and validated.

The input buffer does not contain valid ASF data.

The input buffer is to small.

MF_S_ASF_PARSEINPROGRESS

The method succeeded, but the header passed was incomplete. This is the successful return code for all calls but the last one when passing the header in pieces.

?

- -

If you pass the header in pieces, the ContentInfo object will keep references to the buffer objects until the entire header is parsed. Therefore, do not write over the buffers passed into this method.

The start of the Header object has the following layout in memory:

Field NameSize in bytes
Object ID16
Object Size8
Number of Header Objects4
Reserved11
Reserved21

?

The first call to ParseHeader reads everything up to and including Rerserved2, so it requires a minimum of 30 bytes. (Note that the method reads only the Object ID and Object Size fields, so that method requires a minimum of 24 bytes.)

-
- - ms694306 - HRESULT IMFASFContentInfo::ParseHeader([In] IMFMediaBuffer* pIHeaderBuffer,[In] unsigned longlong cbOffsetWithinHeader) - IMFASFContentInfo::ParseHeader -
- - -

Encodes the data in the MFASFContentInfo object into a binary Advanced Systems Format (ASF) header.

-
-

A reference to the interface of the buffer object that will receive the encoded header. Set to null to retrieve the size of the header.

-

Size of the encoded ASF header in bytes. If pIHeader is null, this value is set to the buffer size required to hold the encoded header.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The ASF Header Objects do not exist for the media that the ContentInfo object holds reference to.

The ASF Header Object size exceeds 10 MB.

The buffer passed in pIHeader is not large enough to hold the ASF Header Object information.

?

- -

The size received in the pcbHeader parameter includes the padding size. The content information shrinks or expands the padding data depending on the size of the ASF Header Objects.

During this call, the stream properties are set based on the encoding properties of the profile. These properties are available through the interface.

-
- - ms701575 - HRESULT IMFASFContentInfo::GenerateHeader([In] IMFMediaBuffer* pIHeader,[In] unsigned int* pcbHeader) - IMFASFContentInfo::GenerateHeader -
- - -

Retrieves an Advanced Systems Format (ASF) profile that describes the ASF content.

-
-

Receives an interface reference. The caller must release the interface. If the object does not have an ASF profile, this parameter receives the value null.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

The profile is set by calling either or .

The ASF profile object returned by this method does not include any of the MF_PD_ASF_xxx attributes (see Presentation Descriptor Attributes). To get these attributes, do the following:

  1. Call to get the ASF presentation descriptor. You can query the presentation descriptor for the MF_PD_ASF_xxx attributes.

  2. (Optional.) Call to convert the presentation descriptor into an ASF profile. The profile object created by this function contains the MF_PD_ASF_xxx attributes.

An ASF profile is a template for file encoding, and is intended mainly for creating ASF content. If you are reading an existing ASF file, it is recommended that you use the presentation descriptor to get information about the file. One exception is that the profile contains the mutual exclusion and stream prioritization objects, which are not exposed directly from the presentation descriptor.

-
- - ms698931 - HRESULT IMFASFContentInfo::GetProfile([In] IMFASFProfile** ppIProfile) - IMFASFContentInfo::GetProfile -
- - -

Uses profile data from a profile object to configure settings in the ContentInfo object.

-
-

The interface of the profile object.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

If there is already information in the ContentInfo object when this method is called, it is replaced by the information from the profile object.

-
- - ms699846 - HRESULT IMFASFContentInfo::SetProfile([In] IMFASFProfile* pIProfile) - IMFASFContentInfo::SetProfile -
- - -

Creates a presentation descriptor for ASF content.

-
-

Receives a reference to the interface. The caller must release the interface.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - ms704860 - HRESULT IMFASFContentInfo::GeneratePresentationDescriptor([In] IMFPresentationDescriptor** ppIPresentationDescriptor) - IMFASFContentInfo::GeneratePresentationDescriptor -
- - -

Retrieves a property store that can be used to set encoding properties.

-
-

Stream number to configure. Set to zero to configure file-level encoding properties.

-

Receives a reference to the interface. The caller must release the interface.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - ms704750 - HRESULT IMFASFContentInfo::GetEncodingConfigurationPropertyStore([In] unsigned short wStreamNumber,[In] IPropertyStore** ppIStore) - IMFASFContentInfo::GetEncodingConfigurationPropertyStore -
- - -

Retrieves the flags that indicate the selected indexer options.

-
- -

You must call this method before initializing the indexer object with .

-
- - ms701578 - IMFASFIndexer - IMFASFIndexer -
- - - Initializes a new instance of the 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 indexer options.

-
-

Bitwise OR of zero or more flags from the MFASF_INDEXER_FLAGS enumeration specifying the indexer options to use.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The indexer object was initialized before setting flags for it. For more information, see Remarks.

?

- -

must be called before . Attempting to call SetFlags after Initialize will return as a result.

-
- - ms699840 - HRESULT IMFASFIndexer::SetFlags([In] unsigned int dwFlags) - IMFASFIndexer::SetFlags -
- - -

Retrieves the flags that indicate the selected indexer options.

-
-

Receives a bitwise OR of zero or more flags from the MFASF_INDEXER_FLAGS enumeration.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_INVALIDARG

pdwFlags is null.

?

- -

You must call this method before initializing the indexer object with .

-
- - ms701578 - HRESULT IMFASFIndexer::GetFlags([In] unsigned int* pdwFlags) - IMFASFIndexer::GetFlags -
- - -

Initializes the indexer object. This method reads information in a ContentInfo object about the configuration of the content and the properties of the existing index, if present. Use this method before using the indexer for either writing or reading an index. You must make this call before using any of the other methods of the interface.

-
- No documentation. -

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

Invalid ASF data.

Unexpected error.

?

- -

The indexer needs to examine the data in the ContentInfo object to properly write or read the index for the content. The indexer will not make changes to the content information and will not hold any references to the interface.

In the ASF header, the maximum data-packet size must equal the minimum data-packet size. Otherwise, the method returns .

-
- - ms703030 - HRESULT IMFASFIndexer::Initialize([In] IMFASFContentInfo* pIContentInfo) - IMFASFIndexer::Initialize -
- - -

Retrieves the offset of the index object from the start of the content.

-
-

Pointer to the interface of the ContentInfo object that describes the content.

-

Receives the offset of the index relative to the beginning of the content described by the ContentInfo object. This is the position relative to the beginning of the ASF file.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_INVALIDARG

pIContentInfo is null or pcbIndexOffset is null

?

- -

The index continues from the offset retrieved by this method to the end of the file.

You must call to set up the indexer before calling this method.

If the index is retrieved by using more than one call to , the position of individual index portions is equal to the index offset plus the offset of the portion within the index.

-
- - ms699858 - HRESULT IMFASFIndexer::GetIndexPosition([In] IMFASFContentInfo* pIContentInfo,[In] unsigned longlong* pcbIndexOffset) - IMFASFIndexer::GetIndexPosition -
- - -

Adds byte streams to be indexed.

-
-

An array of interface references. To get the byte stream, call .

-

The number of references in the ppIByteStreams array.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The indexer object has already been initialized and it has packets which have been indexed.

?

- -

For a reading scenario, only one byte stream should be used by the indexer object. For an index generating scenario, it depends how many index objects are needed to be generated.

-
- - ms704843 - HRESULT IMFASFIndexer::SetIndexByteStreams([In] IMFByteStream** ppIByteStreams,[In] unsigned int cByteStreams) - IMFASFIndexer::SetIndexByteStreams -
- - -

Retrieves the number of byte streams that are in use by the indexer object.

-
-

Receives the number of byte streams that are in use by the indexer object.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_INVALIDARG

pcByteStreams is null.

?

- - ms701789 - HRESULT IMFASFIndexer::GetIndexByteStreamCount([In] unsigned int* pcByteStreams) - IMFASFIndexer::GetIndexByteStreamCount -
- - -

Retrieves the index settings for a specified stream and index type.

-
-

Pointer to an structure that contains the stream number and index type for which to get the status.

-

A variable that retrieves a Boolean value specifying whether the index described by pIndexIdentifier has been created.

-

A buffer that receives the index descriptor. The index descriptor consists of an structure, optionally followed by index-specific data.

-

On input, specifies the size, in bytes, of the buffer that pbIndexDescriptor points to. The value can be zero if pbIndexDescriptor is null. On output, receives the size of the index descriptor, in bytes.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The buffer size specified in pcbIndexDescriptor is too small.

?

- -

To read an existing ASF index, call before calling this method.

If an index exists for the stream and the value passed into pcbIndexDescriptor is smaller than the required size of the pbIndexDescriptor buffer, the method returns . The required buffer size is returned in the pcbIndexDescriptor parameter.

If there is no index for the specified stream, the method returns in the pfIsIndexed parameter.

-
- - ms704012 - HRESULT IMFASFIndexer::GetIndexStatus([In] ASF_INDEX_IDENTIFIER* pIndexIdentifier,[In] BOOL* pfIsIndexed,[In] unsigned char* pbIndexDescriptor,[In] unsigned int* pcbIndexDescriptor) - IMFASFIndexer::GetIndexStatus -
- - -

Configures the index for a stream.

-
-

The index descriptor to set. The index descriptor is an structure, optionally followed by index-specific data.

-

The size, in bytes, of the index descriptor.

-

A Boolean value. Set to TRUE to have the indexer create an index of the type specified for the stream specified in the index descriptor.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

At attempt was made to change the index status in a seek-only scenario. For more information, see Remarks.

?

- -

You must make all calls to SetIndexStatus before making any calls to .

The indexer object is configured to create temporal indexes for each stream by default. Call this method only if you want to override the default settings.

You cannot use this method in an index reading scenario. You can only use this method when writing indexes.

-
- - ms702981 - HRESULT IMFASFIndexer::SetIndexStatus([In] unsigned char* pbIndexDescriptor,[In] unsigned int cbIndexDescriptor,[In] BOOL fGenerateIndex) - IMFASFIndexer::SetIndexStatus -
- - -

Given a desired seek time, gets the offset from which the client should start reading data.

-
-

The value of the index entry for which to get the position. The format of this value varies depending on the type of index, which is specified in the index identifier. For time-based indexing, the variant type is VT_I8 and the value is the desired seek time, in 100-nanosecond units.

-

Pointer to an structure that identifies the stream number and index type.

-

Receives the offset within the data segment of the ASF Data Object. The offset is in bytes, and is relative to the start of packet 0. The offset gives the starting location from which the client should begin reading from the stream. This location might not correspond exactly to the requested seek time.

For reverse playback, if no key frame exists after the desired seek position, this parameter receives the value MFASFINDEXER_READ_FOR_REVERSEPLAYBACK_OUTOFDATASEGMENT. In that case, the seek position should be 1 byte pass the end of the data segment.

-

Receives the approximate time stamp of the data that is located at the offset returned in the pcbOffsetWithinData parameter. The accuracy of this value is equal to the indexing interval of the ASF index, typically about 1 second.

  • If the index type specified in pIndexIdentifier is GUID_NULL (time indexing), this parameter can be null.
  • For all other index types, this parameter must be null.

If the approximate time stamp cannot be determined, this parameter receives the value MFASFINDEXER_APPROX_SEEK_TIME_UNKNOWN.

-

Receives the payload number of the payload that contains the information for the specified stream. Packets can contain multiple payloads, each containing data for a different stream. This parameter can be null.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The requested seek time is out of range.

No index exists of the specified type for the specified stream.

?

- - ms703125 - HRESULT IMFASFIndexer::GetSeekPositionForValue([In] const void* pvarValue,[In] ASF_INDEX_IDENTIFIER* pIndexIdentifier,[In] unsigned longlong* pcbOffsetWithinData,[In] longlong* phnsApproxTime,[In] unsigned int* pdwPayloadNumberOfStreamWithinPacket) - IMFASFIndexer::GetSeekPositionForValue -
- - -

Accepts an ASF packet for the file and creates index entries for them.

-
-

Pointer to the interface of a media sample that contains the ASF packet.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_INVALIDARG

The argument passed in is null.

The indexer is not initialized.

?

- -

The ASF indexer creates indexes for a file internally. You can get the completed index for all data packets sent to the indexer by committing the index with and then calling to write the index entries into a media buffer. To determine the size of the index so you can allocate a buffer large enough to hold the index, call .

When this method creates index entries, they are immediately available for use by .

The media sample specified in pIASFPacketSample must hold a buffer that contains a single ASF packet. Get the sample from the ASF multiplexer by calling the method.

You cannot use this method while reading an index, only when writing an index.

-
- - ms705660 - HRESULT IMFASFIndexer::GenerateIndexEntries([In] IMFSample* pIASFPacketSample) - IMFASFIndexer::GenerateIndexEntries -
- - -

Adds information about a new index to the ContentInfo object associated with ASF content. You must call this method before copying the index to the content so that the index will be readable by the indexer later.

-
-

Pointer to the interface of the ContentInfo object that describes the content.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The caller made an invalid request. For more information, see Remarks.

?

- -

For the index to function properly, you must call this method after all ASF packets in the file have been passed to the indexer by using the method. After you call this method, you must retrieve the indexes by calling GetCompletedIndex and write them to the appropriate location in the file. Finally, you must generate a new ASF header by calling the method of the ASF ContentInfo object.

An application must use the CommitIndex method only when writing a new index otherwise CommitIndex may return as a result. For example, is returned if the application has flags other than set on the indexer object. CommitIndex can also return if the index entries have already been committed through an earlier CommitIndex call.

You cannot use this method in an index reading scenario. You can only use this method when writing indexes.

-
- - ms696994 - HRESULT IMFASFIndexer::CommitIndex([In] IMFASFContentInfo* pIContentInfo) - IMFASFIndexer::CommitIndex -
- - -

Retrieves the size, in bytes, of the buffer required to store the completed index.

-
-

Receives the size of the index, in bytes

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The index has not been committed. For more information; see Remarks.

?

- -

Use this method to get the size of the index and then allocate a buffer big enough to hold it.

The index must be committed with a call to before calling . If the index is not committed before GetIndexWriteSpace is called, then will be returned as a result.

Call to write the completed index into a media buffer.

You cannot use this method in a reading scenario. You can only use this method when writing indexes.

-
- - ms700198 - HRESULT IMFASFIndexer::GetIndexWriteSpace([In] unsigned longlong* pcbIndexWriteSpace) - IMFASFIndexer::GetIndexWriteSpace -
- - -

Retrieves the completed index from the ASF indexer object.

-
-

Pointer to the interface of a media buffer that receives the index data.

-

The offset of the data to be retrieved, in bytes from the start of the index data. Set to 0 for the first call. If subsequent calls are needed (the buffer is not large enough to hold the entire index), set to the byte following the last one retrieved.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The index was not committed before attempting to get the completed index. For more information, see Remarks.

?

- -

This method uses as much of the buffer as possible, and updates the length of the buffer appropriately.

If pIIndexBuffer is large enough to contain the entire buffer, cbOffsetWithinIndex should be 0, and the call needs to be made only once. Otherwise, there should be no gaps between successive buffers.

The user must write this data to the content at cbOffsetFromIndexStart bytes after the end of the ASF data object. You can call to determine the start position of the ASF index.

This call will not succeed unless has been called. After calling GetCompletedIndex, the caller must call and overwrite the existing ASF header with the new header; otherwise, the ASF header will not match the content, and the file is not guaranteed to play correctly.

You cannot use this method in an index reading scenario. You can only use this method when writing indexes.

-
- - ms702077 - HRESULT IMFASFIndexer::GetCompletedIndex([In] IMFMediaBuffer* pIIndexBuffer,[In] unsigned longlong cbOffsetWithinIndex) - IMFASFIndexer::GetCompletedIndex -
- - -

Provides methods to create Advanced Systems Format (ASF) data packets. The methods of this interface process input samples into the packets that make up an ASF data section. The ASF multiplexer exposes this interface. To create the ASF multiplexer, call .

-
- - ms703009 - IMFASFMultiplexer - IMFASFMultiplexer -
- - - Initializes a new instance of the 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 maximum time by which samples from various streams can be out of synchronization. The multiplexer will not accept a sample with a time stamp that is out of synchronization with the latest samples from any other stream by an amount that exceeds the synchronization tolerance.

-
- -

The synchronization tolerance is the maximum difference in presentation times at any given point between samples of different streams that the ASF multiplexer can accommodate. That is, if the synchronization tolerance is 3 seconds, no stream can be more than 3 seconds behind any other stream in the time stamps passed to the multiplexer. The multiplexer determines a default synchronization tolerance to use, but this method overrides it (usually to increase it). More tolerance means the potential for greater latency in the multiplexer. If the time stamps are synchronized among the streams, actual latency will be much lower than msSyncTolerance.

-
- - ms697206 - SetSyncTolerance - SetSyncTolerance - HRESULT IMFASFMultiplexer::SetSyncTolerance([In] unsigned int msSyncTolerance) -
- - -

Initializes the multiplexer with the data from an ASF ContentInfo object.

-
-

Pointer to the interface of the MFASFContentInfo object that contains the header information of the new ASF file. The multiplexer will generate data packets for this file.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

This call must be made once at the beginning of encoding, with pIContentInfo pointing to the ASF ContentInfo object that describes the content to be encoded. This enables the ASF multiplexer to see, among other things, which streams will be present in the encoding session. This call typically does not affect the data in the ASF ContentInfo object.

-
- - ms697469 - HRESULT IMFASFMultiplexer::Initialize([In] IMFASFContentInfo* pIContentInfo) - IMFASFMultiplexer::Initialize -
- - -

Sets multiplexer options.

-
-

Bitwise OR of zero or more members of the enumeration. These flags specify which multiplexer options to use. For more information, see "Multiplexer Initialization and Leaky Bucket Settings" in Creating the Multiplexer Object.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - ms703986 - HRESULT IMFASFMultiplexer::SetFlags([In] unsigned int dwFlags) - IMFASFMultiplexer::SetFlags -
- - -

Retrieves flags indicating the configured multiplexer options.

-
-

Receives a bitwise OR of zero or more values from the enumeration. To set these flags, call .

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - ms702166 - HRESULT IMFASFMultiplexer::GetFlags([In] unsigned int* pdwFlags) - IMFASFMultiplexer::GetFlags -
- - -

Delivers input samples to the multiplexer.

-
-

The stream number of the stream to which the sample belongs.

-

Pointer to the interface of the input sample. The input sample contains the media data to be converted to ASF data packets. When possible, the time stamp of this sample should be accurate.

-

The adjustment to apply to the time stamp of the sample. This parameter is used if the caller wants to shift the sample time on pISample. This value should be positive if the time stamp should be pushed ahead and negative if the time stamp should be pushed back. This time stamp is added to sample time on pISample, and the resulting time is used by the multiplexer instead of the original sample time. If no adjustment is needed, set this value to 0.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

There are too many packets waiting to be retrieved from the multiplexer. Call to get the packets.

The sample that was processed violates the bandwidth limitations specified for the stream in the ASF ContentInfo object. When this error is generated, the sample is dropped.

The value passed in wStreamNumber is invalid.

The presentation time of the input media sample is earlier than the send time.

?

- -

The application passes samples to ProcessSample, and the ASF multiplexer queues them internally until they are ready to be placed into ASF packets. Call to get the ASF data packet.

After each call to ProcessSample, call GetNextPacket in a loop to get all of the available data packets. For a code example, see Generating New ASF Data Packets.

-
- - ms696206 - HRESULT IMFASFMultiplexer::ProcessSample([In] unsigned short wStreamNumber,[In] IMFSample* pISample,[In] longlong hnsTimestampAdjust) - IMFASFMultiplexer::ProcessSample -
- - -

Retrieves the next output ASF packet from the multiplexer.

-
-

Receives zero or more status flags. If more than one packet is waiting, the method sets the flag.

-

Receives a reference to the interface of the first output sample of the data packet. The caller must release the interface.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

The client needs to call this method, ideally after every call to , to get the output ASF packets. Call this method in a loop as long as the flag is received.

If no packets are ready, the method returns but does not return a sample in ppIPacket.

-
- - ms696243 - HRESULT IMFASFMultiplexer::GetNextPacket([Out] ASF_STATUSFLAGS* pdwStatusFlags,[In] IMFSample** ppIPacket) - IMFASFMultiplexer::GetNextPacket -
- - -

Signals the multiplexer to process all queued output media samples. Call this method after passing the last sample to the multiplexer.

-
-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

You must call Flush after the last sample has been passed into the ASF multiplexer and before you call . This causes all output media samples in progress to be completed. After calling Flush, call in a loop until all the pending media samples have been packetized.

-
- - ms696991 - HRESULT IMFASFMultiplexer::Flush() - IMFASFMultiplexer::Flush -
- - -

Collects data from the multiplexer and updates the ASF ContentInfo object to include that information in the ASF Header Object.

-
-

Pointer to the interface of the ContentInfo object. This must be the same object that was used to initialize the multiplexer. The ContentInfo object represents the ASF Header Object of the file for which the multiplexer generated data packets.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

There are pending output media samples waiting in the multiplexer. Call to force the media samples to be packetized.

?

- -

For non-live encoding scenarios (such as encoding to a file), the user should call End to update the specified ContentInfo object, adding data that the multiplexer has collected during the packet generation process. The user should then call and write the output header at the beginning of the ASF file (overwriting the header obtained at the beginning of the encoding session). For more information, see Writing an ASF Header Object for a New File.

During live encoding, it is usually not possible to rewrite the header, so this call is not required for live encoding. (The header in those cases will simply lack some of the information that was not available until the end of the encoding session.)

-
- - ms696172 - HRESULT IMFASFMultiplexer::End([In] IMFASFContentInfo* pIContentInfo) - IMFASFMultiplexer::End -
- - -

Retrieves multiplexer statistics.

-
-

The stream number for which to obtain statistics.

-

Pointer to an structure that receives the statistics.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - ms697232 - HRESULT IMFASFMultiplexer::GetStatistics([In] unsigned short wStreamNumber,[In] ASF_MUX_STATISTICS* pMuxStats) - IMFASFMultiplexer::GetStatistics -
- - -

Sets the maximum time by which samples from various streams can be out of synchronization. The multiplexer will not accept a sample with a time stamp that is out of synchronization with the latest samples from any other stream by an amount that exceeds the synchronization tolerance.

-
-

Synchronization tolerance in milliseconds.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

The synchronization tolerance is the maximum difference in presentation times at any given point between samples of different streams that the ASF multiplexer can accommodate. That is, if the synchronization tolerance is 3 seconds, no stream can be more than 3 seconds behind any other stream in the time stamps passed to the multiplexer. The multiplexer determines a default synchronization tolerance to use, but this method overrides it (usually to increase it). More tolerance means the potential for greater latency in the multiplexer. If the time stamps are synchronized among the streams, actual latency will be much lower than msSyncTolerance.

-
- - ms697206 - HRESULT IMFASFMultiplexer::SetSyncTolerance([In] unsigned int msSyncTolerance) - IMFASFMultiplexer::SetSyncTolerance -
- - -

Configures an Advanced Systems Format (ASF) mutual exclusion object, which manages information about a group of streams in an ASF profile that are mutually exclusive. When streams or groups of streams are mutually exclusive, only one of them is read at a time, they are not read concurrently.

A common example of mutual exclusion is a set of streams that each include the same content encoded at a different bit rate. The stream that is used is determined by the available bandwidth to the reader.

An interface exists for every ASF mutual exclusion object. A reference to this interface is obtained when you create the object using the method.

-
- -

An ASF profile object can support multiple mutual exclusions. Each must be configured using a separate ASF mutual exclusion object.

-
- - ms701603 - IMFASFMutualExclusion - IMFASFMutualExclusion -
- - - Initializes a new instance of the 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 mutual exclusion represented by the Advanced Systems Format (ASF) mutual exclusion object.

-
-

A variable that receives the type identifier. For a list of predefined mutual exclusion type constants, see ASF Mutual Exclusion Type GUIDs.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

Sometimes, content must be made mutually exclusive in more than one way. For example, a video file might contain audio streams of several bit rates for each of several languages. To handle this type of complex mutual exclusion, you must configure more than one ASF mutual exclusion object. For more information, see .

-
- - ms703095 - HRESULT IMFASFMutualExclusion::GetType([In] GUID* pguidType) - IMFASFMutualExclusion::GetType -
- - -

Sets the type of mutual exclusion that is represented by the Advanced Systems Format (ASF) mutual exclusion object.

-
-

The type of mutual exclusion that is represented by the ASF mutual exclusion object. For a list of predefined mutual exclusion type constants, see ASF Mutual Exclusion Type GUIDs.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

Sometimes, content must be made mutually exclusive in more than one way. For example, a video file might contain audio streams in several bit rates for each of several languages. To handle this type of complex mutual exclusion, you must configure more than one ASF mutual exclusion object. For more information, see .

-
- - ms697261 - HRESULT IMFASFMutualExclusion::SetType([In] const GUID& guidType) - IMFASFMutualExclusion::SetType -
- - -

Retrieves the number of records in the Advanced Systems Format mutual exclusion object.

-
-

Receives the count of records.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

Each record includes one or more streams. Every stream in a record is mutually exclusive of streams in every other record.

Use this method in conjunction with to retrieve the streams that are included in each record.

-
- - ms700201 - HRESULT IMFASFMutualExclusion::GetRecordCount([In] unsigned int* pdwRecordCount) - IMFASFMutualExclusion::GetRecordCount -
- - -

Retrieves the stream numbers contained in a record in the Advanced Systems Format mutual exclusion object.

-
-

The number of the record for which to retrieve the stream numbers.

-

An array that receives the stream numbers. Set to null to get the number of elements required, which is indicated by the value of pcStreams on return. If this parameter is not null, the method will copy as many stream numbers to the array as there are elements indicated by the value of pcStreams.

-

On input, the number of elements in the array referenced by pwStreamNumArray. On output, the method sets this value to the count of stream numbers in the record. You can call GetStreamsForRecord with pwStreamNumArray set to null to retrieve the number of elements required to hold all of the stream numbers.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - ms703200 - HRESULT IMFASFMutualExclusion::GetStreamsForRecord([In] unsigned int dwRecordNumber,[In] unsigned short* pwStreamNumArray,[In] unsigned int* pcStreams) - IMFASFMutualExclusion::GetStreamsForRecord -
- - -

Adds a stream number to a record in the Advanced Systems Format mutual exclusion object.

-
-

The record number to which the stream is added. A record number is set by the method.

-

The stream number to add to the record.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The specified stream number is already associated with the record.

?

- -

Each record includes one or more streams. Every stream in a record is mutually exclusive of all streams in every other record.

-
- - ms703794 - HRESULT IMFASFMutualExclusion::AddStreamForRecord([In] unsigned int dwRecordNumber,[In] unsigned short wStreamNumber) - IMFASFMutualExclusion::AddStreamForRecord -
- - -

Removes a stream number from a record in the Advanced Systems Format mutual exclusion object.

-
-

The record number from which to remove the stream number.

-

The stream number to remove from the record.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The stream number is not listed for the specified record.

?

- - ms703971 - HRESULT IMFASFMutualExclusion::RemoveStreamFromRecord([In] unsigned int dwRecordNumber,[In] unsigned short wStreamNumber) - IMFASFMutualExclusion::RemoveStreamFromRecord -
- - -

Removes a record from the Advanced Systems Format (ASF) mutual exclusion object.

-
-

The index of the record to remove.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

When a record is removed, the ASF mutual exclusion object indexes the remaining records so that they are sequential starting with zero. You should enumerate the records to ensure that you have the correct index for each record. If the record removed is the one with the highest index, removing it has no effect on the other indexes.

-
- - ms704808 - HRESULT IMFASFMutualExclusion::RemoveRecord([In] unsigned int dwRecordNumber) - IMFASFMutualExclusion::RemoveRecord -
- - -

Adds a record to the mutual exclusion object. A record specifies streams that are mutually exclusive with the streams in all other records.

-
-

Receives the index assigned to the new record. Record indexes are zero-based and sequential.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

A record can include one or more stream numbers. All of the streams in a record are mutually exclusive with all the streams in all other records in the ASF mutual exclusion object.

You can use records to create complex mutual exclusion scenarios by using multiple ASF mutual exclusion objects.

-
- - ms705615 - HRESULT IMFASFMutualExclusion::AddRecord([In] unsigned int* pdwRecordNumber) - IMFASFMutualExclusion::AddRecord -
- - -

Creates a copy of the Advanced Systems Format mutual exclusion object.

-
-

Receives a reference to the interface of the new object. The caller must release the interface.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

The cloned object is a new object, completely independent of the object from which it was cloned.

-
- - ms696217 - HRESULT IMFASFMutualExclusion::Clone([In] IMFASFMutualExclusion** ppIMutex) - IMFASFMutualExclusion::Clone -
- - -

Retrieves the number of streams in the profile.

-
- - ms703024 - IMFASFProfile - IMFASFProfile -
- - - Initializes a new instance of the 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 a stream to the profile or reconfigures an existing stream.

-
- -

If the stream number in the ASF stream configuration object is already included in the profile, the information in the new object replaces the old one. If the profile does not contain a stream for the stream number, the ASF stream configuration object is added as a new stream.

-
- - ms703051 - SetStream - SetStream - HRESULT IMFASFProfile::SetStream([In] IMFASFStreamConfig* pIStream) -
- - - Note??This method is not supported.? - - - ms695410 - GetStreamPrioritization - GetStreamPrioritization - HRESULT IMFASFProfile::GetStreamPrioritization([In] IMFASFStreamPrioritization** ppIStreamPrioritization) - - - -

Retrieves the number of streams in the profile.

-
-

Receives the number of streams in the profile.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - ms703024 - HRESULT IMFASFProfile::GetStreamCount([In] unsigned int* pcStreams) - IMFASFProfile::GetStreamCount -
- - -

Retrieves a stream from the profile by stream index, and/or retrieves the stream number for a stream index.

-
-

The index of the stream to retrieve. Stream indexes are sequential and zero-based. You can get the number of streams that are in the profile by calling the method.

-

Receives the stream number of the requested stream. Stream numbers are one-based and are not necessarily sequential. This parameter can be set to null if the stream number is not required.

-

Receives a reference to the interface of the ASF stream configuration object. The caller must release the interface. This parameter can be null if you want to retrieve the stream number without accessing the stream configuration.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

This method does not create a copy of the stream configuration object. The reference that is retrieved points to the object within the profile object. You must not make any changes to the stream configuration object using this reference, because doing so can affect the profile object in unexpected ways.

To change the configuration of the stream configuration object in the profile, you must first clone the stream configuration object by calling . Make whatever changes are required to the clone of the object and then add the updated object by calling the method.

-
- - ms700799 - HRESULT IMFASFProfile::GetStream([In] unsigned int dwStreamIndex,[In] unsigned short* pwStreamNumber,[In] IMFASFStreamConfig** ppIStream) - IMFASFProfile::GetStream -
- - -

Retrieves an Advanced Systems Format (ASF) stream configuration object for a stream in the profile. This method references the stream by stream number instead of stream index.

-
-

The stream number for which to obtain the interface reference.

-

Receives a reference to the interface of the ASF stream configuration object. The caller must release the interface.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

This method does not create a copy of the stream configuration object. The reference that is retrieved points to the object within the profile object. You must not make any changes to the stream configuration object using this reference, because doing so can affect the profile object in unexpected ways.

To change the configuration of the stream configuration object in the profile, you must first clone the stream configuration object by calling . Make whatever changes are required to the clone of the object and then add the updated object by calling the method.

-
- - ms694981 - HRESULT IMFASFProfile::GetStreamByNumber([In] unsigned short wStreamNumber,[In] IMFASFStreamConfig** ppIStream) - IMFASFProfile::GetStreamByNumber -
- - -

Adds a stream to the profile or reconfigures an existing stream.

-
-

Pointer to the interface of a configured ASF stream configuration object.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

If the stream number in the ASF stream configuration object is already included in the profile, the information in the new object replaces the old one. If the profile does not contain a stream for the stream number, the ASF stream configuration object is added as a new stream.

-
- - ms703051 - HRESULT IMFASFProfile::SetStream([In] IMFASFStreamConfig* pIStream) - IMFASFProfile::SetStream -
- - -

Removes a stream from the Advanced Systems Format (ASF) profile object.

-
-

Stream number of the stream to remove.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

After a stream is removed, the ASF profile object reassigns stream indexes so that the index values are sequential starting from zero. Any previously stored stream index numbers are no longer valid after deleting a stream.

-
- - ms704569 - HRESULT IMFASFProfile::RemoveStream([In] unsigned short wStreamNumber) - IMFASFProfile::RemoveStream -
- - -

Creates an Advanced Systems Format (ASF) stream configuration object.

-
-

Pointer to the interface of a configured media type.

-

Receives a reference to the interface of the new ASF stream configuration object. The caller must release the interface.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_INVALIDARG

ppIStream is null.

E_OUTOFMEMORY

stream configuration object could not be created due to insufficient memory.

?

- -

The ASF stream configuration object created by this method is not included in the profile. To include the stream, you must first configure the stream configuration and then call .

-
- - ms696264 - HRESULT IMFASFProfile::CreateStream([In] IMFMediaType* pIMediaType,[In] IMFASFStreamConfig** ppIStream) - IMFASFProfile::CreateStream -
- - -

Retrieves the number of Advanced Systems Format (ASF) mutual exclusion objects that are associated with the profile.

-
-

Receives the number of mutual exclusion objects.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

Multiple mutual exclusion objects may be required for streams that are mutually exclusive in more than one way. For more information, see .

-
- - ms697361 - HRESULT IMFASFProfile::GetMutualExclusionCount([In] unsigned int* pcMutexs) - IMFASFProfile::GetMutualExclusionCount -
- - -

Retrieves an Advanced Systems Format (ASF) mutual exclusion object from the profile.

-
-

Index of the mutual exclusion object in the profile.

-

Receives a reference to the interface of the ASF mutual exclusion object. The caller must release the interface.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

This method does not create a copy of the mutual exclusion object. The returned reference refers to the mutual exclusion contained in the profile object. You must not make any changes to the mutual exclusion object using this reference, because doing so can affect the profile object in unexpected ways.

To change the configuration of the mutual exclusion object in the profile, you must first clone the mutual exclusion object by calling . Make whatever changes are required to the clone of the object, remove the old mutual exclusion object from the profile by calling the method, and then add the updated object by calling the method.

-
- - ms701598 - HRESULT IMFASFProfile::GetMutualExclusion([In] unsigned int dwMutexIndex,[In] IMFASFMutualExclusion** ppIMutex) - IMFASFProfile::GetMutualExclusion -
- - -

Adds a configured Advanced Systems Format (ASF) mutual exclusion object to the profile.

-
-

Pointer to the interface of a configured ASF mutual exclusion object.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

You can create a mutual exclusion object by calling the method.

-
- - ms703965 - HRESULT IMFASFProfile::AddMutualExclusion([In] IMFASFMutualExclusion* pIMutex) - IMFASFProfile::AddMutualExclusion -
- - -

Removes an Advanced Systems Format (ASF) mutual exclusion object from the profile.

-
-

The index of the mutual exclusion object to remove from the profile.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

When a mutual exclusion object is removed from the profile, the ASF profile object reassigns the mutual exclusion indexes so that they are sequential starting with zero. Any previously stored indexes are no longer valid after calling this method.

-
- - ms704007 - HRESULT IMFASFProfile::RemoveMutualExclusion([In] unsigned int dwMutexIndex) - IMFASFProfile::RemoveMutualExclusion -
- - -

Creates a new Advanced Systems Format (ASF) mutual exclusion object. Mutual exclusion objects can be added to a profile by calling the AddMutualExclusion method.

-
- No documentation. -

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

The ASF mutual exclusion object created by this method is not associated with the profile. Call after configuring the object to make this association.

-
- - ms697002 - HRESULT IMFASFProfile::CreateMutualExclusion([In] IMFASFMutualExclusion** ppIMutex) - IMFASFProfile::CreateMutualExclusion -
- - - Note??This method is not supported.? - -

Reserved.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - ms695410 - HRESULT IMFASFProfile::GetStreamPrioritization([In] IMFASFStreamPrioritization** ppIStreamPrioritization) - IMFASFProfile::GetStreamPrioritization -
- - - Note??This method is not supported.? - -

Reserved.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - ms697516 - HRESULT IMFASFProfile::AddStreamPrioritization([In] IMFASFStreamPrioritization* pIStreamPrioritization) - IMFASFProfile::AddStreamPrioritization -
- - - Note??This method is not supported.? - -

If this method succeeds, it returns . Otherwise, it returns an error code.

- - ms701838 - HRESULT IMFASFProfile::RemoveStreamPrioritization() - IMFASFProfile::RemoveStreamPrioritization -
- - - Note??This method is not implemented.? - -

Reserved.

-

Returns E_NOTIMPL.

- - ms694914 - HRESULT IMFASFProfile::CreateStreamPrioritization([In] IMFASFStreamPrioritization** ppIStreamPrioritization) - IMFASFProfile::CreateStreamPrioritization -
- - -

Creates a copy of the Advanced Systems Format profile object.

-
-

Receives a reference to the interface of the new object. The caller must release the interface.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

The cloned object is completely independent of the original.

-
- - ms704773 - HRESULT IMFASFProfile::Clone([In] IMFASFProfile** ppIProfile) - IMFASFProfile::Clone -
- - -

Retrieves the option flags that are set on the ASF splitter.

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

Resets the Advanced Systems Format (ASF) splitter and configures it to parse data from an ASF data section.

-
-

Pointer to the interface of a ContentInfo object that describes the data to be parsed.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_INVALIDARG

The pIContentInfo parameter is null.

?

- - ms704048 - HRESULT IMFASFSplitter::Initialize([In] IMFASFContentInfo* pIContentInfo) - IMFASFSplitter::Initialize -
- - -

Sets option flags on the Advanced Systems Format (ASF) splitter.

-
-

A bitwise combination of zero or more members of the enumeration.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The splitter is not initialized.

E_INVALIDARG

The dwFlags parameter does not contain a valid flag.

The flag is set, but the content cannot be parsed in reverse.

?

- -

This method can only be called after the splitter is initialized.

-
- - ms697337 - HRESULT IMFASFSplitter::SetFlags([In] unsigned int dwFlags) - IMFASFSplitter::SetFlags -
- - -

Retrieves the option flags that are set on the ASF splitter.

-
-

Receives the option flags. This value is a bitwise OR of zero or more members of the enumeration.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_INVALIDARG

pdwFlags is null.

?

- - ms702288 - HRESULT IMFASFSplitter::GetFlags([In] unsigned int* pdwFlags) - IMFASFSplitter::GetFlags -
- - -

Sets the streams to be parsed by the Advanced Systems Format (ASF) splitter.

-
-

An array of variables containing the list of stream numbers to select.

-

The number of valid elements in the stream number array.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_INVALIDARG

pwStreamNumbers is null and wNumStreams contains a value greater than zero.

Invalid stream number was passed in the array.

?

- -

Calling this method supersedes any previous stream selections; only the streams specified in the pwStreamNumbers array will be selected.

By default, no streams are selected by the splitter.

You can obtain a list of the currently selected streams by calling the method.

-
- - ms701631 - HRESULT IMFASFSplitter::SelectStreams([In] unsigned short* pwStreamNumbers,[In] unsigned short wNumStreams) - IMFASFSplitter::SelectStreams -
- - -

Gets a list of currently selected streams.

-
-

The address of an array of WORDs. This array receives the stream numbers of the selected streams. This parameter can be null.

-

On input, points to a variable that contains the number of elements in the pwStreamNumbers array. Set the variable to zero if pwStreamNumbers is null.

On output, receives the number of elements that were copied into pwStreamNumbers. Each element is the identifier of a selected stream.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_INVALIDARG

Invalid argument.

The pwStreamNumbers array is smaller than the number of selected streams. See Remarks.

?

- -

To get the number of selected streams, set pwStreamNumbers to null. The method will return MF_E_BUFFERTOSMALL but will also set the value of *pwNumStreams equal to the number of selected streams. Then allocate an array of that size and call the method again, passing the array in the pwStreamNumbers parameter.

The following code shows these steps:

 DisplaySelectedStreams( *pSplitter)	
-            { WORD count = 0;  hr = pSplitter->GetSelectedStreams(null, &count); if (hr == ) { WORD *pStreamIds = new (std::nothrow) WORD[count]; if (pStreamIds) { hr = pSplitter->GetSelectedStreams(pStreamIds, &count); if (SUCCEEDED(hr)) { for (WORD i = 0; i < count; i++) { printf("Selected stream ID: %d\n", pStreamIds[i]); } } delete [] pStreamIds; } else { hr = E_OUTOFMEMORY; } } return hr;	
-            }	
-            

Alternatively, you can allocate an array that is equal to the total number of streams and pass that to pwStreamNumbers.

Before calling this method, initialize *pwNumStreams to the number of elements in pwStreamNumbers. If pwStreamNumbers is null, set *pwNumStreams to zero.

By default, no streams are selected by the splitter. Select streams by calling the method.

-
- - ms705602 - HRESULT IMFASFSplitter::GetSelectedStreams([In] unsigned short* pwStreamNumbers,[In] unsigned short* pwNumStreams) - IMFASFSplitter::GetSelectedStreams -
- - -

Sends packetized Advanced Systems Format (ASF) data to the ASF splitter for processing.

-
-

Pointer to the interface of a buffer object containing data to be parsed.

-

The offset into the data buffer where the splitter should begin parsing. This value is typically set to 0.

-

The length, in bytes, of the data to parse. This value is measured from the offset specified by cbBufferOffset. Set to 0 to process to the end of the buffer.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_INVALIDARG

The pIBuffer parameter is null.

The specified offset value in cbBufferOffset is greater than the length of the buffer.

The total value of cbBufferOffset and cbLength is greater than the length of the buffer.

The method was not called or the call failed.

The splitter cannot process more input at this time.

?

- -

After using this method to parse data, you must call to retrieve parsed media samples.

If your ASF data contains variable-sized packets, you must set the attribute on the buffers to indicate the sample boundaries, and the buffers cannot span multiple packets.

If the method returns ME_E_NOTACCEPTING, call GetNextSample to get the output samples, or call to clear the splitter.

The splitter might hold a reference count on the input buffer. Therefore, do not write over the valid data in the buffer after calling this method.

-
- - ms694299 - HRESULT IMFASFSplitter::ParseData([In] IMFMediaBuffer* pIBuffer,[In] unsigned int cbBufferOffset,[In] unsigned int cbLength) - IMFASFSplitter::ParseData -
- - -

Retrieves a sample from the Advanced Systems Format (ASF) splitter after the data has been parsed.

-
-

Receives one of the following values.

ValueMeaning

More samples are ready to be retrieved. Call GetNextSample in a loop until the pdwStatusFlags parameter receives the value zero.

Zero

No additional samples are ready. Call to give more input data to the splitter.

?

-

If the method returns a sample in the ppISample parameter, this parameter receives the number of the stream to which the sample belongs.

-

Receives a reference to the interface of the parsed sample. The caller must release the interface. If no samples are ready, this parameter receives the value null.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The ASF data in the buffer is invalid.

There is a gap in the ASF data.

?

- -

Before calling this method, call to give input data to the splitter. If the input does not contain enough data for a complete sample, the GetNextSample method succeeds but returns null in the ppISample parameter.

The ASF splitter skips samples for unselected streams. To select streams, call .

-
- - ms700167 - HRESULT IMFASFSplitter::GetNextSample([In] unsigned int* pdwStatusFlags,[In] unsigned short* pwStreamNumber,[In] IMFSample** ppISample) - IMFASFSplitter::GetNextSample -
- - -

Resets the Advanced Systems Format (ASF) splitter and releases all pending samples.

-
-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

Any samples waiting to be retrieved when Flush is called are lost.

-
- - ms703013 - HRESULT IMFASFSplitter::Flush() - IMFASFSplitter::Flush -
- - -

Retrieves the send time of the last sample received.

-
-

Receives the send time of the last sample received.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_INVALIDARG

pdwLastSendTime is null.

?

- - ms697272 - HRESULT IMFASFSplitter::GetLastSendTime([In] unsigned int* pdwLastSendTime) - IMFASFSplitter::GetLastSendTime -
- - -

Retrieves information about an existing payload extension.

-
- - ms697305 - IMFASFStreamConfig - IMFASFStreamConfig -
- - - Initializes a new instance of the 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 stream number of the stream.

-
- - ms703172 - GetStreamNumber / SetStreamNumber - GetStreamNumber - unsigned short IMFASFStreamConfig::GetStreamNumber() -
- - -

Retrieves the media type of the stream.

-
- -

To reduce unnecessary copying, the method returns a reference to the media type that is stored internally by the object. Do not modify the returned media type, as the results are not defined.

-
- - ms697489 - GetMediaType / SetMediaType - GetMediaType - HRESULT IMFASFStreamConfig::GetMediaType([In] IMFMediaType** ppIMediaType) -
- - -

Gets the major media type of the stream.

-
-

Receives the major media type for the stream. For a list of possible values, see Major Media Types.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - ms697390 - HRESULT IMFASFStreamConfig::GetStreamType([In] GUID* pguidStreamType) - IMFASFStreamConfig::GetStreamType -
- - -

Retrieves the stream number of the stream.

-
-

The method returns the stream number.

- - ms703172 - unsigned short IMFASFStreamConfig::GetStreamNumber() - IMFASFStreamConfig::GetStreamNumber -
- - -

Assigns a stream number to the stream.

-
-

The number to assign to the stream.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

Stream numbers start from 1 and do not need to be sequential.

-
- - ms697298 - HRESULT IMFASFStreamConfig::SetStreamNumber([In] unsigned short wStreamNum) - IMFASFStreamConfig::SetStreamNumber -
- - -

Retrieves the media type of the stream.

-
-

Receives a reference to the interface of the media type object associated with the stream. The caller must release the interface.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

To reduce unnecessary copying, the method returns a reference to the media type that is stored internally by the object. Do not modify the returned media type, as the results are not defined.

-
- - ms697489 - HRESULT IMFASFStreamConfig::GetMediaType([In] IMFMediaType** ppIMediaType) - IMFASFStreamConfig::GetMediaType -
- - -

Sets the media type for the Advanced Systems Format (ASF) stream configuration object.

-
-

Pointer to the interface of a configured media type object.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

Some validation of the media type is performed by this method. However, a media type can be successfully set, but cause an error when the stream is added to the profile.

-
- - ms697185 - HRESULT IMFASFStreamConfig::SetMediaType([In] IMFMediaType* pIMediaType) - IMFASFStreamConfig::SetMediaType -
- - -

Retrieves the number of payload extensions that are configured for the stream.

-
-

Receives the number of payload extensions.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - ms696251 - HRESULT IMFASFStreamConfig::GetPayloadExtensionCount([In] unsigned short* pcPayloadExtensions) - IMFASFStreamConfig::GetPayloadExtensionCount -
- - -

Retrieves information about an existing payload extension.

-
-

The payload extension index. Valid indexes range from 0, to one less than the number of extensions obtained by calling .

-

Receives a that identifies the payload extension. For a list of predefined payload extensions, see ASF Payload Extension GUIDs. Applications can also define custom payload extensions.

-

Receives the number of bytes added to each sample for the extension.

-

Pointer to a buffer that receives information about this extension system. This information is the same for all samples and is stored in the content header (not in each sample). This parameter can be null. To find the required size of the buffer, set this parameter to null; the size is returned in pcbExtensionSystemInfo.

-

On input, specifies the size of the buffer pointed to by pbExtensionSystemInfo. On output, receives the required size of the pbExtensionSystemInfo buffer in bytes.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_INVALIDARG

Invalid argument.

The buffer specified in pbExtensionSystemInfo is too small.

The wPayloadExtensionNumber parameter is out of range.

?

- - ms697305 - HRESULT IMFASFStreamConfig::GetPayloadExtension([In] unsigned short wPayloadExtensionNumber,[In] GUID* pguidExtensionSystemID,[In] unsigned short* pcbExtensionDataSize,[In] unsigned char* pbExtensionSystemInfo,[In] unsigned int* pcbExtensionSystemInfo) - IMFASFStreamConfig::GetPayloadExtension -
- - -

Configures a payload extension for the stream.

-
-

Pointer to a that identifies the payload extension. For a list of predefined payload extensions, see ASF Payload Extension GUIDs. Applications can also define custom payload extensions.

-

Number of bytes added to each sample for the extension.

-

A reference to a buffer that contains information about this extension system. This information is the same for all samples and is stored in the content header (not with each sample). This parameter can be null if cbExtensionSystemInfo is 0.

-

Amount of data, in bytes, that describes this extension system. If this value is 0, then pbExtensionSystemInfo can be null.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - ms697229 - HRESULT IMFASFStreamConfig::AddPayloadExtension([In] GUID guidExtensionSystemID,[In] unsigned short cbExtensionDataSize,[In] unsigned char* pbExtensionSystemInfo,[In] unsigned int cbExtensionSystemInfo) - IMFASFStreamConfig::AddPayloadExtension -
- - -

Removes all payload extensions that are configured for the stream.

-
-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

None.

-
- - ms699009 - HRESULT IMFASFStreamConfig::RemoveAllPayloadExtensions() - IMFASFStreamConfig::RemoveAllPayloadExtensions -
- - -

Creates a copy of the Advanced Systems Format (ASF) stream configuration object.

-
-

Receives a reference to the interface of the new object. The caller must release the interface.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

The cloned object is completely independent of the original.

-
- - ms703117 - HRESULT IMFASFStreamConfig::Clone([In] IMFASFStreamConfig** ppIStreamConfig) - IMFASFStreamConfig::Clone -
- - -

Note??This interface is not implemented in this version of Media Foundation.?

Adds a stream to the stream priority list.

-
- -

The stream priority list is built by appending entries to the list with each call to AddStream. The list is evaluated in descending order of importance. The most important stream should be added first, and the least important should be added last.

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

Note??This interface is not implemented in this version of Media Foundation.?

Retrieves the number of entries in the stream priority list.

-
-

Receives the number of streams in the stream priority list.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - bb970449 - HRESULT IMFASFStreamPrioritization::GetStreamCount([In] unsigned int* pdwStreamCount) - IMFASFStreamPrioritization::GetStreamCount -
- - -

Note??This interface is not implemented in this version of Media Foundation.?

Retrieves the stream number of a stream in the stream priority list.

-
-

Zero-based index of the entry to retrieve from the stream priority list. To get the number of entries in the priority list, call .

-

Receives the stream number of the stream priority entry.

-

Receives a Boolean value. If TRUE, the stream is mandatory.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_INVALIDARG

null reference argument or the dwStreamIndex parameter is out of range.

?

- - ms697005 - HRESULT IMFASFStreamPrioritization::GetStream([In] unsigned int dwStreamIndex,[In] unsigned short* pwStreamNumber,[In] unsigned short* pwStreamFlags) - IMFASFStreamPrioritization::GetStream -
- - -

Note??This interface is not implemented in this version of Media Foundation.?

Adds a stream to the stream priority list.

-
-

Stream number of the stream to add.

-

If TRUE, the stream is mandatory.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

Invalid stream number.

?

- -

The stream priority list is built by appending entries to the list with each call to AddStream. The list is evaluated in descending order of importance. The most important stream should be added first, and the least important should be added last.

-
- - ms696987 - HRESULT IMFASFStreamPrioritization::AddStream([In] unsigned short wStreamNumber,[In] unsigned short wStreamFlags) - IMFASFStreamPrioritization::AddStream -
- - -

Note??This interface is not implemented in this version of Media Foundation.?

Removes a stream from the stream priority list.

-
-

Index of the entry in the stream priority list to remove. Values range from zero, to one less than the stream count retrieved by calling .

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

When a stream is removed from the stream priority list, the index values of all streams that follow it in the list are decremented.

-
- - bb970482 - HRESULT IMFASFStreamPrioritization::RemoveStream([In] unsigned int dwStreamIndex) - IMFASFStreamPrioritization::RemoveStream -
- - -

Note??This interface is not implemented in this version of Media Foundation.?

Creates a copy of the ASF stream prioritization object.

-
-

Receives a reference to the interface of the new object. The caller must release the interface.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

The new object is completely independent of the original.

-
- - ms704679 - HRESULT IMFASFStreamPrioritization::Clone([In] IMFASFStreamPrioritization** ppIStreamPrioritization) - IMFASFStreamPrioritization::Clone -
- - -

Retrieves the number of bandwidth steps that exist for the content. This method is used for multiple bit rate (MBR) content.

-
- -

Bandwidth steps are bandwidth levels used for multiple bit rate (MBR) content. If you stream MBR content, you can choose the bandwidth step that matches the network conditions to avoid interruptions during playback.

-
- - ms698868 - IMFASFStreamSelector - IMFASFStreamSelector -
- - - Initializes a new instance of the 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 options for the stream selector.

-
- - ms701635 - SetStreamSelectorFlags - SetStreamSelectorFlags - HRESULT IMFASFStreamSelector::SetStreamSelectorFlags([In] unsigned int dwStreamSelectorFlags) -
- - -

Retrieves the number of streams that are in the Advanced Systems Format (ASF) content.

-
-

Receives the number of streams in the content.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - ms704621 - HRESULT IMFASFStreamSelector::GetStreamCount([In] unsigned int* pcStreams) - IMFASFStreamSelector::GetStreamCount -
- - -

Retrieves the number of outputs for the Advanced Systems Format (ASF) content.

-
-

Receives the number of outputs.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

Outputs are streams in the ASF data section that will be parsed.

-
- - ms694076 - HRESULT IMFASFStreamSelector::GetOutputCount([In] unsigned int* pcOutputs) - IMFASFStreamSelector::GetOutputCount -
- - -

Retrieves the number of streams associated with an output.

-
-

The output number for which to retrieve the stream count.

-

Receives the number of streams associated with the output.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

Invalid output number.

?

- -

An output is a stream in an ASF data section that will be parsed. If mutual exclusion is used, mutually exclusive streams share the same output.

-
- - ms700815 - HRESULT IMFASFStreamSelector::GetOutputStreamCount([In] unsigned int dwOutputNum,[In] unsigned int* pcStreams) - IMFASFStreamSelector::GetOutputStreamCount -
- - -

Retrieves the stream numbers for all of the streams that are associated with an output.

-
-

The output number for which to retrieve stream numbers.

-

Address of an array that receives the stream numbers associated with the output. The caller allocates the array. The array size must be at least as large as the value returned by the method.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

Invalid output number.

?

- -

An output is a stream in an ASF data section that will be parsed. If mutual exclusion is used, mutually exclusive streams share the same output.

-
- - ms697025 - HRESULT IMFASFStreamSelector::GetOutputStreamNumbers([In] unsigned int dwOutputNum,[In] unsigned short* rgwStreamNumbers) - IMFASFStreamSelector::GetOutputStreamNumbers -
- - -

Retrieves the output number associated with a stream.

-
-

The stream number for which to retrieve an output number.

-

Receives the output number.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

Invalid stream number.

?

- -

Outputs are streams in the ASF data section that will be parsed.

-
- - ms701979 - HRESULT IMFASFStreamSelector::GetOutputFromStream([In] unsigned short wStreamNum,[In] unsigned int* pdwOutput) - IMFASFStreamSelector::GetOutputFromStream -
- - -

Retrieves the manual output override selection that is set for a stream.

-
-

Stream number for which to retrieve the output override selection.

-

Receives the output override selection. The value is a member of the enumeration.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - ms697510 - HRESULT IMFASFStreamSelector::GetOutputOverride([In] unsigned int dwOutputNum,[In] ASF_SELECTION_STATUS* pSelection) - IMFASFStreamSelector::GetOutputOverride -
- - -

Sets the selection status of an output, overriding other selection criteria.

-
-

Output number for which to set selection.

-

Member of the enumeration specifying the level of selection for the output.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - ms703122 - HRESULT IMFASFStreamSelector::SetOutputOverride([In] unsigned int dwOutputNum,[In] ASF_SELECTION_STATUS Selection) - IMFASFStreamSelector::SetOutputOverride -
- - -

Retrieves the number of mutual exclusion objects associated with an output.

-
-

Output number for which to retrieve the count of mutually exclusive relationships.

-

Receives the number of mutual exclusions.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - ms703918 - HRESULT IMFASFStreamSelector::GetOutputMutexCount([In] unsigned int dwOutputNum,[In] unsigned int* pcMutexes) - IMFASFStreamSelector::GetOutputMutexCount -
- - -

Retrieves a mutual exclusion object for an output.

-
-

Output number for which to retrieve a mutual exclusion object.

-

Mutual exclusion number. This is an index of mutually exclusive relationships associated with the output. Set to a number between 0, and 1 less than the number of mutual exclusion objects retrieved by calling .

-

Receives a reference to the mutual exclusion object's interface. The caller must release the interface.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

Outputs are streams in the ASF data section that will be parsed.

-
- - ms703819 - HRESULT IMFASFStreamSelector::GetOutputMutex([In] unsigned int dwOutputNum,[In] unsigned int dwMutexNum,[In] IUnknown** ppMutex) - IMFASFStreamSelector::GetOutputMutex -
- - -

Selects a mutual exclusion record to use for a mutual exclusion object associated with an output.

-
-

The output number for which to set a stream.

-

Index of the mutual exclusion for which to select.

-

Record of the specified mutual exclusion to select.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

An output is a stream in an Advanced Systems Format (ASF) data section that will be parsed. If mutual exclusion is used, mutually exclusive streams share the same output.

An ASF file can contain multiple mutually exclusive relationships, such as a file with both language based and bit-rate based mutual exclusion. If an output is involved in multiple mutually exclusive relationships, a record from each must be selected.

-
- - ms704822 - HRESULT IMFASFStreamSelector::SetOutputMutexSelection([In] unsigned int dwOutputNum,[In] unsigned int dwMutexNum,[In] unsigned short wSelectedRecord) - IMFASFStreamSelector::SetOutputMutexSelection -
- - -

Retrieves the number of bandwidth steps that exist for the content. This method is used for multiple bit rate (MBR) content.

-
-

Receives the number of bandwidth steps.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

Bandwidth steps are bandwidth levels used for multiple bit rate (MBR) content. If you stream MBR content, you can choose the bandwidth step that matches the network conditions to avoid interruptions during playback.

-
- - ms698868 - HRESULT IMFASFStreamSelector::GetBandwidthStepCount([In] unsigned int* pcStepCount) - IMFASFStreamSelector::GetBandwidthStepCount -
- - -

Retrieves the stream numbers that apply to a bandwidth step. This method is used for multiple bit rate (MBR) content.

-
-

Bandwidth step number for which to retrieve information. Set this value to a number between 0, and 1 less than the number of bandwidth steps returned by .

-

Receives the bit rate associated with the bandwidth step.

-

Address of an array that receives the stream numbers. The caller allocates the array. The array size must be at least as large as the value returned by the method.

-

Address of an array that receives the selection status of each stream, as an value. The members of this array correspond to the members of the rgwStreamNumbers array by index. The caller allocates the array. The array size must be at least as large as the value returned by the method.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

Bandwidth steps are bandwidth levels used for MBR content. If you stream MBR content, you can choose the bandwidth step that matches the network conditions to avoid interruptions during playback.

-
- - ms700131 - HRESULT IMFASFStreamSelector::GetBandwidthStep([In] unsigned int dwStepNum,[In] unsigned int* pdwBitrate,[In] unsigned short* rgwStreamNumbers,[In] ASF_SELECTION_STATUS* rgSelections) - IMFASFStreamSelector::GetBandwidthStep -
- - -

Retrieves the index of a bandwidth step that is appropriate for a specified bit rate. This method is used for multiple bit rate (MBR) content.

-
-

The bit rate to find a bandwidth step for.

-

Receives the step number. Use this number to retrieve information about the step by calling .

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

In a streaming multiple bit rate (MBR) scenario, call this method with the current data rate of the network connection to determine the correct step to use. You can also call this method periodically throughout streaming to ensure that the best step is used.

-
- - ms704645 - HRESULT IMFASFStreamSelector::BitrateToStepNumber([In] unsigned int dwBitrate,[In] unsigned int* pdwStepNum) - IMFASFStreamSelector::BitrateToStepNumber -
- - -

Sets options for the stream selector.

-
-

Bitwise OR of zero or more members of the MFASF_STREAMSELECTOR_FLAGS enumeration specifying the options to use.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - ms701635 - HRESULT IMFASFStreamSelector::SetStreamSelectorFlags([In] unsigned int dwStreamSelectorFlags) - IMFASFStreamSelector::SetStreamSelectorFlags -
- - -

[ is no longer available for use as of Windows?7. Instead, use the media type attributes to get the properties of the audio format.]

Represents a description of an audio format.

-
- -

Windows Server?2008 and Windows?Vista:??If the major type of a media type is , you can query the media type object for the interface.

To convert an audio media type into a structure, call .

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - aa473793 - IMFAudioMediaType - IMFAudioMediaType -
- - - Initializes a new instance of the class. - - The native pointer. - - - - Performs an explicit conversion from to . (This method is a shortcut to ) - - The native pointer. - - The result of the conversion. - - - - -

[GetAudioFormat is no longer available for use as of Windows?7. Instead, use the media type attributes to get the properties of the audio format.]

Returns a reference to a structure that describes the audio format.

-
- -

If you need to convert the media type into a structure, call .

There are no guarantees about how long the returned reference is valid.

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - aa473803 - GetAudioFormat - GetAudioFormat - const WAVEFORMATEX* IMFAudioMediaType::GetAudioFormat() -
- - -

[GetAudioFormat is no longer available for use as of Windows?7. Instead, use the media type attributes to get the properties of the audio format.]

Returns a reference to a structure that describes the audio format.

-
-

This method returns a reference to a structure.

- -

If you need to convert the media type into a structure, call .

There are no guarantees about how long the returned reference is valid.

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - aa473803 - const WAVEFORMATEX* IMFAudioMediaType::GetAudioFormat() - IMFAudioMediaType::GetAudioFormat -
- - -

Configures the audio session that is associated with the streaming audio renderer (SAR). Use this interface to change how the audio session appears in the Windows volume control.

The SAR exposes this interface as a service. To get a reference to the interface, call with the service identifier . You can call GetService directly on the SAR or call it on the Media Session.

-
- - ms705651 - IMFAudioPolicy - IMFAudioPolicy -
- - - Initializes a new instance of the 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 group of sessions to which this audio session belongs.

-
- -

If two or more audio sessions share the same group, the Windows volume control displays one slider control for the entire group. Otherwise, it displays a slider for each session. For more information, see IAudioSessionControl::SetGroupingParam in the core audio API documentation.

-
- - ms698967 - GetGroupingParam / SetGroupingParam - GetGroupingParam - HRESULT IMFAudioPolicy::GetGroupingParam([Out] GUID* pguidClass) -
- - -

Assigns the audio session to a group of sessions.

-
-

A that identifies the session group. Groups are application-defined. To create a new session group, assign a new .

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

If two or more audio sessions share the same group, the Windows volume control displays one slider control for the entire group. Otherwise, it displays a slider for each session. For more information, see IAudioSessionControl::SetGroupingParam in the core audio API documentation.

-
- - ms696185 - HRESULT IMFAudioPolicy::SetGroupingParam([In] const GUID& rguidClass) - IMFAudioPolicy::SetGroupingParam -
- - -

Retrieves the group of sessions to which this audio session belongs.

-
-

Receives a that identifies the session group.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

If two or more audio sessions share the same group, the Windows volume control displays one slider control for the entire group. Otherwise, it displays a slider for each session. For more information, see IAudioSessionControl::SetGroupingParam in the core audio API documentation.

-
- - ms698967 - HRESULT IMFAudioPolicy::GetGroupingParam([Out] GUID* pguidClass) - IMFAudioPolicy::GetGroupingParam -
- - -

Sets the display name of the audio session. The Windows volume control displays this name.

-
-

A null-terminated wide-character string that contains the display name.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

If the application does not set a display name, Windows creates one.

-
- - ms697038 - HRESULT IMFAudioPolicy::SetDisplayName([In] const wchar_t* pszName) - IMFAudioPolicy::SetDisplayName -
- - -

Retrieves the display name of the audio session. The Windows volume control displays this name.

-
-

Receives a reference to the display name string. The caller must free the memory allocated for the string by calling CoTaskMemFree.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

If the application does not set a display name, Windows creates one.

-
- - ms698992 - HRESULT IMFAudioPolicy::GetDisplayName([Out] wchar_t** pszName) - IMFAudioPolicy::GetDisplayName -
- - -

Sets the icon resource for the audio session. The Windows volume control displays this icon.

-
-

A wide-character string that specifies the icon. See Remarks.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

The icon path has the format "path,index" or "path,-id", where path is the fully qualified path to a DLL, executable file, or icon file; index is the zero-based index of the icon within the file; and id is a resource identifier. Note that resource identifiers are preceded by a minus sign (-) to distinguish them from indexes. The path can contain environment variables, such as "%windir%". For more information, see IAudioSessionControl::SetIconPath in the Windows SDK.

-
- - ms694065 - HRESULT IMFAudioPolicy::SetIconPath([In] const wchar_t* pszPath) - IMFAudioPolicy::SetIconPath -
- - -

Retrieves the icon resource for the audio session. The Windows volume control displays this icon.

-
-

Receives a reference to a wide-character string that specifies a shell resource. The format of the string is described in the topic . The caller must free the memory allocated for the string by calling CoTaskMemFree.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

If the application did not set an icon path, the method returns an empty string ("").

For more information, see IAudioSessionControl::GetIconPath in the core audio API documentation.

-
- - ms704858 - HRESULT IMFAudioPolicy::GetIconPath([Out] wchar_t** pszPath) - IMFAudioPolicy::GetIconPath -
- - -

Controls the volume levels of individual audio channels.

The streaming audio renderer (SAR) exposes this interface as a service. To get a reference to the interface, call with the service identifier . You can call GetService directly on the SAR or call it on the Media Session.

-
- -

If your application does not require channel-level volume control, you can use the interface to control the master volume level of the audio session.

Volume is expressed as an attenuation level, where 0.0 indicates silence and 1.0 indicates full volume (no attenuation). For each channel, the attenuation level is the product of:

  • The master volume level of the audio session.
  • The volume level of the channel.

For example, if the master volume is 0.8 and the channel volume is 0.5, the attenuation for that channel is 0.8 ? 0.5 = 0.4. Volume levels can exceed 1.0 (positive gain), but the audio engine clips any audio samples that exceed zero decibels.

Use the following formula to convert the volume level to the decibel (dB) scale:

Attenuation (dB) = 20 * log10(Level)

For example, a volume level of 0.50 represents 6.02 dB of attenuation.

-
- - aa378344 - IMFAudioStreamVolume - IMFAudioStreamVolume -
- - - Initializes a new instance of the 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 channels in the audio stream.

-
- - aa373760 - GetChannelCount - GetChannelCount - HRESULT IMFAudioStreamVolume::GetChannelCount([Out] unsigned int* pdwCount) -
- - -

Retrieves the number of channels in the audio stream.

-
-

Receives the number of channels in the audio stream.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - aa373760 - HRESULT IMFAudioStreamVolume::GetChannelCount([Out] unsigned int* pdwCount) - IMFAudioStreamVolume::GetChannelCount -
- - -

Sets the volume level for a specified channel in the audio stream.

-
-

Zero-based index of the audio channel. To get the number of channels, call .

-

Volume level for the channel.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - aa370771 - HRESULT IMFAudioStreamVolume::SetChannelVolume([In] unsigned int dwIndex,[In] const float fLevel) - IMFAudioStreamVolume::SetChannelVolume -
- - -

Retrieves the volume level for a specified channel in the audio stream.

-
-

Zero-based index of the audio channel. To get the number of channels, call .

-

Receives the volume level for the channel.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - aa369737 - HRESULT IMFAudioStreamVolume::GetChannelVolume([In] unsigned int dwIndex,[Out] float* pfLevel) - IMFAudioStreamVolume::GetChannelVolume -
- - -

Sets the individual volume levels for all of the channels in the audio stream.

-
-

Number of elements in the pfVolumes array. The value must equal the number of channels. To get the number of channels, call .

-

Address of an array of size dwCount, allocated by the caller. The array specifies the volume levels for all of the channels. Before calling the method, set each element of the array to the desired volume level for the channel.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - aa370454 - HRESULT IMFAudioStreamVolume::SetAllVolumes([In] unsigned int dwCount,[In, Buffer] const float* pfVolumes) - IMFAudioStreamVolume::SetAllVolumes -
- - -

Retrieves the volume levels for all of the channels in the audio stream.

-
-

Number of elements in the pfVolumes array. The value must equal the number of channels. To get the number of channels, call .

-

Address of an array of size dwCount, allocated by the caller. The method fills the array with the volume level for each channel in the stream.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - aa373642 - HRESULT IMFAudioStreamVolume::GetAllVolumes([In] unsigned int dwCount,[Out, Buffer] float* pfVolumes) - IMFAudioStreamVolume::GetAllVolumes -
- - -

Represents a buffer that contains a two-dimensional surface, such as a video frame.

-
- -

To get a reference to this interface, call QueryInterface on the media buffer.

To use a 2-D buffer, it is important to know the stride, which is the number of bytes needed to go from one row of pixels to the next. The stride may be larger than the image width, because the surface may contain padding bytes after each row of pixels. Stride can also be negative, if the pixels are oriented bottom-up in memory. For more information, see Image Stride.

Every video format defines a contiguous or packed representation. This representation is compatible with the standard layout of a DirectX surface in system memory, with no additional padding. For RGB video, the contiguous representation has a pitch equal to the image width in bytes, rounded up to the nearest DWORD boundary. For YUV video, the layout of the contiguous representation depends on the YUV format. For planar YUV formats, the Y plane might have a different pitch than the U and V planes.

If a media buffer supports the interface, the underlying buffer is not guaranteed to have a contiguous representation, because there might be additional padding bytes after each row of pixels. When a buffer is non-contiguous, the Lock and Lock2D methods have different behaviors:

  • The Lock2D method returns a reference to the underlying buffer. The buffer might not be contiguous.
  • The Lock method returns a buffer that is guaranteed to be contiguous. If the underlying buffer is not contiguous, the method copies the data into a new buffer, and the Unlock method copies it back into the original buffer.

Call the Lock2D method to access the 2-D buffer in its native format. The native format might not be contiguous. The buffer's method returns a contiguous representation of the buffer. However, this might require an internal copy from the native format. For 2-D buffers, therefore, you should use the Lock2D method and avoid the Lock method. Because the Lock method might cause up to two buffer copies, the Lock2D method is generally more efficient and should be used when possible. To find out if the underlying buffer is contiguous, call .

For uncompressed images, the amount of valid data in the buffer is determined by the width, height, and pixel layout of the image. For this reason, if you call Lock2D to access the buffer, do not rely on the values returned by or . Similarly, if you modify the data in the buffer, you do not have to call to update the size. Generally, you should avoid mixing calls to and methods on the same media buffer.

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

Queries whether the buffer is contiguous in its native format.

-
- -

For a definition of contiguous as it applies to 2-D buffers, see the Remarks section in interface. For non-contiguous buffers, the method must perform an internal copy.

-
- - ms701629 - IsContiguousFormat - IsContiguousFormat - HRESULT IMF2DBuffer::IsContiguousFormat([Out] BOOL* pfIsContiguous) -
- - -

Retrieves the number of bytes needed to store the contents of the buffer in contiguous format.

-
- -

For a definition of contiguous as it applies to 2-D buffers, see the Remarks section in interface.

-
- - ms696971 - GetContiguousLength - GetContiguousLength - HRESULT IMF2DBuffer::GetContiguousLength([Out] unsigned int* pcbLength) -
- - -

Gives the caller access to the memory in the buffer.

-
-

Receives a reference to the first byte of the top row of pixels in the image. The top row is defined as the top row when the image is presented to the viewer, and might not be the first row in memory.

-

Receives the surface stride, in bytes. The stride might be negative, indicating that the image is oriented from the bottom up in memory.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

D3DERR_INVALIDCALL

Cannot lock the Direct3D surface.

The buffer cannot be locked at this time.

?

- -

If p is a reference to the first byte in a row of pixels, p + (*plPitch) points to the first byte in the next row of pixels. A buffer might contain padding after each row of pixels, so the stride might be wider than the width of the image in bytes. Do not access the memory that is reserved for padding bytes, because it might not be read-accessible or write-accessible. For more information, see Image Stride.

The reference returned in pbScanline0 remains valid as long as the caller holds the lock. When you are done accessing the memory, call to unlock the buffer. You must call Unlock2D once for each call to Lock2D. After you unlock the buffer, the reference returned in pbScanline0 is no longer valid and should not be used. Generally, it is best to call Lock2D only when you need to access the buffer memory, and not earlier.

The values returned by the and methods do not apply to the buffer that is returned by the Lock2D method. For the same reason, you do not need to call after manipulating the data in the buffer returned by the Lock2D method.

The method fails while the Lock2D lock is held, and vice-versa. Applications should use only one of these methods at a time.

When the underlying buffer is a Direct3D surface, the method fails if the surface is not lockable.

-
- - ms700182 - HRESULT IMF2DBuffer::Lock2D([Out, Buffer] unsigned char** ppbScanline0,[Out] int* plPitch) - IMF2DBuffer::Lock2D -
- - -

Unlocks a buffer that was previously locked. Call this method once for each call to .

-
-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - ms697066 - HRESULT IMF2DBuffer::Unlock2D() - IMF2DBuffer::Unlock2D -
- - -

Retrieves a reference to the buffer memory and the surface stride.

-
-

Receives a reference to the first byte of the top row of pixels in the image.

-

Receives the stride, in bytes. For more information, see Image Stride.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

You must lock the buffer before calling this method.

?

- -

Before calling this method, you must lock the buffer by calling . The reference returned in plPitch is valid only while the buffer remains locked.

-
- - ms694042 - HRESULT IMF2DBuffer::GetScanline0AndPitch([Out] unsigned char** pbScanline0,[Out] int* plPitch) - IMF2DBuffer::GetScanline0AndPitch -
- - -

Queries whether the buffer is contiguous in its native format.

-
-

Receives a Boolean value. The value is TRUE if the buffer is contiguous, and otherwise.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

For a definition of contiguous as it applies to 2-D buffers, see the Remarks section in interface. For non-contiguous buffers, the method must perform an internal copy.

-
- - ms701629 - HRESULT IMF2DBuffer::IsContiguousFormat([Out] BOOL* pfIsContiguous) - IMF2DBuffer::IsContiguousFormat -
- - -

Retrieves the number of bytes needed to store the contents of the buffer in contiguous format.

-
-

Receives the number of bytes needed to store the contents of the buffer in contiguous format.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

For a definition of contiguous as it applies to 2-D buffers, see the Remarks section in interface.

-
- - ms696971 - HRESULT IMF2DBuffer::GetContiguousLength([Out] unsigned int* pcbLength) - IMF2DBuffer::GetContiguousLength -
- - -

Copies this buffer into the caller's buffer, converting the data to contiguous format.

-
-

Pointer to the destination buffer where the data will be copied. The caller allocates the buffer.

-

Size of the destination buffer, in bytes. To get the required size, call .

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_INVALIDARG

Invalid size specified in pbDestBuffer.

?

- -

If the original buffer is not contiguous, this method converts the contents into contiguous format during the copy. For a definition of contiguous as it applies to 2-D buffers, see the Remarks section in interface.

-
- - ms696215 - HRESULT IMF2DBuffer::ContiguousCopyTo([Out, Buffer] unsigned char* pbDestBuffer,[In] unsigned int cbDestBuffer) - IMF2DBuffer::ContiguousCopyTo -
- - -

Copies data to this buffer from a buffer that has a contiguous format.

-
-

Pointer to the source buffer. The caller allocates the buffer.

-

Size of the source buffer, in bytes. To get the maximum size of the buffer, call .

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

This method copies the contents of the source buffer into the buffer that is managed by this object. The source buffer must be in contiguous format. While copying, the method converts the contents into the destination buffer's native format, correcting for the buffer's pitch if necessary.

For a definition of contiguous as it applies to 2-D buffers, see the Remarks section in the interface topic.

-
- - ms700162 - HRESULT IMF2DBuffer::ContiguousCopyFrom([In, Buffer] const unsigned char* pbSrcBuffer,[In] unsigned int cbSrcBuffer) - IMF2DBuffer::ContiguousCopyFrom -
- - -

Represents a buffer that contains a two-dimensional surface, such as a video frame.

-
- -

This interface extends the interface and adds a safer version of the method.

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

Gives the caller access to the memory in the buffer.

-
-

A member of the enumeration that specifies whether to lock the buffer for reading, writing, or both.

-

Receives a reference to the first byte of the top row of pixels in the image. The top row is defined as the top row when the image is presented to the viewer, and might not be the first row in memory.

-

Receives the surface stride, in bytes. The stride might be negative, indicating that the image is oriented from the bottom up in memory.

-

Receives a reference to the start of the accessible buffer in memory.

-

Receives the length of the buffer, in bytes.

-

This method can return one of these values.

Return codeDescription

Success.

Invalid request. The buffer might already be locked with an incompatible locking flag. See Remarks.

E_OUTOFMEMORY

There is insufficient memory to complete the operation.

?

- -

When you are done accessing the memory, call to unlock the buffer. You must call Unlock2D once for each call to Lock2DSize.

This method is equivalent to the method. However, Lock2DSize is preferred because it enables the caller to validate memory references, and because it supports read-only locks. A buffer is not guaranteed to support the interface. To access a buffer, you should try the following methods in the order listed:

The ppbBufferStart and pcbBufferLength parameters receive the bounds of the buffer memory. Use these values to guard against buffer overruns. Use the values of ppbScanline0 and plPitch to access the image data. If the image is bottom-up in memory, ppbScanline0 will point to the last scan line in memory and plPitch will be negative. For more information, see Image Stride.

The lockFlags parameter specifies whether the buffer is locked for read-only access, write-only access, or read/write access.

  • If the buffer is already locked for read-only access, it cannot be locked for write access.
  • If the buffer is already locked for write-only access, it cannot be locked for read access.
  • If the buffer is already locked for read/write acess, it can be locked for read or write acess.

When possible, use a read-only or write-only lock, and avoid locking the buffer for read/write access. If the buffer represents a DirectX Graphics Infrastructure (DXGI) surface, a read/write lock can cause an extra copy between CPU memory and GPU memory.

-
- - hh447829 - HRESULT IMF2DBuffer2::Lock2DSize([In] MF2DBuffer_LockFlags lockFlags,[Out, Buffer] unsigned char** ppbScanline0,[Out] int* plPitch,[Out, Buffer] unsigned char** ppbBufferStart,[Out] unsigned int* pcbBufferLength) - IMF2DBuffer2::Lock2DSize -
- - -

Copies the buffer to another 2D buffer object.

-
-

A reference to the interface of the destination buffer.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

The destination buffer must be at least as large as the source buffer.

-
- - hh447828 - HRESULT IMF2DBuffer2::Copy2DTo([In] IMF2DBuffer2* pDestBuffer) - IMF2DBuffer2::Copy2DTo -
- - -

Enables object to notify its clients of important state changes.

-
- - dn280674 - IMFBufferListNotify - IMFBufferListNotify -
- - - Initializes a new instance of the 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 that a has been added.

-
- - dn280675 - void IMFBufferListNotify::OnAddSourceBuffer() - IMFBufferListNotify::OnAddSourceBuffer -
- - -

Indicates that a has been removed.

-
- - dn280676 - void IMFBufferListNotify::OnRemoveSourceBuffer() - IMFBufferListNotify::OnRemoveSourceBuffer -
- - -

Controls how a byte stream buffers data from a network.

To get a reference to this interface, call QueryInterface on the byte stream object.

-
- -

If a byte stream implements this interface, a media source can use it to control how the byte stream buffers data. This interface is designed for byte streams that read data from a network.

A byte stream that implements this interface should also implement the interface. When the byte stream starts buffering, it sends an event. When it stops buffering, it sends an event.

The byte stream must send a matching event for every event. The byte stream must not send events unless the media source has enabled buffering by calling EnableBuffering with the value TRUE.

After the byte stream sends an event, it should send if any of the following occur:

  • The byte stream finishes buffering data.
  • The byte stream reaches the end of the stream.
  • The media source calls EnableBuffering with the value .
  • The media source calls StopBuffering.

The byte stream should not send any more buffering events after it reaches the end of the file.

If buffering is disabled, the byte stream does not send any buffering events. Internally, however, it might still buffer data while it waits for I/O requests to complete. Therefore, methods might take an indefinite length of time to complete.

If the byte stream is buffering data internally and the media source calls EnableBuffering with the value TRUE, the byte stream can send immediately.

After the presentation has started, the media source should forward and and events that it receives while started. The Media Session will pause the presentation clock while buffering is progress and restart the presentation clock when buffering completes. The media source should only forward these events while the presentation is playing. The purpose of sending these events to the Media Session is to pause the presentation time while the source buffers data.

-
- - aa372548 - IMFByteStreamBuffering - IMFByteStreamBuffering -
- - - Initializes a new instance of the 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 buffering parameters.

-
- - aa366520 - SetBufferingParams - SetBufferingParams - HRESULT IMFByteStreamBuffering::SetBufferingParams([In] MFBYTESTREAM_BUFFERING_PARAMS* pParams) -
- - -

Sets the buffering parameters.

-
-

Pointer to an structure that contains the buffering parameters. The byte stream uses this information to calculate how much data to buffer from the network.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - aa366520 - HRESULT IMFByteStreamBuffering::SetBufferingParams([In] MFBYTESTREAM_BUFFERING_PARAMS* pParams) - IMFByteStreamBuffering::SetBufferingParams -
- - -

Enables or disables buffering.

-
-

Specifies whether the byte stream buffers data. If TRUE, buffering is enabled. If , buffering is disabled.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

Before calling this method, call to set the buffering parameters on the byte stream.

-
- - aa369933 - HRESULT IMFByteStreamBuffering::EnableBuffering([In] BOOL fEnable) - IMFByteStreamBuffering::EnableBuffering -
- - -

Stops any buffering that is in progress.

-
-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The byte stream successfully stopped buffering.

S_FALSE

No buffering was in progress.

?

- -

If the byte stream is currently buffering data, it stops and sends an event. If the byte stream is not currently buffering, this method has no effect.

-
- - aa375256 - HRESULT IMFByteStreamBuffering::StopBuffering() - IMFByteStreamBuffering::StopBuffering -
- - -

Controls how a network byte stream transfers data to a local cache. Optionally, this interface is exposed by byte streams that read data from a network, for example, through HTTP.

To get a reference to this interface, call QueryInterface on the byte stream object.

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

Stops the background transfer of data to the local cache.

-
-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

The byte stream resumes transferring data to the cache if the application does one of the following:

  • Reads data from the byte stream.
  • Calls the byte stream's method.
-
- - dd368786 - HRESULT IMFByteStreamCacheControl::StopBackgroundTransfer() - IMFByteStreamCacheControl::StopBackgroundTransfer -
- - -

Controls how a network byte stream transfers data to a local cache. This interface extends the interface.

-
- -

Byte streams object in Microsoft Media Foundation can optionally implement this interface. To get a reference to this interface, call QueryInterface on the byte stream object.

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

Limits the cache size.

-
- - hh447833 - SetCacheLimit - SetCacheLimit - HRESULT IMFByteStreamCacheControl2::SetCacheLimit([In] unsigned longlong qwBytes) -
- - -

Queries whether background transfer is active.

-
- -

Background transfer might stop because the cache limit was reached (see ) or because the method was called.

-
- - hh447832 - IsBackgroundTransferActive - IsBackgroundTransferActive - HRESULT IMFByteStreamCacheControl2::IsBackgroundTransferActive([Out] BOOL* pfActive) -
- - -

Gets the ranges of bytes that are currently stored in the cache.

-
-

Receives the number of ranges returned in the ppRanges array.

-

Receives an array of structures. Each structure specifies a range of bytes stored in the cache. The caller must free the array by calling CoTaskMemFree.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh447831 - HRESULT IMFByteStreamCacheControl2::GetByteRanges([Out] unsigned int* pcRanges,[Buffer, Optional] MF_BYTE_STREAM_CACHE_RANGE** ppRanges) - IMFByteStreamCacheControl2::GetByteRanges -
- - -

Limits the cache size.

-
-

The maximum number of bytes to store in the cache, or ULONGLONG_MAX for no limit. The default value is no limit.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh447833 - HRESULT IMFByteStreamCacheControl2::SetCacheLimit([In] unsigned longlong qwBytes) - IMFByteStreamCacheControl2::SetCacheLimit -
- - -

Queries whether background transfer is active.

-
-

Receives the value TRUE if background transfer is currently active, or otherwise.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

Background transfer might stop because the cache limit was reached (see ) or because the method was called.

-
- - hh447832 - HRESULT IMFByteStreamCacheControl2::IsBackgroundTransferActive([Out] BOOL* pfActive) - IMFByteStreamCacheControl2::IsBackgroundTransferActive -
- - -

Creates a media source from a byte stream.

-
- -

Applications do not use this interface directly. This interface is exposed by byte-stream handlers, which are used by the source resolver. When the byte-stream handler is given a byte stream, it parses the stream and creates a media source. Byte-stream handlers are registered by file name extension or MIME type.

-
- - ms699886 - IMFByteStreamHandler - IMFByteStreamHandler -
- - - Initializes a new instance of the 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 maximum number of bytes needed to create the media source or determine that the byte stream handler cannot parse this stream.

-
- - ms704770 - GetMaxNumberOfBytesRequiredForResolution - GetMaxNumberOfBytesRequiredForResolution - HRESULT IMFByteStreamHandler::GetMaxNumberOfBytesRequiredForResolution([Out] unsigned longlong* pqwBytes) -
- - -

Begins an asynchronous request to create a media source from a byte stream.

-
-

Pointer to the byte stream's interface.

-

String that contains the original URL of the byte stream. This parameter can be null.

-

Bitwise OR of zero or more flags. See Source Resolver Flags.

-

Pointer to the interface of a property store. The byte-stream handler can use this property store to configure the object. This parameter can be null. For more information, see Configuring a Media Source.

-

Receives an reference or the value null. If the value is not null, you can cancel the asynchronous operation by passing this reference to the method. The caller must release the interface. This parameter can be null.

-

Pointer to the interface of a callback object. The caller must implement this interface.

-

Pointer to the interface of a state object, defined by the caller. This parameter can be null. You can use this object to hold state information. The object is returned to the caller when the callback is invoked.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

Unable to parse the byte stream.

?

- -

The dwFlags parameter must contain the flag and should not contain the flag.

The byte-stream handler is responsible for parsing the stream and validating the contents. If the stream is not valid or the byte stream handler cannot parse the stream, the handler should return a failure code. The byte stream is not guaranteed to match the type of stream that the byte handler is designed to parse.

If the pwszURL parameter is not null, the byte-stream handler might use the URL during the resolution process. (For example, it might use the file name extension, if present.) Also, the byte stream might contain the attribute, specifying the MIME type.

When the operation completes, the byte-stream handler calls the method. The Invoke method should call to get a reference to the media source.

-
- - ms696214 - HRESULT IMFByteStreamHandler::BeginCreateObject([In] IMFByteStream* pByteStream,[In] const wchar_t* pwszURL,[In] unsigned int dwFlags,[In] IPropertyStore* pProps,[Out, Optional] IUnknown** ppIUnknownCancelCookie,[In] IMFAsyncCallback* pCallback,[In] IUnknown* punkState) - IMFByteStreamHandler::BeginCreateObject -
- - -

Completes an asynchronous request to create a media source.

-
-

Pointer to the interface. Pass in the same reference that your callback object received in the Invoke method.

-

Receives a member of the enumeration, specifying the type of object that was created.

-

Receives a reference to the interface of the media source. The caller must release the interface.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_ABORT

The operation was canceled. See .

Unable to parse the byte stream.

?

- -

Call this method from inside the method.

-
- - ms700217 - HRESULT IMFByteStreamHandler::EndCreateObject([In] IMFAsyncResult* pResult,[Out] MF_OBJECT_TYPE* pObjectType,[Out] IUnknown** ppObject) - IMFByteStreamHandler::EndCreateObject -
- - -

Cancels the current request to create a media source.

-
-

Pointer to the interface that was returned in the ppIUnknownCancelCookie parameter of the method.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

You can use this method to cancel a previous call to BeginCreateObject. Because that method is asynchronous, however, it might be completed before the operation can be canceled. Therefore, your callback might still be invoked after you call this method.

-
- - ms701576 - HRESULT IMFByteStreamHandler::CancelObjectCreation([In] IUnknown* pIUnknownCancelCookie) - IMFByteStreamHandler::CancelObjectCreation -
- - -

Retrieves the maximum number of bytes needed to create the media source or determine that the byte stream handler cannot parse this stream.

-
-

Receives the maximum number of bytes that are required.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - ms704770 - HRESULT IMFByteStreamHandler::GetMaxNumberOfBytesRequiredForResolution([Out] unsigned longlong* pqwBytes) - IMFByteStreamHandler::GetMaxNumberOfBytesRequiredForResolution -
- - -

Creates a proxy to a byte stream. The proxy enables a media source to read from a byte stream in another process.

-
- - hh447835 - IMFByteStreamProxyClassFactory - IMFByteStreamProxyClassFactory -
- - - Initializes a new instance of the 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 proxy to a byte stream. The proxy enables a media source to read from a byte stream in another process.

-
-

A reference to the interface of the byte stream to proxy.

-

Reserved. Set to null.

-

The interface identifer (IID) of the interface being requested.

-

Receives a reference to the interface. The caller must release the interface.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh447835 - HRESULT IMFByteStreamProxyClassFactory::CreateByteStreamProxy([In, Optional] IMFByteStream* pByteStream,[In, Optional] IMFAttributes* pAttributes,[In] const GUID& riid,[Out] void** ppvObject) - IMFByteStreamProxyClassFactory::CreateByteStreamProxy -
- - -

Seeks a byte stream by time position.

-
- -

A byte stream can implement this interface if it supports time-based seeking. For example, a byte stream that reads data from a server might implement the interface. Typically, a local file-based byte stream would not implement it.

To get a reference to this interface, call QueryInterface on the byte stream object.

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

Queries whether the byte stream supports time-based seeking.

-
- - hh447838 - IsTimeSeekSupported - IsTimeSeekSupported - HRESULT IMFByteStreamTimeSeek::IsTimeSeekSupported([Out] BOOL* pfTimeSeekIsSupported) -
- - -

Queries whether the byte stream supports time-based seeking.

-
-

Receives the value TRUE if the byte stream supports time-based seeking, or otherwise.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh447838 - HRESULT IMFByteStreamTimeSeek::IsTimeSeekSupported([Out] BOOL* pfTimeSeekIsSupported) - IMFByteStreamTimeSeek::IsTimeSeekSupported -
- - -

Seeks to a new position in the byte stream.

-
-

The new position, in 100-nanosecond units.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

If the byte stream reads from a server, it might cache the seek request until the next read request. Therefore, the byte stream might not send a request to the server immediately.

-
- - hh447839 - HRESULT IMFByteStreamTimeSeek::TimeSeek([In] unsigned longlong qwTimePosition) - IMFByteStreamTimeSeek::TimeSeek -
- - -

Gets the result of a time-based seek.

-
-

Receives the new position after the seek, in 100-nanosecond units.

-

Receives the stop time, in 100-nanosecond units. If the stop time is unknown, the value is zero.

-

Receives the total duration of the file, in 100-nanosecond units. If the duration is unknown, the value is ?1.

-

This method can return one of these values.

Return codeDescription

The method succeeded.

The byte stream does not support time-based seeking, or no data is available.

?

- -

This method returns the server response from a previous time-based seek.

Note??This method normally cannot be invoked until some data is read from the byte stream, because the method does not send a server request immediately.? -
- - hh447837 - HRESULT IMFByteStreamTimeSeek::GetTimeSeekResult([Out] unsigned longlong* pqwStartTime,[Out] unsigned longlong* pqwStopTime,[Out] unsigned longlong* pqwDuration) - IMFByteStreamTimeSeek::GetTimeSeekResult -
- - -

Extends the interface to provide functionality for dynamically setting the output media type of the record sink or preview sink.

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

Dynamically sets the output media type of the record sink or preview sink.

-
-

The stream index to change the output media type on.

-

The new output media type.

-

The new encoder attributes. This can be null.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded

MF_E_INVALID_MEDIATYPE

The sink does not support the media type.

?

- -

This is an asynchronous call. Listen to the MF_CAPTURE_ENGINE_OUTPUT_MEDIA_TYPE_SET event - to be notified when the output media type has been set.

-
- - dn280680 - HRESULT IMFCaptureSink2::SetOutputMediaType([In] unsigned int dwStreamIndex,[In] IMFMediaType* pMediaType,[In, Optional] IMFAttributes* pEncodingAttributes) - IMFCaptureSink2::SetOutputMediaType -
- - -

Controls the capture source object. The capture source manages the audio and video capture devices.

-
- -

To get a reference to the capture source, call .

-
- - hh447889 - IMFCaptureSource - IMFCaptureSource -
- - - Initializes a new instance of the 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 device streams.

-
- - hh447894 - GetDeviceStreamCount - GetDeviceStreamCount - HRESULT IMFCaptureSource::GetDeviceStreamCount([Out] unsigned int* pdwStreamCount) -
- - -

Gets the current capture device's object reference.

-
- No documentation. - No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- - jj159896 - HRESULT IMFCaptureSource::GetCaptureDeviceSource([In] MF_CAPTURE_ENGINE_DEVICE_TYPE mfCaptureEngineDeviceType,[Out, Optional] IMFMediaSource** ppMediaSource) - IMFCaptureSource::GetCaptureDeviceSource -
- - -

Gets the current capture device's object reference.

-
- No documentation. - No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- - jj159895 - HRESULT IMFCaptureSource::GetCaptureDeviceActivate([In] MF_CAPTURE_ENGINE_DEVICE_TYPE mfCaptureEngineDeviceType,[Out, Optional] IMFActivate** ppActivate) - IMFCaptureSource::GetCaptureDeviceActivate -
- - -

Gets a reference to the underlying Source Reader object.

-
- No documentation. - No documentation. - No documentation. -

This method can return one of these values.

Return codeDescription

Success.

E_INVALIDARG

Invalid argument.

The capture source was not initialized. Possibly there is no capture device on the system.

?

- - hh447896 - HRESULT IMFCaptureSource::GetService([In] const GUID& rguidService,[In] const GUID& riid,[Out, Optional] IUnknown** ppUnknown) - IMFCaptureSource::GetService -
- - -

Adds an effect to a capture stream.

-
-

The capture stream. The value can be any of the following.

ValueMeaning
0?0xFFFFFFFB

The zero-based index of a stream. To get the number of streams, call .

MF_CAPTURE_ENGINE_FIRST_SOURCE_PHOTO_STREAM
0xFFFFFFFB

The first image stream.

MF_CAPTURE_ENGINE_FIRST_SOURCE_VIDEO_STREAM
0xFFFFFFFC

The first video stream.

MF_CAPTURE_ENGINE_FIRST_SOURCE_AUDIO_STREAM
0xFFFFFFFD

The first audio stream.

?

-

A reference to one of the following:

  • A Media Foundation transform (MFT) that exposes the interface.
  • An MFT activation object that exposes the interface.
-

This method can return one of these values.

Return codeDescription

Success.

No compatible media type could be found.

The dwSourceStreamIndex parameter is invalid.

?

- -

The effect must be implemented as a Media Foundation Transform (MFT). The pUnknown parameter can point to an instance of the MFT, or to an activation object for the MFT. For more information, see Activation Objects.

The effect is applied to the stream before the data reaches the capture sinks.

-
- - hh447890 - HRESULT IMFCaptureSource::AddEffect([In] unsigned int dwSourceStreamIndex,[In] IUnknown* pUnknown) - IMFCaptureSource::AddEffect -
- - -

Removes an effect from a capture stream.

-
-

The capture stream. The value can be any of the following.

ValueMeaning
0?0xFFFFFFFB

The zero-based index of a stream. To get the number of streams, call .

MF_CAPTURE_ENGINE_FIRST_SOURCE_PHOTO_STREAM
0xFFFFFFFB

The first image stream.

MF_CAPTURE_ENGINE_FIRST_SOURCE_VIDEO_STREAM
0xFFFFFFFC

The first video stream.

MF_CAPTURE_ENGINE_FIRST_SOURCE_AUDIO_STREAM
0xFFFFFFFD

The first audio stream.

?

-

A reference to the interface of the effect object.

-

This method can return one of these values.

Return codeDescription

Success.

Invalid request. Possibly the specified effect could not be found.

The dwSourceStreamIndex parameter is invalid.

?

- -

This method removes an effect that was previously added using the method.

-
- - hh447898 - HRESULT IMFCaptureSource::RemoveEffect([In] unsigned int dwSourceStreamIndex,[In] IUnknown* pUnknown) - IMFCaptureSource::RemoveEffect -
- - -

Removes all effects from a capture stream.

-
-

The capture stream. The value can be any of the following.

ValueMeaning
0?0xFFFFFFFB

The zero-based index of a stream. To get the number of streams, call .

MF_CAPTURE_ENGINE_FIRST_SOURCE_PHOTO_STREAM
0xFFFFFFFB

The first image stream.

MF_CAPTURE_ENGINE_FIRST_SOURCE_VIDEO_STREAM
0xFFFFFFFC

The first video stream.

MF_CAPTURE_ENGINE_FIRST_SOURCE_AUDIO_STREAM
0xFFFFFFFD

The first audio stream.

?

-

This method can return one of these values.

Return codeDescription

Success.

The dwSourceStreamIndex parameter is invalid.

?

- - hh447897 - HRESULT IMFCaptureSource::RemoveAllEffects([In] unsigned int dwSourceStreamIndex) - IMFCaptureSource::RemoveAllEffects -
- - -

Gets a format that is supported by one of the capture streams.

-
-

The stream to query. The value can be any of the following.

ValueMeaning
0?0xFFFFFFFB

The zero-based index of a stream. To get the number of streams, call .

MF_CAPTURE_ENGINE_FIRST_SOURCE_PHOTO_STREAM
0xFFFFFFFB

The first image stream.

MF_CAPTURE_ENGINE_FIRST_SOURCE_VIDEO_STREAM
0xFFFFFFFC

The first video stream.

MF_CAPTURE_ENGINE_FIRST_SOURCE_AUDIO_STREAM
0xFFFFFFFD

The first audio stream.

?

-

The zero-based index of the media type to retrieve.

-

Receives a reference to the interface. The caller must release the interface.

-

This method can return one of these values.

Return codeDescription

Success.

The dwSourceStreamIndex parameter is invalid.

The dwMediaTypeIndex parameter is out of range.

?

- -

To enumerate all of the available formats on a stream, call this method in a loop while incrementing dwMediaTypeIndex, until the method returns .

Some cameras might support a range of frame rates. The minimum and maximum frame rates are stored in the and attributes on the media type.

-
- - hh447891 - HRESULT IMFCaptureSource::GetAvailableDeviceMediaType([In] unsigned int dwSourceStreamIndex,[In] unsigned int dwMediaTypeIndex,[Out, Optional] IMFMediaType** ppMediaType) - IMFCaptureSource::GetAvailableDeviceMediaType -
- - -

Sets the output format for a capture stream.

-
-

The capture stream to set. The value can be any of the following.

ValueMeaning
0?0xFFFFFFFB

The zero-based index of a stream. To get the number of streams, call .

MF_CAPTURE_ENGINE_FIRST_SOURCE_PHOTO_STREAM
0xFFFFFFFB

The first image stream.

MF_CAPTURE_ENGINE_FIRST_SOURCE_VIDEO_STREAM
0xFFFFFFFC

The first video stream.

MF_CAPTURE_ENGINE_FIRST_SOURCE_AUDIO_STREAM
0xFFFFFFFD

The first audio stream.

?

-

A reference to the interface.

-

This method can return one of these values.

Return codeDescription

Success.

The dwSourceStreamIndex parameter is invalid.

?

- -

This method sets the native output type on the capture device. The device must support the specified format. To get the list of available formats, call .

-
- - hh447899 - HRESULT IMFCaptureSource::SetCurrentDeviceMediaType([In] unsigned int dwSourceStreamIndex,[In] IMFMediaType* pMediaType) - IMFCaptureSource::SetCurrentDeviceMediaType -
- - -

Gets the current media type for a capture stream.

-
-

Specifies which stream to query. The value can be any of the following.

ValueMeaning
0?0xFFFFFFFB

The zero-based index of a stream. To get the number of streams, call .

MF_CAPTURE_ENGINE_FIRST_SOURCE_PHOTO_STREAM
0xFFFFFFFB

The first image stream.

MF_CAPTURE_ENGINE_FIRST_SOURCE_VIDEO_STREAM
0xFFFFFFFC

The first video stream.

MF_CAPTURE_ENGINE_FIRST_SOURCE_AUDIO_STREAM
0xFFFFFFFD

The first audio stream.

?

-

Receives a reference to the interface. The caller must release the interface.

-

This method can return one of these values.

Return codeDescription

Success.

The dwSourceStreamIndex parameter is invalid.

?

- - hh447893 - HRESULT IMFCaptureSource::GetCurrentDeviceMediaType([In] unsigned int dwSourceStreamIndex,[Out] IMFMediaType** ppMediaType) - IMFCaptureSource::GetCurrentDeviceMediaType -
- - -

Gets the number of device streams.

-
-

Receives the number of device streams.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh447894 - HRESULT IMFCaptureSource::GetDeviceStreamCount([Out] unsigned int* pdwStreamCount) - IMFCaptureSource::GetDeviceStreamCount -
- - -

Gets the stream category for the specified source stream index.

-
-

The index of the source stream.

-

Receives the of the specified source stream.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - jj159897 - HRESULT IMFCaptureSource::GetDeviceStreamCategory([In] unsigned int dwSourceStreamIndex,[Out] MF_CAPTURE_ENGINE_STREAM_CATEGORY* pStreamCategory) - IMFCaptureSource::GetDeviceStreamCategory -
- - -

Gets the current mirroring state of the video preview stream.

-
-

The zero-based index of the stream.

-

Receives the value TRUE if mirroring is enabled, or if mirroring is disabled.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh447895 - HRESULT IMFCaptureSource::GetMirrorState([In] unsigned int dwStreamIndex,[Out] BOOL* pfMirrorState) - IMFCaptureSource::GetMirrorState -
- - -

Enables or disables mirroring of the video preview stream.

-
-

The zero-based index of the stream.

-

If TRUE, mirroring is enabled; if , mirroring is disabled.

-

This method can return one of these values.

Return codeDescription

Success.

E_NOTIMPL

The device stream does not have mirroring capability.

The source is not initialized.

?

- - hh447900 - HRESULT IMFCaptureSource::SetMirrorState([In] unsigned int dwStreamIndex,[In] BOOL fMirrorState) - IMFCaptureSource::SetMirrorState -
- - -

Gets the actual device stream index translated from a friendly stream name.

-
-

The friendly name. Can be one of the following:

  • MF_CAPTURE_ENGINE_FIRST_SOURCE_AUDIO_STREAM
  • MF_CAPTURE_ENGINE_FIRST_SOURCE_VIDEO_STREAM
  • MF_CAPTURE_ENGINE_FIRST_SOURCE_PHOTO_STREAM
  • MF_CAPTURE_ENGINE_PREFERRED_SOURCE_VIDEO_STREAM_FOR_RECORD
  • MF_CAPTURE_ENGINE_PREFERRED_SOURCE_VIDEO_STREAM_FOR_PREVIEW
  • MF_CAPTURE_ENGINE_FIRST_SOURCE_INDEPENDENT_PHOTO_STREAM
-

Receives the value of the stream index that corresponds to the friendly name.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - jj128307 - HRESULT IMFCaptureSource::GetStreamIndexFromFriendlyName([In] unsigned int uifriendlyName,[Out] unsigned int* pdwActualStreamIndex) - IMFCaptureSource::GetStreamIndexFromFriendlyName -
- - -

Used to enable the client to notify the Content Decryption Module (CDM) when global resources should be brought into a consistent state prior to suspending. -

-
- - dn280681 - IMFCdmSuspendNotify - IMFCdmSuspendNotify -
- - - Initializes a new instance of the 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 that the suspend process is starting and resources should be brought into a consistent state.

-
-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn280682 - HRESULT IMFCdmSuspendNotify::Begin() - IMFCdmSuspendNotify::Begin -
- - -

The actual suspend is about to occur and no more calls will be made into the Content Decryption Module (CDM).

-
-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn280683 - HRESULT IMFCdmSuspendNotify::End() - IMFCdmSuspendNotify::End -
- - -

Provides timing information from a clock in Microsoft Media Foundation.

Clocks and some media sinks expose this interface through QueryInterface.

-
- -

The interface applies to any kind of clock. The presentation clock exposes the interface in addition to .

-
- - ms696248 - IMFClock - IMFClock -
- - - Initializes a new instance of the 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 characteristics of the clock.

-
- - ms697050 - GetClockCharacteristics - GetClockCharacteristics - HRESULT IMFClock::GetClockCharacteristics([Out] unsigned int* pdwCharacteristics) -
- - -

Retrieves the clock's continuity key. (Not supported.)

-
- -

Continuity keys are currently not supported in Media Foundation. Clocks must return the value zero in the pdwContinuityKey parameter.

-
- - ms700188 - GetContinuityKey - GetContinuityKey - HRESULT IMFClock::GetContinuityKey([Out] unsigned int* pdwContinuityKey) -
- - -

Retrieves the properties of the clock.

-
- - ms701613 - GetProperties - GetProperties - HRESULT IMFClock::GetProperties([Out] MFCLOCK_PROPERTIES* pClockProperties) -
- - -

Retrieves the characteristics of the clock.

-
-

Receives a bitwise OR of values from the enumeration indicating the characteristics of the clock.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - ms697050 - HRESULT IMFClock::GetClockCharacteristics([Out] unsigned int* pdwCharacteristics) - IMFClock::GetClockCharacteristics -
- - -

Retrieves the last clock time that was correlated with system time.

-
-

Reserved, must be zero.

-

Receives the last known clock time, in units of the clock's frequency.

-

Receives the system time that corresponds to the clock time returned in pllClockTime, in 100-nanosecond units.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The clock does not have a time source.

?

- -

At some fixed interval, a clock correlates its internal clock ticks with the system time. (The system time is the time returned by the high-resolution performance counter.) This method returns:

  • The most recent clock time that was correlated with system time.
  • The system time when the correlation was performed.

The clock time is returned in the pllClockTime parameter and is expressed in units of the clock's frequency. If the clock's method returns the flag, the clock's frequency is 10 MHz (each clock tick is 100 nanoseconds). Otherwise, you can get the clock's frequency by calling . The frequency is given in the qwClockFrequency member of the structure returned by that method.

The system time is returned in the phnsSystemTime parameter, and is always expressed in 100-nanosecond units.

To find out how often the clock correlates its clock time with the system time, call GetProperties. The correlation interval is given in the qwCorrelationRate member of the structure. If qwCorrelationRate is zero, it means the clock performs the correlation whenever GetCorrelatedTime is called. Otherwise, you can calculate the current clock time by extrapolating from the last correlated time.

Some clocks support rate changes through the interface. If so, the clock time advances at a speed of frequency ? current rate. If a clock does not expose the interface, the rate is always 1.0.

For the presentation clock, the clock time is the presentation time, and is always relative to the starting time specified in . You can also get the presentation time by calling .

-
- - ms694122 - HRESULT IMFClock::GetCorrelatedTime([In] unsigned int dwReserved,[Out] longlong* pllClockTime,[Out] longlong* phnsSystemTime) - IMFClock::GetCorrelatedTime -
- - -

Retrieves the clock's continuity key. (Not supported.)

-
-

Receives the continuity key.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

Continuity keys are currently not supported in Media Foundation. Clocks must return the value zero in the pdwContinuityKey parameter.

-
- - ms700188 - HRESULT IMFClock::GetContinuityKey([Out] unsigned int* pdwContinuityKey) - IMFClock::GetContinuityKey -
- - -

Retrieves the current state of the clock.

-
-

Reserved, must be zero.

-

Receives the clock state, as a member of the enumeration.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - ms700206 - HRESULT IMFClock::GetState([In] unsigned int dwReserved,[Out] MFCLOCK_STATE* peClockState) - IMFClock::GetState -
- - -

Retrieves the properties of the clock.

-
-

Pointer to an structure that receives the properties.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - ms701613 - HRESULT IMFClock::GetProperties([Out] MFCLOCK_PROPERTIES* pClockProperties) - IMFClock::GetProperties -
- - -

Creates a media source or a byte stream from a URL.

-
- -

Applications do not use this interface. This interface is exposed by scheme handlers, which are used by the source resolver. A scheme handler is designed to parse one type of URL scheme. When the scheme handler is given a URL, it parses the resource that is located at that URL and creates either a media source or a byte stream.

-
- - ms701638 - IMFClockConsumer - IMFClockConsumer -
- - - Initializes a new instance of the 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. - - - GetPresentationClock / SetPresentationClock - GetPresentationClock - HRESULT IMFClockConsumer::GetPresentationClock([Out] IMFPresentationClock** ppPresentationClock) - - - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Called by the media pipeline to provide the app with an instance of .

-
- No documentation. -

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - mt797926 - HRESULT IMFClockConsumer::SetPresentationClock([In, Optional] IMFPresentationClock* pPresentationClock) - IMFClockConsumer::SetPresentationClock -
- - - No documentation. - - No documentation. - No documentation. - - HRESULT IMFClockConsumer::GetPresentationClock([Out] IMFPresentationClock** ppPresentationClock) - IMFClockConsumer::GetPresentationClock - - - - Defines size, enumerators, and synchronization methods for all nongeneric collections.

Namespace: System.CollectionsAssembly: mscorlib (in mscorlib.dll)<ComVisibleAttribute(True)> _ - Public Interface ICollection Inherits IEnumerableDim instance As ICollection - [ComVisibleAttribute(true)] - public interface ICollection : IEnumerable[ComVisibleAttribute(true)] - public interface class ICollection : IEnumerable/** @attribute ComVisibleAttribute(true) */ - public interface ICollection extends IEnumerableComVisibleAttribute(true) - public interface ICollection extends IEnumerableNot applicable.

The ICollection interface is the base interface for classes in the System.Collections namespace.

The ICollection interface extends IEnumerable; IDictionary and IList are more specialized interfaces that extend ICollection. An IDictionary implementation is a collection of key/value pairs, like the Hashtable class. An IList implementation is a collection of values and its members can be accessed by index, like the ArrayList class.

Some collections that limit access to their elements, such as the Queue class and the Stack class, directly implement the ICollection interface.

If neither the IDictionary interface nor the IList interface meet the requirements of the required collection, derive the new collection class from the ICollection interface instead for more flexibility.

For the generic version of this interface, see System.Collections.Generic.ICollection.

Windows 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1. .NET FrameworkSupported in: 3.0, 2.0, 1.1, 1.0.NET Compact FrameworkSupported in: 2.0, 1.0XNA FrameworkSupported in: 1.0ReferenceICollection MembersSystem.Collections NamespaceIDictionaryIListSystem.Collections.Generic.ICollection -

- - system.collections.icollection - IMFCollection - IMFCollection -
- - - Initializes a new instance of the 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 objects in the collection.

-
- - ms697034 - GetElementCount - GetElementCount - HRESULT IMFCollection::GetElementCount([Out] unsigned int* pcElements) -
- - -

Retrieves the number of objects in the collection.

-
-

Receives the number of objects in the collection.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - ms697034 - HRESULT IMFCollection::GetElementCount([Out] unsigned int* pcElements) - IMFCollection::GetElementCount -
- - -

Retrieves an object in the collection.

-
-

Zero-based index of the object to retrieve. Objects are indexed in the order in which they were added to the collection.

-

Receives a reference to the object's interface. The caller must release the interface. The retrieved reference value might be null.

- -

This method does not remove the object from the collection. To remove an object, call .

-
- - ms701793 - HRESULT IMFCollection::GetElement([In] unsigned int dwElementIndex,[Out] IUnknown** ppUnkElement) - IMFCollection::GetElement -
- - -

Adds an object to the collection.

-
-

Pointer to the object's interface.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

If pUnkElement is null, a null reference is added to the collection.

-
- - ms695202 - HRESULT IMFCollection::AddElement([In, Optional] IUnknown* pUnkElement) - IMFCollection::AddElement -
- - -

Removes an object from the collection.

-
-

Zero-based index of the object to remove. Objects are indexed in the order in which they were added to the collection.

-

Receives a reference to the interface of the object. The caller must release the interface. This parameter cannot be null, but the retrieved reference value might be null.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - ms697010 - HRESULT IMFCollection::RemoveElement([In] unsigned int dwElementIndex,[Out] IUnknown** ppUnkElement) - IMFCollection::RemoveElement -
- - -

Adds an object at the specified index in the collection.

-
-

The zero-based index where the object will be added to the collection.

-

The object to insert.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - ms703963 - HRESULT IMFCollection::InsertElementAt([In] unsigned int dwIndex,[In, Optional] IUnknown* pUnknown) - IMFCollection::InsertElementAt -
- - -

Removes all items from the collection.

-
-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - ms700194 - HRESULT IMFCollection::RemoveAllElements() - IMFCollection::RemoveAllElements -
- - -

Allows a decryptor to manage hardware keys and decrypt hardware samples.

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

Allows the display driver to return IHV-specific information used when initializing a new hardware key.

-
-

The number of bytes in the buffer that InputPrivateData specifies.

-

The contents of this parameter are defined by the implementation of the protection system that runs in the security processor. The contents may contain data about license or stream properties.

-

The return data is also defined by the implementation of the protection system implementation that runs in the security processor. The contents may contain data associated with the underlying hardware key.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - mt219183 - HRESULT IMFContentDecryptorContext::InitializeHardwareKey([In] unsigned int InputPrivateDataByteCount,[In, Buffer, Optional] const void* InputPrivateData,[Out] unsigned longlong* OutputPrivateData) - IMFContentDecryptorContext::InitializeHardwareKey -
- - -

Implements one step that must be performed for the user to access media content. For example, the steps might be individualization followed by license acquisition. Each of these steps would be encapsulated by a content enabler object that exposes the interface.

-
- - ms697004 - IMFContentEnabler - IMFContentEnabler -
- - - Initializes a new instance of the 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 operation that this content enabler performs.

-
- -

The following GUIDs are defined for the pType parameter.

ValueDescription
MFENABLETYPE_MF_RebootRequiredThe user must reboot his or her computer.
MFENABLETYPE_MF_UpdateRevocationInformationUpdate revocation information.
MFENABLETYPE_MF_UpdateUntrustedComponentUpdate untrusted components.
MFENABLETYPE_WMDRMV1_LicenseAcquisitionLicense acquisition for Windows Media Digital Rights Management (DRM) version 1.
MFENABLETYPE_WMDRMV7_IndividualizationIndividualization.
MFENABLETYPE_WMDRMV7_LicenseAcquisitionLicense acquisition for Windows Media DRM version 7 or later.

?

-
- - bb970471 - GetEnableType - GetEnableType - HRESULT IMFContentEnabler::GetEnableType([Out] GUID* pType) -
- - -

Queries whether the content enabler can perform all of its actions automatically.

-
- -

If this method returns TRUE in the pfAutomatic parameter, call the method to perform the enabling action.

If this method returns in the pfAutomatic parameter, the application must use manual enabling. To do so, call and to get the URL and data needed for manual enabling.

-
- - bb970334 - IsAutomaticSupported - IsAutomaticSupported - HRESULT IMFContentEnabler::IsAutomaticSupported([Out] BOOL* pfAutomatic) -
- - -

Retrieves the type of operation that this content enabler performs.

-
-

Receives a that identifies the type of operation. An application can tailor its user interface (UI) strings for known operation types. See Remarks.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

The following GUIDs are defined for the pType parameter.

ValueDescription
MFENABLETYPE_MF_RebootRequiredThe user must reboot his or her computer.
MFENABLETYPE_MF_UpdateRevocationInformationUpdate revocation information.
MFENABLETYPE_MF_UpdateUntrustedComponentUpdate untrusted components.
MFENABLETYPE_WMDRMV1_LicenseAcquisitionLicense acquisition for Windows Media Digital Rights Management (DRM) version 1.
MFENABLETYPE_WMDRMV7_IndividualizationIndividualization.
MFENABLETYPE_WMDRMV7_LicenseAcquisitionLicense acquisition for Windows Media DRM version 7 or later.

?

-
- - bb970471 - HRESULT IMFContentEnabler::GetEnableType([Out] GUID* pType) - IMFContentEnabler::GetEnableType -
- - -

Retrieves a URL for performing a manual content enabling action.

-
-

Receives a reference to a buffer that contains the URL. The caller must release the memory for the buffer by calling CoTaskMemFree.

-

Receives the number of characters returned in ppwszURL, including the terminating null character.

-

Receives a member of the enumeration indicating whether the URL is trusted.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

No URL is available.

?

- -

If the enabling action can be performed by navigating to a URL, this method returns the URL. If no such URL exists, the method returns a failure code.

The purpose of the URL depends on the content enabler type, which is obtained by calling .

Enable typePurpose of URL
IndividualizationNot applicable.
License acquisitionURL to obtain the license. Call and submit the data to the URL as an HTTP POST request. To receive notification when the license is acquired, call .
RevocationURL to a webpage where the user can download and install an updated component.

?

-
- - bb970345 - HRESULT IMFContentEnabler::GetEnableURL([Buffer, Optional] wchar_t** ppwszURL,[Out] unsigned int* pcchURL,[InOut, Optional] MF_URL_TRUST_STATUS* pTrustStatus) - IMFContentEnabler::GetEnableURL -
- - -

Retrieves the data for a manual content enabling action.

-
-

Receives a reference to a buffer that contains the data. The caller must free the buffer by calling CoTaskMemFree.

-

Receives the size of the ppbData buffer.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

No data is available.

?

- -

The purpose of the data depends on the content enabler type, which is obtained by calling .

Enable typePurpose of data
IndividualizationNot applicable.
License acquisitionHTTP POST data.
Revocation structure.

?

-
- - bb970525 - HRESULT IMFContentEnabler::GetEnableData([Buffer, Optional] unsigned char** ppbData,[Out] unsigned int* pcbData) - IMFContentEnabler::GetEnableData -
- - -

Queries whether the content enabler can perform all of its actions automatically.

-
-

Receives a Boolean value. If TRUE, the content enabler can perform the enabing action automatically.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

If this method returns TRUE in the pfAutomatic parameter, call the method to perform the enabling action.

If this method returns in the pfAutomatic parameter, the application must use manual enabling. To do so, call and to get the URL and data needed for manual enabling.

-
- - bb970334 - HRESULT IMFContentEnabler::IsAutomaticSupported([Out] BOOL* pfAutomatic) - IMFContentEnabler::IsAutomaticSupported -
- - -

Performs a content enabling action without any user interaction.

-
-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

This method is asynchronous. When the operation is complete, the content enabler sends an event. While the operation is in progress, the content enabler might send events.

To find out whether the content enabler supports this method, call .

-
- - ms699012 - HRESULT IMFContentEnabler::AutomaticEnable() - IMFContentEnabler::AutomaticEnable -
- - -

Requests notification when the enabling action is completed.

-
-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

S_FALSE

The method succeeded and no action was required.

?

- -

If you use a manual enabling action, call this method to be notified when the operation completes. If this method returns , the content enabler will send an event when the operation is completed. If the application cancels the operatation before completing it, call .

You do not have to call MonitorEnable when you use automatic enabling by calling .

-
- - ms698997 - HRESULT IMFContentEnabler::MonitorEnable() - IMFContentEnabler::MonitorEnable -
- - -

Cancels a pending content enabling action.

-
-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

The content enabler sends an event with a status code of E_CANCEL.

-
- - ms704633 - HRESULT IMFContentEnabler::Cancel() - IMFContentEnabler::Cancel -
- - -

Gets the required number of bytes that need to be prepended to the input and output buffers when you call the security processor through the InvokeFunction method. When you specify this number of bytes, the Media Foundation transform (MFT) decryptor can allocate the total amount of bytes and can avoid making copies of the data when the decrytor moves the data to the security processor.

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

Calls into the implementation of the protection system in the security processor.

-
-

The identifier of the function that you want to run. This identifier is defined by the implementation of the protection system.

-

The number of bytes of in the buffer that InputBuffer specifies, including private data.

-

A reference to the data that you want to provide as input.

-

Pointer to a value that specifies the length in bytes of the data that the function wrote to the buffer that OutputBuffer specifies, including the private data.

-

Pointer to the buffer where you want the function to write its output.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - mt219186 - HRESULT IMFContentProtectionDevice::InvokeFunction([In] unsigned int FunctionId,[In] unsigned int InputBufferByteCount,[In, Buffer] const unsigned char* InputBuffer,[InOut] unsigned int* OutputBufferByteCount,[Out, Buffer] unsigned char* OutputBuffer) - IMFContentProtectionDevice::InvokeFunction -
- - -

Gets the required number of bytes that need to be prepended to the input and output buffers when you call the security processor through the InvokeFunction method. When you specify this number of bytes, the Media Foundation transform (MFT) decryptor can allocate the total amount of bytes and can avoid making copies of the data when the decrytor moves the data to the security processor.

-
- No documentation. - No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- - mt219185 - HRESULT IMFContentProtectionDevice::GetPrivateDataByteCount([Out] unsigned int* PrivateInputByteCount,[Out] unsigned int* PrivateOutputByteCount) - IMFContentProtectionDevice::GetPrivateDataByteCount -
- - -

Enables playback of protected content by providing the application with a reference to a content enabler object.

Applications that play protected content should implement this interface.

-
- -

A content enabler is an object that performs some action that is required to play a piece of protected content. For example, the action might be obtaining a DRM license. Content enablers expose the interface, which defines a generic mechanism for content enabler. Content enablers are created inside the protected media path (PMP) process. However, they must be invoked from the application process. Therefore, the interface provides a way for the PMP Media Session to notify the application.

To use this interface, do the following:

  1. Implement the interface in your application.

  2. Create an attribute store by calling .

  3. Set the attribute on the attribute store. The attribute value is a reference to your implementation.

  4. Call and pass the attribute store in the pConfiguration parameter.

If the content requires a content enabler, the application's BeginEnableContent method is called. Usually this method called during the operation, before the Media Session raises the event. The application might receive multiple BeginEnableContent calls for a single piece of content. The event signals that the content-enabling process is complete for the current topology. The BeginEnableContent method can also be called outside of the SetTopology operation, but less commonly.

Many content enablers send machine-specific data to the network, which can have privacy implications. One of the purposes of the interface is to give applications an opportunity to display information to the user and enable to user to opt in or out of the process.

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

Begins an asynchronous request to perform a content enabling action.

This method requests the application to perform a specific step needed to acquire rights to the content, using a content enabler object.

-
-

Pointer to the interface of a content enabler object. To create the content enabler, call and request the interface. The application should use the methods in to complete the content enabling action.

-

Pointer to the interface of the pending topology.

-

Pointer to the interface of a callback object. When the operation is complete, the application should call on the callback.

-

Reserved. Currently this parameter is always null.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

Do not block within this callback method. Instead, perform the content enabling action asynchronously on another thread. When the operation is finished, notify the protected media path (PMP) through the pCallback parameter.

If you return a success code from this method, you must call Invoke on the callback. Conversely, if you return an error code from this method, you must not call Invoke. If the operation fails after the method returns a success code, use status code on the object to report the error.

After the callback is invoked, the PMP will call the application's method to complete the asynchronous call.

This method is not necessarily called every time the application plays protected content. Generally, the method will not be called if the user has a valid, up-to-date license for the content. Internally, the input trust authority (ITA) determines whether BeginEnableContent is called, based on the content provider's DRM policy. For more information, see Protected Media Path.

-
- - ms696203 - HRESULT IMFContentProtectionManager::BeginEnableContent([In] IMFActivate* pEnablerActivate,[In] IMFTopology* pTopo,[In] IMFAsyncCallback* pCallback,[In] IUnknown* punkState) - IMFContentProtectionManager::BeginEnableContent -
- - -

Ends an asynchronous request to perform a content enabling action. This method is called by the protected media path (PMP) to complete an asynchronous call to .

-
- No documentation. -

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

When the BeginEnableContent method completes asynchronously, the application notifies the PMP by invoking the asynchronous callback. The PMP calls EndEnableContent on the application to get the result code. This method is called on the application's thread from inside the callback method. Therefore, it must not block the thread that invoked the callback.

The application must return the success or failure code of the asynchronous processing that followed the call to BeginEnableContent.

-
- - ms694267 - HRESULT IMFContentProtectionManager::EndEnableContent([In] IMFAsyncResult* pResult) - IMFContentProtectionManager::EndEnableContent -
- - -

Enables the presenter for the enhanced video renderer (EVR) to request a specific frame from the video mixer.

The sample objects created by the function implement this interface. To retrieve a reference to this interface, call QueryInterface on the sample.

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

Called by the mixer to get the time and duration of the sample requested by the presenter.

-
-

Receives the desired sample time that should be mixed.

-

Receives the sample duration that should be mixed.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

No time stamp was set for this sample. See .

?

- - ms694058 - HRESULT IMFDesiredSample::GetDesiredSampleTimeAndDuration([Out] longlong* phnsSampleTime,[Out] longlong* phnsSampleDuration) - IMFDesiredSample::GetDesiredSampleTimeAndDuration -
- - -

Called by the presenter to set the time and duration of the sample that it requests from the mixer.

-
-

The time of the requested sample.

-

The duration of the requested sample.

- -

This value should be set prior to passing the buffer to the mixer for a Mix operation. The mixer sets the actual start and duration times on the sample before sending it back.

-
- - ms694296 - void IMFDesiredSample::SetDesiredSampleTimeAndDuration([In] longlong hnsSampleTime,[In] longlong hnsSampleDuration) - IMFDesiredSample::SetDesiredSampleTimeAndDuration -
- - -

Clears the time stamps previously set by a call to .

-
- -

After this method is called, the method returns .

This method also clears the time stamp and duration and removes all attributes from the sample.

-
- - ms703903 - void IMFDesiredSample::Clear() - IMFDesiredSample::Clear -
- - -

-
- - ms696268 - IMFDeviceTransform - IMFDeviceTransform -
- - - Initializes a new instance of the 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 IMFDeviceTransform::InitializeTransform([In] IMFAttributes* pAttributes) - IMFDeviceTransform::InitializeTransform - - - - No documentation. - - No documentation. - No documentation. - No documentation. - No documentation. - - HRESULT IMFDeviceTransform::GetInputAvailableType([In] unsigned int dwInputStreamID,[In] unsigned int dwTypeIndex,[Out] IMFMediaType** pMediaType) - IMFDeviceTransform::GetInputAvailableType - - - - No documentation. - - No documentation. - No documentation. - No documentation. - - HRESULT IMFDeviceTransform::GetInputCurrentType([In] unsigned int dwInputStreamID,[Out] IMFMediaType** pMediaType) - IMFDeviceTransform::GetInputCurrentType - - - - No documentation. - - No documentation. - No documentation. - No documentation. - - HRESULT IMFDeviceTransform::GetInputStreamAttributes([In] unsigned int dwInputStreamID,[Out] IMFAttributes** ppAttributes) - IMFDeviceTransform::GetInputStreamAttributes - - - - No documentation. - - No documentation. - No documentation. - No documentation. - No documentation. - - HRESULT IMFDeviceTransform::GetOutputAvailableType([In] unsigned int dwOutputStreamID,[In] unsigned int dwTypeIndex,[Out] IMFMediaType** pMediaType) - IMFDeviceTransform::GetOutputAvailableType - - - - No documentation. - - No documentation. - No documentation. - No documentation. - - HRESULT IMFDeviceTransform::GetOutputCurrentType([In] unsigned int dwOutputStreamID,[Out] IMFMediaType** pMediaType) - IMFDeviceTransform::GetOutputCurrentType - - - - No documentation. - - No documentation. - No documentation. - No documentation. - - HRESULT IMFDeviceTransform::GetOutputStreamAttributes([In] unsigned int dwOutputStreamID,[Out] IMFAttributes** ppAttributes) - IMFDeviceTransform::GetOutputStreamAttributes - - - - No documentation. - - No documentation. - No documentation. - No documentation. - - HRESULT IMFDeviceTransform::GetStreamCount([Out] unsigned int* pcInputStreams,[Out] unsigned int* pcOutputStreams) - IMFDeviceTransform::GetStreamCount - - - - No documentation. - - No documentation. - No documentation. - No documentation. - No documentation. - No documentation. - - HRESULT IMFDeviceTransform::GetStreamIDs([In] unsigned int dwInputIDArraySize,[Out] unsigned int* pdwInputStreamIds,[In] unsigned int dwOutputIDArraySize,[Out] unsigned int* pdwOutputStreamIds) - IMFDeviceTransform::GetStreamIDs - - - - No documentation. - - No documentation. - No documentation. - No documentation. - - HRESULT IMFDeviceTransform::ProcessEvent([In] unsigned int dwInputStreamID,[In] IMFMediaEvent* pEvent) - IMFDeviceTransform::ProcessEvent - - - - No documentation. - - No documentation. - No documentation. - No documentation. - No documentation. - - HRESULT IMFDeviceTransform::ProcessInput([In] unsigned int dwInputStreamID,[In] IMFSample* pSample,[In] unsigned int dwFlags) - IMFDeviceTransform::ProcessInput - - - - No documentation. - - No documentation. - No documentation. - No documentation. - - HRESULT IMFDeviceTransform::ProcessMessage([In] MFT_MESSAGE_TYPE eMessage,[In] ULONG_PTR ulParam) - IMFDeviceTransform::ProcessMessage - - - - No documentation. - - No documentation. - No documentation. - No documentation. - No documentation. - No documentation. - - HRESULT IMFDeviceTransform::ProcessOutput([In] unsigned int dwFlags,[In] unsigned int cOutputBufferCount,[InOut] MFT_OUTPUT_DATA_BUFFER* pOutputSample,[Out] unsigned int* pdwStatus) - IMFDeviceTransform::ProcessOutput - - - -

The SetInputStreamState method sets the Device MFT input stream state and media type.

-
-

Stream ID of the input stream where the state and media type needs to be changed.

-

Preferred media type for the input stream is passed in through this parameter. Device MFT should change the media type only if the incoming media type is different from the current media type.

-

Specifies the DeviceStreamState which the input stream should transition to.

-

When is returned, perform the state change operation. Otherwise, this contains an error that occurred while setting the media type on the devproxy output pin. In this case, propagate the error appropriately.

-

The method returns an . Possible values include but not limited to values given in the following table.

Return codeDescription

Initialization succeeded

Device MFT could not support the request at this time.

MF_E_INVAILIDSTREAMNUMBER

An invalid stream ID was passed.

The requested stream transition is not possible.

?

- -

This interface function helps to transition the input stream to a specified state with a specified media type set on the input stream. This will be used by device transform manager (DTM) when the Device MFT requests a specific input stream?s state and media type to be changed. Device MFT would need to request such a change when one of the Device MFT's output changes.

As an example, consider a Device MFT that has two input streams and three output streams. Let Output 1 and Output 2 source from Input 1 and stream at 720p. Now, if Output 2?s media type changes to 1080p, Device MFT has to change Input 1's media type to 1080p. To achieve this, Device MFT should request DTM to call this method using the message. -

-
- - mt797683 - HRESULT IMFDeviceTransform::SetInputStreamState([In] unsigned int dwStreamID,[In] IMFMediaType* pMediaType,[In] DeviceStreamState value,[In] unsigned int dwFlags) - IMFDeviceTransform::SetInputStreamState -
- - - No documentation. - - No documentation. - No documentation. - No documentation. - - HRESULT IMFDeviceTransform::GetInputStreamState([In] unsigned int dwStreamID,[Out] DeviceStreamState* value) - IMFDeviceTransform::GetInputStreamState - - - -

The SetOutputStreamState method sets the Device MFT output stream state and media type.

-
-

Stream ID of the input stream where the state and media type needs to be changed.

-

Preferred media type for the input stream is passed in through this parameter. Device MFT should change the media type only if the incoming media type is different from the current media type.

-

Specifies the DeviceStreamState which the input stream should transition to.

-

Must be zero.

-

The method returns an . Possible values include but not limited to values given in the following table.

Return codeDescription

Transitioning the stream state succeeded.

Device MFT could not support the request at this time.

MF_E_INVAILIDSTREAMNUMBER

An invalid stream ID was passed.

The requested stream transition is not possible.

?

- -

This interface method helps to transition the output stream to a specified state with specified media type set on the output stream. This will be used by the DTM when the Device Source requests a specific output stream?s state and media type to be changed. Device MFT should change the specified output stream?s media type and state to the requested media type.

If the incoming media type and stream state are same as the current media type and stream state the method return .

If the incoming media type and current media type of the stream are the same, Device MFT must change the stream?s state to the requested value and return the appropriate .

When a change in the output stream?s media type requires a corresponding change in the input then Device MFT must post the event to DTM to change the relevant input stream. The call must return only after changing the input stream?s media type and the appropriate .

As an example, consider a Device MFT that has two input streams and three output streams. Let Output 1 and Output 2 source from Input 1 and stream at 720p. Now, let us say Output 2?s media type changes to 1080p. To satisfy this request, Device MFT must change the Input 1 media type to 1080p, by posting event to the DTM. DTM would call SetInputStreamState to change the input stream? media type and state. After this call, the SetOutputStreamState must return.

-
- - mt797684 - HRESULT IMFDeviceTransform::SetOutputStreamState([In] unsigned int dwStreamID,[In] IMFMediaType* pMediaType,[In] DeviceStreamState value,[In] unsigned int dwFlags) - IMFDeviceTransform::SetOutputStreamState -
- - - No documentation. - - No documentation. - No documentation. - No documentation. - - HRESULT IMFDeviceTransform::GetOutputStreamState([In] unsigned int dwStreamID,[Out] DeviceStreamState* value) - IMFDeviceTransform::GetOutputStreamState - - - - No documentation. - - No documentation. - No documentation. - No documentation. - No documentation. - - HRESULT IMFDeviceTransform::GetInputStreamPreferredState([In] unsigned int dwStreamID,[Out] DeviceStreamState* value,[Out] IMFMediaType** ppMediaType) - IMFDeviceTransform::GetInputStreamPreferredState - - - - No documentation. - - No documentation. - No documentation. - No documentation. - - HRESULT IMFDeviceTransform::FlushInputStream([In] unsigned int dwStreamIndex,[In] unsigned int dwFlags) - IMFDeviceTransform::FlushInputStream - - - - No documentation. - - No documentation. - No documentation. - No documentation. - - HRESULT IMFDeviceTransform::FlushOutputStream([In] unsigned int dwStreamIndex,[In] unsigned int dwFlags) - IMFDeviceTransform::FlushOutputStream - - - -

Initializes the Digital Living Network Alliance (DLNA) media sink.

The DLNA media sink exposes this interface. To get a reference to this interface, call CoCreateInstance. The CLSID is CLSID_MPEG2DLNASink.

-
- - dd368787 - IMFDLNASinkInit - IMFDLNASinkInit -
- - - Initializes a new instance of the 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 Digital Living Network Alliance (DLNA) media sink.

-
-

Pointer to a byte stream. The DLNA media sink writes data to this byte stream. The byte stream must be writable.

-

If TRUE, the DLNA media sink accepts PAL video formats. Otherwise, it accepts NTSC video formats.

-

This method can return one of these values.

Return codeDescription

The method succeeded.

The method was already called.

The media sink's method was called.

?

- - dd368788 - HRESULT IMFDLNASinkInit::Initialize([In] IMFByteStream* pByteStream,[In] BOOL fPal) - IMFDLNASinkInit::Initialize -
- - -

Configures Windows Media Digital Rights Management (DRM) for Network Devices on a network sink.

The Advanced Systems Format (ASF) streaming media sink exposes this interface. To get a reference to the interface, perform the following tasks.

  1. Get the activation object for the ASF streaming media sink by calling .
  2. Create the media sink by calling the activation object ActivateObject method.
  3. Get an reference by calling QueryInterface on the media sink.

For more information, see Remarks.

-
- -

To stream protected content over a network, the ASF streaming media sink provides an output trust authority (OTA) that supports Windows Media DRM for Network Devices and implements the interface. For this OTA, encryption occurs on each frame before multiplexing. The license request and response process takes place in the media sink.

The application gets a reference to and uses the methods to handle the license request and response. The application is also responsible for sending the license to the client.

To stream the content, the application does the following:

  1. Provide the HTTP byte stream to which the media sink writes the streamed content.

    To stream DRM-protected content over a network from a server to a client, an application must use the Microsoft Media Foundation Protected Media Path (PMP). The media sink and the application-provided HTTP byte stream exist in mfpmp.exe. Therefore, the byte stream must expose the interface so that it can be created out-of-process.

    Note??This might affect how the code is packaged. The DLL that contains the HTTP byte stream and other dependent DLLs must be signed for the Protected Environment (PE-signed). ?
  2. Set the MFPKEY_ASFMEDIASINK_DRMACTION property to . The media sink's property store is available to the application through the ASF ContentInfo. To get the property store, call .
  3. Get a reference to the interface by querying the media sink.
  4. To make a license request, call . This method calls into the OTA implementation and retrieves the license.

    When the clock starts for the first time or restarts , the encrypter that is used for encrypting samples is retrieved, and the license response is cached.

  5. To get the cached license response, call .
-
- - dd368789 - IMFDRMNetHelper - IMFDRMNetHelper -
- - - Initializes a new instance of the 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 license response for the specified request.

-
-

Pointer to a byte array that contains the license request.

-

Size, in bytes, of the license request.

-

Receives a reference to a byte array that contains the license response. The caller must free the array by calling CoTaskMemFree.

-

Receives the size, in bytes, of the license response.

-

Receives the key identifier. The caller must release the string by calling SysFreeString.

-

The function returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The media sink was shut down.

?

- - dd368791 - HRESULT IMFDRMNetHelper::ProcessLicenseRequest([In, Buffer] unsigned char* pLicenseRequest,[In] unsigned int cbLicenseRequest,[Buffer, Optional] unsigned char** ppLicenseResponse,[Out] unsigned int* pcbLicenseResponse,[Out] wchar_t** pbstrKID) - IMFDRMNetHelper::ProcessLicenseRequest -
- - -

Not implemented in this release.

-
-

Receives a reference to a byte array that contains the license response. The caller must free the array by calling CoTaskMemFree.

-

Receives the size, in bytes, of the license response.

-

The method returns E_NOTIMPL.

- - dd368790 - HRESULT IMFDRMNetHelper::GetChainedLicenseResponse([Buffer, Optional] unsigned char** ppLicenseResponse,[Out] unsigned int* pcbLicenseResponse) - IMFDRMNetHelper::GetChainedLicenseResponse -
- - -

Represents a buffer that contains a Microsoft DirectX Graphics Infrastructure (DXGI) surface.

-
- -

To create a DXGI media buffer, first create the DXGI surface. Then call .

-
- - hh447901 - IMFDXGIBuffer - IMFDXGIBuffer -
- - - Initializes a new instance of the 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 index of the subresource that is associated with this media buffer.

-
- -

The subresource index is specified when you create the media buffer object. See .

For more information about texture subresources, see .

-
- - hh447903 - GetSubresourceIndex - GetSubresourceIndex - HRESULT IMFDXGIBuffer::GetSubresourceIndex([Out] unsigned int* puSubresource) -
- - -

Queries the Microsoft DirectX Graphics Infrastructure (DXGI) surface for an interface.

-
-

The interface identifer (IID) of the interface being requested.

-

Receives a reference to the interface. The caller must release the interface.

-

This method can return one of these values.

Return codeDescription

Success.

E_NOINTERFACE

The object does not support the specified interface.

Invalid request.

?

- -

You can use this method to get a reference to the interface of the surface. If the buffer is locked, the method returns .

-
- - hh447902 - HRESULT IMFDXGIBuffer::GetResource([In] const GUID& riid,[Out] void** ppvObject) - IMFDXGIBuffer::GetResource -
- - -

Gets the index of the subresource that is associated with this media buffer.

-
-

Receives the zero-based index of the subresource.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

The subresource index is specified when you create the media buffer object. See .

For more information about texture subresources, see .

-
- - hh447903 - HRESULT IMFDXGIBuffer::GetSubresourceIndex([Out] unsigned int* puSubresource) - IMFDXGIBuffer::GetSubresourceIndex -
- - -

Gets an reference that was previously stored in the media buffer object.

-
- No documentation. - No documentation. - No documentation. -

This method can return one of these values.

Return codeDescription

Success.

E_NOINTERFACE

The object does not support the specified interface.

The specified key was not found.

?

- - hh447904 - HRESULT IMFDXGIBuffer::GetUnknown([In] const GUID& guid,[In] const GUID& riid,[Out] void** ppvObject) - IMFDXGIBuffer::GetUnknown -
- - -

Stores an arbitrary reference in the media buffer object.

-
- No documentation. - No documentation. -

This method can return one of these values.

Return codeDescription

Success.

An item already exists with this key.

?

- -

To retrieve the reference from the object, call .

-
- - hh447905 - HRESULT IMFDXGIBuffer::SetUnknown([In] const GUID& guid,[In, Optional] IUnknown* pUnkData) - IMFDXGIBuffer::SetUnknown -
- - -

Provides functionality for getting the from the Microsoft Media Foundation video rendering sink.

-
- - dn280687 - IMFDXGIDeviceManagerSource - IMFDXGIDeviceManagerSource -
- - - Initializes a new instance of the 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 from the Microsoft Media Foundation video rendering sink.

-
- - dn280688 - GetManager - GetManager - HRESULT IMFDXGIDeviceManagerSource::GetManager([Out] IMFDXGIDeviceManager** ppManager) -
- - -

Gets the from the Microsoft Media Foundation video rendering sink.

-
- No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn280688 - HRESULT IMFDXGIDeviceManagerSource::GetManager([Out] IMFDXGIDeviceManager** ppManager) - IMFDXGIDeviceManagerSource::GetManager -
- - - No documentation. - - - IMFExtendedDRMTypeSupport - IMFExtendedDRMTypeSupport - - - - Initializes a new instance of the 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 IMFExtendedDRMTypeSupport::IsTypeSupportedEx([In, Optional] wchar_t* type,[In] wchar_t* keySystem,[Out] MF_MEDIA_ENGINE_CANPLAY* pAnswer) - IMFExtendedDRMTypeSupport::IsTypeSupportedEx - - - -

Enables an application to use a Media Foundation transform (MFT) that has restrictions on its use.

-
- -

If you register an MFT that requires unlocking, include the flag when you call the function.

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

Unlocks a Media Foundation transform (MFT) so that the application can use it.

-
-

A reference to the interface of the MFT.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

This method authenticates the caller, using a private communication channel between the MFT and the object that implements the interface. The details of the communication depend entirely on the implementation.

-
- - dd368793 - HRESULT IMFFieldOfUseMFTUnlock::Unlock([In, Optional] IUnknown* pUnkMFT) - IMFFieldOfUseMFTUnlock::Unlock -
- - -

Retrieves the number of input pins on the EVR filter. The EVR filter always has at least one input pin, which corresponds to the reference stream.

-
- - ms701550 - IEVRFilterConfig - IEVRFilterConfig -
- - - Initializes a new instance of the 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 input pins on the EVR filter. The EVR filter always has at least one input pin, which corresponds to the reference stream.

-
- - ms701550 - GetNumberOfStreams / SetNumberOfStreams - GetNumberOfStreams - HRESULT IEVRFilterConfig::GetNumberOfStreams([Out] unsigned int* pdwMaxStreams) -
- - -

Sets the number of input pins on the EVR filter.

-
-

Specifies the total number of input pins on the EVR filter. This value includes the input pin for the reference stream, which is created by default. For example, to mix one substream plus the reference stream, set this parameter to 2.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_INVALIDARG

Invalid number of streams. The minimum is one, and the maximum is 16.

VFW_E_WRONG_STATE

This method has already been called, or at least one pin is already connected.

?

- -

After this method has been called, it cannot be called a second time on the same instance of the EVR filter. Also, the method fails if any input pins are connected.

-
- - ms698968 - HRESULT IEVRFilterConfig::SetNumberOfStreams([In] unsigned int dwMaxStreams) - IEVRFilterConfig::SetNumberOfStreams -
- - -

Retrieves the number of input pins on the EVR filter. The EVR filter always has at least one input pin, which corresponds to the reference stream.

-
-

Receives the number of streams.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - ms701550 - HRESULT IEVRFilterConfig::GetNumberOfStreams([Out] unsigned int* pdwMaxStreams) - IEVRFilterConfig::GetNumberOfStreams -
- - -

Configures the DirectShow Enhanced Video Renderer (EVR) filter. To get a reference to this interface, call QueryInterface on the EVR filter.

-
- - dd373924 - IEVRFilterConfigEx - IEVRFilterConfigEx -
- - - Initializes a new instance of the 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 or sets the configuration parameters for the Microsoft DirectShow Enhanced Video Renderer Filter filter.

-
- - dd373925 - GetConfigPrefs / SetConfigPrefs - GetConfigPrefs - HRESULT IEVRFilterConfigEx::GetConfigPrefs([Out] unsigned int* pdwConfigFlags) -
- - -

Sets the configuration parameters for the Microsoft DirectShow Enhanced Video Renderer Filter (EVR).

-
- No documentation. -

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_INVALIDARG

Invalid argument.

?

- - dd373926 - HRESULT IEVRFilterConfigEx::SetConfigPrefs([In] unsigned int dwConfigFlags) - IEVRFilterConfigEx::SetConfigPrefs -
- - -

Gets the configuration parameters for the Microsoft DirectShow Enhanced Video Renderer Filter filter.

-
- No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dd373925 - HRESULT IEVRFilterConfigEx::GetConfigPrefs([Out] unsigned int* pdwConfigFlags) - IEVRFilterConfigEx::GetConfigPrefs -
- - -

Optionally supported by media sinks to perform required tasks before shutdown. This interface is typically exposed by archive sinks?that is, media sinks that write to a file. It is used to perform tasks such as flushing data to disk or updating a file header.

To get a reference to this interface, call QueryInterface on the media sink.

-
- -

If a media sink exposes this interface, the Media Session will call BeginFinalize on the sink before the session closes.

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

Notifies the media sink to asynchronously take any steps it needs to finish its tasks.

-
-

Pointer to the interface of an asynchronous object. The caller must implement this interface.

-

Pointer to the interface of a state object, defined by the caller. This parameter can be null. You can use this object to hold state information. The object is returned to the caller when the callback is invoked.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

Many archive media sinks have steps they need to do at the end of archiving to complete their file operations, such as updating the header (for some formats) or flushing all pending writes to disk. In some cases, this may include expensive operations such as indexing the content. BeginFinalize is an asynchronous way to initiate final tasks.

When the finalize operation is complete, the callback object's method is called. At that point, the application should call to complete the asynchronous request.

-
- - ms705643 - HRESULT IMFFinalizableMediaSink::BeginFinalize([In] IMFAsyncCallback* pCallback,[In] IUnknown* punkState) - IMFFinalizableMediaSink::BeginFinalize -
- - -

Completes an asynchronous finalize operation.

-
-

Pointer to the interface. Pass in the same reference that your callback object received in the method.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

Call this method after the method completes asynchronously.

-
- - ms694891 - HRESULT IMFFinalizableMediaSink::EndFinalize([In] IMFAsyncResult* pResult) - IMFFinalizableMediaSink::EndFinalize -
- - - No documentation. - - - IMFHDCPStatus - IMFHDCPStatus - - - - Initializes a new instance of the 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 IMFHDCPStatus::Query([InOut] MF_HDCP_STATUS* pStatus,[InOut] BOOL* pfStatus) - IMFHDCPStatus::Query - - - - No documentation. - - No documentation. - No documentation. - - HRESULT IMFHDCPStatus::Set([In] MF_HDCP_STATUS status) - IMFHDCPStatus::Set - - - -

Implemented by the Microsoft Media Foundation sink writer object.

-
- -

To create the sink writer, call one of the following functions:

Alternatively, use the interface.

This interface is available on Windows?Vista if Platform Update Supplement for Windows?Vista is installed.

In Windows?8, this interface is extended with .

-
- - dd374642 - IMFHttpDownloadRequest - IMFHttpDownloadRequest -
- - - Initializes a new instance of the 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. - - - GetHttpStatus - GetHttpStatus - HRESULT IMFHttpDownloadRequest::GetHttpStatus([Out] unsigned int* pdwHttpStatus) - - - - No documentation. - - - GetAtEndOfPayload - GetAtEndOfPayload - HRESULT IMFHttpDownloadRequest::GetAtEndOfPayload([Out] BOOL* pfAtEndOfPayload) - - - - No documentation. - - - GetTotalLength - GetTotalLength - HRESULT IMFHttpDownloadRequest::GetTotalLength([Out] unsigned longlong* pqwTotalLength) - - - - No documentation. - - - GetRangeEndOffset - GetRangeEndOffset - HRESULT IMFHttpDownloadRequest::GetRangeEndOffset([Out] unsigned longlong* pqwRangeEnd) - - - - No documentation. - - No documentation. - No documentation. - - HRESULT IMFHttpDownloadRequest::AddHeader([In] const wchar_t* szHeader) - IMFHttpDownloadRequest::AddHeader - - - - No documentation. - - No documentation. - No documentation. - No documentation. - No documentation. - No documentation. - - HRESULT IMFHttpDownloadRequest::BeginSendRequest([In, Buffer, Optional] const unsigned char* pbPayload,[In] unsigned int cbPayload,[In] IMFAsyncCallback* pCallback,[In, Optional] IUnknown* punkState) - IMFHttpDownloadRequest::BeginSendRequest - - - - No documentation. - - No documentation. - No documentation. - - HRESULT IMFHttpDownloadRequest::EndSendRequest([In] IMFAsyncResult* pResult) - IMFHttpDownloadRequest::EndSendRequest - - - - No documentation. - - No documentation. - No documentation. - No documentation. - - HRESULT IMFHttpDownloadRequest::BeginReceiveResponse([In] IMFAsyncCallback* pCallback,[In, Optional] IUnknown* punkState) - IMFHttpDownloadRequest::BeginReceiveResponse - - - - No documentation. - - No documentation. - No documentation. - - HRESULT IMFHttpDownloadRequest::EndReceiveResponse([In] IMFAsyncResult* pResult) - IMFHttpDownloadRequest::EndReceiveResponse - - - - No documentation. - - No documentation. - No documentation. - No documentation. - No documentation. - No documentation. - - HRESULT IMFHttpDownloadRequest::BeginReadPayload([Out, Buffer] unsigned char* pb,[In] unsigned int cb,[In] IMFAsyncCallback* pCallback,[In, Optional] IUnknown* punkState) - IMFHttpDownloadRequest::BeginReadPayload - - - - No documentation. - - No documentation. - No documentation. - No documentation. - No documentation. - - HRESULT IMFHttpDownloadRequest::EndReadPayload([In] IMFAsyncResult* pResult,[Out] unsigned longlong* pqwOffset,[Out] unsigned int* pcbRead) - IMFHttpDownloadRequest::EndReadPayload - - - - No documentation. - - No documentation. - No documentation. - No documentation. - No documentation. - - HRESULT IMFHttpDownloadRequest::QueryHeader([In] const wchar_t* szHeaderName,[In] unsigned int dwIndex,[Out] wchar_t** ppszHeaderValue) - IMFHttpDownloadRequest::QueryHeader - - - - No documentation. - - No documentation. - No documentation. - - HRESULT IMFHttpDownloadRequest::GetURL([Out] wchar_t** ppszURL) - IMFHttpDownloadRequest::GetURL - - - - No documentation. - - No documentation. - No documentation. - - HRESULT IMFHttpDownloadRequest::HasNullSourceOrigin([Out] BOOL* pfNullSourceOrigin) - IMFHttpDownloadRequest::HasNullSourceOrigin - - - - No documentation. - - No documentation. - No documentation. - No documentation. - No documentation. - - HRESULT IMFHttpDownloadRequest::GetTimeSeekResult([Out] unsigned longlong* pqwStartTime,[Out] unsigned longlong* pqwStopTime,[Out] unsigned longlong* pqwDuration) - IMFHttpDownloadRequest::GetTimeSeekResult - - - - No documentation. - - No documentation. - No documentation. - - HRESULT IMFHttpDownloadRequest::GetHttpStatus([Out] unsigned int* pdwHttpStatus) - IMFHttpDownloadRequest::GetHttpStatus - - - - No documentation. - - No documentation. - No documentation. - - HRESULT IMFHttpDownloadRequest::GetAtEndOfPayload([Out] BOOL* pfAtEndOfPayload) - IMFHttpDownloadRequest::GetAtEndOfPayload - - - - No documentation. - - No documentation. - No documentation. - - HRESULT IMFHttpDownloadRequest::GetTotalLength([Out] unsigned longlong* pqwTotalLength) - IMFHttpDownloadRequest::GetTotalLength - - - - No documentation. - - No documentation. - No documentation. - - HRESULT IMFHttpDownloadRequest::GetRangeEndOffset([Out] unsigned longlong* pqwRangeEnd) - IMFHttpDownloadRequest::GetRangeEndOffset - - - - No documentation. - - No documentation. - - HRESULT IMFHttpDownloadRequest::Close() - IMFHttpDownloadRequest::Close - - - -

Enables a media source in the application process to create objects in the protected media path (PMP) process.

-
- -

This interface is used when a media source resides in the application process but the Media Session resides in a PMP process. The media source can use this interface to create objects in the PMP process. For example, to play DRM-protected content, the media source typically must create an input trust authority (ITA) in the PMP process.

To use this interface, the media source implements the interface. The PMP Media Session calls on the media source, passing in a reference to the interface.

You can also get a reference to this interface by calling on the PMP Media Session, using the service identifier MF_PMP_SERVICE.

-
- - ms705635 - IMFHttpDownloadSession - IMFHttpDownloadSession -
- - - Initializes a new instance of the 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 IMFHttpDownloadSession::SetServer([In] const wchar_t* szServerName,[In] unsigned int nPort) - IMFHttpDownloadSession::SetServer - - - - No documentation. - - No documentation. - No documentation. - No documentation. - No documentation. - No documentation. - No documentation. - No documentation. - - HRESULT IMFHttpDownloadSession::CreateRequest([In] const wchar_t* szObjectName,[In] BOOL fBypassProxyCache,[In] BOOL fSecure,[In, Optional] const wchar_t* szVerb,[In, Optional] const wchar_t* szReferrer,[Out] IMFHttpDownloadRequest** ppRequest) - IMFHttpDownloadSession::CreateRequest - - - - No documentation. - - No documentation. - - HRESULT IMFHttpDownloadSession::Close() - IMFHttpDownloadSession::Close - - - -

Applications implement this interface in order to provide custom a custom HTTP or HTTPS download implementation. Use the interface to register the provider. For more information, see Using the Source Resolver. Once registered, the Microsoft Media Foundation will invoke the CreateHttpDownloadSession method of the provider implementation to open HTTP or HTTPS URLs instead of using the default implementation.

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

Applications implement this interface in order to provide custom a custom HTTP or HTTPS download implementation. Use the interface to register the provider. For more information, see Using the Source Resolver. Once registered, the Microsoft Media Foundation will invoke the CreateHttpDownloadSession method of the provider implementation to open HTTP or HTTPS URLs instead of using the default implementation.

-
- No documentation. - No documentation. - No documentation. - - mt781238 - HRESULT IMFHttpDownloadSessionProvider::CreateHttpDownloadSession([In] const wchar_t* wszScheme,[Out] IMFHttpDownloadSession** ppDownloadSession) - IMFHttpDownloadSessionProvider::CreateHttpDownloadSession -
- - -

Callback interface to notify the application when an asynchronous method completes.

-
- -

For more information about asynchronous methods in Microsoft Media Foundation, see Asynchronous Callback Methods.

This interface is also used to perform a work item in a Media Foundation work-queue. For more information, see Work Queues.

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms699856 - IMFAsyncCallback - IMFAsyncCallback -
- - - Gets a flag indicating the behavior of the callback object's method. Default behavior should be . - - The a flag indicating the behavior of the callback object's method. - bb970381 - HRESULT IMFAsyncCallback::GetParameters([Out] MFASYNC_CALLBACK_FLAGS* pdwFlags,[Out] unsigned int* pdwQueue) - IMFAsyncCallback::GetParameters - - - - Gets the identifier of the work queue on which the callback is dispatched. See remarks. - - The work queue identifier. - -

This value can specify one of the standard Media Foundation work queues, or a work queue created by the application. For list of standard Media Foundation work queues, see Work Queue Identifiers. To create a new work queue, call . The default value is .

If the work queue is not compatible with the value returned in pdwFlags, the Media Foundation platform returns when it tries to dispatch the callback. (See .)

-
- bb970381 - HRESULT IMFAsyncCallback::GetParameters([Out] MFASYNC_CALLBACK_FLAGS* pdwFlags,[Out] unsigned int* pdwQueue) - IMFAsyncCallback::GetParameters -
- - -

Applies to: desktop apps | Metro style apps

Called when an asynchronous operation is completed.

-
-

Pointer to the interface. Pass this reference to the asynchronous End... method to complete the asynchronous call.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

Within your implementation of Invoke, call the corresponding End... method.

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - bb970360 - HRESULT IMFAsyncCallback::Invoke([In, Optional] IMFAsyncResult* pAsyncResult) - IMFAsyncCallback::Invoke -
- - -

Provides logging information about the parent object the async callback is associated with.

-
- -

is primarily used for async callbacks to return an ID of the parent object that they are associated with.

-
- - jj128304 - IMFAsyncCallbackLogging - IMFAsyncCallbackLogging -
- - -

Media sources are objects that generate media data in the Media Foundation pipeline. This section describes the media source APIs in detail. Read this section if you are implementing a custom media source, or using a media source outside of the Media Foundation pipeline.

If your application uses the control layer, it needs to use only a limited subset of the media source APIs. For information, see the topic Using Media Sources with the Media Session.

-
- - ms697527 - IAudioSourceProvider - IAudioSourceProvider -
- - - Initializes a new instance of the 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 IAudioSourceProvider::ProvideInput([In] unsigned int dwSampleCount,[InOut] unsigned int* pdwChannelCount,[Out, Buffer, Optional] float* pInterleavedAudioData) - IAudioSourceProvider::ProvideInput - - - -

Represents a byte stream from some data source, which might be a local file, a network file, or some other source. The interface supports the typical stream operations, such as reading, writing, and seeking.

-
- -

The following functions return references for local files:

A byte stream for a media souce can be opened with read access. A byte stream for an archive media sink should be opened with both read and write access. (Read access may be required, because the archive sink might need to read portions of the file as it writes.)

Some implementations of this interface also expose one or more of the following interfaces:

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms698720 - IMFByteStream - IMFByteStream -
- - -

Applies to: desktop apps | Metro style apps

Retrieves the characteristics of the byte stream.

-
- The capabilities of the stream. - -

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- ms698962 - HRESULT IMFByteStream::GetCapabilities([Out] unsigned int* pdwCapabilities) - IMFByteStream::GetCapabilities -
- - -

Applies to: desktop apps | Metro style apps

Retrieves the length of the stream.

-
- The length of the stream, in bytes. If the length is unknown, this value is -1. - -

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- ms698941 - HRESULT IMFByteStream::GetLength([Out] unsigned longlong* pqwLength) - IMFByteStream::GetLength -
- - -

Applies to: desktop apps | Metro style apps

Retrieves the current read or write position in the stream.

-
- The current position, in bytes. - -

The methods that update the current position are Read, BeginRead, Write, BeginWrite, SetCurrentPosition, and Seek.

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- ms704059 - HRESULT IMFByteStream::GetCurrentPosition([Out] unsigned longlong* pqwPosition) - IMFByteStream::GetCurrentPosition -
- - -

Applies to: desktop apps | Metro style apps

Queries whether the current position has reached the end of the stream.

-
- true if the end of the stream has been reached - -

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- ms697369 - HRESULT IMFByteStream::IsEndOfStream([Out] BOOL* pfEndOfStream) - IMFByteStream::IsEndOfStream -
- - -

Applies to: desktop apps | Metro style apps

Reads data from the stream.

-
-

Pointer to a buffer that receives the data. The caller must allocate the buffer.

- Offset to begin reading from -

Size of the buffer in bytes.

- The number of bytes that are copied into the buffer - -

This method reads at most cb bytes from the current position in the stream and copies them into the buffer provided by the caller. The number of bytes that were read is returned in the pcbRead parameter. The method does not return an error code on reaching the end of the file, so the application should check the value in pcbRead after the method returns.

This method is synchronous. It blocks until the read operation completes.

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- ms698913 - HRESULT IMFByteStream::Read([Out, Buffer] unsigned char* pb,[In] unsigned int cb,[Out] unsigned int* pcbRead) - IMFByteStream::Read -
- - -

Applies to: desktop apps | Metro style apps

Begins an asynchronous read operation from the stream.

-
-

Pointer to a buffer that receives the data. The caller must allocate the buffer.

- Offset within the buffer to begin reading at. -

Size of the buffer in bytes.

-

Pointer to the interface of a callback object. The caller must implement this interface.

-

Pointer to the interface of a state object, defined by the caller. This parameter can be null. You can use this object to hold state information. The object is returned to the caller when the callback is invoked.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

When all of the data has been read into the buffer, the callback object's method is called. At that point, the application should call to complete the asynchronous request.

Do not read from, write to, free, or reallocate the buffer while an asynchronous read is pending.

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- ms704810 - HRESULT IMFByteStream::BeginRead([Out, Buffer] unsigned char* pb,[In] unsigned int cb,[In] IMFAsyncCallback* pCallback,[In] IUnknown* punkState) - IMFByteStream::BeginRead -
- - -

Applies to: desktop apps | Metro style apps

Completes an asynchronous read operation.

-
-

Pointer to the interface. Pass in the same reference that your callback object received in the method.

- The number of bytes that were read - -

Call this method after the method completes asynchronously.

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- ms704042 - HRESULT IMFByteStream::EndRead([In] IMFAsyncResult* pResult,[Out] unsigned int* pcbRead) - IMFByteStream::EndRead -
- - -

Applies to: desktop apps | Metro style apps

Writes data to the stream.

-
-

Pointer to a buffer that contains the data to write.

- The offset within the buffer to begin writing to. -

Size of the buffer in bytes.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

This method writes the contents of the pb buffer to the stream, starting at the current stream position. The number of bytes that were written is returned in the pcbWritten parameter.

This method is synchronous. It blocks until the write operation completes.

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- ms703843 - HRESULT IMFByteStream::Write([In, Buffer] const unsigned char* pb,[In] unsigned int cb,[Out] unsigned int* pcbWritten) - IMFByteStream::Write -
- - -

Applies to: desktop apps | Metro style apps

Begins an asynchronous write operation to the stream.

-
-

Pointer to a buffer containing the data to write.

- The offset within the buffer to begin writing at. -

Size of the buffer in bytes.

-

Pointer to the interface of a callback object. The caller must implement this interface.

-

Pointer to the interface of a state object, defined by the caller. This parameter can be null. You can use this object to hold state information. The object is returned to the caller when the callback is invoked.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

When all of the data has been written to the stream, the callback object's method is called. At that point, the application should call to complete the asynchronous request.

Do not reallocate, free, or write to the buffer while an asynchronous write is still pending.

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- ms694005 - HRESULT IMFByteStream::BeginWrite([In, Buffer] const unsigned char* pb,[In] unsigned int cb,[In] IMFAsyncCallback* pCallback,[In] IUnknown* punkState) - IMFByteStream::BeginWrite -
- - -

Applies to: desktop apps | Metro style apps

Completes an asynchronous write operation.

-
-

Pointer to the interface. Pass in the same reference that your callback object received in the method.

- The number of bytes that were written - -

Call this method when the method completes asynchronously.

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- ms703863 - HRESULT IMFByteStream::EndWrite([In] IMFAsyncResult* pResult,[Out] unsigned int* pcbWritten) - IMFByteStream::EndWrite -
- - -

Applies to: desktop apps | Metro style apps

Moves the current position in the stream by a specified offset.

-
-

Specifies the origin of the seek as a member of the enumeration. The offset is calculated relative to this position.

-

Specifies the new position, as a byte offset from the seek origin.

-

Specifies zero or more flags. The following flags are defined.

ValueMeaning
MFBYTESTREAM_SEEK_FLAG_CANCEL_PENDING_IO

All pending I/O requests are canceled after the seek request completes successfully.

?

- The new position after the seek - -

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- ms697053 - HRESULT IMFByteStream::Seek([In] MFBYTESTREAM_SEEK_ORIGIN SeekOrigin,[In] longlong llSeekOffset,[In] unsigned int dwSeekFlags,[Out] unsigned longlong* pqwCurrentPosition) - IMFByteStream::Seek -
- - -

Applies to: desktop apps | Metro style apps

Clears any internal buffers used by the stream. If you are writing to the stream, the buffered data is written to the underlying file or device.

-
-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

If the byte stream is read-only, this method has no effect.

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- ms694833 - HRESULT IMFByteStream::Flush() - IMFByteStream::Flush -
- - -

Applies to: desktop apps | Metro style apps

Closes the stream and releases any resources associated with the stream, such as sockets or file handles. This method also cancels any pending asynchronous I/O requests.

-
-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- ms703909 - HRESULT IMFByteStream::Close() - IMFByteStream::Close -
- - - No documentation. - - - IDMOQualityControl - IDMOQualityControl - - - - Initializes a new instance of the 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. - - - SetNow - SetNow - HRESULT IDMOQualityControl::SetNow([In] longlong rtNow) - - - - No documentation. - - - GetStatus / SetStatus - GetStatus - HRESULT IDMOQualityControl::GetStatus([Out] unsigned int* pdwFlags) - - - - No documentation. - - No documentation. - No documentation. - - HRESULT IDMOQualityControl::SetNow([In] longlong rtNow) - IDMOQualityControl::SetNow - - - - No documentation. - - No documentation. - No documentation. - - HRESULT IDMOQualityControl::SetStatus([In] unsigned int dwFlags) - IDMOQualityControl::SetStatus - - - - No documentation. - - No documentation. - No documentation. - - HRESULT IDMOQualityControl::GetStatus([Out] unsigned int* pdwFlags) - IDMOQualityControl::GetStatus - - - - No documentation. - - - IDMOVideoOutputOptimizations - IDMOVideoOutputOptimizations - - - - Initializes a new instance of the 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 IDMOVideoOutputOptimizations::QueryOperationModePreferences([In] unsigned int ulOutputStreamIndex,[Out] unsigned int* pdwRequestedCapabilities) - IDMOVideoOutputOptimizations::QueryOperationModePreferences - - - - No documentation. - - No documentation. - No documentation. - No documentation. - - HRESULT IDMOVideoOutputOptimizations::SetOperationMode([In] unsigned int ulOutputStreamIndex,[In] unsigned int dwEnabledFeatures) - IDMOVideoOutputOptimizations::SetOperationMode - - - -

The GetCurrentOperationMode method retrieves the optimization features in effect.

-
-

Zero-based index of an output stream on the DMO.

-

Pointer to a variable that receives the current features. The returned value is a bitwise combination of zero or more flags from the DMO_VIDEO_OUTPUT_STREAM_FLAGS enumeration.

-

Returns an value. Possible values include those in the following table.

Return codeDescription
DMO_E_INVALIDSTREAMINDEX

Invalid stream index

E_POINTER

null reference argument

Success

?

- - dd406844 - HRESULT IDMOVideoOutputOptimizations::GetCurrentOperationMode([In] unsigned int ulOutputStreamIndex,[Out] unsigned int* pdwEnabledFeatures) - IDMOVideoOutputOptimizations::GetCurrentOperationMode -
- - -

The GetCurrentSampleRequirements method retrieves the optimization features required to process the next sample, given the features already agreed to by the application.

-
-

Zero-based index of an output stream on the DMO.

-

Pointer to a variable that receives the required features. The returned value is a bitwise combination of zero or more flags from the DMO_VIDEO_OUTPUT_STREAM_FLAGS enumeration.

-

Returns an value. Possible values include those in the following table.

Return codeDescription
DMO_E_INVALIDSTREAMINDEX

Invalid stream index

E_POINTER

null reference argument

Success

?

- -

After an application calls the method, it must provide all the features it has agreed to. However, the DMO might not require every feature on every sample. This method enables the DMO to waive an agreed-upon feature for one sample.

Before processing a sample, the application can call this method. If the DMO does not require a given feature in order to process the next sample, it omits the corresponding flag from the pdwRequestedFeatures parameter. For the next sample only, the application can ignore the feature. The results of this method are valid only for the next call to the method.

The DMO will return only the flags that were agreed to in the SetOperationMode method. In other words, you cannot dynamically enable new features with this method.

-
- - dd406845 - HRESULT IDMOVideoOutputOptimizations::GetCurrentSampleRequirements([In] unsigned int ulOutputStreamIndex,[Out] unsigned int* pdwRequestedFeatures) - IDMOVideoOutputOptimizations::GetCurrentSampleRequirements -
- - - No documentation. - - - IEnumDMO - IEnumDMO - - - - Initializes a new instance of the 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 Next method retrieves a specified number of items in the enumeration sequence.

-
-

Number of items to retrieve.

-

Array of size cItemsToFetch that is filled with the CLSIDs of the enumerated DMOs.

-

Array of size cItemsToFetch that is filled with the friendly names of the enumerated DMOs.

-

Pointer to a variable that receives the actual number of items retrieved. Can be null if cItemsToFetch equals 1.

-

Returns an value. Possible values include those in the following table.

Return codeDescription
E_INVALIDARG

Invalid argument.

E_OUTOFMEMORY

Insufficient memory.

E_POINTER

null reference argument.

S_FALSE

Retrieved fewer items than requested.

Retrieved the requested number of items.

?

- -

If the method succeeds, the arrays given by the pCLSID and Names parameters are filled with CLSIDs and wide-character strings. The value of *pcItemsFetched specifies the number of items returned in these arrays.

The method returns if it retrieves the requested number of items (in other words, if *pcItemsFetched equals cItemsToFetch). Otherwise, it returns S_FALSE or an error code.

The caller must free the memory allocated for each string returned in the Names parameter, using the CoTaskMemFree function.

-
- - dd376587 - HRESULT IEnumDMO::Next([In] unsigned int cItemsToFetch,[Out, Buffer] GUID* pCLSID,[Out, Buffer] wchar_t** Names,[Out] unsigned int* pcItemsFetched) - IEnumDMO::Next -
- - - No documentation. - - No documentation. - No documentation. - - HRESULT IEnumDMO::Skip([In] unsigned int cItemsToSkip) - IEnumDMO::Skip - - - -

The Reset method resets the enumeration sequence to the beginning.

-
-

Returns .

- - dd376588 - HRESULT IEnumDMO::Reset() - IEnumDMO::Reset -
- - - No documentation. - - No documentation. - No documentation. - - HRESULT IEnumDMO::Clone([Out] IEnumDMO** ppEnum) - IEnumDMO::Clone - - - -

The interface provides methods for manipulating a data buffer. Buffers passed to the and ProcessOutput methods must implement this interface.

-
- - dd390166 - IMediaBuffer - IMediaBuffer -
- - - Initializes a new instance of the 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. - - - SetLength - SetLength - HRESULT IMediaBuffer::SetLength([In] unsigned int cbLength) - - - - No documentation. - - - GetMaxLength - GetMaxLength - HRESULT IMediaBuffer::GetMaxLength([Out] unsigned int* pcbMaxLength) - - - - No documentation. - - No documentation. - No documentation. - - HRESULT IMediaBuffer::SetLength([In] unsigned int cbLength) - IMediaBuffer::SetLength - - - - No documentation. - - No documentation. - No documentation. - - HRESULT IMediaBuffer::GetMaxLength([Out] unsigned int* pcbMaxLength) - IMediaBuffer::GetMaxLength - - - - No documentation. - - No documentation. - No documentation. - No documentation. - - HRESULT IMediaBuffer::GetBufferAndLength([Out, Buffer, Optional] unsigned char** ppBuffer,[Out, Optional] unsigned int* pcbLength) - IMediaBuffer::GetBufferAndLength - - - -

The interface provides methods for manipulating a Microsoft DirectX Media Object (DMO).

-
- - dd406926 - IMediaObject - IMediaObject -
- - - Initializes a new instance of the 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 IMediaObject::GetStreamCount([Out] unsigned int* pcInputStreams,[Out] unsigned int* pcOutputStreams) - IMediaObject::GetStreamCount - - - - No documentation. - - No documentation. - No documentation. - No documentation. - - HRESULT IMediaObject::GetInputStreamInfo([In] unsigned int dwInputStreamIndex,[Out] unsigned int* pdwFlags) - IMediaObject::GetInputStreamInfo - - - -

The GetOutputStreamInfo method retrieves information about an output stream; for example, whether the stream is discardable, and whether it uses a fixed sample size. This information never changes.

-
-

Zero-based index of an output stream on the DMO.

-

Pointer to a variable that receives a bitwise combination of zero or more DMO_OUTPUT_STREAM_INFO_FLAGS flags.

-

Returns an value. Possible values include those in the following table.

Return codeDescription
DMO_E_INVALIDSTREAMINDEX

Invalid stream index

E_POINTER

null reference argument

Success

?

- - dd406955 - HRESULT IMediaObject::GetOutputStreamInfo([In] unsigned int dwOutputStreamIndex,[Out] unsigned int* pdwFlags) - IMediaObject::GetOutputStreamInfo -
- - -

The GetInputType method retrieves a preferred media type for a specified input stream.

-
-

Zero-based index of an input stream on the DMO.

-

Zero-based index on the set of acceptable media types.

-

Pointer to a structure allocated by the caller, or null. If this parameter is non-null, the method fills the structure with the media type. You can use the value null to test whether the type index is in range, by checking the return code.

-

Returns an value. Possible values include those in the following table.

Return codeDescription
DMO_E_INVALIDSTREAMINDEX

Invalid stream index.

DMO_E_NO_MORE_ITEMS

Type index is out of range.

E_OUTOFMEMORY

Insufficient memory.

E_POINTER

null reference argument.

Success.

?

- -

Call this method to enumerate an input stream's preferred media types. The DMO assigns each media type an index value in order of preference. The most preferred type has an index of zero. To enumerate all the types, make successive calls while incrementing the type index until the method returns DMO_E_NO_MORE_ITEMS. The DMO is not guaranteed to enumerate every media type that it supports.

The format block in the returned type might be null. If so, the format type is GUID_NULL. Check the format type before dereferencing the format block.

If the method succeeds, call MoFreeMediaType to free the format block. (This function is also safe to call when the format block is null.)

To set the media type, call the method. Setting the media type on one stream can change another stream's preferred types. In fact, a stream might not have a preferred type until the type is set on another stream. For example, a decoder might not have a preferred output type until the input type is set. However, the DMO is not required to update its preferred types dynamically in this fashion. Thus, the types returned by this method are not guaranteed to be valid; they might fail when used in the SetInputType method.

To test whether a particular media type is acceptable, call SetInputType with the flag.

To test whether the dwTypeIndex parameter is in range, set pmt to null. The method returns if the index is in range, or DMO_E_NO_MORE_ITEMS if the index is out of range.

-
- - dd406952 - HRESULT IMediaObject::GetInputType([In] unsigned int dwInputStreamIndex,[In] unsigned int dwTypeIndex,[Out, Optional] DMO_MEDIA_TYPE* pmt) - IMediaObject::GetInputType -
- - - No documentation. - - No documentation. - No documentation. - No documentation. - No documentation. - - HRESULT IMediaObject::GetOutputType([In] unsigned int dwOutputStreamIndex,[In] unsigned int dwTypeIndex,[Out, Optional] DMO_MEDIA_TYPE* pmt) - IMediaObject::GetOutputType - - - -

The SetInputType method sets the media type on an input stream, or tests whether a media type is acceptable.

-
-

Zero-based index of an input stream on the DMO.

-

Pointer to a structure that specifies the media type.

-

Bitwise combination of zero or more flags from the DMO_SET_TYPE_FLAGS enumeration.

-

Returns an value. Possible values include those in the following table.

Return codeDescription
DMO_E_INVALIDSTREAMINDEX

Invalid stream index

DMO_E_TYPE_NOT_ACCEPTED

Media type was not accepted

S_FALSE

Media type is not acceptable

Media type was set successfully, or is acceptable

?

- -

Call this method to test, set, or clear the media type on an input stream:

  • To test the media type without setting it, use the flag. If the media type is not acceptable, the method returns S_FALSE.
  • To set the media type, set dwFlags to zero. If the media type is not acceptable, the method returns DMO_E_TYPE_NOT_ACCEPTED.
  • To clear the current media type (if any), use the flag and set pmt to null. When the method returns, the stream no longer has a media type. The DMO cannot process samples until the application sets a new media type.

The media types that are currently set on other streams can affect whether the media type is acceptable.

-
- - dd406962 - HRESULT IMediaObject::SetInputType([In] unsigned int dwInputStreamIndex,[In, Optional] const DMO_MEDIA_TYPE* pmt,[In] unsigned int dwFlags) - IMediaObject::SetInputType -
- - - No documentation. - - No documentation. - No documentation. - No documentation. - No documentation. - - HRESULT IMediaObject::SetOutputType([In] unsigned int dwOutputStreamIndex,[In, Optional] const DMO_MEDIA_TYPE* pmt,[In] unsigned int dwFlags) - IMediaObject::SetOutputType - - - -

The GetInputCurrentType method retrieves the media type that was set for an input stream, if any.

-
-

Zero-based index of an input stream on the DMO.

-

Pointer to a structure allocated by the caller. The method fills the structure with the media type.

-

Returns an value. Possible values include those in the following table.

Return codeDescription
DMO_E_INVALIDSTREAMINDEX

Invalid stream index.

DMO_E_TYPE_NOT_SET

Media type was not set.

E_OUTOFMEMORY

Insufficient memory.

Success.

?

- -

The caller must set the media type for the stream before calling this method. To set the media type, call the method.

If the method succeeds, call MoFreeMediaType to free the format block.

-
- - dd406947 - HRESULT IMediaObject::GetInputCurrentType([In] unsigned int dwInputStreamIndex,[Out] DMO_MEDIA_TYPE* pmt) - IMediaObject::GetInputCurrentType -
- - - No documentation. - - No documentation. - No documentation. - No documentation. - - HRESULT IMediaObject::GetOutputCurrentType([In] unsigned int dwOutputStreamIndex,[Out] DMO_MEDIA_TYPE* pmt) - IMediaObject::GetOutputCurrentType - - - -

The GetInputSizeInfo method retrieves the buffer requirements for a specified input stream.

-
-

Zero-based index of an input stream on the DMO.

-

Pointer to a variable that receives the minimum size of an input buffer for this stream, in bytes.

-

Pointer to a variable that receives the maximum amount of data that the DMO will hold for lookahead, in bytes. If the DMO does not perform lookahead on the stream, the value is zero.

-

Pointer to a variable that receives the required buffer alignment, in bytes. If the input stream has no alignment requirement, the value is 1.

-

Returns an value. Possible values include those in the following table.

Return codeDescription
DMO_E_INVALIDSTREAMINDEX

Invalid stream index.

DMO_E_TYPE_NOT_SET

Media type was not set.

Success.

?

- -

The buffer requirements may depend on the media types of the various streams. Before calling this method, set the media type of each stream by calling the and methods. If the media types have not been set, this method might return an error.

If the DMO performs lookahead on the input stream, it returns the flag in the method. During processing, the DMO holds up to the number of bytes indicated by the pcbMaxLookahead parameter. The application must allocate enough buffers for the DMO to hold this much data.

A buffer is aligned if the buffer's start address is a multiple of *pcbAlignment. The alignment must be a power of two. Depending on the microprocessor, reads and writes to an aligned buffer might be faster than to an unaligned buffer. Also, some microprocessors do not support unaligned reads and writes.

-
- - dd406949 - HRESULT IMediaObject::GetInputSizeInfo([In] unsigned int dwInputStreamIndex,[Out] unsigned int* pcbSize,[Out] unsigned int* pcbMaxLookahead,[Out] unsigned int* pcbAlignment) - IMediaObject::GetInputSizeInfo -
- - - No documentation. - - No documentation. - No documentation. - No documentation. - No documentation. - - HRESULT IMediaObject::GetOutputSizeInfo([In] unsigned int dwOutputStreamIndex,[Out] unsigned int* pcbSize,[Out] unsigned int* pcbAlignment) - IMediaObject::GetOutputSizeInfo - - - - No documentation. - - No documentation. - No documentation. - No documentation. - - HRESULT IMediaObject::GetInputMaxLatency([In] unsigned int dwInputStreamIndex,[Out] longlong* prtMaxLatency) - IMediaObject::GetInputMaxLatency - - - - No documentation. - - No documentation. - No documentation. - No documentation. - - HRESULT IMediaObject::SetInputMaxLatency([In] unsigned int dwInputStreamIndex,[In] longlong rtMaxLatency) - IMediaObject::SetInputMaxLatency - - - -

The Flush method flushes all internally buffered data.

-
-

Returns if successful. Otherwise, returns an value indicating the cause of the error.

- -

The DMO performs the following actions when this method is called:

  • Releases any references it holds.
  • Discards any values that specify the time stamp or sample length for a media buffer.
  • Reinitializes any internal states that depend on the contents of a media sample.

Media types, maximum latency, and locked state do not change.

When the method returns, every input stream accepts data. Output streams cannot produce any data until the application calls the method on at least one input stream.

-
- - dd406945 - HRESULT IMediaObject::Flush() - IMediaObject::Flush -
- - -

The Discontinuity method signals a discontinuity on the specified input stream.

-
-

Zero-based index of an input stream on the DMO.

-

Returns an value. Possible values include those in the following table.

Return codeDescription
DMO_E_INVALIDSTREAMINDEX

Invalid stream index

DMO_E_NOTACCEPTING

The DMO is not accepting input.

DMO_E_TYPE_NOT_SET

The input and output types have not been set.

Success

?

- -

A discontinuity represents a break in the input. A discontinuity might occur because no more data is expected, the format is changing, or there is a gap in the data. After a discontinuity, the DMO does not accept further input on that stream until all pending data has been processed. The application should call the method until none of the streams returns the flag.

This method might fail if it is called before the client sets the input and output types on the DMO.

-
- - dd406944 - HRESULT IMediaObject::Discontinuity([In] unsigned int dwInputStreamIndex) - IMediaObject::Discontinuity -
- - - No documentation. - - No documentation. - - HRESULT IMediaObject::AllocateStreamingResources() - IMediaObject::AllocateStreamingResources - - - - No documentation. - - No documentation. - - HRESULT IMediaObject::FreeStreamingResources() - IMediaObject::FreeStreamingResources - - - - No documentation. - - No documentation. - No documentation. - No documentation. - - HRESULT IMediaObject::GetInputStatus([In] unsigned int dwInputStreamIndex,[Out] unsigned int* dwFlags) - IMediaObject::GetInputStatus - - - -

The ProcessInput method delivers a buffer to the specified input stream.

-
-

Zero-based index of an input stream on the DMO.

-

Pointer to the buffer's interface.

-

Bitwise combination of zero or more flags from the DMO_INPUT_DATA_BUFFER_FLAGS enumeration.

-

Time stamp that specifies the start time of the data in the buffer. If the buffer has a valid time stamp, set the flag in the dwFlags parameter. Otherwise, the DMO ignores this value.

-

Reference time specifying the duration of the data in the buffer. If this value is valid, set the flag in the dwFlags parameter. Otherwise, the DMO ignores this value.

-

Returns an value. Possible values include those in the following table.

Return codeDescription
DMO_E_INVALIDSTREAMINDEX

Invalid stream index.

DMO_E_NOTACCEPTING

Data cannot be accepted.

S_FALSE

No output to process.

Success.

?

- -

The input buffer specified in the pBuffer parameter is read-only. The DMO will not modify the data in this buffer. All write operations occur on the output buffers, which are given in a separate call to the method.

If the DMO does not process all the data in the buffer, it keeps a reference count on the buffer. It releases the buffer once it has generated all the output, unless it needs to perform lookahead on the data. (To determine whether a DMO performs lookahead, call the method.)

If this method returns DMO_E_NOTACCEPTING, call ProcessOutput until the input stream can accept more data. To determine whether the stream can accept more data, call the method.

If the method returns S_FALSE, no output was generated from this input and the application does not need to call ProcessOutput. However, a DMO is not required to return S_FALSE in this situation; it might return .

-
- - dd406959 - HRESULT IMediaObject::ProcessInput([In] unsigned int dwInputStreamIndex,[In] IMediaBuffer* pBuffer,[In] unsigned int dwFlags,[In] longlong rtTimestamp,[In] longlong rtTimelength) - IMediaObject::ProcessInput -
- - -

The ProcessOutput method generates output from the current input data.

-
-

Bitwise combination of zero or more flags from the DMO_PROCESS_OUTPUT_FLAGS enumeration.

-

Number of output buffers.

-

Pointer to an array of structures containing the output buffers. Specify the size of the array in the cOutputBufferCount parameter.

-

Pointer to a variable that receives a reserved value (zero). The application should ignore this value.

-

Returns an value. Possible values include those in the following table.

Return codeDescription
E_FAIL

Failure

E_INVALIDARG

Invalid argument

E_POINTER

null reference argument

S_FALSE

No output was generated

Success

?

- -

The pOutputBuffers parameter points to an array of structures. The application must allocate one structure for each output stream. To determine the number of output streams, call the method. Set the cOutputBufferCount parameter to this number.

Each structure contains a reference to a buffer's interface. The application allocates these buffers. The other members of the structure are status fields. The DMO sets these fields if the method succeeds. If the method fails, their values are undefined.

When the application calls ProcessOutput, the DMO processes as much input data as possible. It writes the output data to the output buffers, starting from the end of the data in each buffer. (To find the end of the data, call the method.) The DMO never holds a reference count on an output buffer.

If the DMO fills an entire output buffer and still has input data to process, the DMO returns the flag in the structure. The application should check for this flag by testing the dwStatus member of each structure.

If the method returns S_FALSE, no output was generated. However, a DMO is not required to return S_FALSE in this situation; it might return .

Discarding data:

You can discard data from a stream by setting the flag in the dwFlags parameter. For each stream that you want to discard, set the pBuffer member of the structure to null.

For each stream in which pBuffer is null:

  • If the flag is set, and the stream is discardable or optional, the DMO discards the data.
  • If the flag is set but the stream is neither discardable nor optional, the DMO discards the data if possible. It is not guaranteed to discard the data.
  • If the flag is not set, the DMO does not produce output data for that stream, but does not discard the data.

To check whether a stream is discardable or optional, call the method.

-
- - dd406960 - HRESULT IMediaObject::ProcessOutput([In] unsigned int dwFlags,[In] unsigned int cOutputBufferCount,[Out, Buffer] DMO_OUTPUT_DATA_BUFFER* pOutputBuffers,[Out] unsigned int* pdwStatus) - IMediaObject::ProcessOutput -
- - -

The Lock method acquires or releases a lock on the DMO. Call this method to keep the DMO serialized when performing multiple operations.

-
-

Value that specifies whether to acquire or release the lock. If the value is non-zero, a lock is acquired. If the value is zero, the lock is released.

-

Returns an value. Possible values include those in the following table.

Return codeDescription
E_FAIL

Failure

Success

?

- -

This method prevents other threads from calling methods on the DMO. If another thread calls a method on the DMO, the thread blocks until the lock is released.

If you are using the Active Template Library (ATL) to implement a DMO, the name of the Lock method conflicts with the CComObjectRootEx::Lock method. To work around this problem, define the preprocessor symbol FIX_LOCK_NAME before including the header file Dmo.h:

 #define FIX_LOCK_NAME	
-            #include <dmo.h>	
-            

This directive causes the preprocessor to rename the method to DMOLock. In your DMO, implement the method as DMOLock. In your implementation, call the ATL Lock or Unlock method, depending on the value of bLock. Applications can still invoke the method using the name Lock because the vtable order does not change.

-
- - dd406958 - HRESULT IMediaObject::Lock([In] int bLock) - IMediaObject::Lock -
- - - No documentation. - - - IMediaObjectInPlace - IMediaObjectInPlace - - - - Initializes a new instance of the 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 GetLatency method retrieves the latency introduced by this DMO.

-
- -

This method returns the average time required to process each buffer. This value usually depends on factors in the run-time environment, such as the processor speed and the CPU load. One possible way to implement this method is for the DMO to keep a running average based on historical data.

-
- - dd406941 - GetLatency - GetLatency - HRESULT IMediaObjectInPlace::GetLatency([Out] longlong* pLatencyTime) -
- - - No documentation. - - No documentation. - No documentation. - No documentation. - No documentation. - No documentation. - - HRESULT IMediaObjectInPlace::Process([In] unsigned int ulSize,[Out, Buffer] unsigned char* pData,[In] longlong refTimeStart,[In] unsigned int dwFlags) - IMediaObjectInPlace::Process - - - -

The Clone method creates a copy of the DMO in its current state.

-
-

Address of a reference to receive the new DMO's interface.

-

Returns if successful. Otherwise, returns an value indicating the cause of the error.

- -

If the method succeeds, the interface that it returns has an outstanding reference count. Be sure to release the interface when you are finished using it.

-
- - dd406940 - HRESULT IMediaObjectInPlace::Clone([Out] IMediaObjectInPlace** ppMediaObject) - IMediaObjectInPlace::Clone -
- - -

The GetLatency method retrieves the latency introduced by this DMO.

-
-

Pointer to a variable that receives the latency, in 100-nanosecond units.

-

Returns if successful. Otherwise, returns an value indicating the cause of the error.

- -

This method returns the average time required to process each buffer. This value usually depends on factors in the run-time environment, such as the processor speed and the CPU load. One possible way to implement this method is for the DMO to keep a running average based on historical data.

-
- - dd406941 - HRESULT IMediaObjectInPlace::GetLatency([Out] longlong* pLatencyTime) - IMediaObjectInPlace::GetLatency -
- - -

Enables other components in the protected media path (PMP) to use the input protection system provided by an input trust authorities (ITA). An ITA is a component that implements an input protection system for media content. ITAs expose the interface.

An ITA translates policy from the content's native format into a common format that is used by other PMP components. It also provides a decrypter, if one is needed to decrypt the stream.

The topology contains one ITA instance for every protected stream in the media source. The ITA is obtained from the media source by calling .

-
- - ms697500 - IMFInputTrustAuthority - IMFInputTrustAuthority -
- - - Initializes a new instance of the 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 decrypter transform.

-
-

Interface identifier (IID) of the interface being requested. Currently this value must be IID_IMFTransform, which requests the interface.

-

Receives a reference to the interface. The caller must release the interface.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_NOINTERFACE

The decrypter does not support the requested interface.

This input trust authority (ITA) does not provide a decrypter.

?

- -

The decrypter should be created in a disabled state, where any calls to automatically fail. After the input trust authority (ITA) has verified that it is running inside the protected media path (PMP), the ITA should enable the decrypter.

An ITA is not required to provide a decrypter. If the source content is not encrypted, the method should return . The PMP will then proceed without using a decrypter for that stream.

The ITA must create a new instance of its decrypter for each call to GetDecrypter. Do not return multiple references to the same decrypter. They must be separate instances because the Media Session might place them in two different branches of the topology.

-
- - bb970385 - HRESULT IMFInputTrustAuthority::GetDecrypter([In] const GUID& riid,[Out] void** ppv) - IMFInputTrustAuthority::GetDecrypter -
- - -

Requests permission to perform a specified action on the stream.

-
-

The requested action, specified as a member of the enumeration.

-

Receives the value null or a reference to the interface. The interface is used to create a content enabler object. The caller must release the interface. For more information, see Remarks.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The user has permission to perform this action.

NS_E_DRM_NEEDS_INDIVIDUALIZATION

The user must individualize the application.

NS_E_LICENSE_REQUIRED

The user must obtain a license.

?

- -

This method verifies whether the user has permission to perform a specified action on the stream. The ITA does any work needed to verify the user's right to perform the action, such as checking licenses.

To verify the user's rights, the ITA might need to perform additional steps that require interaction with the user or consent from the user. For example, it might need to acquire a new license or individualize a DRM component. In that case, the ITA creates an activation object for a content enabler and returns the activation object's interface in the ppContentEnablerActivate parameter. The activation object is responsible for creating a content enabler that exposes the interface. The content enabler is used as follows:

  1. The Media Session returns the reference to the application.

  2. The application calls to activate the content enabler.

  3. The application calls methods to perform whatever actions are needed, such as individualization or obtaining a license. The content enabler object must encapsulate this functionality through the interface.

  4. The Media Session calls RequestAccess again.

The return value signals whether the user has permission to perform the action:

  • If the user already has permission to perform the action, the method returns and sets *ppContentEnablerActivate to null.

  • If the user does not have permission, the method returns a failure code and sets *ppContentEnablerActivate to null.

  • If the ITA must perform additional steps that require interaction with the user, the method returns a failure code and returns the content enabler's reference in ppContentEnablerActivate.

The Media Session will not allow the action unless this method returns . However, a return value of does not guarantee that the action will be performed, because some other failure might occur after this method is called. When the action is definitely about to happen, the Media Session calls .

A stream can go to multiple outputs, so this method might be called multiple times with different actions, once for every output.

-
- - bb970453 - HRESULT IMFInputTrustAuthority::RequestAccess([In] MFPOLICYMANAGER_ACTION Action,[Out] IMFActivate** ppContentEnablerActivate) - IMFInputTrustAuthority::RequestAccess -
- - -

Retrieves the policy that defines which output protection systems are allowed for this stream, and the configuration data for each protection system.

-
-

The action that will be performed on this stream, specified as a member of the enumeration.

-

Receives a reference to the interface. The caller must release the interface.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - bb970400 - HRESULT IMFInputTrustAuthority::GetPolicy([In] MFPOLICYMANAGER_ACTION Action,[Out] IMFOutputPolicy** ppPolicy) - IMFInputTrustAuthority::GetPolicy -
- - -

Notifies the input trust authority (ITA) that a requested action is about to be performed.

-
-

Pointer to an structure that contains parameters for the BindAccess action.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

Before calling this method, the Media Session calls to request an action. The BindAccess method notifies the ITA that the action is definitely about to occur, so that the ITA can update its internal state as needed. If the method returns a failure code, the Media Session cancels the action.

-
- - ms701551 - HRESULT IMFInputTrustAuthority::BindAccess([In] MFINPUTTRUSTAUTHORITY_ACCESS_PARAMS* pParam) - IMFInputTrustAuthority::BindAccess -
- - -

Notifies the input trust authority (ITA) when the number of output trust authorities (OTAs) that will perform a specified action has changed.

-
-

Pointer to an structure that contains parameters for the UpdateAccess action.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

The ITA can update its internal state if needed. If the method returns a failure code, the Media Session cancels the action.

-
- - ms697037 - HRESULT IMFInputTrustAuthority::UpdateAccess([In] MFINPUTTRUSTAUTHORITY_ACCESS_PARAMS* pParam) - IMFInputTrustAuthority::UpdateAccess -
- - -

Resets the input trust authority (ITA) to its initial state.

-
-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

When this method is called, the ITA should disable any decrypter that was returned in the method.

-
- - ms703015 - HRESULT IMFInputTrustAuthority::Reset() - IMFInputTrustAuthority::Reset -
- - -

Registers Media Foundation transforms (MFTs) in the caller's process.

The Media Session exposes this interface as a service. To obtain a reference to this interface, call the method on the Media Session with the service identifier MF_LOCAL_MFT_REGISTRATION_SERVICE.

-
- -

This interface requires the Media Session. If you are not using the Media Session for playback, call one of the following functions instead:

-
- - dd374219 - IMFLocalMFTRegistration - IMFLocalMFTRegistration -
- - - Initializes a new instance of the 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 one or more Media Foundation transforms (MFTs) in the caller's process.

-
-

A reference to an array of structures.

-

The number of elements in the pMFTs array.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

This method is similar to the function. It registers one or more MFTs in the caller's process. These MFTs can be enumerated by calling the function with the flag.

Unlike , however, this method also makes the MFT available in the Protected Media Path (PMP) process, and is therefore useful if you are using the Media Session inside the PMP. For more information, see the following topics:

  • Protected Media Path
-
- - dd374223 - HRESULT IMFLocalMFTRegistration::RegisterMFTs([In, Buffer] MFT_REGISTRATION_INFO* pMFTs,[In] unsigned int cMFTs) - IMFLocalMFTRegistration::RegisterMFTs -
- - -

Provides a generic way to store key/value pairs on an object. The keys are s, and the values can be any of the following data types: UINT32, UINT64, double, , wide-character string, byte array, or reference. The standard implementation of this interface holds a thread lock while values are added, deleted, or retrieved.

For a list of predefined attribute s, see Media Foundation Attributes. Each attribute has an expected data type. The various "set" methods in do not validate the type against the attribute . It is the application's responsibility to set the correct type for the attribute.

To create an empty attribute store, call .

-
- -

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms704598 - IMFAttributes - IMFAttributes -
- - - Initializes a new instance of the 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 attributes that are set on this object.

-
- -

To enumerate all of the attributes, call for each index value.

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - bb970413 - GetCount - GetCount - HRESULT IMFAttributes::GetCount([Out] unsigned int* pcItems) -
- - -

Retrieves the value associated with a key.

-
-

A that identifies which value to retrieve.

-

A reference to a that receives the value. The method fills the with a copy of the stored value, if the value is found. Call PropVariantClear to free the memory allocated by this method. This parameter can be null. If this parameter is null, the method searches for the key and returns if the key is found, but does not copy the value.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The specified key was not found.

?

- -

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - bb970450 - HRESULT IMFAttributes::GetItem([In] const GUID& guidKey,[In] void* pValue) - IMFAttributes::GetItem -
- - -

Retrieves the data type of the value associated with a key.

-
-

that identifies which value to query.

-

Receives a member of the enumeration.

- -

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - bb970369 - HRESULT IMFAttributes::GetItemType([In] const GUID& guidKey,[Out] MF_ATTRIBUTE_TYPE* pType) - IMFAttributes::GetItemType -
- - -

Queries whether a stored attribute value equals to a specified .

-
-

that identifies which value to query.

-

that contains the value to compare.

-

Receives a Boolean value indicating whether the attribute matches the value given in Value. See Remarks. This parameter must not be null. If this parameter is null, an access violation occurs.

- -

The method sets pbResult to for any of the following reasons:

  • No attribute is found whose key matches the one given in guidKey.

  • The attribute's type does not match the type given in Value.

  • The attribute value does not match the value given in Value.

  • The method fails.

Otherwise, the method sets pbResult to TRUE.

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - bb970566 - HRESULT IMFAttributes::CompareItem([In] const GUID& guidKey,[In] const PROPVARIANT& Value,[Out] BOOL* pbResult) - IMFAttributes::CompareItem -
- - -

Compares the attributes on this object with the attributes on another object.

-
-

Pointer to the interface of the object to compare with this object.

-

Member of the enumeration, specifying the type of comparison to make.

-

Receives a Boolean value. The value is TRUE if the two sets of attributes match in the way specified by the MatchType parameter. Otherwise, the value is .

- -

If pThis is the object whose Compare method is called, and pTheirs is the object passed in as the pTheirs parameter, the following comparisons are defined by MatchType.

Match typeReturns TRUE if and only if
For every attribute in pThis, an attribute with the same key and value exists in pTheirs.
For every attribute in pTheirs, an attribute with the same key and value exists in pThis.
The key/value pairs are identical in both objects.
Take the intersection of the keys in pThis and the keys in pTheirs. The values associated with those keys are identical in both pThis and pTheirs.
Take the object with the smallest number of attributes. For every attribute in that object, an attribute with the same key and value exists in the other object.

?

The pTheirs and pbResult parameters must not be null. If either parameter is null, an access violation occurs.

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - bb970349 - HRESULT IMFAttributes::Compare([In, Optional] IMFAttributes* pTheirs,[In] MF_ATTRIBUTES_MATCH_TYPE MatchType,[Out] BOOL* pbResult) - IMFAttributes::Compare -
- - -

Retrieves a UINT32 value associated with a key.

-
-

that identifies which value to retrieve. The attribute type must be .

-

Receives a UINT32 value. If the key is found and the data type is UINT32, the method copies the value into this parameter. Otherwise, the original value of this parameter is not changed.

- -

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - bb970551 - HRESULT IMFAttributes::GetUINT32([In] const GUID& guidKey,[Out] unsigned int* punValue) - IMFAttributes::GetUINT32 -
- - -

Retrieves a UINT64 value associated with a key.

-
-

that identifies which value to retrieve. The attribute type must be .

-

Receives a UINT64 value. If the key is found and the data type is UINT64, the method copies the value into this parameter. Otherwise, the original value of this parameter is not changed.

- -

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - bb970569 - HRESULT IMFAttributes::GetUINT64([In] const GUID& guidKey,[Out] unsigned longlong* punValue) - IMFAttributes::GetUINT64 -
- - -

Retrieves a double value associated with a key.

-
-

that identifies which value to retrieve. The attribute type must be .

-

Receives a double value. If the key is found and the data type is double, the method copies the value into this parameter. Otherwise, the original value of this parameter is not changed.

- -

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - bb970418 - HRESULT IMFAttributes::GetDouble([In] const GUID& guidKey,[Out] double* pfValue) - IMFAttributes::GetDouble -
- - -

Retrieves a value associated with a key.

-
-

that identifies which value to retrieve. The attribute type must be .

-

Receives a value. If the key is found and the data type is , the method copies the value into this parameter. Otherwise, the original value of this parameter is not changed.

- -

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - bb970426 - HRESULT IMFAttributes::GetGUID([In] const GUID& guidKey,[Out] GUID* pguidValue) - IMFAttributes::GetGUID -
- - -

Retrieves the length of a string value associated with a key.

-
-

that identifies which value to retrieve. The attribute type must be .

-

If the key is found and the value is a string type, this parameter receives the number of characters in the string, not including the terminating null character. To get the string value, call .

- -

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - bb970425 - HRESULT IMFAttributes::GetStringLength([In] const GUID& guidKey,[Out] unsigned int* pcchLength) - IMFAttributes::GetStringLength -
- - -

Retrieves a wide-character string associated with a key.

-
-

that identifies which value to retrieve. The attribute type must be .

-

Pointer to a wide-character array allocated by the caller. The array must be large enough to hold the string, including the terminating null character. If the key is found and the value is a string type, the method copies the string into this buffer. To find the length of the string, call .

-

The size of the pwszValue array, in characters. This value includes the terminating null character.

-

Receives the number of characters in the string, excluding the terminating null character. This parameter can be null.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_OUTOFMEMORY

The length of the string is too large to fit in a UINT32 value.

E_NOT_SUFFICIENT_BUFFER

The buffer is not large enough to hold the string.

The specified key was not found.

The attribute value is not a string.

?

- -

You can also use the method, which allocates the buffer to hold the string.

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - bb970430 - HRESULT IMFAttributes::GetString([In] const GUID& guidKey,[Out, Buffer] wchar_t* pwszValue,[In] unsigned int cchBufSize,[InOut, Optional] unsigned int* pcchLength) - IMFAttributes::GetString -
- - -

Gets a wide-character string associated with a key. This method allocates the memory for the string.

-
-

A that identifies which value to retrieve. The attribute type must be .

-

If the key is found and the value is a string type, this parameter receives a copy of the string. The caller must free the memory for the string by calling CoTaskMemFree.

-

Receives the number of characters in the string, excluding the terminating null character. This parameter must not be null.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The specified key was not found.

The attribute value is not a string.

?

- -

To copy a string value into a caller-allocated buffer, use the method.

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
Note??An earlier version of the documentation incorrectly stated that the pcchLength parameter can be null. Setting this parameter to null might succeed in some cases, but is not guaranteed. The caller must pass a non-null reference for this parameter.? -
- - bb970406 - HRESULT IMFAttributes::GetAllocatedString([In] const GUID& guidKey,[Buffer, Optional] wchar_t** ppwszValue,[Out] unsigned int* pcchLength) - IMFAttributes::GetAllocatedString -
- - -

Retrieves the length of a byte array associated with a key.

-
-

that identifies which value to retrieve. The attribute type must be .

-

If the key is found and the value is a byte array, this parameter receives the size of the array, in bytes.

- -

To get the byte array, call .

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - bb970459 - HRESULT IMFAttributes::GetBlobSize([In] const GUID& guidKey,[Out] unsigned int* pcbBlobSize) - IMFAttributes::GetBlobSize -
- - -

Retrieves a byte array associated with a key. This method copies the array into a caller-allocated buffer.

-
-

that identifies which value to retrieve. The attribute type must be .

-

Pointer to a buffer allocated by the caller. If the key is found and the value is a byte array, the method copies the array into this buffer. To find the required size of the buffer, call .

-

The size of the pBuf buffer, in bytes.

-

Receives the size of the byte array. This parameter can be null.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_NOT_SUFFICIENT_BUFFER

The buffer is not large enough to the array.

The specified key was not found.

The attribute value is not a byte array.

?

- -

You can also use the method, which allocates the buffer to hold the byte array.

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - bb970421 - HRESULT IMFAttributes::GetBlob([In] const GUID& guidKey,[In] void* pBuf,[In] unsigned int cbBufSize,[InOut, Optional] unsigned int* pcbBlobSize) - IMFAttributes::GetBlob -
- - -

Provides a generic way to store key/value pairs on an object. The keys are s, and the values can be any of the following data types: UINT32, UINT64, double, , wide-character string, byte array, or reference. The standard implementation of this interface holds a thread lock while values are added, deleted, or retrieved.

For a list of predefined attribute s, see Media Foundation Attributes. Each attribute has an expected data type. The various "set" methods in do not validate the type against the attribute . It is the application's responsibility to set the correct type for the attribute.

To create an empty attribute store, call .

-
- No documentation. - No documentation. - No documentation. - No documentation. - -

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms704598 - HRESULT IMFAttributes::GetAllocatedBlob([In] const GUID& guidKey,[Buffer, Optional] unsigned char** ppBuf,[Out] unsigned int* pcbSize) - IMFAttributes::GetAllocatedBlob -
- - -

Retrieves an interface reference associated with a key.

-
-

that identifies which value to retrieve. The attribute type must be .

-

Interface identifier (IID) of the interface to retrieve.

-

Receives a reference to the requested interface. The caller must release the interface.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_NOINTERFACE

The attribute value is an reference but does not support requested interface.

The specified key was not found.

The attribute value is not an reference.

?

- -

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - bb970481 - HRESULT IMFAttributes::GetUnknown([In] const GUID& guidKey,[In] const GUID& riid,[Out] void** ppv) - IMFAttributes::GetUnknown -
- - -

Adds an attribute value with a specified key.

-
-

A that identifies the value to set. If this key already exists, the method overwrites the old value.

-

A that contains the attribute value. The method copies the value. The type must be one of the types listed in the enumeration.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_OUTOFMEMORY

Insufficient memory.

Invalid attribute type.

?

- -

This method checks whether the type is one of the attribute types defined in , and fails if an unsupported type is used. However, this method does not check whether the is the correct type for the specified attribute . (There is no programmatic way to associate attribute GUIDs with property types.) For a list of Media Foundation attributes and their data types, see Media Foundation Attributes.

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - bb970346 - HRESULT IMFAttributes::SetItem([In] const GUID& guidKey,[In] const PROPVARIANT& Value) - IMFAttributes::SetItem -
- - -

Removes a key/value pair from the object's attribute list.

-
-

that identifies the value to delete.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

If the specified key does not exist, the method returns .

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - bb970486 - HRESULT IMFAttributes::DeleteItem([In] const GUID& guidKey) - IMFAttributes::DeleteItem -
- - -

Removes all key/value pairs from the object's attribute list.

-
-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms700200 - HRESULT IMFAttributes::DeleteAllItems() - IMFAttributes::DeleteAllItems -
- - -

Associates a UINT32 value with a key.

-
-

that identifies the value to set. If this key already exists, the method overwrites the old value.

-

New value for this key.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

To retrieve the UINT32 value, call .

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - bb970467 - HRESULT IMFAttributes::SetUINT32([In] const GUID& guidKey,[In] unsigned int unValue) - IMFAttributes::SetUINT32 -
- - -

Associates a UINT64 value with a key.

-
-

that identifies the value to set. If this key already exists, the method overwrites the old value.

-

New value for this key.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

To retrieve the UINT64 value, call .

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - bb970439 - HRESULT IMFAttributes::SetUINT64([In] const GUID& guidKey,[In] unsigned longlong unValue) - IMFAttributes::SetUINT64 -
- - -

Associates a double value with a key.

-
-

that identifies the value to set. If this key already exists, the method overwrites the old value.

-

New value for this key.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

To retrieve the double value, call .

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - bb970505 - HRESULT IMFAttributes::SetDouble([In] const GUID& guidKey,[In] double fValue) - IMFAttributes::SetDouble -
- - -

Associates a value with a key.

-
-

that identifies the value to set. If this key already exists, the method overwrites the old value.

-

New value for this key.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_OUTOFMEMORY

Insufficient memory.

?

- -

To retrieve the value, call .

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - bb970530 - HRESULT IMFAttributes::SetGUID([In] const GUID& guidKey,[In] const GUID& guidValue) - IMFAttributes::SetGUID -
- - -

Associates a wide-character string with a key.

-
-

that identifies the value to set. If this key already exists, the method overwrites the old value.

-

Null-terminated wide-character string to associate with this key. The method stores a copy of the string.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

To retrieve the string, call or .

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - bb970404 - HRESULT IMFAttributes::SetString([In] const GUID& guidKey,[In] const wchar_t* wszValue) - IMFAttributes::SetString -
- - -

Associates a byte array with a key.

-
-

that identifies the value to set. If this key already exists, the method overwrites the old value.

-

Pointer to a byte array to associate with this key. The method stores a copy of the array.

-

Size of the array, in bytes.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

To retrieve the byte array, call or .

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - bb970395 - HRESULT IMFAttributes::SetBlob([In] const GUID& guidKey,[In] const void* pBuf,[In] unsigned int cbBufSize) - IMFAttributes::SetBlob -
- - -

Associates an reference with a key.

-
-

that identifies the value to set. If this key already exists, the method overwrites the old value.

-

reference to be associated with this key.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

To retrieve the reference, call .

It is not an error to call SetUnknown with pUnknown equal to null. However, GetUnknown will return .

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - bb970533 - HRESULT IMFAttributes::SetUnknown([In] const GUID& guidKey,[In, Optional] IUnknown* pUnknown) - IMFAttributes::SetUnknown -
- - -

Locks the attribute store so that no other thread can access it. If the attribute store is already locked by another thread, this method blocks until the other thread unlocks the object. After calling this method, call to unlock the object.

-
-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

This method can cause a deadlock if a thread that calls LockStore waits on a thread that calls any other methods on the same object.

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms698926 - HRESULT IMFAttributes::LockStore() - IMFAttributes::LockStore -
- - -

Unlocks the attribute store after a call to the method. While the object is unlocked, multiple threads can access the object's attributes.

-
-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms697545 - HRESULT IMFAttributes::UnlockStore() - IMFAttributes::UnlockStore -
- - -

Retrieves the number of attributes that are set on this object.

-
-

Receives the number of attributes. This parameter must not be null. If this parameter is null, an access violation occurs.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

To enumerate all of the attributes, call for each index value.

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - bb970413 - HRESULT IMFAttributes::GetCount([Out] unsigned int* pcItems) - IMFAttributes::GetCount -
- - -

Retrieves an attribute at the specified index.

-
-

Index of the attribute to retrieve. To get the number of attributes, call .

-

Receives the that identifies this attribute.

-

Pointer to a that receives the value. This parameter can be null. If it is not null, the method fills the with a copy of the attribute value. Call PropVariantClear to free the memory allocated by this method.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_INVALIDARG

Invalid index.

?

- -

To enumerate all of an object's attributes in a thread-safe way, do the following:

  1. Call to prevent another thread from adding or deleting attributes.

  2. Call to find the number of attributes.

  3. Call GetItemByIndex to get each attribute by index.

  4. Call to unlock the attribute store.

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - bb970331 - HRESULT IMFAttributes::GetItemByIndex([In] unsigned int unIndex,[Out] GUID* pguidKey,[InOut, Optional] PROPVARIANT* pValue) - IMFAttributes::GetItemByIndex -
- - -

Copies all of the attributes from this object into another attribute store.

-
-

A reference to the interface of the attribute store that receives the copy.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

This method deletes all of the attributes originally stored in pDest.

Note??

When you call CopyAllItems on an , which inherits this method, the sample time, duration, and flags are not copied to the destination sample. You must copy these values to the new sample manually.

?

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - bb970330 - HRESULT IMFAttributes::CopyAllItems([In, Optional] IMFAttributes* pDest) - IMFAttributes::CopyAllItems -
- - - Initializes a new instance of the class. - - The initial number of elements allocated for the attribute store. The attribute store grows as needed. Default is 0 - -

Attributes are used throughout Microsoft Media Foundation to configure objects, describe media formats, query object properties, and other purposes. For more information, see Attributes in Media Foundation.

For a complete list of all the defined attribute GUIDs in Media Foundation, see Media Foundation Attributes.

-
- ms701878 - HRESULT MFCreateAttributes([Out] IMFAttributes** ppMFAttributes,[In] unsigned int cInitialSize) - MFCreateAttributes -
- - - Gets an item value - - GUID of the key. - The value associated to this key. - ms704598 - HRESULT IMFAttributes::GetItem([In] const GUID& guidKey,[In] void* pValue) - IMFAttributes::GetItem - - - -

Applies to: desktop apps | Metro style apps

Retrieves an attribute at the specified index.

-
-

Index of the attribute to retrieve. To get the number of attributes, call .

-

Receives the that identifies this attribute.

- The value associated to this index - -

To enumerate all of an object's attributes in a thread-safe way, do the following:

  1. Call to prevent another thread from adding or deleting attributes.

  2. Call to find the number of attributes.

  3. Call GetItemByIndex to get each attribute by index.

  4. Call to unlock the attribute store.

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- bb970331 - HRESULT IMFAttributes::GetItemByIndex([In] unsigned int unIndex,[Out] GUID* pguidKey,[InOut, Optional] PROPVARIANT* pValue) - IMFAttributes::GetItemByIndex -
- - - Gets an item value - - GUID of the key. - The value associated to this key. - ms704598 - HRESULT IMFAttributes::GetItem([In] const GUID& guidKey,[In] void* pValue) - IMFAttributes::GetItem - - - - Gets an item value - - GUID of the key. - The value associated to this key. - ms704598 - HRESULT IMFAttributes::GetItem([In] const GUID& guidKey,[In] void* pValue) - IMFAttributes::GetItem - - - -

Applies to: desktop apps | Metro style apps

Adds an attribute value with a specified key.

-
-

A that identifies the value to set. If this key already exists, the method overwrites the old value.

-

A that contains the attribute value. The method copies the value. The type must be one of the types listed in the enumeration.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_OUTOFMEMORY

Insufficient memory.

MF_E_INVALIDTYPE

Invalid attribute type.

?

- -

This method checks whether the type is one of the attribute types defined in , and fails if an unsupported type is used. However, this method does not check whether the is the correct type for the specified attribute . (There is no programmatic way to associate attribute GUIDs with property types.) For a list of Media Foundation attributes and their data types, see Media Foundation Attributes.

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- bb970346 - HRESULT IMFAttributes::SetItem([In] const GUID& guidKey,[In] const PROPVARIANT& Value) - IMFAttributes::SetItem -
- - -

Applies to: desktop apps | Metro style apps

Adds an attribute value with a specified key.

-
-

A that identifies the value to set. If this key already exists, the method overwrites the old value.

-

A that contains the attribute value. The method copies the value. The type must be one of the types listed in the enumeration.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_OUTOFMEMORY

Insufficient memory.

MF_E_INVALIDTYPE

Invalid attribute type.

?

- -

This method checks whether the type is one of the attribute types defined in , and fails if an unsupported type is used. However, this method does not check whether the is the correct type for the specified attribute . (There is no programmatic way to associate attribute GUIDs with property types.) For a list of Media Foundation attributes and their data types, see Media Foundation Attributes.

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- bb970346 - HRESULT IMFAttributes::SetItem([In] const GUID& guidKey,[In] const PROPVARIANT& Value) - IMFAttributes::SetItem -
- - -

Represents a block of memory that contains media data. Use this interface to access the data in the buffer.

-
- -

If the buffer contains 2-D image data (such as an uncompressed video frame), you should query the buffer for the interface. The methods on are optimized for 2-D data.

To get a buffer from a media sample, call one of the following methods:

To create a new buffer object, use one of the following functions.

FunctionDescription
Creates a buffer and allocates system memory.
Creates a media buffer that wraps an existing media buffer.
Creates a buffer that manages a DirectX surface.
Creates a buffer and allocates system memory with a specified alignment.

?

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms696261 - IMFMediaBuffer - IMFMediaBuffer -
- - - Initializes a new instance of the 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 length of the valid data in the buffer.

-
- -

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms698987 - GetCurrentLength / SetCurrentLength - GetCurrentLength - HRESULT IMFMediaBuffer::GetCurrentLength([Out] unsigned int* pcbCurrentLength) -
- - -

Retrieves the allocated size of the buffer.

-
- -

The buffer might or might not contain any valid data, and if there is valid data in the buffer, it might be smaller than the buffer's allocated size. To get the length of the valid data, call .

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms704840 - GetMaxLength - GetMaxLength - HRESULT IMFMediaBuffer::GetMaxLength([Out] unsigned int* pcbMaxLength) -
- - -

Gives the caller access to the memory in the buffer, for reading or writing

-
-

Receives the maximum amount of data that can be written to the buffer. This parameter can be null. The same value is returned by the method.

-

Receives the length of the valid data in the buffer, in bytes. This parameter can be null. The same value is returned by the method.

-

Receives a reference to the start of the buffer.

- -

This method gives the caller access to the entire buffer, up to the maximum size returned in the pcbMaxLength parameter. The value returned in pcbCurrentLength is the size of any valid data already in the buffer, which might be less than the total buffer size.

The reference returned in ppbBuffer is guaranteed to be valid, and can safely be accessed across the entire buffer for as long as the lock is held. When you are done accessing the buffer, call to unlock the buffer. You must call Unlock once for each call to Lock. After you unlock the buffer, the reference returned in ppbBuffer is no longer valid, and should not be used. Generally, it is best to call Lock only when you need to access the buffer memory, and not earlier.

Locking the buffer does not prevent other threads from calling Lock, so you should not rely on this method to synchronize threads.

This method does not allocate any memory, or transfer ownership of the memory to the caller. Do not release or free the memory; the media buffer will free the memory when the media buffer is destroyed.

If you modify the contents of the buffer, update the current length by calling .

If the buffer supports the interface, you should use the method to lock the buffer. For 2-D buffers, the Lock2D method is more efficient than the Lock method. If the buffer is locked using Lock2D, the Lock method might return .

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - bb970366 - HRESULT IMFMediaBuffer::Lock([Out] void** ppbBuffer,[Out, Optional] unsigned int* pcbMaxLength,[Out, Optional] unsigned int* pcbCurrentLength) - IMFMediaBuffer::Lock -
- - -

Unlocks a buffer that was previously locked. Call this method once for every call to .

-
-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

D3DERR_INVALIDCALL

For Direct3D surface buffers, an error occurred when unlocking the surface.

?

- -

It is an error to call Unlock if you did not call Lock previously.

After calling this method, do not use the reference returned by the Lock method. It is no longer guaranteed to be valid.

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms696259 - HRESULT IMFMediaBuffer::Unlock() - IMFMediaBuffer::Unlock -
- - -

Retrieves the length of the valid data in the buffer.

-
-

Receives the length of the valid data, in bytes. If the buffer does not contain any valid data, the value is zero.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms698987 - HRESULT IMFMediaBuffer::GetCurrentLength([Out] unsigned int* pcbCurrentLength) - IMFMediaBuffer::GetCurrentLength -
- - -

Sets the length of the valid data in the buffer.

-
-

Length of the valid data, in bytes. This value cannot be greater than the allocated size of the buffer, which is returned by the method.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_INVALIDARG

The specified length is greater than the maximum size of the buffer.

?

- -

Call this method if you write data into the buffer.

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms703202 - HRESULT IMFMediaBuffer::SetCurrentLength([In] unsigned int cbCurrentLength) - IMFMediaBuffer::SetCurrentLength -
- - -

Retrieves the allocated size of the buffer.

-
-

Receives the allocated size of the buffer, in bytes.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

The buffer might or might not contain any valid data, and if there is valid data in the buffer, it might be smaller than the buffer's allocated size. To get the length of the valid data, call .

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms704840 - HRESULT IMFMediaBuffer::GetMaxLength([Out] unsigned int* pcbMaxLength) - IMFMediaBuffer::GetMaxLength -
- - -

Enables an application to play audio or video files.

-
- -

The Media Engine implements this interface. To create an instance of the Media Engine, call .

This interface is extended with .

-
- - hh447918 - IMFMediaEngine - IMFMediaEngine -
- - - Initializes a new instance of the 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 most recent error status.

-
- -

This method returns the last error status, if any, that resulted from loading the media source. If there has not been an error, ppError receives the value null.

This method corresponds to the error attribute of the HTMLMediaElement interface in HTML5.

-
- - hh447985 - GetError - GetError - HRESULT IMFMediaEngine::GetError([Out] IMFMediaError** ppError) -
- - -

Sets the current error code.

-
- - hh448012 - SetErrorCode - SetErrorCode - HRESULT IMFMediaEngine::SetErrorCode([In] MF_MEDIA_ENGINE_ERR error) -
- - -

Sets a list of media sources.

-
- -

This method corresponds to adding a list of source elements to a media element in HTML5.

The Media Engine tries to load each item in the pSrcElements list, until it finds one that loads successfully. After this method is called, the application can use the interface to update the list at any time. To reload the list, call .

This method completes asynchronously. When the operation starts, the Media Engine sends an event. If no errors occur during the Load operation, several other events are generated, including the following.

If the Media Engine is unable to load a URL, it sends an event.

For more information about event handling in the Media Engine, see .

If the application also calls , the URL passed to SetSource takes precedence over the list given to SetSourceElements.

-
- - hh448018 - SetSourceElements - SetSourceElements - HRESULT IMFMediaEngine::SetSourceElements([In] IMFMediaEngineSrcElements* pSrcElements) -
- - -

Gets the current network state of the media engine.

-
- -

This method corresponds to the networkState attribute of the HTMLMediaElement interface in HTML5.

-
- - hh447989 - GetNetworkState - GetNetworkState - unsigned short IMFMediaEngine::GetNetworkState() -
- - -

Gets or sets the preload flag.

-
- -

This method corresponds to the preload attribute of the HTMLMediaElement interface in HTML5. The value is a hint to the user-agent whether to preload the media resource.

-
- - hh447992 - GetPreload / SetPreload - GetPreload - MF_MEDIA_ENGINE_PRELOAD IMFMediaEngine::GetPreload() -
- - -

Queries how much resource data the media engine has buffered.

-
- -

This method corresponds to the buffered attribute of the HTMLMediaElement interface in HTML5.

The returned interface represents a list of time ranges. The time ranges indicate which portions of the media resource have been downloaded. The time range list can be empty.

-
- - hh447980 - GetBuffered - GetBuffered - HRESULT IMFMediaEngine::GetBuffered([Out] IMFMediaTimeRange** ppBuffered) -
- - -

Gets the ready state, which indicates whether the current media resource can be rendered.

-
- -

This method corresponds to the readyState attribute of the HTMLMediaElement interface in HTML5.

-
- - hh447993 - GetReadyState - GetReadyState - unsigned short IMFMediaEngine::GetReadyState() -
- - -

Queries whether the Media Engine is currently seeking to a new playback position.

-
- -

This method corresponds to the seeking attribute of the HTMLMediaElement interface in HTML5.

-
- - hh448004 - IsSeeking - IsSeeking - BOOL IMFMediaEngine::IsSeeking() -
- - -

Gets or sets the current playback position.

-
- -

This method corresponds to the currentTime attribute of the HTMLMediaElement interface in HTML5.

-
- - hh447982 - GetCurrentTime / SetCurrentTime - GetCurrentTime - double IMFMediaEngine::GetCurrentTime() -
- - -

Gets the initial playback position.

-
- -

This method corresponds to the initialTime attribute of the HTMLMediaElement interface in HTML5.

-
- - hh447995 - GetStartTime - GetStartTime - double IMFMediaEngine::GetStartTime() -
- - -

Gets the duration of the media resource.

-
- -

This method corresponds to the duration attribute of the HTMLMediaElement interface in HTML5.

If the duration changes, the Media Engine sends an event. See .

-
- - hh447984 - GetDuration - GetDuration - double IMFMediaEngine::GetDuration() -
- - -

Queries whether playback is currently paused.

-
- -

This method corresponds to the paused attribute of the HTMLMediaElement interface in HTML5.

-
- - hh448003 - IsPaused - IsPaused - BOOL IMFMediaEngine::IsPaused() -
- - -

Gets or sets the default playback rate.

-
- -

This method corresponds to getting the defaultPlaybackRate attribute of the HTMLMediaElement interface in HTML5.

The default playback rate is used for the next call to the method. To change the current playback rate, call .

-
- - hh447983 - GetDefaultPlaybackRate / SetDefaultPlaybackRate - GetDefaultPlaybackRate - double IMFMediaEngine::GetDefaultPlaybackRate() -
- - -

Gets or sets the current playback rate.

-
- -

This method corresponds to getting the playbackRate attribute of the HTMLMediaElement interface in HTML5.

-
- - hh447990 - GetPlaybackRate / SetPlaybackRate - GetPlaybackRate - double IMFMediaEngine::GetPlaybackRate() -
- - -

Gets the time ranges that have been rendered.

-
- -

This method corresponds to the played attribute of the HTMLMediaElement interface in HTML5.

-
- - hh447991 - GetPlayed - GetPlayed - HRESULT IMFMediaEngine::GetPlayed([Out] IMFMediaTimeRange** ppPlayed) -
- - -

Gets the time ranges to which the Media Engine can currently seek.

-
- -

This method corresponds to the seekable attribute of the HTMLMediaElement interface in HTML5.

To find out whether the media source supports seeking, call .

-
- - hh447994 - GetSeekable - GetSeekable - HRESULT IMFMediaEngine::GetSeekable([Out] IMFMediaTimeRange** ppSeekable) -
- - -

Queries whether playback has ended.

-
- -

This method corresponds to the ended attribute of the HTMLMediaElement interface in HTML5.

-
- - hh448002 - IsEnded - IsEnded - BOOL IMFMediaEngine::IsEnded() -
- - -

Queries whether the Media Engine automatically begins playback.

-
- -

This method corresponds to the autoplay attribute of the HTMLMediaElement interface in HTML5.

If this method returns TRUE, playback begins automatically after the method completes. Otherwise, playback begins when the application calls .

-
- - hh447979 - GetAutoPlay / SetAutoPlay - GetAutoPlay - BOOL IMFMediaEngine::GetAutoPlay() -
- - -

Queries whether the Media Engine will loop playback.

-
- -

This method corresponds to getting the loop attribute of the HTMLMediaElement interface in HTML5.

If looping is enabled, the Media Engine seeks to the start of the content when playback reaches the end.

-
- - hh447986 - GetLoop / SetLoop - GetLoop - BOOL IMFMediaEngine::GetLoop() -
- - -

Queries whether the audio is muted.

-
- - hh447987 - GetMuted / SetMuted - GetMuted - BOOL IMFMediaEngine::GetMuted() -
- - -

Gets or sets the audio volume level.

-
- - hh447997 - GetVolume / SetVolume - GetVolume - double IMFMediaEngine::GetVolume() -
- - -

Gets the most recent error status.

-
-

Receives either a reference to the interface, or the value null. If the value is non-null, the caller must release the interface.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

This method returns the last error status, if any, that resulted from loading the media source. If there has not been an error, ppError receives the value null.

This method corresponds to the error attribute of the HTMLMediaElement interface in HTML5.

-
- - hh447985 - HRESULT IMFMediaEngine::GetError([Out] IMFMediaError** ppError) - IMFMediaEngine::GetError -
- - -

Sets the current error code.

-
-

The error code, as an value.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh448012 - HRESULT IMFMediaEngine::SetErrorCode([In] MF_MEDIA_ENGINE_ERR error) - IMFMediaEngine::SetErrorCode -
- - -

Sets a list of media sources.

-
-

A reference to the interface. The caller must implement this interface.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

This method corresponds to adding a list of source elements to a media element in HTML5.

The Media Engine tries to load each item in the pSrcElements list, until it finds one that loads successfully. After this method is called, the application can use the interface to update the list at any time. To reload the list, call .

This method completes asynchronously. When the operation starts, the Media Engine sends an event. If no errors occur during the Load operation, several other events are generated, including the following.

If the Media Engine is unable to load a URL, it sends an event.

For more information about event handling in the Media Engine, see .

If the application also calls , the URL passed to SetSource takes precedence over the list given to SetSourceElements.

-
- - hh448018 - HRESULT IMFMediaEngine::SetSourceElements([In] IMFMediaEngineSrcElements* pSrcElements) - IMFMediaEngine::SetSourceElements -
- - -

Sets the URL of a media resource.

-
-

The URL of the media resource.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

This method corresponds to setting the src attribute of the HTMLMediaElement interface in HTML5.

The URL specified by this method takes precedence over media resources specified in the method. To load the URL, call .

This method asynchronously loads the URL. When the operation starts, the Media Engine sends an event. If no errors occur during the Load operation, several other events are generated, including the following.

If the Media Engine is unable to load the URL, the Media Engine sends an event.

For more information about event handling in the Media Engine, see .

-
- - hh448017 - HRESULT IMFMediaEngine::SetSource([In] void* pUrl) - IMFMediaEngine::SetSource -
- - -

Gets the URL of the current media resource, or an empty string if no media resource is present.

-
-

Receives a BSTR that contains the URL of the current media resource. If there is no media resource, ppUrl receives an empty string. The caller must free the BSTR by calling SysFreeString.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

This method corresponds to the currentSrc attribute of the HTMLMediaElement interface in HTML5.

Initially, the current media resource is empty. It is updated when the Media Engine performs the resource selection algorithm.

-
- - hh447981 - HRESULT IMFMediaEngine::GetCurrentSource([Out] wchar_t** ppUrl) - IMFMediaEngine::GetCurrentSource -
- - -

Gets the current network state of the media engine.

-
-

Returns an enumeration value.

- -

This method corresponds to the networkState attribute of the HTMLMediaElement interface in HTML5.

-
- - hh447989 - unsigned short IMFMediaEngine::GetNetworkState() - IMFMediaEngine::GetNetworkState -
- - -

Gets the preload flag.

-
-

Returns an enumeration value.

- -

This method corresponds to the preload attribute of the HTMLMediaElement interface in HTML5. The value is a hint to the user-agent whether to preload the media resource.

-
- - hh447992 - MF_MEDIA_ENGINE_PRELOAD IMFMediaEngine::GetPreload() - IMFMediaEngine::GetPreload -
- - -

Sets the preload flag.

-
-

An value equal to the preload flag.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

This method corresponds to setting the preload attribute of the HTMLMediaElement interface in HTML5. The value is a hint to the user-agent whether to preload the media resource.

-
- - hh448016 - HRESULT IMFMediaEngine::SetPreload([In] MF_MEDIA_ENGINE_PRELOAD Preload) - IMFMediaEngine::SetPreload -
- - -

Queries how much resource data the media engine has buffered.

-
-

Receives a reference to the interface. The caller must release the interface.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

This method corresponds to the buffered attribute of the HTMLMediaElement interface in HTML5.

The returned interface represents a list of time ranges. The time ranges indicate which portions of the media resource have been downloaded. The time range list can be empty.

-
- - hh447980 - HRESULT IMFMediaEngine::GetBuffered([Out] IMFMediaTimeRange** ppBuffered) - IMFMediaEngine::GetBuffered -
- - -

Loads the current media source.

-
-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

The main purpose of this method is to reload a list of source elements after updating the list. For more information, see SetSourceElements. Otherwise, calling this method is generally not required. To load a new media source, call or .

The Load method explictly invokes the Media Engine's media resource loading algorithm. Before calling this method, you must set the media resource by calling or .

This method completes asynchronously. When the Load operation starts, the Media Engine sends an event. If no errors occur during the Load operation, several other events are generated, including the following.

If the Media Engine is unable to load the file, the Media Engine sends an event.

For more information about event handling in the Media Engine, see .

This method corresponds to the load method of the HTMLMediaElement interface in HTML5.

-
- - hh448005 - HRESULT IMFMediaEngine::Load() - IMFMediaEngine::Load -
- - -

Queries how likely it is that the Media Engine can play a specified type of media resource.

-
-

A string that contains a MIME type with an optional codecs parameter, as defined in RFC 4281.

-

Receives an enumeration value.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

This method corresponds to the canPlayType attribute of the HTMLMediaElement interface in HTML5.

The canPlayType attribute defines the following values.

ValueDescription
"" (empty string)The user-agent cannot play the resource, or the resource type is "application/octet-stream".
"probably"The user-agent probably can play the resource.
"maybe"Neither of the previous values applies.

?

The value "probably" is used because a MIME type for a media resource is generally not a complete description of the resource. For example, "video/mp4" specifies an MP4 file with video, but does not describe the codec. Even with the optional codecs parameter, the MIME type omits some information, such as the actual coded bit rate. Therefore, it is usually impossible to be certain that playback is possible until the actual media resource is opened.

-
- - hh447978 - HRESULT IMFMediaEngine::CanPlayType([In] wchar_t* type,[Out] MF_MEDIA_ENGINE_CANPLAY* pAnswer) - IMFMediaEngine::CanPlayType -
- - -

Gets the ready state, which indicates whether the current media resource can be rendered.

-
-

Returns an enumeration value.

- -

This method corresponds to the readyState attribute of the HTMLMediaElement interface in HTML5.

-
- - hh447993 - unsigned short IMFMediaEngine::GetReadyState() - IMFMediaEngine::GetReadyState -
- - -

Queries whether the Media Engine is currently seeking to a new playback position.

-
-

Returns TRUE if the Media Engine is seeking, or otherwise.

- -

This method corresponds to the seeking attribute of the HTMLMediaElement interface in HTML5.

-
- - hh448004 - BOOL IMFMediaEngine::IsSeeking() - IMFMediaEngine::IsSeeking -
- - -

Gets the current playback position.

-
-

Returns the playback position, in seconds.

- -

This method corresponds to the currentTime attribute of the HTMLMediaElement interface in HTML5.

-
- - hh447982 - double IMFMediaEngine::GetCurrentTime() - IMFMediaEngine::GetCurrentTime -
- - -

Seeks to a new playback position.

-
-

The new playback position, in seconds.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

This method corresponds to setting the currentTime attribute of the HTMLMediaElement interface in HTML5.

The method completes asynchronously. When the seek operation starts, the Media Engine sends an event. When the seek operation completes, the Media Engine sends an event. See IMFMediaEventNotify::EventNotify.

-
- - hh448010 - HRESULT IMFMediaEngine::SetCurrentTime([In] double seekTime) - IMFMediaEngine::SetCurrentTime -
- - -

Gets the initial playback position.

-
-

Returns the initial playback position, in seconds.

- -

This method corresponds to the initialTime attribute of the HTMLMediaElement interface in HTML5.

-
- - hh447995 - double IMFMediaEngine::GetStartTime() - IMFMediaEngine::GetStartTime -
- - -

Gets the duration of the media resource.

-
-

Returns the duration, in seconds. If no media data is available, the method returns not-a-number (NaN). If the duration is unbounded, the method returns an infinite value.

- -

This method corresponds to the duration attribute of the HTMLMediaElement interface in HTML5.

If the duration changes, the Media Engine sends an event. See .

-
- - hh447984 - double IMFMediaEngine::GetDuration() - IMFMediaEngine::GetDuration -
- - -

Queries whether playback is currently paused.

-
-

Returns TRUE if playback is paused, or otherwise.

- -

This method corresponds to the paused attribute of the HTMLMediaElement interface in HTML5.

-
- - hh448003 - BOOL IMFMediaEngine::IsPaused() - IMFMediaEngine::IsPaused -
- - -

Gets the default playback rate.

-
-

Returns the default playback rate, as a multiple of normal (1?) playback. A negative value indicates reverse playback.

- -

This method corresponds to getting the defaultPlaybackRate attribute of the HTMLMediaElement interface in HTML5.

The default playback rate is used for the next call to the method. To change the current playback rate, call .

-
- - hh447983 - double IMFMediaEngine::GetDefaultPlaybackRate() - IMFMediaEngine::GetDefaultPlaybackRate -
- - -

Sets the default playback rate.

-
-

The default playback rate, as a multiple of normal (1?) playback. A negative value indicates reverse playback.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

This method corresponds to setting the defaultPlaybackRate attribute of the HTMLMediaElement interface in HTML5.

-
- - hh448011 - HRESULT IMFMediaEngine::SetDefaultPlaybackRate([In] double Rate) - IMFMediaEngine::SetDefaultPlaybackRate -
- - -

Gets the current playback rate.

-
-

Returns the playback rate, as a multiple of normal (1?) playback. A negative value indicates reverse playback.

- -

This method corresponds to getting the playbackRate attribute of the HTMLMediaElement interface in HTML5.

-
- - hh447990 - double IMFMediaEngine::GetPlaybackRate() - IMFMediaEngine::GetPlaybackRate -
- - -

Sets the current playback rate.

-
-

The playback rate, as a multiple of normal (1?) playback. A negative value indicates reverse playback.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

This method corresponds to setting the playbackRate attribute of the HTMLMediaElement interface in HTML5.

-
- - hh448015 - HRESULT IMFMediaEngine::SetPlaybackRate([In] double Rate) - IMFMediaEngine::SetPlaybackRate -
- - -

Gets the time ranges that have been rendered.

-
-

Receives a reference to the interface. The caller must release the interface.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

This method corresponds to the played attribute of the HTMLMediaElement interface in HTML5.

-
- - hh447991 - HRESULT IMFMediaEngine::GetPlayed([Out] IMFMediaTimeRange** ppPlayed) - IMFMediaEngine::GetPlayed -
- - -

Gets the time ranges to which the Media Engine can currently seek.

-
-

Receives a reference to the interface. The caller must release the interface.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

This method corresponds to the seekable attribute of the HTMLMediaElement interface in HTML5.

To find out whether the media source supports seeking, call .

-
- - hh447994 - HRESULT IMFMediaEngine::GetSeekable([Out] IMFMediaTimeRange** ppSeekable) - IMFMediaEngine::GetSeekable -
- - -

Queries whether playback has ended.

-
-

Returns TRUE if the direction of playback is forward and playback has reached the end of the media resource. Returns otherwise.

- -

This method corresponds to the ended attribute of the HTMLMediaElement interface in HTML5.

-
- - hh448002 - BOOL IMFMediaEngine::IsEnded() - IMFMediaEngine::IsEnded -
- - -

Queries whether the Media Engine automatically begins playback.

-
-

Returns TRUE if the Media Engine automatically begins playback, or otherwise.

- -

This method corresponds to the autoplay attribute of the HTMLMediaElement interface in HTML5.

If this method returns TRUE, playback begins automatically after the method completes. Otherwise, playback begins when the application calls .

-
- - hh447979 - BOOL IMFMediaEngine::GetAutoPlay() - IMFMediaEngine::GetAutoPlay -
- - -

Specifies whether the Media Engine automatically begins playback.

-
-

If TRUE, the Media Engine automatically begins playback after it loads a media source. Otherwise, playback does not begin until the application calls .

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

This method corresponds to setting the autoplay attribute of the HTMLMediaElement interface in HTML5.

-
- - hh448009 - HRESULT IMFMediaEngine::SetAutoPlay([In] BOOL AutoPlay) - IMFMediaEngine::SetAutoPlay -
- - -

Queries whether the Media Engine will loop playback.

-
-

Returns TRUE if looping is enabled, or otherwise.

- -

This method corresponds to getting the loop attribute of the HTMLMediaElement interface in HTML5.

If looping is enabled, the Media Engine seeks to the start of the content when playback reaches the end.

-
- - hh447986 - BOOL IMFMediaEngine::GetLoop() - IMFMediaEngine::GetLoop -
- - -

Specifies whether the Media Engine loops playback.

-
-

Specify TRUE to enable looping, or to disable looping.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

If Loop is TRUE, playback loops back to the beginning when it reaches the end of the source.

This method corresponds to setting the loop attribute of the HTMLMediaElement interface in HTML5.

-
- - hh448013 - HRESULT IMFMediaEngine::SetLoop([In] BOOL Loop) - IMFMediaEngine::SetLoop -
- - -

Starts playback.

-
-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

This method corresponds to the play method of the HTMLMediaElement interface in HTML5.

The method completes asynchronously. When the operation starts, the Media Engine sends an event. When playback is under way, the Media Engine sends an event. See IMFMediaEventNotify::EventNotify.

-
- - hh448008 - HRESULT IMFMediaEngine::Play() - IMFMediaEngine::Play -
- - -

Pauses playback.

-
-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

This method corresponds to the pause method of the HTMLMediaElement interface in HTML5.

The method completes asynchronously. When the transition to paused is complete, the Media Engine sends an event. See IMFMediaEventNotify::EventNotify.

-
- - hh448007 - HRESULT IMFMediaEngine::Pause() - IMFMediaEngine::Pause -
- - -

Queries whether the audio is muted.

-
-

Returns TRUE if the audio is muted, or otherwise.

- - hh447987 - BOOL IMFMediaEngine::GetMuted() - IMFMediaEngine::GetMuted -
- - -

Mutes or unmutes the audio.

-
-

Specify TRUE to mute the audio, or to unmute the audio.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh448014 - HRESULT IMFMediaEngine::SetMuted([In] BOOL Muted) - IMFMediaEngine::SetMuted -
- - -

Gets the audio volume level.

-
-

Returns the volume level. Volume is expressed as an attenuation level, where 0.0 indicates silence and 1.0 indicates full volume (no attenuation).

- - hh447997 - double IMFMediaEngine::GetVolume() - IMFMediaEngine::GetVolume -
- - -

Sets the audio volume level.

-
-

The volume level. Volume is expressed as an attenuation level, where 0.0 indicates silence and 1.0 indicates full volume (no attenuation).

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

When the audio balance changes, the Media Engine sends an event. See IMFMediaEventNotify::EventNotify.

-
- - hh448019 - HRESULT IMFMediaEngine::SetVolume([In] double Volume) - IMFMediaEngine::SetVolume -
- - -

Queries whether the current media resource contains a video stream.

-
-

Returns TRUE if the current media resource contains a video stream. Returns if there is no media resource or the media resource does not contain a video stream.

- - hh448001 - BOOL IMFMediaEngine::HasVideo() - IMFMediaEngine::HasVideo -
- - -

Queries whether the current media resource contains an audio stream.

-
-

Returns TRUE if the current media resource contains an audio stream. Returns if there is no media resource or the media resource does not contain an audio stream.

- - hh447998 - BOOL IMFMediaEngine::HasAudio() - IMFMediaEngine::HasAudio -
- - -

Gets the size of the video frame, adjusted for aspect ratio.

-
-

Receives the width in pixels.

-

Receives the height in pixels.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

This method adjusts for the correct picture aspect ratio. - For example, if the encoded frame is 720 ? 420 and the picture aspect ratio is 4:3, the method will return a size equal to 640 ? 480 pixels.

-
- - hh447988 - HRESULT IMFMediaEngine::GetNativeVideoSize([Out, Optional] unsigned int* cx,[Out, Optional] unsigned int* cy) - IMFMediaEngine::GetNativeVideoSize -
- - -

Gets the picture aspect ratio of the video stream.

-
-

Receives the x component of the aspect ratio.

-

Receives the y component of the aspect ratio.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

The Media Engine automatically converts the pixel aspect ratio to 1:1 (square pixels).

-
- - hh447996 - HRESULT IMFMediaEngine::GetVideoAspectRatio([Out, Optional] unsigned int* cx,[Out, Optional] unsigned int* cy) - IMFMediaEngine::GetVideoAspectRatio -
- - -

Shuts down the Media Engine and releases the resources it is using.

-
-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh448020 - HRESULT IMFMediaEngine::Shutdown() - IMFMediaEngine::Shutdown -
- - -

Copies the current video frame to a DXGI surface or WIC bitmap.

-
-

A reference to the interface of the destination surface.

-

A reference to an structure that specifies the source rectangle.

-

A reference to a structure that specifies the destination rectangle.

-

A reference to an structure that specifies the border color.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

In frame-server mode, call this method to blit the video frame to a DXGI or WIC surface. The application can call this method at any time after the Media Engine loads a video resource. Typically, however, the application calls first, to determine whether a new frame is available. If OnVideoStreamTick returns , the application then calls TransferVideoFrame.

The Media Engine scales and letterboxes the video to fit the destination rectangle. It fills the letterbox area with the border color.

For protected content, call the method instead of this method.

-
- - hh448021 - HRESULT IMFMediaEngine::TransferVideoFrame([In] IUnknown* pDstSurf,[In, Optional] const MFVideoNormalizedRect* pSrc,[In] const RECT* pDst,[In, Optional] const MFARGB* pBorderClr) - IMFMediaEngine::TransferVideoFrame -
- - -

Queries the Media Engine to find out whether a new video frame is ready.

-
-

If a new frame is ready, receives the presentation time of the frame.

-

This method can return one of these values.

Return codeDescription
S_FALSE

The method succeeded, but the Media Engine does not have a new frame.

A new video frame is ready for display.

?

- -

In frame-server mode, the application should call this method whenever a vertical blank occurs in the display device. If the method returns , call to blit the frame to the render target. If the method returns S_FALSE, wait for the next vertical blank and call the method again.

Do not call this method in rendering mode or audio-only mode.

-
- - hh448006 - HRESULT IMFMediaEngine::OnVideoStreamTick([Out] longlong* pPts) - IMFMediaEngine::OnVideoStreamTick -
- - - Initializes an instance of the class. - - - - - - hh447921 - HRESULT IMFMediaEngineClassFactory::CreateInstance([In] MF_MEDIA_ENGINE_CREATEFLAGS dwFlags,[In] IMFAttributes* pAttr,[Out, Fast] IMFMediaEngine** ppPlayer) - IMFMediaEngineClassFactory::CreateInstance - - - - Media engine playback event. - - - - -

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

Applies to: desktop apps | Metro style apps

Queries the Media Engine to find out whether a new video frame is ready.

-
-

If a new frame is ready, receives the presentation time of the frame.

- true if new video frame is ready for display. - -

In frame-server mode, the application should call this method whenever a vertical blank occurs in the display device. If the method returns , call to blit the frame to the render target. If the method returns S_FALSE, wait for the next vertical blank and call the method again.

Do not call this method in rendering mode or audio-only mode.

-
- hh448006 - HRESULT IMFMediaEngine::OnVideoStreamTick([Out] longlong* pPts) - IMFMediaEngine::OnVideoStreamTick -
- - -

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

Applies to: desktop apps | Metro style apps

Sets the URL of a media resource.

-
-

The URL of the media resource.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

This method corresponds to setting the src attribute of the HTMLMediaElement interface in HTML5.

The URL specified by this method takes precedence over media resources specified in the method. To load the URL, call .

This method asynchronously loads the URL. When the operation starts, the Media Engine sends an event. If no errors occur during the Load operation, several other events are generated, including the following.

If the Media Engine is unable to load the URL, the Media Engine sends an event.

For more information about event handling in the Media Engine, see .

-
- - hh448017 - HRESULT IMFMediaEngine::SetSource([In] wchar_t* pUrl) - IMFMediaEngine::SetSource -
- - -

Creates a new instance of the Media Engine.

-
- -

Before calling this method, call .

The Media Engine supports three distinct modes:

ModeDescription
Frame-server mode

In this mode, the Media Engine delivers uncompressed video frames to the application. The application is responsible for displaying each frame, using Microsoft Direct3D or any other rendering technique.

The Media Engine renders the audio; the application is not responsible for audio rendering.

Frame-server mode is the default mode.

Rendering mode

In this mode, the Media Engine renders both audio and video. The video is rendered to a window or Microsoft DirectComposition visual provided by the application.

To enable rendering mode, set either the attribute or the attribute.

Audio mode

In this mode, the Media Engine renders audio only, with no video.

To enable audio mode, set the flag in the dwFlags parameter.

?

-
- - hh447921 - IMFMediaEngineClassFactory - IMFMediaEngineClassFactory -
- - - Initializes a new instance of the 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 ClsidMFMediaEngineClassFactory. - CLSID_MFMediaEngineClassFactory - - - -

Creates a new instance of the Media Engine.

-
-

A bitwise OR of zero or more flags from the enumeration.

-

A reference to the interface of an attribute store.

This parameter specifies configuration attributes for the Media Engine. Call to create the attribute store. Then, set one or more attributes from the list of Media Engine Attributes. For details, see Remarks.

-

Receives a reference to the interface. The caller must release the interface.

-

This method can return one of these values.

Return codeDescription

Success.

A required attribute was missing from pAttr, or an invalid combination of attributes was used.

?

- -

Before calling this method, call .

The Media Engine supports three distinct modes:

ModeDescription
Frame-server mode

In this mode, the Media Engine delivers uncompressed video frames to the application. The application is responsible for displaying each frame, using Microsoft Direct3D or any other rendering technique.

The Media Engine renders the audio; the application is not responsible for audio rendering.

Frame-server mode is the default mode.

Rendering mode

In this mode, the Media Engine renders both audio and video. The video is rendered to a window or Microsoft DirectComposition visual provided by the application.

To enable rendering mode, set either the attribute or the attribute.

Audio mode

In this mode, the Media Engine renders audio only, with no video.

To enable audio mode, set the flag in the dwFlags parameter.

?

-
- - hh447921 - HRESULT IMFMediaEngineClassFactory::CreateInstance([In] MF_MEDIA_ENGINE_CREATEFLAGS dwFlags,[In] IMFAttributes* pAttr,[Out, Fast] IMFMediaEngine** ppPlayer) - IMFMediaEngineClassFactory::CreateInstance -
- - -

Creates a time range object.

-
-

Receives a reference to the interface. The caller must release the interface.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh447922 - HRESULT IMFMediaEngineClassFactory::CreateTimeRange([Out, Fast] IMFMediaTimeRange** ppTimeRange) - IMFMediaEngineClassFactory::CreateTimeRange -
- - -

Creates a media error object.

-
-

Receives a reference to the interface. The caller must release the interface.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh447920 - HRESULT IMFMediaEngineClassFactory::CreateError([Out, Fast] IMFMediaError** ppError) - IMFMediaEngineClassFactory::CreateError -
- - -

Creates an instance of the object.

-
- - dn449731 - IMFMediaEngineClassFactory2 - IMFMediaEngineClassFactory2 -
- - - Initializes a new instance of the 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 media keys object based on the specified key system.

-
-

The media key system.

-

Points to the default file location for the store Content Decryption Module (CDM) data.

-

Points to a the inprivate location for the store Content Decryption Module (CDM) data. Specifying this path allows the CDM to comply with the application?s privacy policy by putting personal information in the file location indicated by this path.

-

Receives the media keys.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn449732 - HRESULT IMFMediaEngineClassFactory2::CreateMediaKeys2([In] wchar_t* keySystem,[In] wchar_t* defaultCdmStorePath,[In, Optional] wchar_t* inprivateCdmStorePath,[Out] IMFMediaKeys** ppKeys) - IMFMediaEngineClassFactory2::CreateMediaKeys2 -
- - - No documentation. - - - IMFMediaEngineClassFactory3 - IMFMediaEngineClassFactory3 - - - - Initializes a new instance of the 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. - No documentation. - - HRESULT IMFMediaEngineClassFactory3::CreateMediaKeySystemAccess([In] wchar_t* keySystem,[In, Buffer] IPropertyStore** ppSupportedConfigurationsArray,[In] unsigned int uSize,[Out] IMFMediaKeySystemAccess** ppKeyAccess) - IMFMediaEngineClassFactory3::CreateMediaKeySystemAccess - - - - No documentation. - - No documentation. - No documentation. - No documentation. - No documentation. - No documentation. - - HRESULT IMFMediaEngineClassFactory3::CreateMediaKeySystemAccess([In] wchar_t* keySystem,[In, Buffer] IPropertyStore** ppSupportedConfigurationsArray,[In] unsigned int uSize,[Out] IMFMediaKeySystemAccess** ppKeyAccess) - IMFMediaEngineClassFactory3::CreateMediaKeySystemAccess - - - - No documentation. - - No documentation. - No documentation. - No documentation. - No documentation. - No documentation. - - HRESULT IMFMediaEngineClassFactory3::CreateMediaKeySystemAccess([In] wchar_t* keySystem,[In, Buffer] IPropertyStore** ppSupportedConfigurationsArray,[In] unsigned int uSize,[Out] IMFMediaKeySystemAccess** ppKeyAccess) - IMFMediaEngineClassFactory3::CreateMediaKeySystemAccess - - - -

Gets a value that indicates if the specified key system supports the specified media type.

-
- - dn280692 - IMFMediaEngineClassFactoryEx - IMFMediaEngineClassFactoryEx -
- - - Initializes a new instance of the 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 an instance of .

-
- No documentation. - No documentation. - No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn280691 - HRESULT IMFMediaEngineClassFactoryEx::CreateMediaSourceExtension([In] unsigned int dwFlags,[In] IMFAttributes* pAttr,[Out] IMFMediaSourceExtension** ppMSE) - IMFMediaEngineClassFactoryEx::CreateMediaSourceExtension -
- - -

Creates a media keys object based on the specified key system.

-
-

The media keys system.

-

Points to a location to store Content Decryption Module (CDM) data which might be locked by multiple process and so might be incompatible with store app suspension.

-

The media keys.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

Checks if keySystem is a supported key system and creates the related Content Decryption Module (CDM). -

-
- - dn280690 - HRESULT IMFMediaEngineClassFactoryEx::CreateMediaKeys([In] wchar_t* keySystem,[In, Optional] wchar_t* cdmStorePath,[Out] IMFMediaKeys** ppKeys) - IMFMediaEngineClassFactoryEx::CreateMediaKeys -
- - -

Gets a value that indicates if the specified key system supports the specified media type.

-
-

The MIME type to check support for.

-

The key system to check support for.

-

true if type is supported by keySystem; otherwise, false.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn280692 - HRESULT IMFMediaEngineClassFactoryEx::IsTypeSupported([In, Optional] wchar_t* type,[In] wchar_t* keySystem,[Out] BOOL* isSupported) - IMFMediaEngineClassFactoryEx::IsTypeSupported -
- - -

Implemented by the media engine to add encrypted media extensions methods.

-
- - dn280693 - IMFMediaEngineEME - IMFMediaEngineEME -
- - - Initializes a new instance of the 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 media keys object associated with the media engine or null if there is not a media keys object.

-
- - dn280694 - get_Keys - get_Keys - HRESULT IMFMediaEngineEME::get_Keys([Out, Optional] IMFMediaKeys** keys) -
- - -

Sets the media keys object to use with the media engine.

-
- - dn280695 - SetMediaKeys - SetMediaKeys - HRESULT IMFMediaEngineEME::SetMediaKeys([In, Optional] IMFMediaKeys* keys) -
- - -

Gets the media keys object associated with the media engine or null if there is not a media keys object.

-
-

The media keys object associated with the media engine or null if there is not a media keys object.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn280694 - HRESULT IMFMediaEngineEME::get_Keys([Out, Optional] IMFMediaKeys** keys) - IMFMediaEngineEME::get_Keys -
- - -

Sets the media keys object to use with the media engine.

-
-

The media keys.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn280695 - HRESULT IMFMediaEngineEME::SetMediaKeys([In, Optional] IMFMediaKeys* keys) - IMFMediaEngineEME::SetMediaKeys -
- - - No documentation. - - - IMFMediaEngineEMENotify - IMFMediaEngineEMENotify - - - - Initializes a new instance of the 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. - - void IMFMediaEngineEMENotify::Encrypted([In, Buffer, Optional] const unsigned char* pbInitData,[In] unsigned int cb,[In] wchar_t* bstrInitDataType) - IMFMediaEngineEMENotify::Encrypted - - - - No documentation. - - - void IMFMediaEngineEMENotify::WaitingForKey() - IMFMediaEngineEMENotify::WaitingForKey - - - -

Extends the interface.

-
- -

The interface contains methods that map to the HTML5 media elements. The provides additional functionality that does not correspond directly to HTML5.

-
- - hh447923 - IMFMediaEngineEx - IMFMediaEngineEx -
- - - Initializes a new instance of the 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 or sets the audio balance.

-
- - hh447934 - GetBalance / SetBalance - GetBalance - double IMFMediaEngineEx::GetBalance() -
- - -

Gets various flags that describe the media resource.

-
- - hh447939 - GetResourceCharacteristics - GetResourceCharacteristics - HRESULT IMFMediaEngineEx::GetResourceCharacteristics([Out] RESOURCE_CHARACTERISTICS* pCharacteristics) -
- - -

Gets the number of streams in the media resource.

-
- - hh447937 - GetNumberOfStreams - GetNumberOfStreams - HRESULT IMFMediaEngineEx::GetNumberOfStreams([Out] unsigned int* pdwStreamCount) -
- - -

Queries whether the media resource contains protected content.

-
- - hh447950 - IsProtected - IsProtected - HRESULT IMFMediaEngineEx::IsProtected([Out] BOOL* pProtected) -
- - -

Gets or sets the time of the next timeline marker, if any.

-
- - hh447945 - GetTimelineMarkerTimer / SetTimelineMarkerTimer - GetTimelineMarkerTimer - HRESULT IMFMediaEngineEx::GetTimelineMarkerTimer([Out] double* pTimeToFire) -
- - -

Queries whether the media resource contains stereoscopic 3D video.

-
- - hh447951 - IsStereo3D - IsStereo3D - BOOL IMFMediaEngineEx::IsStereo3D() -
- - -

For stereoscopic 3D video, gets the layout of the two views within a video frame.

-
- - hh447941 - GetStereo3DFramePackingMode / SetStereo3DFramePackingMode - GetStereo3DFramePackingMode - HRESULT IMFMediaEngineEx::GetStereo3DFramePackingMode([Out] MF_MEDIA_ENGINE_S3D_PACKING_MODE* packMode) -
- - -

For stereoscopic 3D video, queries how the Media Engine renders the 3D video content.

-
- - hh447942 - GetStereo3DRenderMode / SetStereo3DRenderMode - GetStereo3DRenderMode - HRESULT IMFMediaEngineEx::GetStereo3DRenderMode([Out] MF3DVideoOutputType* outputType) -
- - -

Gets a handle to the windowless swap chain.

-
- -

To enable windowless swap-chain mode, call .

-
- - hh447946 - GetVideoSwapchainHandle - GetVideoSwapchainHandle - HRESULT IMFMediaEngineEx::GetVideoSwapchainHandle([Out] void** phSwapchain) -
- - -

Gets or sets the audio stream category used for the next call to SetSource or Load.

-
- -

For information on audio stream categories, see enumeration.

-
- - jj128310 - GetAudioStreamCategory / SetAudioStreamCategory - GetAudioStreamCategory - HRESULT IMFMediaEngineEx::GetAudioStreamCategory([Out] unsigned int* pCategory) -
- - -

Gets or sets the audio device endpoint role used for the next call to SetSource or Load.

-
- -

For information on audio endpoint roles, see ERole enumeration.

-
- - jj128309 - GetAudioEndpointRole / SetAudioEndpointRole - GetAudioEndpointRole - HRESULT IMFMediaEngineEx::GetAudioEndpointRole([Out] unsigned int* pRole) -
- - -

Gets or sets the real time mode used for the next call to SetSource or Load.

-
- - jj128311 - GetRealTimeMode / SetRealTimeMode - GetRealTimeMode - HRESULT IMFMediaEngineEx::GetRealTimeMode([Out] BOOL* pfEnabled) -
- - -

Opens a media resource from a byte stream.

-
-

A reference to the interface of the byte stream.

-

The URL of the byte stream.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh447956 - HRESULT IMFMediaEngineEx::SetSourceFromByteStream([In] IMFByteStream* pByteStream,[In] void* pURL) - IMFMediaEngineEx::SetSourceFromByteStream -
- - -

Gets a playback statistic from the Media Engine.

-
-

A member of the enumeration that identifies the statistic to get.

-

A reference to a that receives the statistic. The data type and meaning of this value depends on the value of StatisticID. The caller must free the by calling PropVariantClear.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh447940 - HRESULT IMFMediaEngineEx::GetStatistics([In] MF_MEDIA_ENGINE_STATISTIC StatisticID,[Out] PROPVARIANT* pStatistic) - IMFMediaEngineEx::GetStatistics -
- - -

Updates the source rectangle, destination rectangle, and border color for the video.

-
-

A reference to an structure that specifies the source rectangle. The source rectangle defines the area of the video frame that is displayed. If this parameter is null, the entire video frame is displayed.

-

A reference to a structure that specifies the destination rectangle. The destination rectangle defines the area of the window or DirectComposition visual where the video is drawn.

-

A reference to an structure that specifies the border color.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

In rendering mode, call this method to reposition the video, update the border color, or repaint the video frame. If all of the parameters are null, the method repaints the most recent video frame.

In frame-server mode, this method has no effect.

See Video Processor MFT for info regarding source and destination rectangles in the Video Processor MFT.

-
- - hh447961 - HRESULT IMFMediaEngineEx::UpdateVideoStream([In, Optional] const MFVideoNormalizedRect* pSrc,[In, Optional] const RECT* pDst,[In, Optional] const MFARGB* pBorderClr) - IMFMediaEngineEx::UpdateVideoStream -
- - -

Gets the audio balance.

-
-

Returns the balance. The value can be any number in the following range (inclusive).

Return valueDescription
-1

The left channel is at full volume; the right channel is silent.

1

The right channel is at full volume; the left channel is silent.

?

If the value is zero, the left and right channels are at equal volumes. The default value is zero.

- - hh447934 - double IMFMediaEngineEx::GetBalance() - IMFMediaEngineEx::GetBalance -
- - -

Sets the audio balance.

-
-

The audio balance. The value can be any number in the following range (inclusive).

ValueMeaning
-1

The left channel is at full volume; the right channel is silent.

1

The right channel is at full volume; the left channel is silent.

?

If the value is zero, the left and right channels are at equal volumes. The default value is zero.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

When the audio balance changes, the Media Engine sends an event. See IMFMediaEventNotify::EventNotify.

-
- - hh447954 - HRESULT IMFMediaEngineEx::SetBalance([In] double balance) - IMFMediaEngineEx::SetBalance -
- - -

Queries whether the Media Engine can play at a specified playback rate.

-
-

The requested playback rate.

-

Returns TRUE if the playback rate is supported, or otherwise.

- -

Playback rates are expressed as a ratio of the current rate to the normal rate. For example, 1.0 is normal playback speed, 0.5 is half speed, and 2.0 is 2? speed. Positive values mean forward playback, and negative values mean reverse playback.

The results of this method can vary depending on the media resource that is currently loaded. Some media formats might support faster playback rates than others. Also, some formats might not support reverse play.

-
- - hh447949 - BOOL IMFMediaEngineEx::IsPlaybackRateSupported([In] double rate) - IMFMediaEngineEx::IsPlaybackRateSupported -
- - -

Steps forward or backward one frame.

-
-

Specify TRUE to step forward or to step backward.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

The frame-step direction is independent of the current playback direction.

This method completes asynchronously. When the operation completes, the Media Engine sends an event and enters the paused state.

-
- - hh447933 - HRESULT IMFMediaEngineEx::FrameStep([In] BOOL Forward) - IMFMediaEngineEx::FrameStep -
- - -

Gets various flags that describe the media resource.

-
-

Receives a bitwise OR of zero or more flags from the enumeration.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh447939 - HRESULT IMFMediaEngineEx::GetResourceCharacteristics([Out] RESOURCE_CHARACTERISTICS* pCharacteristics) - IMFMediaEngineEx::GetResourceCharacteristics -
- - -

Gets a presentation attribute from the media resource.

-
-

The attribute to query. For a list of presentation attributes, see Presentation Descriptor Attributes.

-

A reference to a that receives the value. The method fills the with a copy of the stored value. The caller must free the by calling PropVariantClear.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh447938 - HRESULT IMFMediaEngineEx::GetPresentationAttribute([In] const GUID& guidMFAttribute,[Out] PROPVARIANT* pvValue) - IMFMediaEngineEx::GetPresentationAttribute -
- - -

Gets the number of streams in the media resource.

-
-

Receives the number of streams.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh447937 - HRESULT IMFMediaEngineEx::GetNumberOfStreams([Out] unsigned int* pdwStreamCount) - IMFMediaEngineEx::GetNumberOfStreams -
- - -

Gets a stream-level attribute from the media resource.

-
-

The zero-based index of the stream. To get the number of streams, call .

-

The attribute to query. Possible values are listed in the following topics:

  • Stream Descriptor Attributes
  • Media Type Attributes
-

A reference to a that receives the value. The method fills the with a copy of the stored value. Call PropVariantClear to free the memory allocated by the method.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh447943 - HRESULT IMFMediaEngineEx::GetStreamAttribute([In] unsigned int dwStreamIndex,[In] const GUID& guidMFAttribute,[Out] PROPVARIANT* pvValue) - IMFMediaEngineEx::GetStreamAttribute -
- - -

Queries whether a stream is selected to play.

-
-

The zero-based index of the stream. To get the number of streams, call .

-

Receives a Boolean value.

ValueMeaning
TRUE

The stream is selected. During playback, this stream will play.

The stream is not selected. During playback, this stream will not play.

?

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh447944 - HRESULT IMFMediaEngineEx::GetStreamSelection([In] unsigned int dwStreamIndex,[Out] BOOL* pEnabled) - IMFMediaEngineEx::GetStreamSelection -
- - -

Selects or deselects a stream for playback.

-
-

The zero-based index of the stream. To get the number of streams, call .

-

Specifies whether to select or deselect the stream.

ValueMeaning
TRUE

The stream is selected. During playback, this stream will play.

The stream is not selected. During playback, this stream will not play.

?

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh447959 - HRESULT IMFMediaEngineEx::SetStreamSelection([In] unsigned int dwStreamIndex,[In] BOOL Enabled) - IMFMediaEngineEx::SetStreamSelection -
- - -

Applies the stream selections from previous calls to SetStreamSelection.

-
-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - jj151917 - HRESULT IMFMediaEngineEx::ApplyStreamSelections() - IMFMediaEngineEx::ApplyStreamSelections -
- - -

Queries whether the media resource contains protected content.

-
-

Receives the value TRUE if the media resource contains protected content, or otherwise.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh447950 - HRESULT IMFMediaEngineEx::IsProtected([Out] BOOL* pProtected) - IMFMediaEngineEx::IsProtected -
- - -

Inserts a video effect.

-
-

One of the following:

  • A reference to the interface of a Media Foundation transform (MFT) that implements the video effect.
  • A reference to the interface of an activation object. The activation object must create an MFT for the video effect.
-

Specifies whether the effect is optional.

ValueMeaning
TRUE

The effect is optional. If the Media Engine cannot add the effect, it ignores the effect and continues playback.

The effect is required. If the Media Engine object cannot add the effect, a playback error occurs.

?

-

This method can return one of these values.

Return codeDescription

Success.

The maximum number of video effects was reached.

?

- -

The effect is applied when the next media resource is loaded.

-
- - hh447948 - HRESULT IMFMediaEngineEx::InsertVideoEffect([In] IUnknown* pEffect,[In] BOOL fOptional) - IMFMediaEngineEx::InsertVideoEffect -
- - -

Inserts an audio effect.

-
-

One of the following:

  • A reference to the interface of a Media Foundation transform (MFT) that implements the audio effect.
  • A reference to the interface of an activation object. The activation object must create an MFT for the audio effect.
-

Specifies whether the effect is optional.

ValueMeaning
TRUE

The effect is optional. If the Media Engine cannot add the effect, it ignores the effect and continues playback.

The effect is required. If the Media Engine object cannot add the effect, a playback error occurs.

?

-

This method can return one of these values.

Return codeDescription

Success.

The maximum number of audio effects was reached.

?

- -

The effect is applied when the next media resource is loaded.

-
- - hh447947 - HRESULT IMFMediaEngineEx::InsertAudioEffect([In] IUnknown* pEffect,[In] BOOL fOptional) - IMFMediaEngineEx::InsertAudioEffect -
- - -

Removes all audio and video effects.

-
-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

Call this method to remove all of the effects that were added with the InsertAudioEffect and InsertVideoEffect methods.

-
- - hh447952 - HRESULT IMFMediaEngineEx::RemoveAllEffects() - IMFMediaEngineEx::RemoveAllEffects -
- - -

Specifies a presentation time when the Media Engine will send a marker event.

-
-

The presentation time for the marker event, in seconds.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

When playback reaches the time specified by timeToFire, the Media Engine sends an event through the method. Calling this method cancels any previous marker that is still pending.

If the application seeks past the marker point, the Media Engine cancels the marker and does not send the event.

During forward playback, set timeToFire to a value greater than the current playback position. During reverse playback, set timeToFire to a value less than the playback position.

To cancel a marker, call .

-
- - hh447960 - HRESULT IMFMediaEngineEx::SetTimelineMarkerTimer([In] double timeToFire) - IMFMediaEngineEx::SetTimelineMarkerTimer -
- - -

Gets the time of the next timeline marker, if any.

-
-

Receives the marker time, in seconds. If no marker is set, this parameter receives the value NaN.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh447945 - HRESULT IMFMediaEngineEx::GetTimelineMarkerTimer([Out] double* pTimeToFire) - IMFMediaEngineEx::GetTimelineMarkerTimer -
- - -

Cancels the next pending timeline marker.

-
-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

Call this method to cancel the method.

-
- - hh447929 - HRESULT IMFMediaEngineEx::CancelTimelineMarkerTimer() - IMFMediaEngineEx::CancelTimelineMarkerTimer -
- - -

Queries whether the media resource contains stereoscopic 3D video.

-
-

Returns TRUE if the media resource contains 3D video, or otherwise.

- - hh447951 - BOOL IMFMediaEngineEx::IsStereo3D() - IMFMediaEngineEx::IsStereo3D -
- - -

For stereoscopic 3D video, gets the layout of the two views within a video frame.

-
-

Receives a member of the enumeration.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh447941 - HRESULT IMFMediaEngineEx::GetStereo3DFramePackingMode([Out] MF_MEDIA_ENGINE_S3D_PACKING_MODE* packMode) - IMFMediaEngineEx::GetStereo3DFramePackingMode -
- - -

For stereoscopic 3D video, sets the layout of the two views within a video frame.

-
-

A member of the enumeration that specifies the layout. The two views can be arranged side-by-side, or top-to-bottom.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh447957 - HRESULT IMFMediaEngineEx::SetStereo3DFramePackingMode([In] MF_MEDIA_ENGINE_S3D_PACKING_MODE packMode) - IMFMediaEngineEx::SetStereo3DFramePackingMode -
- - -

For stereoscopic 3D video, queries how the Media Engine renders the 3D video content.

-
-

Receives a member of the enumeration.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh447942 - HRESULT IMFMediaEngineEx::GetStereo3DRenderMode([Out] MF3DVideoOutputType* outputType) - IMFMediaEngineEx::GetStereo3DRenderMode -
- - -

For stereoscopic 3D video, specifies how the Media Engine renders the 3D video content.

-
-

A member of the enumeration that specifies the 3D video rendering mode.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh447958 - HRESULT IMFMediaEngineEx::SetStereo3DRenderMode([In] MF3DVideoOutputType outputType) - IMFMediaEngineEx::SetStereo3DRenderMode -
- - -

Enables or disables windowless swap-chain mode.

-
-

If TRUE, windowless swap-chain mode is enabled.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

In windowless swap-chain mode, the Media Engine creates a windowless swap chain and presents video frames to the swap chain. To render the video, call to get a handle to the swap chain, and then associate the handle with a Microsoft DirectComposition visual.

-
- - hh447932 - HRESULT IMFMediaEngineEx::EnableWindowlessSwapchainMode([In] BOOL fEnable) - IMFMediaEngineEx::EnableWindowlessSwapchainMode -
- - -

Gets a handle to the windowless swap chain.

-
-

Receives a handle to the swap chain.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

To enable windowless swap-chain mode, call .

-
- - hh447946 - HRESULT IMFMediaEngineEx::GetVideoSwapchainHandle([Out] void** phSwapchain) - IMFMediaEngineEx::GetVideoSwapchainHandle -
- - -

Enables or disables mirroring of the video.

-
-

If TRUE, the video is mirrored horizontally. Otherwise, the video is displayed normally.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh447931 - HRESULT IMFMediaEngineEx::EnableHorizontalMirrorMode([In] BOOL fEnable) - IMFMediaEngineEx::EnableHorizontalMirrorMode -
- - -

Gets the audio stream category used for the next call to SetSource or Load.

-
- No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

For information on audio stream categories, see enumeration.

-
- - jj128310 - HRESULT IMFMediaEngineEx::GetAudioStreamCategory([Out] unsigned int* pCategory) - IMFMediaEngineEx::GetAudioStreamCategory -
- - -

Sets the audio stream category for the next call to SetSource or Load.

-
- No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

For information on audio stream categories, see enumeration.

-
- - jj128313 - HRESULT IMFMediaEngineEx::SetAudioStreamCategory([In] unsigned int category) - IMFMediaEngineEx::SetAudioStreamCategory -
- - -

Gets the audio device endpoint role used for the next call to SetSource or Load.

-
- No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

For information on audio endpoint roles, see ERole enumeration.

-
- - jj128309 - HRESULT IMFMediaEngineEx::GetAudioEndpointRole([Out] unsigned int* pRole) - IMFMediaEngineEx::GetAudioEndpointRole -
- - -

Sets the audio device endpoint used for the next call to SetSource or Load.

-
- No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

For information on audio endpoint roles, see ERole enumeration.

-
- - jj128312 - HRESULT IMFMediaEngineEx::SetAudioEndpointRole([In] unsigned int role) - IMFMediaEngineEx::SetAudioEndpointRole -
- - -

Gets the real time mode used for the next call to SetSource or Load.

-
- No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- - jj128311 - HRESULT IMFMediaEngineEx::GetRealTimeMode([Out] BOOL* pfEnabled) - IMFMediaEngineEx::GetRealTimeMode -
- - -

Sets the real time mode used for the next call to SetSource or Load.

-
- No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- - jj128315 - HRESULT IMFMediaEngineEx::SetRealTimeMode([In] BOOL fEnable) - IMFMediaEngineEx::SetRealTimeMode -
- - -

Seeks to a new playback position using the specified .

-
- No documentation. - No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- - jj128314 - HRESULT IMFMediaEngineEx::SetCurrentTimeEx([In] double seekTime,[In] MF_MEDIA_ENGINE_SEEK_MODE seekMode) - IMFMediaEngineEx::SetCurrentTimeEx -
- - -

Enables or disables the time update timer.

-
-

If TRUE, the update timer is enabled. Otherwise, the timer is disabled.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - jj128308 - HRESULT IMFMediaEngineEx::EnableTimeUpdateTimer([In] BOOL fEnableTimer) - IMFMediaEngineEx::EnableTimeUpdateTimer -
- - -

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

Applies to: desktop apps | Metro style apps

Opens a media resource from a byte stream.

-
-

A reference to the interface of the byte stream.

-

The URL of the byte stream.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- hh447956 - HRESULT IMFMediaEngineEx::SetSourceFromByteStream([In] IMFByteStream* pByteStream,[In] wchar_t* pURL) - IMFMediaEngineEx::SetSourceFromByteStream -
- - -

Enables an application to load media resources in the Media Engine.

-
- -

To use this interface, set the attribute when you call the method.

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

Queries whether the object can load a specified type of media resource.

-
-

If TRUE, the Media Engine is set to audio-only mode. Otherwise, the Media Engine is set to audio-video mode.

-

A string that contains a MIME type with an optional codecs parameter, as defined in RFC 4281.

-

Receives a member of the enumeration.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

Implement this method if your Media Engine extension supports one or more MIME types.

-
- - hh447927 - HRESULT IMFMediaEngineExtension::CanPlayType([In] BOOL AudioOnly,[In] wchar_t* MimeType,[Out] MF_MEDIA_ENGINE_CANPLAY* pAnswer) - IMFMediaEngineExtension::CanPlayType -
- - -

Begins an asynchronous request to create either a byte stream or a media source.

-
-

The URL of the media resource.

-

A reference to the interface.

If the type parameter equals , this parameter is null.

If type equals , this parameter either contains a reference to a byte stream or is null. See Remarks for more information.

-

A member of the enumeration that specifies which type of object to create.

ValueMeaning

Create a byte stream. The byte stream must support the interface.

Create a media source. The media source must support the interface.

?

-

Receives a reference to the interface. This reference can be used to cancel the asynchronous operation, by passing the reference to the method.

The caller must release the interface. This parameter can be null.

-

A reference to the interface. This interface is used to signal the completion of the asynchronous operation.

-

A reference to the interface of an object impemented by the caller. You can use this object to hold state information for the callback. The object is returned to the caller when the callback is invoked. This parameter can be null.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

This method requests the object to create either a byte stream or a media source, depending on the value of the type parameter:

  • If type is , the method creates a byte stream for the URL that is specified in bstrURL. In this case, the pByteStream parameter is null.
  • If type is , the method creates a media source, using the byte stream that is specified in the pByteStream parameter. Note that pByteStream can also be null in this case.

The method is performed asynchronously. The Media Engine calls the method to complete the operation.

-
- - hh447925 - HRESULT IMFMediaEngineExtension::BeginCreateObject([In] wchar_t* bstrURL,[In, Optional] IMFByteStream* pByteStream,[In] MF_OBJECT_TYPE type,[Out] IUnknown** ppIUnknownCancelCookie,[In] IMFAsyncCallback* pCallback,[In, Optional] IUnknown* punkState) - IMFMediaEngineExtension::BeginCreateObject -
- - -

Cancels the current request to create an object.

-
-

The reference that was returned in the the ppIUnknownCancelCookie parameter of the method.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

This method attempts to cancel a previous call to BeginCreateObject. Because that method is asynchronous, however, it might complete before the operation can be canceled.

-
- - hh447926 - HRESULT IMFMediaEngineExtension::CancelObjectCreation([In] IUnknown* pIUnknownCancelCookie) - IMFMediaEngineExtension::CancelObjectCreation -
- - -

Completes an asynchronous request to create a byte stream or media source.

-
-

A reference to the interface.

-

Receives a reference to the interface of the byte stream or media source. The caller must release the interface

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

The Media Engine calls this method to complete the method.

-
- - hh447928 - HRESULT IMFMediaEngineExtension::EndCreateObject([In] IMFAsyncResult* pResult,[Out] IUnknown** ppObject) - IMFMediaEngineExtension::EndCreateObject -
- - -

Represents a callback to the media engine to notify key request data.

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

Notifies the application that a key or keys are needed along with any initialization data.

-
-

The initialization data.

-

The count in bytes of initData.

- - dn280697 - void IMFMediaEngineNeedKeyNotify::NeedKey([In, Buffer, Optional] const unsigned char* initData,[In] unsigned int cb) - IMFMediaEngineNeedKeyNotify::NeedKey -
- - -

Callback interface for the interface.

-
- -

To set the callback reference on the Media Engine, set the attribute in the method.

-
- - hh447962 - IMFMediaEngineNotify - IMFMediaEngineNotify -
- - -

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

Applies to: desktop apps | Metro style apps

Notifies the application when a playback event occurs.

-
-

A member of the enumeration that specifies the event.

-

The first event parameter. The meaning of this parameter depends on the event code.

-

The second event parameter. The meaning of this parameter depends on the event code.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- hh447963 - HRESULT IMFMediaEngineNotify::EventNotify([In] unsigned int event,[In] ULONG_PTR param1,[In] unsigned int param2) - IMFMediaEngineNotify::EventNotify -
- - -

Provides methods for getting information about the Output Protection Manager (OPM).

-
- -

To get a reference to this interface, call QueryInterface on the Media Engine.

The event is raised when there is a change in the OPM status.

-
- - dn280698 - IMFMediaEngineOPMInfo - IMFMediaEngineOPMInfo -
- - - Initializes a new instance of the 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 status information about the Output Protection Manager (OPM).

-
- No documentation. - No documentation. -

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded

INVALIDARG

If any of the parameters are null.

?

- - dn280699 - HRESULT IMFMediaEngineOPMInfo::GetOPMInfo([Out] MF_MEDIA_ENGINE_OPM_STATUS* pStatus,[Out] BOOL* pConstricted) - IMFMediaEngineOPMInfo::GetOPMInfo -
- - -

Copies a protected video frame to a DXGI surface.

-
- -

For protected content, call this method instead of the method.

-
- - hh447970 - IMFMediaEngineProtectedContent - IMFMediaEngineProtectedContent -
- - - Initializes a new instance of the 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 content protections that must be applied in frame-server mode.

-
- - hh447965 - GetRequiredProtections - GetRequiredProtections - HRESULT IMFMediaEngineProtectedContent::GetRequiredProtections([Out] unsigned int* pFrameProtectionFlags) -
- - -

Specifies the window that should receive output link protections.

-
- -

In frame-server mode, call this method to specify the destination window for protected video content. The Media Engine uses this window to set link protections, using the Output Protection Manager (OPM).

-
- - hh447968 - SetOPMWindow - SetOPMWindow - HRESULT IMFMediaEngineProtectedContent::SetOPMWindow([In] HWND hwnd) -
- - -

Sets the content protection manager (CPM).

-
- -

The Media Engine uses the CPM to handle events related to protected content, such as license acquisition.

-
- - hh447967 - SetContentProtectionManager - SetContentProtectionManager - HRESULT IMFMediaEngineProtectedContent::SetContentProtectionManager([In, Optional] void* pCPM) -
- - -

Enables the Media Engine to access protected content while in frame-server mode.

-
-

A reference to the Direct3D?11 device content. The Media Engine queries this reference for the interface.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

In frame-server mode, this method enables the Media Engine to share protected content with the Direct3D?11 device.

-
- - hh447969 - HRESULT IMFMediaEngineProtectedContent::ShareResources([In] IUnknown* pUnkDeviceContext) - IMFMediaEngineProtectedContent::ShareResources -
- - -

Gets the content protections that must be applied in frame-server mode.

-
-

Receives a bitwise OR of zero or more flags from the enumeration.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh447965 - HRESULT IMFMediaEngineProtectedContent::GetRequiredProtections([Out] unsigned int* pFrameProtectionFlags) - IMFMediaEngineProtectedContent::GetRequiredProtections -
- - -

Specifies the window that should receive output link protections.

-
-

A handle to the window.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

In frame-server mode, call this method to specify the destination window for protected video content. The Media Engine uses this window to set link protections, using the Output Protection Manager (OPM).

-
- - hh447968 - HRESULT IMFMediaEngineProtectedContent::SetOPMWindow([In] HWND hwnd) - IMFMediaEngineProtectedContent::SetOPMWindow -
- - -

Copies a protected video frame to a DXGI surface.

-
-

A reference to the interface of the destination surface.

-

A reference to an structure that specifies the source rectangle.

-

A reference to a structure that specifies the destination rectangle.

-

A reference to an structure that specifies the border color.

-

Receives a bitwise OR of zero or more flags from the enumeration. These flags indicate which content protections the application must apply before presenting the surface.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

For protected content, call this method instead of the method.

-
- - hh447970 - HRESULT IMFMediaEngineProtectedContent::TransferVideoFrame([In] IUnknown* pDstSurf,[In, Optional] const MFVideoNormalizedRect* pSrc,[In] const RECT* pDst,[In, Optional] const MFARGB* pBorderClr,[Out] unsigned int* pFrameProtectionFlags) - IMFMediaEngineProtectedContent::TransferVideoFrame -
- - -

Sets the content protection manager (CPM).

-
-

A reference to the interface, implemented by the caller.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

The Media Engine uses the CPM to handle events related to protected content, such as license acquisition.

-
- - hh447967 - HRESULT IMFMediaEngineProtectedContent::SetContentProtectionManager([In, Optional] void* pCPM) - IMFMediaEngineProtectedContent::SetContentProtectionManager -
- - -

Sets the application's certificate.

-
-

A reference to a buffer that contains the certificate in X.509 format, followed by the application identifier signed with a SHA-256 signature using the private key from the certificate.

-

The size of the pbBlob buffer, in bytes.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

Call this method to access protected video content in frame-server mode.

-
- - hh447966 - HRESULT IMFMediaEngineProtectedContent::SetApplicationCertificate([In, Buffer] const unsigned char* pbBlob,[In] unsigned int cbBlob) - IMFMediaEngineProtectedContent::SetApplicationCertificate -
- - -

Provides the Media Engine with a list of media resources.

-
- -

The interface represents an ordered list of media resources.

This interface enables the application to provide the same audio/video content in several different encoding formats, such as H.264 and Windows Media Video. If a particular codec is not present on the user's computer, the Media Engine will try the next URL in the list. To use this interface, do the following:

  1. Create an implementation of this interface.
  2. Initialize your implementation with a list of URLs. Optionally, provide MIME types and media query strings for each URL.
  3. Call the method.
-
- - hh447971 - IMFMediaEngineSrcElements - IMFMediaEngineSrcElements -
- - - Initializes a new instance of the 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 source elements in the list.

-
- - hh447973 - GetLength - GetLength - unsigned int IMFMediaEngineSrcElements::GetLength() -
- - -

Gets the number of source elements in the list.

-
-

Returns the number of source elements.

- - hh447973 - unsigned int IMFMediaEngineSrcElements::GetLength() - IMFMediaEngineSrcElements::GetLength -
- - -

Gets the URL of an element in the list.

-
-

The zero-based index of the source element. To get the number of source elements, call .

-

Receives a BSTR that contains the URL of the source element. The caller must free the BSTR by calling SysFreeString. If no URL is set, this parameter receives the value null.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh447976 - HRESULT IMFMediaEngineSrcElements::GetURL([In] unsigned int index,[Out] wchar_t** pURL) - IMFMediaEngineSrcElements::GetURL -
- - -

Gets the MIME type of an element in the list.

-
-

The zero-based index of the source element. To get the number of source elements, call .

-

Receives a BSTR that contains the MIME type. The caller must free the BSTR by calling SysFreeString. If no MIME type is set, this parameter receives the value null.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh447975 - HRESULT IMFMediaEngineSrcElements::GetType([In] unsigned int index,[Out] wchar_t** pType) - IMFMediaEngineSrcElements::GetType -
- - -

Gets the intended media type of an element in the list.

-
-

The zero-based index of the source element. To get the number of source elements, call .

-

Receives a BSTR that contains a media-query string. The caller must free the BSTR by calling SysFreeString. If no media type is set, this parameter receives the value null.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

The string returned in pMedia should be a media-query string that conforms to the W3C Media Queries specification.

-
- - hh447974 - HRESULT IMFMediaEngineSrcElements::GetMedia([In] unsigned int index,[Out] wchar_t** pMedia) - IMFMediaEngineSrcElements::GetMedia -
- - -

Adds a source element to the end of the list.

-
-

The URL of the source element, or null.

-

The MIME type of the source element, or null.

-

A media-query string that specifies the intended media type, or null. If specified, the string should conform to the W3C Media Queries specification.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

Any of the parameters to this method can be null.

This method allocates copies of the BSTRs that are passed in.

-
- - hh447972 - HRESULT IMFMediaEngineSrcElements::AddElement([In, Optional] wchar_t* pURL,[In, Optional] wchar_t* pType,[In, Optional] wchar_t* pMedia) - IMFMediaEngineSrcElements::AddElement -
- - -

Removes all of the source elements from the list.

-
-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh447977 - HRESULT IMFMediaEngineSrcElements::RemoveAllElements() - IMFMediaEngineSrcElements::RemoveAllElements -
- - -

Extends the interface to provide additional capabilities.

-
- - dn280700 - IMFMediaEngineSrcElementsEx - IMFMediaEngineSrcElementsEx -
- - - Initializes a new instance of the 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 an enhanced version of to add the key system intended to be used with content to an element.

-
- No documentation. - No documentation. - No documentation. - No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn280701 - HRESULT IMFMediaEngineSrcElementsEx::AddElementEx([In, Optional] wchar_t* pURL,[In, Optional] wchar_t* pType,[In, Optional] wchar_t* pMedia,[In, Optional] wchar_t* keySystem) - IMFMediaEngineSrcElementsEx::AddElementEx -
- - -

Gets the key system for the given source element index.

-
-

The source element index.

-

The MIME type of the source element.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn280702 - HRESULT IMFMediaEngineSrcElementsEx::GetKeySystem([In] unsigned int index,[Out, Optional] wchar_t** pType) - IMFMediaEngineSrcElementsEx::GetKeySystem -
- - -

Enables the media source to be transferred between the media engine and the sharing engine for Play To.

-
- - dn280703 - IMFMediaEngineSupportsSourceTransfer - IMFMediaEngineSupportsSourceTransfer -
- - - Initializes a new instance of the 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 wether or not the source should be transferred.

-
-

true if the source should be transferred; otherwise, false.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn280706 - HRESULT IMFMediaEngineSupportsSourceTransfer::ShouldTransferSource([Out] BOOL* pfShouldTransfer) - IMFMediaEngineSupportsSourceTransfer::ShouldTransferSource -
- - -

Detaches the media source.

-
-

Receives the byte stream.

-

Receives the media source.

-

Receives the media source extension.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn280705 - HRESULT IMFMediaEngineSupportsSourceTransfer::DetachMediaSource([Out] IMFByteStream** ppByteStream,[Out] IMFMediaSource** ppMediaSource,[Out] IMFMediaSourceExtension** ppMSE) - IMFMediaEngineSupportsSourceTransfer::DetachMediaSource -
- - -

Attaches the media source.

-
-

Specifies the byte stream.

-

Specifies the media source.

-

Specifies the media source extension.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn280704 - HRESULT IMFMediaEngineSupportsSourceTransfer::AttachMediaSource([In, Optional] IMFByteStream* pByteStream,[In] IMFMediaSource* pMediaSource,[In, Optional] IMFMediaSourceExtension* pMSE) - IMFMediaEngineSupportsSourceTransfer::AttachMediaSource -
- - - No documentation. - - - IMFMediaEngineTransferSource - IMFMediaEngineTransferSource - - - - Initializes a new instance of the 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 IMFMediaEngineTransferSource::TransferSourceToMediaEngine([In] IMFMediaEngine* destination) - IMFMediaEngineTransferSource::TransferSourceToMediaEngine - - - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Enables playback of web audio.

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

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets a value indicating if the connecting to Web audio should delay the page's load event.

-
-

True if connection to Web audio should delay the page's load event; otherwise, false.

- - mt668769 - BOOL IMFMediaEngineWebSupport::ShouldDelayTheLoadEvent() - IMFMediaEngineWebSupport::ShouldDelayTheLoadEvent -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Connects web audio to Media Engine using the specified sample rate.

-
-

The sample rate of the web audio.

-

The sample rate of the web audio.

-

Returns on successful completion.

- - mt668767 - HRESULT IMFMediaEngineWebSupport::ConnectWebAudio([In] unsigned int dwSampleRate,[Out] IAudioSourceProvider** ppSourceProvider) - IMFMediaEngineWebSupport::ConnectWebAudio -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Disconnects web audio from the Media Engine

-
-

Returns on successful completion.

- - mt668768 - HRESULT IMFMediaEngineWebSupport::DisconnectWebAudio() - IMFMediaEngineWebSupport::DisconnectWebAudio -
- - -

Provides the current error status for the Media Engine.

-
- -

The interface corresponds to the MediaError object in HTML5.

To get a reference to this interface, call .

-
- - hh448022 - IMFMediaError - IMFMediaError -
- - - Initializes a new instance of the 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 or sets the extended error code.

-
- - hh448024 - GetExtendedErrorCode / SetExtendedErrorCode - GetExtendedErrorCode - HRESULT IMFMediaError::GetExtendedErrorCode() -
- - -

Gets the error code.

-
-

Returns a value from the enumeration.

- - hh448023 - unsigned short IMFMediaError::GetErrorCode() - IMFMediaError::GetErrorCode -
- - -

Gets the extended error code.

-
-

Returns an value that gives additional information about the last error.

- - hh448024 - HRESULT IMFMediaError::GetExtendedErrorCode() - IMFMediaError::GetExtendedErrorCode -
- - -

Sets the error code.

-
-

The error code, specified as an value.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh448025 - HRESULT IMFMediaError::SetErrorCode([In] MF_MEDIA_ENGINE_ERR error) - IMFMediaError::SetErrorCode -
- - -

Sets the extended error code.

-
-

An value that gives additional information about the last error.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh448026 - HRESULT IMFMediaError::SetExtendedErrorCode([In] HRESULT error) - IMFMediaError::SetExtendedErrorCode -
- - -

Represents an event generated by a Media Foundation object. Use this interface to get information about the event.

To get a reference to this interface, call or on the event generator.

-
- -

If you are implementing an object that generates events, call the function to create a new event object.

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms702249 - IMFMediaEvent - IMFMediaEvent -
- - - Initializes a new instance of the 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 event type. The event type indicates what happened to trigger the event. It also defines the meaning of the event value.

-
- -

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms702255 - GetType - GetType - HRESULT IMFMediaEvent::GetType([Out] MEDIA_EVENT_TYPES* pmet) -
- - -

Retrieves the extended type of the event.

-
- -

To define a custom event, create a new extended-type and send an event with that .

Some standard Media Foundation events also use the extended type to differentiate between types of event data.

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms697235 - GetExtendedType - GetExtendedType - HRESULT IMFMediaEvent::GetExtendedType([Out] GUID* pguidExtendedType) -
- - -

Retrieves an that specifies the event status.

-
- -

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms704650 - GetStatus - GetStatus - HRESULT IMFMediaEvent::GetStatus([Out] HRESULT* phrStatus) -
- - -

Retrieves the value associated with the event, if any. The value is retrieved as a structure. The actual data type and the meaning of the value depend on the event.

-
- -

Before calling this method, call PropVariantInit to initialize the structure. After the method returns, call PropVariantClear to free the memory that was allocated for the data.

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms693864 - GetValue - GetValue - HRESULT IMFMediaEvent::GetValue([Out] PROPVARIANT* pvValue) -
- - -

Retrieves the event type. The event type indicates what happened to trigger the event. It also defines the meaning of the event value.

-
-

Receives the event type. For a list of event types, see Media Foundation Events.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms702255 - HRESULT IMFMediaEvent::GetType([Out] MEDIA_EVENT_TYPES* pmet) - IMFMediaEvent::GetType -
- - -

Retrieves the extended type of the event.

-
-

Receives a that identifies the extended type.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

To define a custom event, create a new extended-type and send an event with that .

Some standard Media Foundation events also use the extended type to differentiate between types of event data.

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms697235 - HRESULT IMFMediaEvent::GetExtendedType([Out] GUID* pguidExtendedType) - IMFMediaEvent::GetExtendedType -
- - -

Retrieves an that specifies the event status.

-
-

Receives the event status. If the operation that generated the event was successful, the value is a success code. A failure code means that an error condition triggered the event.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms704650 - HRESULT IMFMediaEvent::GetStatus([Out] HRESULT* phrStatus) - IMFMediaEvent::GetStatus -
- - -

Retrieves the value associated with the event, if any. The value is retrieved as a structure. The actual data type and the meaning of the value depend on the event.

-
-

Pointer to a structure. The method fills this structure with the data.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

Before calling this method, call PropVariantInit to initialize the structure. After the method returns, call PropVariantClear to free the memory that was allocated for the data.

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms693864 - HRESULT IMFMediaEvent::GetValue([Out] PROPVARIANT* pvValue) - IMFMediaEvent::GetValue -
- - -

Retrieves events from any Media Foundation object that generates events.

-
- -

An object that supports this interface maintains a queue of events. The client of the object can retrieve the events either synchronously or asynchronously. The synchronous method is GetEvent. The asynchronous methods are BeginGetEvent and EndGetEvent.

-
- - ms701755 - IMFMediaEventGenerator - IMFMediaEventGenerator -
- - - Initializes a new instance of the 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 next event in the queue. This method is synchronous.

-
-

Specifies one of the following values.

ValueMeaning
0

The method blocks until the event generator queues an event.

MF_EVENT_FLAG_NO_WAIT

The method returns immediately.

?

-

Receives a reference to the interface. The caller must release the interface.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_INVALIDARG

null reference argument.

There is a pending request.

There are no events in the queue.

The object was shut down.

?

- -

This method executes synchronously.

If the queue already contains an event, the method returns immediately. If the queue does not contain an event, the behavior depends on the value of dwFlags:

  • If dwFlags is 0, the method blocks indefinitely until a new event is queued, or until the event generator is shut down.

  • If dwFlags is MF_EVENT_FLAG_NO_WAIT, the method fails immediately with the return code .

This method returns if you previously called and have not yet called .

-
- - ms704754 - HRESULT IMFMediaEventGenerator::GetEvent([In] unsigned int dwFlags,[Out] IMFMediaEvent** ppEvent) - IMFMediaEventGenerator::GetEvent -
- - -

Begins an asynchronous request for the next event in the queue.

-
-

Pointer to the interface of a callback object. The client must implement this interface.

-

Pointer to the interface of a state object, defined by the caller. This parameter can be null. You can use this object to hold state information. The object is returned to the caller when the callback is invoked.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_INVALIDARG

null reference argument.

There is a pending request with the same callback reference and a different state object.

There is a pending request with a different callback reference.

The object was shut down.

MF_S_MULTIPLE_BEGIN

There is a pending request with the same callback reference and state object.

?

- -

When a new event is available, the event generator calls the method. The Invoke method should call to get a reference to the interface, and use that interface to examine the event.

Do not call BeginGetEvent a second time before calling EndGetEvent. While the first call is still pending, additional calls to the same object will fail. Also, the method fails if an asynchronous request is still pending.

-
- - ms701637 - HRESULT IMFMediaEventGenerator::BeginGetEvent([In] IMFAsyncCallback* pCallback,[In] void* punkState) - IMFMediaEventGenerator::BeginGetEvent -
- - -

Completes an asynchronous request for the next event in the queue.

-
-

Pointer to the interface. Pass in the same reference that your callback object received in the Invoke method.

-

Receives a reference to the interface. The caller must release the interface.

- -

Call this method from inside your application's method. For example code, see .

-
- - ms698866 - HRESULT IMFMediaEventGenerator::EndGetEvent([In] IMFAsyncResult* pResult,[Out] IMFMediaEvent** ppEvent) - IMFMediaEventGenerator::EndGetEvent -
- - -

Puts a new event in the object's queue.

-
-

Specifies the event type. The event type is returned by the event's method. For a list of event types, see Media Foundation Events.

-

The extended type. If the event does not have an extended type, use the value GUID_NULL. The extended type is returned by the event's method.

-

A success or failure code indicating the status of the event. This value is returned by the event's method.

-

Pointer to a that contains the event value. This parameter can be null. This value is returned by the event's method.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The object was shut down.

?

- - ms696255 - HRESULT IMFMediaEventGenerator::QueueEvent([In] unsigned int met,[In] const GUID& guidExtendedType,[In] HRESULT hrStatus,[In, Optional] const PROPVARIANT* pvValue) - IMFMediaEventGenerator::QueueEvent -
- - -

Applies to: desktop apps | Metro style apps

Retrieves the next event in the queue. This method is synchronous.

-
- true if the method blocks until the event generator queues an event, false otherwise. - a reference to the interface. The caller must release the interface. - -

This method executes synchronously.

If the queue already contains an event, the method returns immediately. If the queue does not contain an event, the behavior depends on the value of dwFlags:

  • If dwFlags is 0, the method blocks indefinitely until a new event is queued, or until the event generator is shut down.

  • If dwFlags is MF_EVENT_FLAG_NO_WAIT, the method fails immediately with the return code .

This method returns if you previously called and have not yet called .

-
- ms704754 - HRESULT IMFMediaEventGenerator::GetEvent([In] unsigned int dwFlags,[Out] IMFMediaEvent** ppEvent) - IMFMediaEventGenerator::GetEvent -
- - -

Applies to: desktop apps | Metro style apps

Begins an asynchronous request for the next event in the queue.

-
-

Pointer to the interface of a callback object. The client must implement this interface.

- A reference to a state object, defined by the caller. This parameter can be null. You can use this object to hold state information. The object is returned to the caller when the callback is invoked. - -

When a new event is available, the event generator calls the method. The Invoke method should call to get a reference to the interface, and use that interface to examine the event.

Do not call BeginGetEvent a second time before calling EndGetEvent. While the first call is still pending, additional calls to the same object will fail. Also, the method fails if an asynchronous request is still pending.

-
- ms701637 - HRESULT IMFMediaEventGenerator::BeginGetEvent([In] IMFAsyncCallback* pCallback,[In] void* punkState) - IMFMediaEventGenerator::BeginGetEvent -
- - -

Provides an event queue for applications that need to implement the interface.

This interface is exposed by a helper object that implements an event queue. If you are writing a component that implements the interface, you can use this object in your implementation. The event queue object is thread safe and provides methods to queue events and to pull them from the queue either synchronously or asynchronously. To create the event queue object, call .

-
- -

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms704617 - IMFMediaEventQueue - IMFMediaEventQueue -
- - - Initializes a new instance of the 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 next event in the queue. This method is synchronous.

Call this method inside your implementation of . Pass the parameters from that method directly to this method.

-
- No documentation. - No documentation. -

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The Shutdown method was called.

?

- -

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms702270 - HRESULT IMFMediaEventQueue::GetEvent([In] unsigned int dwFlags,[Out] IMFMediaEvent** ppEvent) - IMFMediaEventQueue::GetEvent -
- - -

Begins an asynchronous request for the next event in the queue.

Call this method inside your implementation of . Pass the parameters from that method directly to this method.

-
- No documentation. - No documentation. -

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The Shutdown method was called.

?

- -

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms696998 - HRESULT IMFMediaEventQueue::BeginGetEvent([In] IMFAsyncCallback* pCallback,[In] IUnknown* punkState) - IMFMediaEventQueue::BeginGetEvent -
- - -

Completes an asynchronous request for the next event in the queue.

Call this method inside your implementation of . Pass the parameters from that method directly to this method.

-
- No documentation. - No documentation. -

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The Shutdown method was called.

?

- -

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms702986 - HRESULT IMFMediaEventQueue::EndGetEvent([In] IMFAsyncResult* pResult,[Out] IMFMediaEvent** ppEvent) - IMFMediaEventQueue::EndGetEvent -
- - -

Puts an event in the queue.

-
-

Pointer to the interface of the event to be put in the queue.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The Shutdown method was called.

?

- -

Call this method when your component needs to raise an event that contains attributes. To create the event object, call . Add attributes to the event by using methods from the interface. (The interface inherits .)

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms704792 - HRESULT IMFMediaEventQueue::QueueEvent([In] IMFMediaEvent* pEvent) - IMFMediaEventQueue::QueueEvent -
- - -

Creates an event, sets a as the event data, and puts the event in the queue.

Call this method inside your implementation of . Pass the parameters from that method directly to this method.

You can also call this method when your component needs to raise an event that does not contain attributes. If the event data is an reference, you can use . If the event contains attributes, use instead.

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

Return codeDescription

The method succeeded.

The Shutdown method was called.

?

- -

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms704641 - HRESULT IMFMediaEventQueue::QueueEventParamVar([In] unsigned int met,[In] const GUID& guidExtendedType,[In] HRESULT hrStatus,[In] const PROPVARIANT* pvValue) - IMFMediaEventQueue::QueueEventParamVar -
- - -

Creates an event, sets an reference as the event data, and puts the event in the queue.

-
-

Specifies the event type of the event to be added to the queue. The event type is returned by the event's method. For a list of event types, see Media Foundation Events.

-

The extended type of the event. If the event does not have an extended type, use the value GUID_NULL. The extended type is returned by the event's method.

-

A success or failure code indicating the status of the event. This value is returned by the event's method.

-

Pointer to the interface. The method sets this reference as the event value. The reference is returned by the event's method.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The Shutdown method was called.

?

- -

Call this method when your component needs to raise an event that contains an reference value and no attributes. If the event contains attributes, use instead.

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms704686 - HRESULT IMFMediaEventQueue::QueueEventParamUnk([In] unsigned int met,[In] const GUID& guidExtendedType,[In] HRESULT hrStatus,[In] IUnknown* pUnk) - IMFMediaEventQueue::QueueEventParamUnk -
- - -

Shuts down the event queue.

-
-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

Call this method when your component shuts down. After this method is called, all methods return .

This method removes all of the events from the queue.

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms698923 - HRESULT IMFMediaEventQueue::Shutdown() - IMFMediaEventQueue::Shutdown -
- - -

Represents a media keys used for decrypting media data using a Digital Rights Management (DRM) key system.

-
- - dn280711 - IMFMediaKeys - IMFMediaKeys -
- - - Initializes a new instance of the 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 suspend notify interface of the Content Decryption Module (CDM).

-
- - dn280723 - GetSuspendNotify - GetSuspendNotify - HRESULT IMFMediaKeys::GetSuspendNotify([Out] IMFCdmSuspendNotify** notify) -
- - -

Creates a media key session object using the specified initialization data and custom data. - . -

-
-

The MIME type of the media container used for the content.

-

The initialization data for the key system.

-

The count in bytes of initData.

-

Custom data sent to the key system.

-

The count in bytes of cbCustomData.

-

notify

-

The media key session.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn280722 - HRESULT IMFMediaKeys::CreateSession([In, Optional] wchar_t* mimeType,[In, Buffer, Optional] const unsigned char* initData,[In, Optional] unsigned int cb,[In, Buffer, Optional] const unsigned char* customData,[In] unsigned int cbCustomData,[In] IMFMediaKeySessionNotify* notify,[Out] IMFMediaKeySession** ppSession) - IMFMediaKeys::CreateSession -
- - -

Gets the key system string the object was created with.

-
- No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn280724 - HRESULT IMFMediaKeys::get_KeySystem([Out] wchar_t** keySystem) - IMFMediaKeys::get_KeySystem -
- - -

-

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

Shutdown should be called by the application before final release. The Content Decryption Module (CDM) reference and any other resources is released at this point. However, related sessions are not freed or closed.

-
- - dn280725 - HRESULT IMFMediaKeys::Shutdown() - IMFMediaKeys::Shutdown -
- - -

Gets the suspend notify interface of the Content Decryption Module (CDM).

-
-

The suspend notify interface of the Content Decryption Module (CDM).

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn280723 - HRESULT IMFMediaKeys::GetSuspendNotify([Out] IMFCdmSuspendNotify** notify) - IMFMediaKeys::GetSuspendNotify -
- - - No documentation. - - - IMFMediaKeys2 - IMFMediaKeys2 - - - - Initializes a new instance of the 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 IMFMediaKeys2::CreateSession2([In] MF_MEDIAKEYSESSION_TYPE eSessionType,[In] IMFMediaKeySessionNotify2* pMFMediaKeySessionNotify2,[Out] IMFMediaKeySession2** ppSession) - IMFMediaKeys2::CreateSession2 - - - - No documentation. - - No documentation. - No documentation. - No documentation. - - HRESULT IMFMediaKeys2::SetServerCertificate([In, Buffer, Optional] const unsigned char* pbServerCertificate,[In] unsigned int cb) - IMFMediaKeys2::SetServerCertificate - - - - No documentation. - - No documentation. - No documentation. - No documentation. - - HRESULT IMFMediaKeys2::GetDOMException([In] HRESULT systemCode,[Out] HRESULT* code) - IMFMediaKeys2::GetDOMException - - - -

Represents a session with the Digital Rights Management (DRM) key system.

-
- - dn280712 - IMFMediaKeySession - IMFMediaKeySession -
- - - Initializes a new instance of the 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 error state associated with the media key session.

-
-

The error code.

-

Platform specific error information.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn280718 - HRESULT IMFMediaKeySession::GetError([Out] unsigned short* code,[Out] unsigned int* systemCode) - IMFMediaKeySession::GetError -
- - -

Gets the name of the key system name the media keys object was created with.

-
-

The name of the key system.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn280719 - HRESULT IMFMediaKeySession::get_KeySystem([Out] wchar_t** keySystem) - IMFMediaKeySession::get_KeySystem -
- - -

Gets a unique session id created for this session.

-
-

The media key session id.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn280720 - HRESULT IMFMediaKeySession::get_SessionId([Out] wchar_t** sessionId) - IMFMediaKeySession::get_SessionId -
- - -

Passes in a key value with any associated data required by the Content Decryption Module for the given key system.

-
-
-

The count in bytes of key.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn280721 - HRESULT IMFMediaKeySession::Update([In, Buffer] const unsigned char* key,[In] unsigned int cb) - IMFMediaKeySession::Update -
- - -

Closes the media key session and must be called before the key session is released.

-
-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn280717 - HRESULT IMFMediaKeySession::Close() - IMFMediaKeySession::Close -
- - - No documentation. - - - IMFMediaKeySession2 - IMFMediaKeySession2 - - - - Initializes a new instance of the 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. - - - get_Expiration - get_Expiration - HRESULT IMFMediaKeySession2::get_Expiration([Out] double* dblExpiration) - - - - No documentation. - - No documentation. - No documentation. - No documentation. - - HRESULT IMFMediaKeySession2::get_KeyStatuses([Out, Buffer] MFMediaKeyStatus** pKeyStatusesArray,[Out] unsigned int* puSize) - IMFMediaKeySession2::get_KeyStatuses - - - - No documentation. - - No documentation. - No documentation. - No documentation. - - HRESULT IMFMediaKeySession2::Load([In] wchar_t* bstrSessionId,[Out] BOOL* pfLoaded) - IMFMediaKeySession2::Load - - - - No documentation. - - No documentation. - No documentation. - No documentation. - No documentation. - - HRESULT IMFMediaKeySession2::GenerateRequest([In] wchar_t* initDataType,[In, Buffer] const unsigned char* pbInitData,[In] unsigned int cb) - IMFMediaKeySession2::GenerateRequest - - - - No documentation. - - No documentation. - No documentation. - - HRESULT IMFMediaKeySession2::get_Expiration([Out] double* dblExpiration) - IMFMediaKeySession2::get_Expiration - - - - No documentation. - - No documentation. - - HRESULT IMFMediaKeySession2::Remove() - IMFMediaKeySession2::Remove - - - - No documentation. - - No documentation. - - HRESULT IMFMediaKeySession2::Shutdown() - IMFMediaKeySession2::Shutdown - - - -

Provides a mechanism for notifying the app about information regarding the media key session.

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

Passes information to the application so it can initiate a key acquisition.

-
-

The URL to send the message to.

-

The message to send to the application.

-

The length in bytes of message.

- - dn280716 - void IMFMediaKeySessionNotify::KeyMessage([In, Optional] wchar_t* destinationURL,[In, Buffer] const unsigned char* message,[In] unsigned int cb) - IMFMediaKeySessionNotify::KeyMessage -
- - -

Notifies the application that the key has been added.

-
- -

KeyAdded can also be called if the keys requested for the session have already been acquired.

-
- - dn280714 - void IMFMediaKeySessionNotify::KeyAdded() - IMFMediaKeySessionNotify::KeyAdded -
- - -

Notifies the application that an error occurred while processing the key.

-
-
-
- - dn280715 - void IMFMediaKeySessionNotify::KeyError([In] unsigned short code,[In] unsigned int systemCode) - IMFMediaKeySessionNotify::KeyError - - - - No documentation. - - - IMFMediaKeySessionNotify2 - IMFMediaKeySessionNotify2 - - - - Initializes a new instance of the 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. - - void IMFMediaKeySessionNotify2::KeyMessage2([In] MF_MEDIAKEYSESSION_MESSAGETYPE eMessageType,[In, Optional] wchar_t* destinationURL,[In, Buffer] const unsigned char* pbMessage,[In] unsigned int cbMessage) - IMFMediaKeySessionNotify2::KeyMessage2 - - - - No documentation. - - - void IMFMediaKeySessionNotify2::KeyStatusChange() - IMFMediaKeySessionNotify2::KeyStatusChange - - - - No documentation. - - - IMFMediaKeySystemAccess - IMFMediaKeySystemAccess - - - - Initializes a new instance of the 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. - - - get_SupportedConfiguration - get_SupportedConfiguration - HRESULT IMFMediaKeySystemAccess::get_SupportedConfiguration([Out] IPropertyStore** ppSupportedConfiguration) - - - - No documentation. - - No documentation. - No documentation. - No documentation. - - HRESULT IMFMediaKeySystemAccess::CreateMediaKeys([In, Optional] IPropertyStore* pCdmCustomConfig,[Out] IMFMediaKeys2** ppKeys) - IMFMediaKeySystemAccess::CreateMediaKeys - - - - No documentation. - - No documentation. - No documentation. - - HRESULT IMFMediaKeySystemAccess::get_SupportedConfiguration([Out] IPropertyStore** ppSupportedConfiguration) - IMFMediaKeySystemAccess::get_SupportedConfiguration - - - - No documentation. - - No documentation. - No documentation. - - HRESULT IMFMediaKeySystemAccess::get_KeySystem([Out] wchar_t** pKeySystem) - IMFMediaKeySystemAccess::get_KeySystem - - - -

Provides playback controls for protected and unprotected content. The Media Session and the protected media path (PMP) session objects expose this interface. This interface is the primary interface that applications use to control the Media Foundation pipeline.

To obtain a reference to this interface, call or .

-
- - ms705662 - IMFMediaSession - IMFMediaSession -
- - - Initializes a new instance of the 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 Media Session's presentation clock.

-
- -

The application can query the returned reference for the interface. However, the application should not use this interface to control the state of the presentation clock. Instead, the application should always call the transport control methods on the Media Session's interface, such as Start, Stop, and Pause.

-
- - bb970342 - GetClock - GetClock - HRESULT IMFMediaSession::GetClock([Out] IMFClock** ppClock) -
- - -

Retrieves the capabilities of the Media Session, based on the current presentation.

-
- - ms696229 - GetSessionCapabilities - GetSessionCapabilities - HRESULT IMFMediaSession::GetSessionCapabilities([Out] unsigned int* pdwCaps) -
- - -

Sets a topology on the Media Session.

-
-

Bitwise OR of zero or more flags from the enumeration.

-

Pointer to the topology object's interface.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The operation cannot be performed in the Media Session's current state.

The Media Session has been shut down.

The topology has invalid values for one or more of the following attributes:

NS_E_DRM_DEBUGGING_NOT_ALLOWED

Protected content cannot be played while debugging.

?

- -

If pTopology is a full topology, set the flag in the dwSetTopologyFlags parameter. Otherwise, the topology is assumed to be a partial topology. The Media Session uses the topology loader to resolve a partial topology into a full topology.

If the Media Session is currently paused or stopped, the SetTopology method does not take effect until the next call to .

If the Media Session is currently running, or on the next call to Start, the SetTopology method does the following:

  • If the flag is set in dwSetTopologyFlags, the Media Session ends the current presentation immediately, clears all pending topologies, and uses pTopology to start a new presentation.
  • Otherwise, the Media Session queues pTopology and starts the new presentation when the current presentation has completed. If there is no current presentation, the new presentation starts immediately.
  • Starting in Windows?7, you can also specify the flag to clear the current topology but leave any other pending topologies on the queue.

This method is asynchronous. If the method returns , the Media Session sends an event when the operation completes. If the Media Session is currently paused to stopped, the Media Session does not send the event until the next call to

-
- - ms704785 - HRESULT IMFMediaSession::SetTopology([In] MFSESSION_SETTOPOLOGY_FLAGS dwSetTopologyFlags,[In, Optional] IMFTopology* pTopology) - IMFMediaSession::SetTopology -
- - -

Clears all of the presentations that are queued for playback in the Media Session.

-
-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The operation cannot be performed in the Media Session's current state.

The Media Session has been shut down.

?

- -

This method is asynchronous. When the operation completes, the Media Session sends an event.

This method does not clear the current topology; it only removes topologies that are placed in the queue, waiting for playback. To remove the current topology, call with the flag.

-
- - ms705648 - HRESULT IMFMediaSession::ClearTopologies() - IMFMediaSession::ClearTopologies -
- - -

Starts the Media Session.

-
-

Pointer to a that specifies the time format for the pvarStartPosition parameter. This parameter can be null. The value null is equivalent to passing in GUID_NULL.

The following time format GUIDs are defined:

ValueMeaning
GUID_NULL

Presentation time. The pvarStartPosition parameter must have one of the following types.

  • VT_I8: The pvarStartPosition parameter contains the starting position in 100-nanosecond units, relative to the start of the presentation.
  • VT_EMPTY: Playback starts from the current position.

All media sources support this time format.

MF_TIME_FORMAT_SEGMENT_OFFSET

Segment offset. This time format is supported by the Sequencer Source. The starting time is an offset within a segment.

Call the function to create the value for the pvarStartPosition parameter.

MF_TIME_FORMAT_ENTRY_RELATIVE
Note??Requires Windows?7 or later. ?

Skip to a playlist entry. The pvarStartPosition parameter specifies the index of the playlist entry, relative to the current entry. For example, the value 2 skips forward two entries. To skip backward, pass a negative value. The type is VT_I4.

If a media source supports this time format, the method returns one or both of the following flags:

?

-

Pointer to a that specifies the starting position for playback. The meaning and data type of this parameter are indicated by the pguidTimeFormat parameter.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The operation cannot be performed in the Media Session's current state.

The Media Session has been shut down.

?

- -

When this method is called, the Media Session starts the presentation clock and begins to process media samples.

This method is asynchronous. When the method completes, the Media Session sends an event.

-
- - ms694908 - HRESULT IMFMediaSession::Start([In, Optional] const GUID* pguidTimeFormat,[In, Optional] const PROPVARIANT* pvarStartPosition) - IMFMediaSession::Start -
- - -

Pauses the Media Session.

-
-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The operation cannot be performed in the Media Session's current state.

The Media Session has been shut down.

The Media Session cannot pause while stopped.

?

- -

This method pauses the presentation clock.

This method is asynchronous. When the operation completes, the Media Session sends an event.

This method fails if the Media Session is stopped.

-
- - ms705650 - HRESULT IMFMediaSession::Pause() - IMFMediaSession::Pause -
- - -

Stops the Media Session.

-
-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The operation cannot be performed in the Media Session's current state.

The Media Session has been shut down.

?

- -

This method is asynchronous. When the operation completes, the Media Session sends an event.

-
- - ms701607 - HRESULT IMFMediaSession::Stop() - IMFMediaSession::Stop -
- - -

Closes the Media Session and releases all of the resources it is using.

-
-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The Media Session has been shut down.

?

- -

This method is asynchronous. When the operation completes, the Media Session sends an event.

After the Close method is called, the only valid methods on the Media Session are the following:

All other methods return , or else queue an event with that error code.

-
- - ms698928 - HRESULT IMFMediaSession::Close() - IMFMediaSession::Close -
- - -

Shuts down the Media Session and releases all the resources used by the Media Session.

-
-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

Call this method when you are done using the Media Session, before the final call to IUnknown::Release. Otherwise, your application will leak memory.

After this method is called, other methods return .

-
- - ms697318 - HRESULT IMFMediaSession::Shutdown() - IMFMediaSession::Shutdown -
- - -

Retrieves the Media Session's presentation clock.

-
-

Receives a reference to the presentation clock's interface. The caller must release the interface.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_UNEXPECTED

The Media Session does not have a presentation clock.

The Media Session has been shut down.

?

- -

The application can query the returned reference for the interface. However, the application should not use this interface to control the state of the presentation clock. Instead, the application should always call the transport control methods on the Media Session's interface, such as Start, Stop, and Pause.

-
- - bb970342 - HRESULT IMFMediaSession::GetClock([Out] IMFClock** ppClock) - IMFMediaSession::GetClock -
- - -

Retrieves the capabilities of the Media Session, based on the current presentation.

-
-

Receives a bitwise OR of zero or more of the following flags.

ValueMeaning
MFSESSIONCAP_PAUSE

The Media Session can be paused.

MFSESSIONCAP_RATE_FORWARD

The Media Session supports forward playback at rates faster than 1.0.

MFSESSIONCAP_RATE_REVERSE

The Media Session supports reverse playback.

MFSESSIONCAP_SEEK

The Media Session can be seeked.

MFSESSIONCAP_START

The Media Session can be started.

?

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_POINTER

null reference argument.

The Media Session has been shut down.

?

- - ms696229 - HRESULT IMFMediaSession::GetSessionCapabilities([Out] unsigned int* pdwCaps) - IMFMediaSession::GetSessionCapabilities -
- - -

Gets a topology from the Media Session.

This method can get the current topology or a queued topology.

-
-

Bitwise OR of zero or more flags from the enumeration.

-

The identifier of the topology. This parameter is ignored if the dwGetFullTopologyFlags parameter contains the flag. To get the identifier of a topology, call .

-

Receives a reference to the interface of the topology. The caller must release the interface.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The Media Session has been shut down.

?

- -

If the flag is specified in the dwGetFullTopologyFlags parameter, the method returns the topology for the current presentation. Otherwise, the method searches all of the queued topologies for one that matches the identifier given in the TopoId parameter.

This method can be used to retrieve the topology for the current presentation or any pending presentations. It cannot be used to retrieve a topology that has already ended.

The topology returned in ppFullTopo is a full topology, not a partial topology.

-
- - bb970422 - HRESULT IMFMediaSession::GetFullTopology([In] unsigned int dwGetFullTopologyFlags,[In] unsigned longlong TopoId,[Out] IMFTopology** ppFullTopology) - IMFMediaSession::GetFullTopology -
- - -

Implemented by media sink objects. This interface is the base interface for all Media Foundation media sinks. Stream sinks handle the actual processing of data on each stream.

-
- - ms694262 - IMFMediaSink - IMFMediaSink -
- - - Initializes a new instance of the 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 characteristics of the media sink.

-
- -

The characteristics of a media sink are fixed throughout the life time of the sink.

-
- - ms701973 - GetCharacteristics - GetCharacteristics - HRESULT IMFMediaSink::GetCharacteristics([Out] unsigned int* pdwCharacteristics) -
- - -

Gets the number of stream sinks on this media sink.

-
- - ms703020 - GetStreamSinkCount - GetStreamSinkCount - HRESULT IMFMediaSink::GetStreamSinkCount([Out] unsigned int* pcStreamSinkCount) -
- - -

Gets the presentation clock that was set on the media sink.

-
- - ms705665 - GetPresentationClock / SetPresentationClock - GetPresentationClock - HRESULT IMFMediaSink::GetPresentationClock([Out] IMFPresentationClock** ppPresentationClock) -
- - -

Gets the characteristics of the media sink.

-
-

Receives a bitwise OR of zero or more flags. The following flags are defined:

ValueMeaning
MEDIASINK_FIXED_STREAMS
0x00000001

The media sink has a fixed number of streams. It does not support the and methods. This flag is a hint to the application.

MEDIASINK_CANNOT_MATCH_CLOCK
0x00000002

The media sink cannot match rates with an external clock.

For best results, this media sink should be used as the time source for the presentation clock. If any other time source is used, the media sink cannot match rates with the clock, with poor results (for example, glitching).

This flag should be used sparingly, because it limits how the pipeline can be configured.

For more information about the presentation clock, see Presentation Clock.

MEDIASINK_RATELESS
0x00000004

The media sink is rateless. It consumes samples as quickly as possible, and does not synchronize itself to a presentation clock.

Most archiving sinks are rateless.

MEDIASINK_CLOCK_REQUIRED
0x00000008

The media sink requires a presentation clock. The presentation clock is set by calling the media sink's method.

This flag is obsolete, because all media sinks must support the SetPresentationClock method, even if the media sink ignores the clock (as in a rateless media sink).

MEDIASINK_CAN_PREROLL
0x00000010

The media sink can accept preroll samples before the presentation clock starts. The media sink exposes the interface.

MEDIASINK_REQUIRE_REFERENCE_MEDIATYPE
0x00000020

The first stream sink (index 0) is a reference stream. The reference stream must have a media type before the media types can be set on the other stream sinks.

?

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The media sink's Shutdown method has been called.

?

- -

The characteristics of a media sink are fixed throughout the life time of the sink.

-
- - ms701973 - HRESULT IMFMediaSink::GetCharacteristics([Out] unsigned int* pdwCharacteristics) - IMFMediaSink::GetCharacteristics -
- - -

Adds a new stream sink to the media sink.

-
-

Identifier for the new stream. The value is arbitrary but must be unique.

-

Pointer to the interface, specifying the media type for the stream. This parameter can be null.

-

Receives a reference to the new stream sink's interface. The caller must release the interface.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The specified stream identifier is not valid.

The media sink's Shutdown method has been called.

There is already a stream sink with the same stream identifier.

This media sink has a fixed set of stream sinks. New stream sinks cannot be added.

?

- -

Not all media sinks support this method. If the media sink does not support this method, the method returns the MEDIASINK_FIXED_STREAMS flag.

If pMediaType is null, use the interface to set the media type. Call to get a reference to the interface.

-
- - ms694890 - HRESULT IMFMediaSink::AddStreamSink([In] unsigned int dwStreamSinkIdentifier,[In, Optional] IMFMediaType* pMediaType,[Out] IMFStreamSink** ppStreamSink) - IMFMediaSink::AddStreamSink -
- - -

Removes a stream sink from the media sink.

-
-

Identifier of the stream to remove. The stream identifier is defined when you call to add the stream sink.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_INVALIDARG

This particular stream sink cannot be removed.

The stream number is not valid.

The media sink has not been initialized.

The media sink's Shutdown method has been called.

This media sink has a fixed set of stream sinks. Stream sinks cannot be removed.

?

- -

After this method is called, the corresponding stream sink object is no longer valid. The and methods will no longer return that stream sink. You can re-use the stream identifier if you add another stream (by calling AddStreamSink).

Not all media sinks support this method. If the media sink does not support this method, the method returns the MEDIASINK_FIXED_STREAMS flag.

In some cases, the media sink supports this method but does not allow every stream sink to be removed. (For example, it might not allow stream 0 to be removed.)

-
- - ms705627 - HRESULT IMFMediaSink::RemoveStreamSink([In] unsigned int dwStreamSinkIdentifier) - IMFMediaSink::RemoveStreamSink -
- - -

Gets the number of stream sinks on this media sink.

-
-

Receives the number of stream sinks.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The media sink's Shutdown method has been called.

?

- - ms703020 - HRESULT IMFMediaSink::GetStreamSinkCount([Out] unsigned int* pcStreamSinkCount) - IMFMediaSink::GetStreamSinkCount -
- - -

Gets a stream sink, specified by index.

-
-

Zero-based index of the stream. To get the number of streams, call .

-

Receives a reference to the stream's interface. The caller must release the interface.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

Invalid index.

The media sink's Shutdown method has been called.

?

- -

Enumerating stream sinks is not a thread-safe operation, because stream sinks can be added or removed between calls to this method.

-
- - ms693512 - HRESULT IMFMediaSink::GetStreamSinkByIndex([In] unsigned int dwIndex,[Out] IMFStreamSink** ppStreamSink) - IMFMediaSink::GetStreamSinkByIndex -
- - -

Gets a stream sink, specified by stream identifier.

-
-

Stream identifier of the stream sink.

-

Receives a reference to the stream's interface. The caller must release the interface.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The stream identifier is not valid.

The media sink's Shutdown method has been called.

?

- -

If you add a stream sink by calling the method, the stream identifier is specified in the dwStreamSinkIdentifier parameter of that method. If the media sink has a fixed set of streams, the media sink assigns the stream identifiers.

To enumerate the streams by index number instead of stream identifier, call .

-
- - ms695360 - HRESULT IMFMediaSink::GetStreamSinkById([In] unsigned int dwStreamSinkIdentifier,[Out] IMFStreamSink** ppStreamSink) - IMFMediaSink::GetStreamSinkById -
- - -

Sets the presentation clock on the media sink.

-
-

Pointer to the interface of the presentation clock, or null. If the value is null, the media sink stops listening to the presentaton clock that was previously set, if any.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The presentation clock does not have a time source. Call SetTimeSource on the presentation clock.

The media sink's Shutdown method has been called.

?

- -

During streaming, the media sink attempts to match rates with the presentation clock. Ideally, the media sink presents samples at the correct time according to the presentation clock and does not fall behind. Rateless media sinks are an exception to this rule, as they consume samples as quickly as possible and ignore the clock. If the sink is rateless, the method returns the MEDIASINK_RATELESS flag.

The presentation clock must have a time source. Before calling this method, call on the presentation clock to set the presentation time source. Some media sinks provide time sources; therefore, the media sink might be the time source for its own presentation clock. Regardless of what object provides the time source, however, the media sink must attempt to match rates with the clock specified in pPresentationClock. If a media sink cannot match rates with an external time source, the media sink's method retrieves the MEDIASINK_CANNOT_MATCH_CLOCK flag. In this case, SetPresentationClock will still succeed, but the results will not be optimal. The sink might not render samples quickly enough to match rates with the presentation clock.

If pPresentationClock is non-null, the media sink must register for clock state notifications, by calling on the presentation clock. If the method is called again with a new presentation clock, or if pPresentationClock is null, the media sink must call to deregister itself from the previous clock.

All media sinks must support this method.

-
- - ms700160 - HRESULT IMFMediaSink::SetPresentationClock([In, Optional] IMFPresentationClock* pPresentationClock) - IMFMediaSink::SetPresentationClock -
- - -

Gets the presentation clock that was set on the media sink.

-
-

Receives a reference to the presentation clock's interface. The caller must release the interface.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

No clock has been set. To set the presentation clock, call .

The media sink's Shutdown method has been called.

?

- - ms705665 - HRESULT IMFMediaSink::GetPresentationClock([Out] IMFPresentationClock** ppPresentationClock) - IMFMediaSink::GetPresentationClock -
- - -

Shuts down the media sink and releases the resources it is using.

-
-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The media sink was shut down.

?

- -

If the application creates the media sink, it is responsible for calling Shutdown to avoid memory or resource leaks. In most applications, however, the application creates an activation object for the media sink, and the Media Session uses that object to create the media sink. In that case, the Media Session ? not the application ? shuts down the media sink. (For more information, see Activation Objects.)

After this method returns, all methods on the media sink return , except for methods and methods. The sink will not raise any events after this method is called.

-
- - ms702084 - HRESULT IMFMediaSink::Shutdown() - IMFMediaSink::Shutdown -
- - -

Enables a media sink to receive samples before the presentation clock is started.

To get a reference to this interface, call QueryInterface on the media sink.

-
- -

Media sinks can implement this interface to support seamless playback and transitions. If a media sink exposes this interface, it can receive samples before the presentation clock starts. It can then pre-process the samples, so that rendering can begin immediately when the clock starts. Prerolling helps to avoid glitches during playback.

If a media sink supports preroll, the media sink's method should return the MEDIASINK_CAN_PREROLL flag.

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

Notifies the media sink that the presentation clock is about to start.

-
-

The upcoming start time for the presentation clock, in 100-nanosecond units. This time is the same value that will be given to the method when the presentation clock is started.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

After this method is called, the media sink sends any number of events to request samples, until is has enough preroll data. When it has enough preroll data, the media sink sends an event. This event signals that the client can start the presentation clock.

During preroll, the media sink can prepare the samples that it receives, so that they are ready to be rendered. It does not actually render any samples until the clock starts.

-
- - ms703799 - HRESULT IMFMediaSinkPreroll::NotifyPreroll([In] longlong hnsUpcomingStartTime) - IMFMediaSinkPreroll::NotifyPreroll -
- - -

Implemented by media source objects.

Media sources are objects that generate media data. For example, the data might come from a video file, a network stream, or a hardware device, such as a camera. Each media source contains one or more streams, and each stream delivers data of one type, such as audio or video.

-
- -

In Windows?8, this interface is extended with .

-
- - ms700189 - IMFMediaSource - IMFMediaSource -
- - - Initializes a new instance of the 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 characteristics of the media source.

-
- -

The characteristics of a media source can change at any time. If this happens, the source sends an event.

-
- - ms703148 - GetCharacteristics - GetCharacteristics - HRESULT IMFMediaSource::GetCharacteristics([Out] unsigned int* pdwCharacteristics) -
- - -

Retrieves the characteristics of the media source.

-
-

Receives a bitwise OR of zero or more flags from the enumeration.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The media source's Shutdown method has been called.

?

- -

The characteristics of a media source can change at any time. If this happens, the source sends an event.

-
- - ms703148 - HRESULT IMFMediaSource::GetCharacteristics([Out] unsigned int* pdwCharacteristics) - IMFMediaSource::GetCharacteristics -
- - -

Retrieves a copy of the media source's presentation descriptor. Applications use the presentation descriptor to select streams and to get information about the source content.

-
-

Receives a reference to the presentation descriptor's interface. The caller must release the interface.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The media source's Shutdown method has been called.

?

- -

The presentation descriptor contains the media source's default settings for the presentation. The application can change these settings by selecting or deselecting streams, or by changing the media type on a stream. Do not modify the presentation descriptor unless the source is stopped. The changes take affect when the source's method is called.

-
- - ms702261 - HRESULT IMFMediaSource::CreatePresentationDescriptor([Out] IMFPresentationDescriptor** ppPresentationDescriptor) - IMFMediaSource::CreatePresentationDescriptor -
- - -

Starts, seeks, or restarts the media source by specifying where to start playback.

-
-

Pointer to the interface of the media source's presentation descriptor. To get the presentation descriptor, call . You can modify the presentation descriptor before calling Start, to select or deselect streams or change the media types.

-

Pointer to a that specifies the time format. The time format defines the units for the pvarStartPosition parameter. If the value is GUID_NULL, the time format is 100-nanosecond units. Some media sources might support additional time format GUIDs. This parameter can be null. If the value is null, it is equalivent to GUID_NULL.

-

Specifies where to start playback. The units of this parameter are indicated by the time format given in pguidTimeFormat. If the time format is GUID_NULL, the variant type must be VT_I8 or VT_EMPTY. Use VT_I8 to specify a new starting position, in 100-nanosecond units. Use VT_EMPTY to start from the current position. Other time formats might use other types.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The start position is past the end of the presentation (ASF media source).

A hardware device was unable to start streaming. This error code can be returned by a media source that represents a hardware device, such as a camera. For example, if the camera is already being used by another application, the method might return this error code.

The start request is not valid. For example, the start position is past the end of the presentation.

The media source's Shutdown method has been called.

The media source does not support the time format specified in pguidTimeFormat.

?

- -

This method is asynchronous. If the operation succeeds, the media source sends the following events:

  • For each new stream, the source sends an event. This event is sent for the first Start call in which the stream appears. The event data is a reference to the stream's interface.
  • For each updated stream, the source sends an event. A stream is updated if the stream already existed when Start was called (for example, if the application seeks during playback). The event data is a reference to the stream's interface.
  • If the previous state was stopped, the source sends an event.
  • If the previous state was started or paused and the starting position is the current position (VT_EMPTY), the source sends an event.
  • If the previous state was started or paused, and a new starting position is specified, the source sends an event.
  • If the source sends an event, each media stream sends an event. If the source sends an event, each stream sends an event.

If the start operation fails asynchronously (after the method returns ), the media source sends an event that contains a failure code, without sending any of the other events listed here. If the method fails synchronously (returns an error code), no events are raised.

A call to Start results in a seek if the previous state was started or paused, and the new starting position is not VT_EMPTY. Not every media source can seek. If a media source can seek, the method returns the flag.

Events from the media source are not synchronized with events from the media streams. If you seek a media source, therefore, you can still receive samples from the earlier position after getting the event. If you need to synchronize the operations, wait for the stream event, , which marks the exact point in the stream where the seek occurs.

-
- - ms694101 - HRESULT IMFMediaSource::Start([In, Optional] IMFPresentationDescriptor* pPresentationDescriptor,[In, Optional] const GUID* pguidTimeFormat,[In, Optional] const PROPVARIANT* pvarStartPosition) - IMFMediaSource::Start -
- - -

Stops all active streams in the media source.

-
-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The media source's Shutdown method has been called.

?

- -

This method is asynchronous. When the operation completes, the media source sends and event, and every active stream sends an event. If the method returns a failure code, no events are raised.

When a media source is stopped, its current position reverts to zero. After that, if the Start method is called with VT_EMPTY for the starting position, playback starts from the beginning of the presentation.

While the source is stopped, no streams produce data.

-
- - ms702045 - HRESULT IMFMediaSource::Stop() - IMFMediaSource::Stop -
- - -

Pauses all active streams in the media source.

-
-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

Invalid state transition. The media source must be in the started state.

The media source's Shutdown method has been called.

?

- -

This method is asynchronous. When the operation completes, the media source sends and event, and every active stream sends an event. If the method returns a failure code, no events are raised.

The media source must be in the started state. The method fails if the media source is paused or stopped.

While the source is paused, calls to succeed, but the streams will not deliver any samples until after the source is started again. Note that the source's event queue is not serialized with the stream event queues, so the client might receive some samples after the event, due to multi-threading issues. But the client will not receive any samples from a stream after the event.

Not every media source can pause. If a media source can pause, the method returns the flag.

-
- - ms694275 - HRESULT IMFMediaSource::Pause() - IMFMediaSource::Pause -
- - -

Shuts down the media source and releases the resources it is using.

-
-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

If the application creates the media source, either directly or through the source resolver, the application is responsible for calling Shutdown to avoid memory or resource leaks.

After this method is called, methods on the media source and all of its media streams return (except for methods).

-
- - ms703110 - HRESULT IMFMediaSource::Shutdown() - IMFMediaSource::Shutdown -
- - - No documentation. - - - IMFMediaSource2 - IMFMediaSource2 - - - - Initializes a new instance of the 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 IMFMediaSource2::SetMediaType([In] unsigned int dwStreamID,[In] IMFMediaType* pMediaType) - IMFMediaSource2::SetMediaType - - - -

Extends the interface to provide additional capabilities for a media source.

To get a reference to this interface, call QueryInterface on the media source.

-
- -

Implementations of this interface can return E_NOTIMPL for any methods that are not required by the media source.

-
- - hh448029 - IMFMediaSourceEx - IMFMediaSourceEx -
- - - Initializes a new instance of the 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 attribute store for the media source.

-
- -

Use the reference to get or set attributes that apply to the entire source. For stream-level attributes, use the method instead.

-
- - hh448030 - GetSourceAttributes - GetSourceAttributes - HRESULT IMFMediaSourceEx::GetSourceAttributes([Out] IMFAttributes** ppAttributes) -
- - -

Sets a reference to the Microsoft DirectX Graphics Infrastructure (DXGI) Device Manager on the media source.

-
- - hh448032 - SetD3DManager - SetD3DManager - HRESULT IMFMediaSourceEx::SetD3DManager([In, Optional] IUnknown* pManager) -
- - -

Gets an attribute store for the media source.

-
-

Receives a reference to the interface. The caller must release the interface.

-

This method can return one of these values.

Return codeDescription

Success.

E_NOTIMPL

The media source does not support source-level attributes.

?

- -

Use the reference to get or set attributes that apply to the entire source. For stream-level attributes, use the method instead.

-
- - hh448030 - HRESULT IMFMediaSourceEx::GetSourceAttributes([Out] IMFAttributes** ppAttributes) - IMFMediaSourceEx::GetSourceAttributes -
- - -

Gets an attribute store for a stream on the media source.

-
-

The identifier of the stream. To get the identifier, call on the stream descriptor.

-

Receives a reference to the interface. The caller must release the interface.

-

This method can return one of these values.

Return codeDescription

Success.

E_NOTIMPL

The media source does not support stream-level attributes.

Invalid stream identifier.

?

- -

Use the reference to get or set attributes that apply to the specified stream. For attributes that apply to the entire source, use the method instead.

-
- - hh448031 - HRESULT IMFMediaSourceEx::GetStreamAttributes([In] unsigned int dwStreamIdentifier,[Out] IMFAttributes** ppAttributes) - IMFMediaSourceEx::GetStreamAttributes -
- - -

Sets a reference to the Microsoft DirectX Graphics Infrastructure (DXGI) Device Manager on the media source.

-
-

A reference to the interface of the DXGI Manager. The media source should query this reference for the interface.

-

This method can return one of these values.

Return codeDescription

Success.

E_NOTIMPL

The media source does not support source-level attributes.

?

- - hh448032 - HRESULT IMFMediaSourceEx::SetD3DManager([In, Optional] IUnknown* pManager) - IMFMediaSourceEx::SetD3DManager -
- - -

Provides functionality for the Media Source Extension (MSE).

-
- -

Media Source Extensions (MSE) is a World Wide Web Consortium (W3C) standard that extends the HTML5 media elements to enable dynamically changing the media stream without the use of plug-ins. The interface and the related Microsoft Win32 API implement MSE and are expected to only be called by web browsers implementing MSE.

The MSE media source keeps track of the ready state of the of the source as well as a list of objects which provide media data for the source.

-
- - dn280726 - IMFMediaSourceExtension - IMFMediaSourceExtension -
- - - Initializes a new instance of the 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 collection of source buffers associated with this media source.

-
- - dn280736 - GetSourceBuffers - GetSourceBuffers - IMFSourceBufferList* IMFMediaSourceExtension::GetSourceBuffers() -
- - -

Gets the source buffers that are actively supplying media data to the media source.

-
- - dn280732 - GetActiveSourceBuffers - GetActiveSourceBuffers - IMFSourceBufferList* IMFMediaSourceExtension::GetActiveSourceBuffers() -
- - -

Gets the ready state of the media source.

-
- - dn280734 - GetReadyState - GetReadyState - MF_MSE_READY IMFMediaSourceExtension::GetReadyState() -
- - -

Gets or sets the duration of the media source in 100-nanosecond units.

-
- - dn280733 - GetDuration / SetDuration - GetDuration - double IMFMediaSourceExtension::GetDuration() -
- - -

Indicate that the end of the media stream has been reached.

-
- - dn280740 - SetEndOfStream - SetEndOfStream - HRESULT IMFMediaSourceExtension::SetEndOfStream([In] MF_MSE_ERROR error) -
- - -

Gets the collection of source buffers associated with this media source.

-
-

The collection of source buffers.

- - dn280736 - IMFSourceBufferList* IMFMediaSourceExtension::GetSourceBuffers() - IMFMediaSourceExtension::GetSourceBuffers -
- - -

Gets the source buffers that are actively supplying media data to the media source.

-
-

The list of active source buffers.

- - dn280732 - IMFSourceBufferList* IMFMediaSourceExtension::GetActiveSourceBuffers() - IMFMediaSourceExtension::GetActiveSourceBuffers -
- - -

Gets the ready state of the media source.

-
-

The ready state of the media source.

- - dn280734 - MF_MSE_READY IMFMediaSourceExtension::GetReadyState() - IMFMediaSourceExtension::GetReadyState -
- - -

Gets the duration of the media source in 100-nanosecond units.

-
-

The duration of the media source in 100-nanosecond units.

- - dn280733 - double IMFMediaSourceExtension::GetDuration() - IMFMediaSourceExtension::GetDuration -
- - -

Sets the duration of the media source in 100-nanosecond units.

-
-

The duration of the media source in 100-nanosecond units.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn280739 - HRESULT IMFMediaSourceExtension::SetDuration([In] double duration) - IMFMediaSourceExtension::SetDuration -
- - -

Adds a to the collection of buffers associated with the .

-
- No documentation. - No documentation. - No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn280731 - HRESULT IMFMediaSourceExtension::AddSourceBuffer([In] wchar_t* type,[In] IMFSourceBufferNotify* pNotify,[Out] IMFSourceBuffer** ppSourceBuffer) - IMFMediaSourceExtension::AddSourceBuffer -
- - -

Removes the specified source buffer from the collection of source buffers managed by the object.

-
- No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn280738 - HRESULT IMFMediaSourceExtension::RemoveSourceBuffer([In] IMFSourceBuffer* pSourceBuffer) - IMFMediaSourceExtension::RemoveSourceBuffer -
- - -

Indicate that the end of the media stream has been reached.

-
-

Used to pass error information.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn280740 - HRESULT IMFMediaSourceExtension::SetEndOfStream([In] MF_MSE_ERROR error) - IMFMediaSourceExtension::SetEndOfStream -
- - -

Gets a value that indicates if the specified MIME type is supported by the media source.

-
-

The media type to check support for.

-

true if the media type is supported; otherwise, false.

- - dn280737 - BOOL IMFMediaSourceExtension::IsTypeSupported([In] wchar_t* type) - IMFMediaSourceExtension::IsTypeSupported -
- - -

Gets the at the specified index in the collection of buffers.

-
- No documentation. -

The source buffer.

- - dn280735 - IMFSourceBuffer* IMFMediaSourceExtension::GetSourceBuffer([In] unsigned int dwStreamIndex) - IMFMediaSourceExtension::GetSourceBuffer -
- - -

Provides functionality for raising events associated with .

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

Used to indicate that the media source has opened.

-
- - dn280730 - void IMFMediaSourceExtensionNotify::OnSourceOpen() - IMFMediaSourceExtensionNotify::OnSourceOpen -
- - -

Used to indicate that the media source has ended.

-
- - dn280729 - void IMFMediaSourceExtensionNotify::OnSourceEnded() - IMFMediaSourceExtensionNotify::OnSourceEnded -
- - -

Used to indicate that the media source has closed.

-
- - dn280728 - void IMFMediaSourceExtensionNotify::OnSourceClose() - IMFMediaSourceExtensionNotify::OnSourceClose -
- - -

Notifies the source when playback has reached the end of a segment. For timelines, this corresponds to reaching a mark-out point.

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

Notifies the source when playback has reached the end of a segment. For timelines, this corresponds to reaching a mark-out point.

-
-

Pointer to the interface of the presentation descriptor for the segment that has ended.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - ms705639 - HRESULT IMFMediaSourcePresentationProvider::ForceEndOfPresentation([In, Optional] IMFPresentationDescriptor* pPresentationDescriptor) - IMFMediaSourcePresentationProvider::ForceEndOfPresentation -
- - -

Enables an application to get a topology from the sequencer source. This interface is exposed by the sequencer source object.

-
- - ms699013 - IMFMediaSourceTopologyProvider - IMFMediaSourceTopologyProvider -
- - - Initializes a new instance of the 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 topology for a media source that builds an internal topology.

-
-

A reference to the interface of the media source's presentation descriptor. To get this reference, either call on the media source, or get the reference from the event.

-

Receives a reference to the topology's interface. The caller must release the interface.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_INVALIDARG

Invalid argument. For example, a null input parameter, or the presentation descriptor is not valid.

?

- - bb970383 - HRESULT IMFMediaSourceTopologyProvider::GetMediaSourceTopology([In, Optional] IMFPresentationDescriptor* pPresentationDescriptor,[Out] IMFTopology** ppTopology) - IMFMediaSourceTopologyProvider::GetMediaSourceTopology -
- - -

Represents one stream in a media source.

-
- -

Streams are created when a media source is started. For each stream, the media source sends an event with a reference to the stream's interface.

-
- - ms697561 - IMFMediaStream - IMFMediaStream -
- - - Initializes a new instance of the 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 reference to the media source that created this media stream.

-
- - ms705668 - GetMediaSource - GetMediaSource - HRESULT IMFMediaStream::GetMediaSource([Out] IMFMediaSource** ppMediaSource) -
- - -

Retrieves a stream descriptor for this media stream.

-
- -

Do not modify the stream descriptor. To change the presentation, call and modify the presentation descriptor.

-
- - ms697244 - GetStreamDescriptor - GetStreamDescriptor - HRESULT IMFMediaStream::GetStreamDescriptor([Out] IMFStreamDescriptor** ppStreamDescriptor) -
- - -

Retrieves a reference to the media source that created this media stream.

-
-

Receives a reference to the interface of the media source. The caller must release the interface.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The media source's Shutdown method has been called.

?

- - ms705668 - HRESULT IMFMediaStream::GetMediaSource([Out] IMFMediaSource** ppMediaSource) - IMFMediaStream::GetMediaSource -
- - -

Retrieves a stream descriptor for this media stream.

-
-

Receives a reference to the interface. The caller must release the interface.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The media source's Shutdown method has been called.

?

- -

Do not modify the stream descriptor. To change the presentation, call and modify the presentation descriptor.

-
- - ms697244 - HRESULT IMFMediaStream::GetStreamDescriptor([Out] IMFStreamDescriptor** ppStreamDescriptor) - IMFMediaStream::GetStreamDescriptor -
- - -

Requests a sample from the media source.

-
-

Pointer to the interface to an object that is used as a token for the request. The caller must implement this object. This parameter can be null. See Remarks.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The end of the stream was reached.

The media source is stopped.

The source's Shutdown method has been called.

?

- -

If pToken is not null, the media stream calls AddRef on pToken and places the token in a first-in, first-out queue.

When the next sample is available, the media stream stream does the following:

  1. Pulls the first token from the queue.
  2. Sets the attribute on the media sample. The attribute data is a reference to the token object.
  3. Sends an event. The event data is a reference to the media sample's interface.
  4. Calls Release on the token.

If the media stream cannot fulfill the caller's request for a sample, it simply releases the token object and skips steps 2 and 3.

The caller should monitor the reference count on the request token. If the media stream sends an event, get the attribute from the sample and match the attribute value against the token. If the token's reference count falls to zero and you did not receive an event, it means that the request was dropped.

Because the Media Foundation pipeline is multithreaded, the source's RequestSample method might get called after the source has stopped. If the media source is stopped, the method should return . The pipeline does not treat this return code as an error condition. If the source returns any other error code, the pipeline treats it as fatal error and halts the session.

Note??Earlier versions of the documentation listed the wrong error code for this case.?

If the media source is paused, the method succeeds, but the stream does not deliver the sample until the source is started again.

If a media source enounters an error asynchronously while processing data, it should signal the error in one of the following ways (but not both):

  • Return an error code from the next RequestSample call.
  • Send an event.
-
- - ms696240 - HRESULT IMFMediaStream::RequestSample([In] IUnknown* pToken) - IMFMediaStream::RequestSample -
- - - No documentation. - - - IMFMediaStream2 - IMFMediaStream2 - - - - Initializes a new instance of the 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. - - - GetStreamState / SetStreamState - GetStreamState - HRESULT IMFMediaStream2::GetStreamState([Out] MF_STREAM_STATE* value) - - - - No documentation. - - No documentation. - No documentation. - - HRESULT IMFMediaStream2::SetStreamState([In] MF_STREAM_STATE value) - IMFMediaStream2::SetStreamState - - - - No documentation. - - No documentation. - No documentation. - - HRESULT IMFMediaStream2::GetStreamState([Out] MF_STREAM_STATE* value) - IMFMediaStream2::GetStreamState - - - -

Represents a request for a sample from a MediaStreamSource.

-
- -

MFMediaStreamSourceSampleRequest is implemented by the Windows.Media.Core.MediaStreamSourceSampleRequest runtime class.

-
- - dn280741 - IMFMediaStreamSourceSampleRequest - IMFMediaStreamSourceSampleRequest -
- - - Initializes a new instance of the 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 sample for the media stream source.

-
- - dn280742 - SetSample - SetSample - HRESULT IMFMediaStreamSourceSampleRequest::SetSample([In, Optional] IMFSample* value) -
- - -

Sets the sample for the media stream source.

-
-

The sample for the media stream source.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn280742 - HRESULT IMFMediaStreamSourceSampleRequest::SetSample([In, Optional] IMFSample* value) - IMFMediaStreamSourceSampleRequest::SetSample -
- - -

Represents a list of time ranges, where each range is defined by a start and end time.

-
- -

The interface corresponds to the TimeRanges interface in HTML5.

Several methods return references.

-
- - hh448033 - IMFMediaTimeRange - IMFMediaTimeRange -
- - - Initializes a new instance of the 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 time ranges contained in the object.

-
- -

This method corresponds to the TimeRanges.length attribute in HTML5.

-
- - hh448038 - GetLength - GetLength - unsigned int IMFMediaTimeRange::GetLength() -
- - -

Gets the number of time ranges contained in the object.

-
-

Returns the number of time ranges.

- -

This method corresponds to the TimeRanges.length attribute in HTML5.

-
- - hh448038 - unsigned int IMFMediaTimeRange::GetLength() - IMFMediaTimeRange::GetLength -
- - -

Gets the start time for a specified time range.

-
-

The zero-based index of the time range to query. To get the number of time ranges, call .

-

Receives the start time, in seconds.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

This method corresponds to the TimeRanges.start method in HTML5.

-
- - hh448039 - HRESULT IMFMediaTimeRange::GetStart([In] unsigned int index,[Out] double* pStart) - IMFMediaTimeRange::GetStart -
- - -

Gets the end time for a specified time range.

-
-

The zero-based index of the time range to query. To get the number of time ranges, call .

-

Receives the end time, in seconds.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

This method corresponds to the TimeRanges.end method in HTML5.

-
- - hh448037 - HRESULT IMFMediaTimeRange::GetEnd([In] unsigned int index,[Out] double* pEnd) - IMFMediaTimeRange::GetEnd -
- - -

Queries whether a specified time falls within any of the time ranges.

-
-

The time, in seconds.

-

Returns TRUE if any time range contained in this object spans the value of the time parameter. Otherwise, returns .

- -

This method returns TRUE if the following condition holds for any time range in the list:

(start <= time) && (time <= end)
-
- - hh448036 - BOOL IMFMediaTimeRange::ContainsTime([In] double time) - IMFMediaTimeRange::ContainsTime -
- - -

Adds a new range to the list of time ranges.

-
-

The start time, in seconds.

-

The end time, in seconds.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

If the new range intersects a range already in the list, the two ranges are combined. Otherwise, the new range is added to the list.

-
- - hh448034 - HRESULT IMFMediaTimeRange::AddRange([In] double startTime,[In] double endTime) - IMFMediaTimeRange::AddRange -
- - -

Clears the list of time ranges.

-
-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh448035 - HRESULT IMFMediaTimeRange::Clear() - IMFMediaTimeRange::Clear -
- - -

Represents a description of a media format.

-
- -

To create a new media type, call .

All of the information in a media type is stored as attributes. To clone a media type, call .

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms704850 - IMFMediaType - IMFMediaType -
- - - Initializes a new instance of the 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 major type of the format.

-
- -

This method is equivalent to getting the attribute from the media type.

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms701588 - GetMajorType - GetMajorType - HRESULT IMFMediaType::GetMajorType([Out] GUID* pguidMajorType) -
- - -

Queries whether the media type is a temporally compressed format. Temporal compression uses information from previously decoded samples when decompressing the current sample.

-
- -

This method returns in pfCompressed if the media type's attribute is TRUE. If the attribute is or not set, the method returns TRUE.

If the method returns TRUE in pfCompressed, it is a hint that the format has temporal compression applied to it. If the method returns , the format does not use temporal compression, although it might use intra-frame compression.

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms703821 - IsCompressedFormat - IsCompressedFormat - HRESULT IMFMediaType::IsCompressedFormat([Out] BOOL* pfCompressed) -
- - -

Gets the major type of the format.

-
-

Receives the major type . The major type describes the broad category of the format, such as audio or video. For a list of possible values, see Major Media Types.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The major type is not set.

?

- -

This method is equivalent to getting the attribute from the media type.

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms701588 - HRESULT IMFMediaType::GetMajorType([Out] GUID* pguidMajorType) - IMFMediaType::GetMajorType -
- - -

Queries whether the media type is a temporally compressed format. Temporal compression uses information from previously decoded samples when decompressing the current sample.

-
-

Receives a Boolean value. The value is TRUE if the format uses temporal compression, or if the format does not use temporal compression.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

This method returns in pfCompressed if the media type's attribute is TRUE. If the attribute is or not set, the method returns TRUE.

If the method returns TRUE in pfCompressed, it is a hint that the format has temporal compression applied to it. If the method returns , the format does not use temporal compression, although it might use intra-frame compression.

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms703821 - HRESULT IMFMediaType::IsCompressedFormat([Out] BOOL* pfCompressed) - IMFMediaType::IsCompressedFormat -
- - -

Compares two media types and determines whether they are identical. If they are not identical, the method indicates how the two formats differ.

-
-

Pointer to the interface of the media type to compare.

-

Receives a bitwise OR of zero or more flags, indicating the degree of similarity between the two media types. The following flags are defined.

ValueMeaning
MF_MEDIATYPE_EQUAL_MAJOR_TYPES
0x00000001

The major types are the same. The major type is specified by the attribute.

MF_MEDIATYPE_EQUAL_FORMAT_TYPES
0x00000002

The subtypes are the same, or neither media type has a subtype. The subtype is specified by the attribute.

MF_MEDIATYPE_EQUAL_FORMAT_DATA
0x00000004

The attributes in one of the media types are a subset of the attributes in the other, and the values of these attributes match, excluding the value of the , , and attributes.

Specifically, the method takes the media type with the smaller number of attributes and checks whether each attribute from that type is present in the other media type and has the same value (not including , , and ).

To perform other comparisons, use the method. For example, the Compare method can test for identical attributes, or test the intersection of the two attribute sets. For more information, see .

MF_MEDIATYPE_EQUAL_FORMAT_USER_DATA
0x00000008

The user data is identical, or neither media type contains user data. User data is specified by the attribute.

?

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription
S_FALSE

The types are not equal. Examine the pdwFlags parameter to determine how the types differ.

The types are equal.

E_INVALIDARG

One or both media types are invalid.

?

- -

Both of the media types must have a major type, or the method returns E_INVALIDARG.

If the method succeeds and all of the comparison flags are set in pdwFlags, the return value is . If the method succeeds but one or more comparison flags are not set, the method returns S_FALSE.

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms696980 - HRESULT IMFMediaType::IsEqual([In, Optional] IMFMediaType* pIMediaType,[Out] unsigned int* pdwFlags) - IMFMediaType::IsEqual -
- - -

Retrieves an alternative representation of the media type. Currently only the DirectShow structure is supported.

-
-

that specifies the representation to retrieve. The following values are defined.

ValueMeaning
AM_MEDIA_TYPE_REPRESENTATION

Convert the media type to a DirectShow structure. The method selects the most appropriate format structure (pbFormat).

FORMAT_MFVideoFormat

Convert the media type to a DirectShow structure with an format structure.

FORMAT_VideoInfo

Convert the media type to a DirectShow structure with a format structure.

FORMAT_VideoInfo2

Convert the media type to a DirectShow structure with a format structure.

?

-

Receives a reference to a structure that contains the representation. The method allocates the memory for the structure. The caller must release the memory by calling .

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The details of the media type do not match the requested representation.

The media type is not valid.

The media type does not support the requested representation.

?

- -

If you request a specific format structure in the guidRepresentation parameter, such as , you might lose some of the format information.

You can also use the MFInitAMMediaTypeFromMFMediaType function to convert a Media Foundation media type into a DirectShow media type.

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms695248 - HRESULT IMFMediaType::GetRepresentation([In] GUID guidRepresentation,[Out] void** ppvRepresentation) - IMFMediaType::GetRepresentation -
- - -

Retrieves an alternative representation of the media type. Currently only the DirectShow structure is supported.

-
-

that specifies the representation to retrieve. The following values are defined.

ValueMeaning
AM_MEDIA_TYPE_REPRESENTATION

Convert the media type to a DirectShow structure. The method selects the most appropriate format structure (pbFormat).

FORMAT_MFVideoFormat

Convert the media type to a DirectShow structure with an format structure.

FORMAT_VideoInfo

Convert the media type to a DirectShow structure with a format structure.

FORMAT_VideoInfo2

Convert the media type to a DirectShow structure with a format structure.

?

-

Receives a reference to a structure that contains the representation. The method allocates the memory for the structure. The caller must release the memory by calling .

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The details of the media type do not match the requested representation.

The media type is not valid.

The media type does not support the requested representation.

?

- -

If you request a specific format structure in the guidRepresentation parameter, such as , you might lose some of the format information.

You can also use the MFInitAMMediaTypeFromMFMediaType function to convert a Media Foundation media type into a DirectShow media type.

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms695248 - HRESULT IMFMediaType::FreeRepresentation([In] GUID guidRepresentation,[In] void* pvRepresentation) - IMFMediaType::FreeRepresentation -
- - - Creates an empty media type. - - -

The media type is created without any attributes.

-
- ms693861 - HRESULT MFCreateMediaType([Out] IMFMediaType** ppMFType) - MFCreateMediaType -
- - -

Applies to: desktop apps | Metro style apps

Converts a Media Foundation audio media type to a structure.

-
-

Receives the size of the structure.

-

Contains a flag from the enumeration.

- a reference to the structure. - -

If the wFormatTag member of the returned structure is , you can cast the reference to a structure.

-
- ms702177 - HRESULT MFCreateWaveFormatExFromMFMediaType([In] IMFMediaType* pMFType,[Out] void** ppWF,[Out, Optional] unsigned int* pcbSize,[In] unsigned int Flags) - MFCreateWaveFormatExFromMFMediaType -
- - -

Gets and sets media types on an object, such as a media source or media sink.

-
- -

This interface is exposed by media-type handlers.

  • For media sources, get the media-type handler from the stream descriptor by calling .
  • For media sinks, get the media-type handler by calling .

If you are implementing a custom media source or media sink, you can create a simple media-type handler by calling , or you can provide your own implementation.

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms697311 - IMFMediaTypeHandler - IMFMediaTypeHandler -
- - - Initializes a new instance of the 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 media types in the object's list of supported media types.

-
- -

To get the supported media types, call .

For a media source, the media type handler for each stream must contain at least one supported media type. For media sinks, the media type handler for each stream might contain zero media types. In that case, the application must provide the media type. To test whether a particular media type is supported, call .

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - bb970517 - GetMediaTypeCount - GetMediaTypeCount - HRESULT IMFMediaTypeHandler::GetMediaTypeCount([Out] unsigned int* pdwTypeCount) -
- - -

Retrieves the current media type of the object.

-
- -

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - bb970492 - GetCurrentMediaType / SetCurrentMediaType - GetCurrentMediaType - HRESULT IMFMediaTypeHandler::GetCurrentMediaType([Out] IMFMediaType** ppMediaType) -
- - -

Gets the major media type of the object.

-
- -

The major type identifies what kind of data is in the stream, such as audio or video. To get the specific details of the format, call .

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - bb970337 - GetMajorType - GetMajorType - HRESULT IMFMediaTypeHandler::GetMajorType([Out] GUID* pguidMajorType) -
- - -

Queries whether the object supports a specified media type.

-
-

Pointer to the interface of the media type to check.

-

Receives a reference to the interface of the closest matching media type, or receives the value null. If non-null, the caller must release the interface. This parameter can be null. See Remarks.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The object does not support this media type.

?

- -

If the object supports the media type given in pMediaType, the method returns . For a media source, it means the source can generate data that conforms to that media type. For a media sink, it means the sink can receive data that conforms to that media type. If the object does not support the media type, the method fails.

The ppMediaType parameter is optional. If the method fails, the object might use ppMediaType to return a media type that the object does support, and which closely matches the one given in pMediaType. The method is not guaranteed to return a media type in ppMediaType. If no type is returned, this parameter receives a null reference. If the method succeeds, this parameter receives a null reference. If the caller sets ppMediaType to null, this parameter is ignored.

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with SP2 and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - bb970559 - HRESULT IMFMediaTypeHandler::IsMediaTypeSupported([In] IMFMediaType* pMediaType,[Out, Optional] IMFMediaType** ppMediaType) - IMFMediaTypeHandler::IsMediaTypeSupported -
- - -

Retrieves the number of media types in the object's list of supported media types.

-
-

Receives the number of media types in the list.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

To get the supported media types, call .

For a media source, the media type handler for each stream must contain at least one supported media type. For media sinks, the media type handler for each stream might contain zero media types. In that case, the application must provide the media type. To test whether a particular media type is supported, call .

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - bb970517 - HRESULT IMFMediaTypeHandler::GetMediaTypeCount([Out] unsigned int* pdwTypeCount) - IMFMediaTypeHandler::GetMediaTypeCount -
- - -

Retrieves a media type from the object's list of supported media types.

-
-

Zero-based index of the media type to retrieve. To get the number of media types in the list, call .

-

Receives a reference to the interface. The caller must release the interface.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The dwIndex parameter is out of range.

?

- -

Media types are returned in the approximate order of preference. The list of supported types is not guaranteed to be complete. To test whether a particular media type is supported, call .

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - bb970473 - HRESULT IMFMediaTypeHandler::GetMediaTypeByIndex([In] unsigned int dwIndex,[Out] IMFMediaType** ppType) - IMFMediaTypeHandler::GetMediaTypeByIndex -
- - -

Sets the object's media type.

-
-

Pointer to the interface of the new media type.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

Invalid request.

?

- -

For media sources, setting the media type means the source will generate data that conforms to that media type. For media sinks, setting the media type means the sink can receive data that conforms to that media type.

Any implementation of this method should check whether pMediaType differs from the object's current media type. If the types are identical, the method should return but avoid releasing and recreating resources unnecessarily. If the types are not identical, the method should validate the new type.

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - bb970432 - HRESULT IMFMediaTypeHandler::SetCurrentMediaType([In] IMFMediaType* pMediaType) - IMFMediaTypeHandler::SetCurrentMediaType -
- - -

Retrieves the current media type of the object.

-
-

Receives a reference to the interface. The caller must release the interface.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

No media type is set.

?

- -

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - bb970492 - HRESULT IMFMediaTypeHandler::GetCurrentMediaType([Out] IMFMediaType** ppMediaType) - IMFMediaTypeHandler::GetCurrentMediaType -
- - -

Gets the major media type of the object.

-
-

Receives a that identifies the major type. For a list of possible values, see Major Media Types.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

The major type identifies what kind of data is in the stream, such as audio or video. To get the specific details of the format, call .

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - bb970337 - HRESULT IMFMediaTypeHandler::GetMajorType([Out] GUID* pguidMajorType) - IMFMediaTypeHandler::GetMajorType -
- - -

Retrieves a media type from the object's list of supported media types.

-
-

Zero-based index of the media type to retrieve. To get the number of media types in the list, call .

-

Receives a reference to the interface. The caller must release the interface.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The dwIndex parameter is out of range.

?

- -

Media types are returned in the approximate order of preference. The list of supported types is not guaranteed to be complete. To test whether a particular media type is supported, call .

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - bb970473 - HRESULT IMFMediaTypeHandler::GetMediaTypeByIndex([In] unsigned int dwIndex,[Out] IMFMediaType** ppType) - IMFMediaTypeHandler::GetMediaTypeByIndex -
- - -

Manages metadata for an object. Metadata is information that describes a media file, stream, or other content. Metadata consists of individual properties, where each property contains a descriptive name and a value. A property may be associated with a particular language.

To get this interface from a media source, use the interface.

-
- - ms696970 - IMFMetadata - IMFMetadata -
- - - Initializes a new instance of the 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 list of the languages in which metadata is available.

-
- -

For more information about language tags, see RFC 1766, "Tags for the Identification of Languages".

To set the current language, call .

-
- - ms698736 - GetAllLanguages - GetAllLanguages - HRESULT IMFMetadata::GetAllLanguages([Out] PROPVARIANT* ppvLanguages) -
- - -

Gets a list of all the metadata property names on this object.

-
- - ms704581 - GetAllPropertyNames - GetAllPropertyNames - HRESULT IMFMetadata::GetAllPropertyNames([Out] PROPVARIANT* ppvNames) -
- - -

Sets the language for setting and retrieving metadata.

-
-

Pointer to a null-terminated string containing an RFC 1766-compliant language tag.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

For more information about language tags, see RFC 1766, "Tags for the Identification of Languages".

-
- - ms703982 - HRESULT IMFMetadata::SetLanguage([In] const wchar_t* pwszRFC1766) - IMFMetadata::SetLanguage -
- - -

Gets the current language setting.

-
-

Receives a reference to a null-terminated string containing an RFC 1766-compliant language tag. The caller must release the string by calling CoTaskMemFree.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_NOTIMPL

The metadata provider does not support multiple languages.

No language was set.

?

- -

For more information about language tags, see RFC 1766, "Tags for the Identification of Languages."

The and methods set and get metadata for the current language setting.

-
- - ms698978 - HRESULT IMFMetadata::GetLanguage([Out] wchar_t** ppwszRFC1766) - IMFMetadata::GetLanguage -
- - -

Gets a list of the languages in which metadata is available.

-
-

A reference to a that receives the list of languages. The list is returned as an array of null-terminated wide-character strings. Each string in the array is an RFC 1766-compliant language tag.

The returned type is VT_VECTOR | VT_LPWSTR. The list might be empty, if no language tags are present. The caller must free the by calling PropVariantClear.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

For more information about language tags, see RFC 1766, "Tags for the Identification of Languages".

To set the current language, call .

-
- - ms698736 - HRESULT IMFMetadata::GetAllLanguages([Out] PROPVARIANT* ppvLanguages) - IMFMetadata::GetAllLanguages -
- - -

Sets the value of a metadata property.

-
-

Pointer to a null-terminated string containing the name of the property.

-

Pointer to a that contains the value of the property. For multivalued properties, use a with a VT_VECTOR type.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - ms696972 - HRESULT IMFMetadata::SetProperty([In] const wchar_t* pwszName,[In] const PROPVARIANT* ppvValue) - IMFMetadata::SetProperty -
- - -

Gets the value of a metadata property.

-
-

A reference to a null-terminated string that containings the name of the property. To get the list of property names, call .

-

Pointer to a that receives the value of the property. The type depends on the property. For multivalued properties, the is a VT_VECTOR type. The caller must free the by calling PropVariantClear.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The requested property was not found.

?

- - ms694844 - HRESULT IMFMetadata::GetProperty([In] const wchar_t* pwszName,[Out] PROPVARIANT* ppvValue) - IMFMetadata::GetProperty -
- - -

Deletes a metadata property.

-
-

Pointer to a null-terminated string containing the name of the property.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The property was not found.

?

- -

For a media source, deleting a property from the metadata collection does not change the original content.

-
- - ms699021 - HRESULT IMFMetadata::DeleteProperty([In] const wchar_t* pwszName) - IMFMetadata::DeleteProperty -
- - -

Gets a list of all the metadata property names on this object.

-
-

Pointer to a that receives an array of null-terminated wide-character strings. If no properties are available, the type is VT_EMPTY. Otherwise, the type is VT_VECTOR | VT_LPWSTR. The caller must free the by calling PropVariantClear.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - ms704581 - HRESULT IMFMetadata::GetAllPropertyNames([Out] PROPVARIANT* ppvNames) - IMFMetadata::GetAllPropertyNames -
- - -

Gets metadata from a media source or other object.

If a media source supports this interface, it must expose the interface as a service. To get a reference to this interface from a media source, call . The service identifier is . Other types of object can expose this interface through QueryInterface.

Use this interface to get a reference to the interface.

-
- - ms705606 - IMFMetadataProvider - IMFMetadataProvider -
- - - Initializes a new instance of the 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 collection of metadata, either for an entire presentation, or for one stream in the presentation.

-
-

Pointer to the interface of the media source's presentation descriptor.

-

If this parameter is zero, the method retrieves metadata that applies to the entire presentation. Otherwise, this parameter specifies a stream identifier, and the method retrieves metadata for that stream. To get the stream identifier for a stream, call .

-

Reserved. Must be zero.

-

Receives a reference to the interface. Use this interface to access the metadata. The caller must release the interface.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

No metadata is available for the requested stream or presentation.

?

- - ms694097 - HRESULT IMFMetadataProvider::GetMFMetadata([In, Optional] IMFPresentationDescriptor* pPresentationDescriptor,[In] unsigned int dwStreamIdentifier,[In] unsigned int dwFlags,[Out] IMFMetadata** ppMFMetadata) - IMFMetadataProvider::GetMFMetadata -
- - -

Contains data that is needed to implement the interface.

-
- -

Any custom implementation of the interface must inherit this structure. For more information, see Custom Asynchronous Result Objects.

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

Receives state-change notifications from the presentation clock.

-
- -

To receive state-change notifications from the presentation clock, implement this interface and call on the presentation clock.

This interface must be implemented by:

  • Presentation time sources. The presentation clock uses this interface to request change states from the time source.

  • Media sinks. Media sinks use this interface to get notifications when the presentation clock changes.

Other objects that need to be notified can implement this interface.

-
- - ms701593 - IMFMuxStreamAttributesManager - IMFMuxStreamAttributesManager -
- - - Initializes a new instance of the 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. - - - GetStreamCount - GetStreamCount - HRESULT IMFMuxStreamAttributesManager::GetStreamCount([Out] unsigned int* pdwMuxStreamCount) - - - - No documentation. - - No documentation. - No documentation. - - HRESULT IMFMuxStreamAttributesManager::GetStreamCount([Out] unsigned int* pdwMuxStreamCount) - IMFMuxStreamAttributesManager::GetStreamCount - - - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets the for the substream with the specified index.

-
- No documentation. - No documentation. -

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_INVALIDARG

Invalid argument.

The stream specified substream index is invalid. Call GetStreamCount to get the number of substreams managed by the multiplexed media source.

?

- - mt797928 - HRESULT IMFMuxStreamAttributesManager::GetAttributes([In] unsigned int dwMuxStreamIndex,[Out] IMFAttributes** ppStreamAttributes) - IMFMuxStreamAttributesManager::GetAttributes -
- - -

Represents a byte stream from some data source, which might be a local file, a network file, or some other source. The interface supports the typical stream operations, such as reading, writing, and seeking.

-
- -

The following functions return references for local files:

A byte stream for a media souce can be opened with read access. A byte stream for an archive media sink should be opened with both read and write access. (Read access may be required, because the archive sink might need to read portions of the file as it writes.)

Some implementations of this interface also expose one or more of the following interfaces:

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms698720 - IMFMuxStreamMediaTypeManager - IMFMuxStreamMediaTypeManager -
- - - Initializes a new instance of the 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. - - - GetStreamCount - GetStreamCount - HRESULT IMFMuxStreamMediaTypeManager::GetStreamCount([Out] unsigned int* pdwMuxStreamCount) - - - - No documentation. - - - GetStreamConfigurationCount - GetStreamConfigurationCount - HRESULT IMFMuxStreamMediaTypeManager::GetStreamConfigurationCount([Out] unsigned int* pdwCount) - - - - No documentation. - - No documentation. - No documentation. - - HRESULT IMFMuxStreamMediaTypeManager::GetStreamCount([Out] unsigned int* pdwMuxStreamCount) - IMFMuxStreamMediaTypeManager::GetStreamCount - - - - No documentation. - - No documentation. - No documentation. - No documentation. - - HRESULT IMFMuxStreamMediaTypeManager::GetMediaType([In] unsigned int dwMuxStreamIndex,[Out] IMFMediaType** ppMediaType) - IMFMuxStreamMediaTypeManager::GetMediaType - - - - No documentation. - - No documentation. - No documentation. - - HRESULT IMFMuxStreamMediaTypeManager::GetStreamConfigurationCount([Out] unsigned int* pdwCount) - IMFMuxStreamMediaTypeManager::GetStreamConfigurationCount - - - - No documentation. - - No documentation. - No documentation. - - HRESULT IMFMuxStreamMediaTypeManager::AddStreamConfiguration([In] unsigned longlong ullStreamMask) - IMFMuxStreamMediaTypeManager::AddStreamConfiguration - - - - No documentation. - - No documentation. - No documentation. - - HRESULT IMFMuxStreamMediaTypeManager::RemoveStreamConfiguration([In] unsigned longlong ullStreamMask) - IMFMuxStreamMediaTypeManager::RemoveStreamConfiguration - - - - No documentation. - - No documentation. - No documentation. - No documentation. - - HRESULT IMFMuxStreamMediaTypeManager::GetStreamConfiguration([In] unsigned int ulIndex,[Out] unsigned longlong* pullStreamMask) - IMFMuxStreamMediaTypeManager::GetStreamConfiguration - - - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Provides the ability to retrieve objects for individual substreams within the output of a multiplexed media source.

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

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Provides the ability to retrieve objects for individual substreams within the output of a multiplexed media source.

-
- - mt797937 - GetStreamCount - GetStreamCount - HRESULT IMFMuxStreamSampleManager::GetStreamCount([Out] unsigned int* pdwMuxStreamCount) -
- - - No documentation. - - - GetStreamConfiguration - GetStreamConfiguration - unsigned longlong IMFMuxStreamSampleManager::GetStreamConfiguration() - - - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Provides the ability to retrieve objects for individual substreams within the output of a multiplexed media source.

-
- No documentation. - No documentation. - - mt797937 - HRESULT IMFMuxStreamSampleManager::GetStreamCount([Out] unsigned int* pdwMuxStreamCount) - IMFMuxStreamSampleManager::GetStreamCount -
- - - No documentation. - - No documentation. - No documentation. - No documentation. - - HRESULT IMFMuxStreamSampleManager::GetSample([In] unsigned int dwMuxStreamIndex,[Out] IMFSample** ppSample) - IMFMuxStreamSampleManager::GetSample - - - - No documentation. - - No documentation. - - unsigned longlong IMFMuxStreamSampleManager::GetStreamConfiguration() - IMFMuxStreamSampleManager::GetStreamConfiguration - - - -

Retrieves the user name.

-
- -

If the user name is not available, the method might succeed and set *pcbData to zero.

-
- - ms694290 - IMFNetCredential - IMFNetCredential -
- - - Initializes a new instance of the 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 user name.

-
-

Pointer to a buffer that contains the user name. If fDataIsEncrypted is , the buffer is a wide-character string. Otherwise, the buffer contains encrypted data.

-

Size of pbData, in bytes. If fDataIsEncrypted is , the size includes the terminating null character.

-

If TRUE, the user name is encrypted. Otherwise, the user name is not encrypted.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - ms693551 - HRESULT IMFNetCredential::SetUser([In, Buffer] unsigned char* pbData,[In] unsigned int cbData,[In] BOOL fDataIsEncrypted) - IMFNetCredential::SetUser -
- - -

Sets the password.

-
-

Pointer to a buffer that contains the password. If fDataIsEncrypted is , the buffer is a wide-character string. Otherwise, the buffer contains encrypted data.

-

Size of pbData, in bytes. If fDataIsEncrypted is , the size includes the terminating null character.

-

If TRUE, the password is encrypted. Otherwise, the password is not encrypted.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - ms699838 - HRESULT IMFNetCredential::SetPassword([In, Buffer] unsigned char* pbData,[In] unsigned int cbData,[In] BOOL fDataIsEncrypted) - IMFNetCredential::SetPassword -
- - -

Retrieves the user name.

-
-

Pointer to a buffer that receives the user name. To find the required buffer size, set this parameter to null. If fEncryptData is , the buffer contains a wide-character string. Otherwise, the buffer contains encrypted data.

-

On input, specifies the size of the pbData buffer, in bytes. On output, receives the required buffer size. If fEncryptData is , the size includes the terminating null character.

-

If TRUE, the method returns an encrypted string. Otherwise, the method returns an unencrypted string.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

If the user name is not available, the method might succeed and set *pcbData to zero.

-
- - ms694290 - HRESULT IMFNetCredential::GetUser([Out, Buffer, Optional] unsigned char* pbData,[InOut] unsigned int* pcbData,[In] BOOL fEncryptData) - IMFNetCredential::GetUser -
- - -

Retrieves the password.

-
-

Pointer to a buffer that receives the password. To find the required buffer size, set this parameter to null. If fEncryptData is , the buffer contains a wide-character string. Otherwise, the buffer contains encrypted data.

-

On input, specifies the size of the pbData buffer, in bytes. On output, receives the required buffer size. If fEncryptData is , the size includes the terminating null character.

-

If TRUE, the method returns an encrypted string. Otherwise, the method returns an unencrypted string.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

If the password is not available, the method might succeed and set *pcbData to zero.

-
- - ms702055 - HRESULT IMFNetCredential::GetPassword([Out, Buffer, Optional] unsigned char* pbData,[InOut] unsigned int* pcbData,[In] BOOL fEncryptData) - IMFNetCredential::GetPassword -
- - -

Queries whether logged-on credentials should be used.

-
-

Receives a Boolean value. If logged-on credentials should be used, the value is TRUE. Otherwise, the value is .

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - ms698960 - HRESULT IMFNetCredential::LoggedOnUser([Out] BOOL* pfLoggedOnUser) - IMFNetCredential::LoggedOnUser -
- - -

Gets credentials from the credential cache.

This interface is implemented by the credential cache object. Applications that implement the interface can use this object to store the user's credentials. To create the credential cache object, call .

-
- - ms703796 - IMFNetCredentialCache - IMFNetCredentialCache -
- - - Initializes a new instance of the 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 credential object for the specified URL.

-
-

A null-terminated wide-character string containing the URL for which the credential is needed.

-

A null-terminated wide-character string containing the realm for the authentication.

-

Bitwise OR of zero or more flags from the enumeration.

-

Receives a reference to the interface. The caller must release the interface.

-

Receives a bitwise OR of zero or more flags from the enumeration.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - ms699842 - HRESULT IMFNetCredentialCache::GetCredential([In] const wchar_t* pszUrl,[In] const wchar_t* pszRealm,[In] unsigned int dwAuthenticationFlags,[Out] IMFNetCredential** ppCred,[Out] unsigned int* pdwRequirementsFlags) - IMFNetCredentialCache::GetCredential -
- - -

Reports whether the credential object provided successfully passed the authentication challenge.

-
-

Pointer to the interface.

-

TRUE if the credential object succeeded in the authentication challenge; otherwise, .

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

This method is called by the network source into the credential manager.

-
- - ms704649 - HRESULT IMFNetCredentialCache::SetGood([In] IMFNetCredential* pCred,[In] BOOL fGood) - IMFNetCredentialCache::SetGood -
- - -

Specifies how user credentials are stored.

-
-

Pointer to the interface. Obtain this reference by calling .

-

Bitwise OR of zero or more flags from the enumeration.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

If no flags are specified, the credentials are cached in memory. This method can be implemented by the credential manager and called by the network source.

-
- - ms693547 - HRESULT IMFNetCredentialCache::SetUserOptions([In] IMFNetCredential* pCred,[In] unsigned int dwOptionsFlags) - IMFNetCredentialCache::SetUserOptions -
- - -

Implemented by applications to provide user credentials for a network source.

To use this interface, implement it in your application. Then create a property store object and set the MFNETSOURCE_CREDENTIAL_MANAGER property. The value of the property is a reference to your application's interface. Then pass the property store to one of the source resolver's creation functions, such as , in the pProps parameter.

Media Foundation does not provide a default implementation of this interface. Applications that support authentication must implement this interface.

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

Begins an asynchronous request to retrieve the user's credentials.

-
-

Pointer to an structure.

-

Pointer to the interface of a callback object. The caller must implement this interface.

-

Pointer to the interface of a state object, defined by the caller. This parameter can be null. The object is returned to the caller when the callback is invoked.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - ms705663 - HRESULT IMFNetCredentialManager::BeginGetCredentials([In] MFNetCredentialManagerGetParam* pParam,[In] IMFAsyncCallback* pCallback,[In] IUnknown* pState) - IMFNetCredentialManager::BeginGetCredentials -
- - -

Completes an asynchronous request to retrieve the user's credentials.

-
-

Pointer to an interface that contains the asynchronous result.

-

Receives a reference to the interface, which is used to retrieve the credentials. The caller must release the interface.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - ms701589 - HRESULT IMFNetCredentialManager::EndGetCredentials([In] IMFAsyncResult* pResult,[Out] IMFNetCredential** ppCred) - IMFNetCredentialManager::EndGetCredentials -
- - -

Specifies whether the user's credentials succeeded in the authentication challenge. The network source calls this method to informs the application whether the user's credentials were authenticated.

-
-

Pointer to the interface.

-

Boolean value. The value is TRUE if the credentials succeeded in the authentication challenge. Otherwise, the value is .

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - ms705614 - HRESULT IMFNetCredentialManager::SetGood([In] IMFNetCredential* pCred,[In] BOOL fGood) - IMFNetCredentialManager::SetGood -
- - - No documentation. - - - IMFNetCrossOriginSupport - IMFNetCrossOriginSupport - - - - Initializes a new instance of the 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. - - - GetCrossOriginPolicy - GetCrossOriginPolicy - HRESULT IMFNetCrossOriginSupport::GetCrossOriginPolicy([Out] MF_CROSS_ORIGIN_POLICY* pPolicy) - - - - No documentation. - - No documentation. - No documentation. - - HRESULT IMFNetCrossOriginSupport::GetCrossOriginPolicy([Out] MF_CROSS_ORIGIN_POLICY* pPolicy) - IMFNetCrossOriginSupport::GetCrossOriginPolicy - - - - No documentation. - - No documentation. - No documentation. - - HRESULT IMFNetCrossOriginSupport::GetSourceOrigin([Out] wchar_t** wszSourceOrigin) - IMFNetCrossOriginSupport::GetSourceOrigin - - - - No documentation. - - No documentation. - No documentation. - No documentation. - - HRESULT IMFNetCrossOriginSupport::IsSameOrigin([In] const wchar_t* wszURL,[Out] BOOL* pfIsSameOrigin) - IMFNetCrossOriginSupport::IsSameOrigin - - - -

Determines the proxy to use when connecting to a server. The network source uses this interface.

Applications can create the proxy locator configured by the application by implementing the interface and setting the MFNETSOURCE_PROXYLOCATORFACTORY property on the source resolver. Otherwise, the network source uses the default Media Foundation implementation.

To create the default proxy locator, call .

-
- - ms695417 - IMFNetProxyLocator - IMFNetProxyLocator -
- - - Initializes a new instance of the 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 proxy locator object.

-
-

Null-terminated wide-character string containing the hostname of the destination server.

-

Null-terminated wide-character string containing the destination URL.

-

Reserved. Set to .

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - ms697016 - HRESULT IMFNetProxyLocator::FindFirstProxy([In] const wchar_t* pszHost,[In] const wchar_t* pszUrl,[In] BOOL fReserved) - IMFNetProxyLocator::FindFirstProxy -
- - -

Determines the next proxy to use.

-
-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

S_FALSE

There are no more proxy objects.

?

- - ms700807 - HRESULT IMFNetProxyLocator::FindNextProxy() - IMFNetProxyLocator::FindNextProxy -
- - -

Keeps a record of the success or failure of using the current proxy.

-
-

specifying the result of using the current proxy for connection.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - ms696180 - HRESULT IMFNetProxyLocator::RegisterProxyResult([In] HRESULT hrOp) - IMFNetProxyLocator::RegisterProxyResult -
- - -

Retrieves the current proxy information including hostname and port.

-
-

Pointer to a buffer that receives a null-terminated string containing the proxy hostname and port. This parameter can be null.

-

On input, specifies the number of elements in the pszStr array. On output, receives the required size of the buffer.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_NOT_SUFFICIENT_BUFFER

The buffer specified in pszStr is too small.

?

- - ms697327 - HRESULT IMFNetProxyLocator::GetCurrentProxy([Out, Buffer, Optional] wchar_t* pszStr,[In] unsigned int* pcchStr) - IMFNetProxyLocator::GetCurrentProxy -
- - -

Creates a new instance of the default proxy locator.

-
-

Receives a reference to the new proxy locator object's interface. The caller must release the interface.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - ms697210 - HRESULT IMFNetProxyLocator::Clone([In] IMFNetProxyLocator** ppProxyLocator) - IMFNetProxyLocator::Clone -
- - -

Creates an interface proxy locator object based on the protocol name.

-
- - ms694154 - IMFNetProxyLocatorFactory - IMFNetProxyLocatorFactory -
- - - Initializes a new instance of the 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 an interface proxy locator object based on the protocol name.

-
- No documentation. - No documentation. -

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - ms694154 - HRESULT IMFNetProxyLocatorFactory::CreateProxyLocator([In] const wchar_t* pszProtocol,[Out] IMFNetProxyLocator** ppProxyLocator) - IMFNetProxyLocatorFactory::CreateProxyLocator -
- - -

Notifies the application when a byte stream requests a URL, and enables the application to block URL redirection.

-
- -

To set the callback interface:

  1. Query the byte stream object for the interface.
  2. Call to set the MFNETSOURCE_RESOURCE_FILTER attribute.
-
- - hh448040 - IMFNetResourceFilter - IMFNetResourceFilter -
- - - Initializes a new instance of the class. - - The native pointer. - - - - Performs an explicit conversion from to . (This method is a shortcut to ) - - The native pointer. - - The result of the conversion. - - - - -

Called when the byte stream redirects to a URL.

-
-

The URL to which the connection has been redirected.

-

To cancel the redirection, set this parameter to VARIANT_TRUE. To allow the redirection, set this parameter to VARIANT_FALSE.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh448041 - HRESULT IMFNetResourceFilter::OnRedirect([In] const wchar_t* pszUrl,[Out] short* pvbCancel) - IMFNetResourceFilter::OnRedirect -
- - -

Called when the byte stream requests a URL.

-
-

The URL that the byte stream is requesting.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh448042 - HRESULT IMFNetResourceFilter::OnSendingRequest([In] const wchar_t* pszUrl) - IMFNetResourceFilter::OnSendingRequest -
- - -

Retrieves the number of protocols supported by the network scheme plug-in.

-
- - ms701625 - IMFNetSchemeHandlerConfig - IMFNetSchemeHandlerConfig -
- - - Initializes a new instance of the 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 protocols supported by the network scheme plug-in.

-
- - ms701625 - GetNumberOfSupportedProtocols - GetNumberOfSupportedProtocols - HRESULT IMFNetSchemeHandlerConfig::GetNumberOfSupportedProtocols([Out] unsigned int* pcProtocols) -
- - -

Retrieves the number of protocols supported by the network scheme plug-in.

-
-

Receives the number of protocols.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - ms701625 - HRESULT IMFNetSchemeHandlerConfig::GetNumberOfSupportedProtocols([Out] unsigned int* pcProtocols) - IMFNetSchemeHandlerConfig::GetNumberOfSupportedProtocols -
- - -

Retrieves a supported protocol by index

-
-

Zero-based index of the protocol to retrieve. To get the number of supported protocols, call .

-

Receives a member of the enumeration.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_INVALIDARG

The value passed in the nProtocolIndex parameter was greater than the total number of supported protocols, returned by GetNumberOfSupportedProtocols.

?

- - ms697058 - HRESULT IMFNetSchemeHandlerConfig::GetSupportedProtocolType([In] unsigned int nProtocolIndex,[Out] MFNETSOURCE_PROTOCOL_TYPE* pnProtocolType) - IMFNetSchemeHandlerConfig::GetSupportedProtocolType -
- - -

Not implemented in this release.

-
-

This method returns .

- - ms705604 - HRESULT IMFNetSchemeHandlerConfig::ResetProtocolRolloverSettings() - IMFNetSchemeHandlerConfig::ResetProtocolRolloverSettings -
- - -

Marshals an interface reference to and from a stream.

Stream objects that support can expose this interface to provide custom marshaling for interface references.

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

Stores the data needed to marshal an interface across a process boundary.

-
-

Interface identifier of the interface to marshal.

-

Pointer to the interface.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - ms698988 - HRESULT IMFObjectReferenceStream::SaveReference([In] const GUID& riid,[In] IUnknown* pUnk) - IMFObjectReferenceStream::SaveReference -
- - -

Marshals an interface from data stored in the stream.

-
-

Interface identifier of the interface to marshal.

-

Receives a reference to the requested interface. The caller must release the interface.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - ms705636 - HRESULT IMFObjectReferenceStream::LoadReference([In] const GUID& riid,[In] void** ppv) - IMFObjectReferenceStream::LoadReference -
- - -

Encapsulates a usage policy from an input trust authority (ITA). Output trust authorities (OTAs) use this interface to query which protection systems they are required to enforce by the ITA.

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

Retrieives a identifying the input trust authority (ITA) that created this output policy object.

-
- -

All of the policy objects and output schemas from the same ITA should return the same originator identifier (including dynamic policy changes). This value enables the OTA to distinguish policies that originate from different ITAs, so that the OTA can update dynamic policies correctly.

-
- - bb970379 - GetOriginatorID - GetOriginatorID - HRESULT IMFOutputPolicy::GetOriginatorID([Out] GUID* pguidOriginatorID) -
- - -

Retrieves the minimum version of the global revocation list (GRL) that must be enforced by the protected environment for this policy.

-
- - bb970389 - GetMinimumGRLVersion - GetMinimumGRLVersion - HRESULT IMFOutputPolicy::GetMinimumGRLVersion([Out] unsigned int* pdwMinimumGRLVersion) -
- - -

Retrieves a list of the output protection systems that the output trust authority (OTA) must enforce, along with configuration data for each protection system.

-
-

Describes the output that is represented by the OTA calling this method. This value is a bitwise OR of zero or more of the following flags.

ValueMeaning
MFOUTPUTATTRIBUTE_BUS

Hardware bus.

MFOUTPUTATTRIBUTE_COMPRESSED

The output sends compressed data. If this flag is absent, the output sends uncompressed data.

MFOUTPUTATTRIBUTE_BUSIMPLEMENTATION

Reserved. Do not use.

MFOUTPUTATTRIBUTE_DIGITAL

The output sends a digital signal. If this flag is absent, the output sends an analog signal.

MFOUTPUTATTRIBUTE_NONSTANDARDIMPLEMENTATION

Reserved. Do not use.

MFOUTPUTATTRIBUTE_SOFTWARE

Reserved. Do not use.

MFOUTPUTATTRIBUTE_VIDEO

The output sends video data. If this flag is absent, the output sends audio data.

?

-

Indicates a specific family of output connectors that is represented by the OTA calling this method. Possible values include the following.

ValueMeaning
MFCONNECTOR_AGP

AGP bus.

MFCONNECTOR_COMPONENT

Component video.

MFCONNECTOR_COMPOSITE

Composite video.

MFCONNECTOR_D_JPN

Japanese D connector. (Connector conforming to the EIAJ RC-5237 standard.)

MFCONNECTOR_DISPLAYPORT_EMBEDDED

Embedded DisplayPort connector.

MFCONNECTOR_DISPLAYPORT_EXTERNAL

External DisplayPort connector.

MFCONNECTOR_DVI

Digital video interface (DVI) connector.

MFCONNECTOR_HDMI

High-definition multimedia interface (HDMI) connector.

MFCONNECTOR_LVDS

Low voltage differential signaling (LVDS) connector.

A connector using the LVDS interface to connect internally to a display device. The connection between the graphics adapter and the display device is permanent and not accessible to the user. Applications should not enable High-Bandwidth Digital Content Protection (HDCP) for this connector.

MFCONNECTOR_PCI

PCI bus.

MFCONNECTOR_PCI_Express

PCI Express bus.

MFCONNECTOR_PCIX

PCI-X bus.

MFCONNECTOR_SDI

Audio data sent over a connector via S/PDIF.

MFCONNECTOR_SPDIF

Serial digital interface connector.

MFCONNECTOR_SVIDEO

S-Video connector.

MFCONNECTOR_UDI_EMBEDDED

Embedded Unified Display Interface (UDI).

MFCONNECTOR_UDI_EXTERNAL

External UDI.

MFCONNECTOR_UNKNOWN

Unknown connector type. See Remarks.

MFCONNECTOR_VGA

VGA connector.

MFCONNECTOR_MIRACAST

Miracast wireless connector.

Supported in Windows?8.1 and later.

?

-

Pointer to an array of values that specify which output protection systems are supported by the OTA that is calling this method.

-

Number of elements in the rgGuidProtectionSchemasSupported array.

-

Receives a reference to the interface of a collection object. The caller must release the interface. Each object in the collection is an reference. Each reference defines an output protection system that the OTA must enforce.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

The video OTA returns the MFCONNECTOR_UNKNOWN connector type unless the Direct3D device is in full-screen mode. (Direct3D windowed mode is not generally a secure video mode.) You can override this behavior by implementing a custom EVR presenter that implements the interface.

-
- - bb970362 - HRESULT IMFOutputPolicy::GenerateRequiredSchemas([In] unsigned int dwAttributes,[In] GUID guidOutputSubType,[In] GUID* rgGuidProtectionSchemasSupported,[In] unsigned int cProtectionSchemasSupported,[Out] IMFCollection** ppRequiredProtectionSchemas) - IMFOutputPolicy::GenerateRequiredSchemas -
- - -

Retrieives a identifying the input trust authority (ITA) that created this output policy object.

-
-

Receives a that identifies the originating ITA.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

All of the policy objects and output schemas from the same ITA should return the same originator identifier (including dynamic policy changes). This value enables the OTA to distinguish policies that originate from different ITAs, so that the OTA can update dynamic policies correctly.

-
- - bb970379 - HRESULT IMFOutputPolicy::GetOriginatorID([Out] GUID* pguidOriginatorID) - IMFOutputPolicy::GetOriginatorID -
- - -

Retrieves the minimum version of the global revocation list (GRL) that must be enforced by the protected environment for this policy.

-
-

Receives the minimum GRL version.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - bb970389 - HRESULT IMFOutputPolicy::GetMinimumGRLVersion([Out] unsigned int* pdwMinimumGRLVersion) - IMFOutputPolicy::GetMinimumGRLVersion -
- - -

Encapsulates information about an output protection system and its corresponding configuration data.

-
- -

If the configuration information for the output protection system does not require more than a DWORD of space, the configuration information is retrieved in the GetConfigurationData method. If more than a DWORD of configuration information is needed, it is stored using the interface.

-
- - ms703800 - IMFOutputSchema - IMFOutputSchema -
- - - Initializes a new instance of the 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 output protection system that is represented by this object. Output protection systems are identified by value.

-
- - bb970414 - GetSchemaType - GetSchemaType - HRESULT IMFOutputSchema::GetSchemaType([Out] GUID* pguidSchemaType) -
- - -

Returns configuration data for the output protection system. The configuration data is used to enable or disable the protection system, and to set the protection levels.

-
- - bb970364 - GetConfigurationData - GetConfigurationData - HRESULT IMFOutputSchema::GetConfigurationData([Out] unsigned int* pdwVal) -
- - -

Retrieves a identifying the input trust authority (ITA) that generated this output schema object.

-
- -

All of the policy objects and output schemas from the same ITA should return the same originator identifier (including dynamic policy changes). This value enables the OTA to distinguish policies that originate from different ITAs, so that the OTA can update dynamic policies correctly.

-
- - bb970483 - GetOriginatorID - GetOriginatorID - HRESULT IMFOutputSchema::GetOriginatorID([Out] GUID* pguidOriginatorID) -
- - -

Retrieves the output protection system that is represented by this object. Output protection systems are identified by value.

-
-

Receives the that identifies the output protection system.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - bb970414 - HRESULT IMFOutputSchema::GetSchemaType([Out] GUID* pguidSchemaType) - IMFOutputSchema::GetSchemaType -
- - -

Returns configuration data for the output protection system. The configuration data is used to enable or disable the protection system, and to set the protection levels.

-
-

Receives the configuration data. The meaning of this data depends on the output protection system.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - bb970364 - HRESULT IMFOutputSchema::GetConfigurationData([Out] unsigned int* pdwVal) - IMFOutputSchema::GetConfigurationData -
- - -

Retrieves a identifying the input trust authority (ITA) that generated this output schema object.

-
-

Receives a that identifies the originating ITA.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

All of the policy objects and output schemas from the same ITA should return the same originator identifier (including dynamic policy changes). This value enables the OTA to distinguish policies that originate from different ITAs, so that the OTA can update dynamic policies correctly.

-
- - bb970483 - HRESULT IMFOutputSchema::GetOriginatorID([Out] GUID* pguidOriginatorID) - IMFOutputSchema::GetOriginatorID -
- - -

Encapsulates the functionality of one or more output protection systems that a trusted output supports. This interface is exposed by output trust authority (OTA) objects. Each OTA represents a single action that the trusted output can perform, such as play, copy, or transcode. An OTA can represent more than one physical output if each output performs the same action.

-
- - ms695254 - IMFOutputTrustAuthority - IMFOutputTrustAuthority -
- - - Initializes a new instance of the 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 action that is performed by this output trust authority (OTA).

-
- - bb970410 - GetAction - GetAction - HRESULT IMFOutputTrustAuthority::GetAction([Out] MFPOLICYMANAGER_ACTION* pAction) -
- - -

Retrieves the action that is performed by this output trust authority (OTA).

-
-

Receives a member of the enumeration.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - bb970410 - HRESULT IMFOutputTrustAuthority::GetAction([Out] MFPOLICYMANAGER_ACTION* pAction) - IMFOutputTrustAuthority::GetAction -
- - -

Sets one or more policy objects on the output trust authority (OTA).

-
-

The address of an array of references.

-

The number of elements in the ppPolicy array.

-

Receives either a reference to a buffer allocated by the OTA, or the value null. If this parameter receives a non-null value, the caller must release the buffer by calling CoTaskMemFree.

Note??Currently this parameter is reserved. An OTA should set the reference to null. ?
-

Receives the size of the ppbTicket buffer, in bytes. If ppbTicket receives the value null, pcbTicket receives the value zero.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

MF_S_WAIT_FOR_POLICY_SET

The policy was negotiated successfully, but the OTA will enforce it asynchronously.

The OTA does not support the requirements of this policy.

?

- -

If the method returns MF_S_WAIT_FOR_POLICY_SET, the OTA sends an event when it enforces the policy.

-
- - bb970572 - HRESULT IMFOutputTrustAuthority::SetPolicy([In, Buffer, Optional] IMFOutputPolicy** ppPolicy,[In] unsigned int nPolicy,[Out, Buffer, Optional] unsigned char** ppbTicket,[Out, Optional] unsigned int* pcbTicket) - IMFOutputTrustAuthority::SetPolicy -
- - -

Sets one or more policy objects on the output trust authority (OTA).

-
-

The address of an array of references.

-

The number of elements in the ppPolicy array.

-

Receives either a reference to a buffer allocated by the OTA, or the value null. If this parameter receives a non-null value, the caller must release the buffer by calling CoTaskMemFree.

Note??Currently this parameter is reserved. An OTA should set the reference to null. ?
-

Receives the size of the ppbTicket buffer, in bytes. If ppbTicket receives the value null, pcbTicket receives the value zero.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

MF_S_WAIT_FOR_POLICY_SET

The policy was negotiated successfully, but the OTA will enforce it asynchronously.

The OTA does not support the requirements of this policy.

?

- -

If the method returns MF_S_WAIT_FOR_POLICY_SET, the OTA sends an event when it enforces the policy.

-
- - bb970572 - HRESULT IMFOutputTrustAuthority::SetPolicy([In, Buffer, Optional] IMFOutputPolicy** ppPolicy,[In] unsigned int nPolicy,[Out, Buffer, Optional] unsigned char** ppbTicket,[Out, Optional] unsigned int* pcbTicket) - IMFOutputTrustAuthority::SetPolicy -
- - -

Sets one or more policy objects on the output trust authority (OTA).

-
-

The address of an array of references.

-

The number of elements in the ppPolicy array.

-

Receives either a reference to a buffer allocated by the OTA, or the value null. If this parameter receives a non-null value, the caller must release the buffer by calling CoTaskMemFree.

Note??Currently this parameter is reserved. An OTA should set the reference to null. ?
-

Receives the size of the ppbTicket buffer, in bytes. If ppbTicket receives the value null, pcbTicket receives the value zero.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

MF_S_WAIT_FOR_POLICY_SET

The policy was negotiated successfully, but the OTA will enforce it asynchronously.

The OTA does not support the requirements of this policy.

?

- -

If the method returns MF_S_WAIT_FOR_POLICY_SET, the OTA sends an event when it enforces the policy.

-
- - bb970572 - HRESULT IMFOutputTrustAuthority::SetPolicy([In, Buffer, Optional] IMFOutputPolicy** ppPolicy,[In] unsigned int nPolicy,[Out, Buffer, Optional] unsigned char** ppbTicket,[Out, Optional] unsigned int* pcbTicket) - IMFOutputTrustAuthority::SetPolicy -
- - -

Controls how media sources and transforms are enumerated in Microsoft Media Foundation.

To get a reference to this interface, call .

-
- -

Media Foundation provides a set of built-in media sources and decoders. Applications can enumerate them as follows:

  • Media sources are enumerated through the Source Resolver.
  • Transforms, such as decoders, are enumerated through the and functions.

Applications might also enumerate these objects indirectly. For example, if an application uses the topology loader to resolve a partial topology, the topology loader calls to find the required decoders.

Third parties can implement their own custom media sources and decoders, and register them for enumeration so that other applications can use them.

To control the enumeration order, Media Foundation maintains two process-wide lists of CLSIDs: a preferred list and a blocked list. An object whose CLSID appears in the preferred list appears first in the enumeration order. An object whose CLSID appears on the blocked list is not enumerated.

The lists are initially populated from the registry. Applications can use the interface to modify the lists for the current process.

The preferred list contains a set of key/value pairs, where the keys are strings and the values are CLSIDs. These key/value pairs are defined as follows:

  • For media sources, the key name is a file name extension, protocol scheme, or MIME type. The value is the CLSID of a scheme handler or byte-stream handler for that media source.
  • For decoders, the key name is a media subtype in canonical string form. (For more information about media subtypes, see Media Types.) The value is the CLSID of the Media Foundation transform (MFT) that implements the decoder.

The following examples show the various types of key:

  • File extension: ".wmv"
  • Scheme: "http:"
  • MIME type: "video/mp4"
  • Media subtype: "{47504A4D-0000-0010-8000-00AA00389B71}"

To search the preferred list by key name, call the method. To enumerate the entire list, call the method in a loop.

The blocked list contains a list of CLSIDs. To enumerate the entire list, call the method in a loop. To check whether a specific CLSID appears on the list, call the method.

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

Searches the preferred list for a class identifier (CLSID) that matches a specified key name.

-
-

Member of the enumeration, specifying the type of object.

-

The key name to match. For more information about the format of key names, see the Remarks section of .

-

Receives a CLSID from the preferred list.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_INVALIDARG

Invalid argument.

HRESULT_FROM_WIN32()

No CLSID matching this key was found.

?

- - dd374304 - HRESULT IMFPluginControl::GetPreferredClsid([In] unsigned int pluginType,[In] const wchar_t* selector,[Out] GUID* clsid) - IMFPluginControl::GetPreferredClsid -
- - -

Gets a class identifier (CLSID) from the preferred list, specified by index value.

-
-

Member of the enumeration, specifying the type of object to enumerate.

-

The zero-based index of the CLSID to retrieve.

-

Receives the key name associated with the CLSID. The caller must free the memory for the returned string by calling the CoTaskMemFree function. For more information about the format of key names, see the Remarks section of .

-

Receives the CLSID at the specified index.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_INVALIDARG

Invalid argument.

HRESULT_FROM_WIN32()

The index parameter is out of range.

?

- - dd374305 - HRESULT IMFPluginControl::GetPreferredClsidByIndex([In] unsigned int pluginType,[In] unsigned int index,[Out] wchar_t** selector,[Out] GUID* clsid) - IMFPluginControl::GetPreferredClsidByIndex -
- - -

Adds a class identifier (CLSID) to the preferred list or removes a CLSID from the list.

-
-

Member of the enumeration, specifying the type of object.

-

The key name for the CLSID. For more information about the format of key names, see the Remarks section of .

-

The CLSID to add to the list. If this parameter is null, the key/value entry specified by the selector parameter is removed from the list.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

The preferred list is global to the caller's process. Calling this method does not affect the list in other process.

-
- - dd374308 - HRESULT IMFPluginControl::SetPreferredClsid([In] unsigned int pluginType,[In] const wchar_t* selector,[In, Optional] const GUID* clsid) - IMFPluginControl::SetPreferredClsid -
- - -

Queries whether a class identifier (CLSID) appears in the blocked list.

-
-

Member of the enumeration, specifying the type of object for the query.

-

The CLSID to search for.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The specified CLSID appears in the blocked list.

E_INVALIDARG

Invalid argument.

HRESULT_FROM_WIN32()

The specified CLSID is not in the blocked list.

?

- - dd374306 - HRESULT IMFPluginControl::IsDisabled([In] unsigned int pluginType,[In] const GUID& clsid) - IMFPluginControl::IsDisabled -
- - -

Gets a class identifier (CLSID) from the blocked list.

-
-

Member of the enumeration, specifying the type of object to enumerate.

-

The zero-based index of the CLSID to retrieve.

-

Receives the CLSID at the specified index.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_INVALIDARG

Invalid argument.

HRESULT_FROM_WIN32()

The index parameter is out of range.

?

- - dd374303 - HRESULT IMFPluginControl::GetDisabledByIndex([In] unsigned int pluginType,[In] unsigned int index,[Out] GUID* clsid) - IMFPluginControl::GetDisabledByIndex -
- - -

Adds a class identifier (CLSID) to the blocked list, or removes a CLSID from the list.

-
-

Member of the enumeration, specifying the type of object.

-

The CLSID to add or remove.

-

Specifies whether to add or remove the CSLID. If the value is TRUE, the method adds the CLSID to the blocked list. Otherwise, the method removes it from the list.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_INVALIDARG

Invalid argument.

?

- -

The blocked list is global to the caller's process. Calling this method does not affect the list in other processes.

-
- - dd374307 - HRESULT IMFPluginControl::SetDisabled([In] unsigned int pluginType,[In] const GUID& clsid,[In] BOOL disabled) - IMFPluginControl::SetDisabled -
- - -

Controls how media sources and transforms are enumerated in Microsoft Media Foundation.

This interface extends the interface.

-
- -

To get a reference to this interface, call and query the returned reference for .

-
- - hh448043 - IMFPluginControl2 - IMFPluginControl2 -
- - - Initializes a new instance of the 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 policy for which media sources and transforms are enumerated.

-
- - hh448044 - SetPolicy - SetPolicy - HRESULT IMFPluginControl2::SetPolicy([In] MF_PLUGIN_CONTROL_POLICY policy) -
- - -

Sets the policy for which media sources and transforms are enumerated.

-
-

A value from the enumeration that specifies the policy.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh448044 - HRESULT IMFPluginControl2::SetPolicy([In] MF_PLUGIN_CONTROL_POLICY policy) - IMFPluginControl2::SetPolicy -
- - -

Note??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Represents a media item. A media item is an abstraction for a source of media data, such as a video file. Use this interface to get information about the source, or to change certain playback settings, such as the start and stop times. To get a reference to this interface, call one of the following methods:

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

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Gets a reference to the MFPlay player object that created the media item.

-
- - dd374313 - GetMediaPlayer - GetMediaPlayer - HRESULT IMFPMediaItem::GetMediaPlayer([Out] IMFPMediaPlayer** ppMediaPlayer) -
- - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Gets the object that was used to create the media item.

-
- -

The object reference is set if the application uses to create the media item. Otherwise, GetObject returns MF_E_NOTFOUND.

-
- - dd374315 - GetObjectW - GetObjectW - HRESULT IMFPMediaItem::GetObjectW([Out] IUnknown** ppIUnknown) -
- - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Gets the application-defined value stored in the media item.

-
- -

You can assign this value when you first create the media item, by specifying it in the dwUserData parameter of the or method. To update the value, call .

This method can be called after the player object is shut down.

-
- - dd374321 - GetUserData / SetUserData - GetUserData - HRESULT IMFPMediaItem::GetUserData([Out] ULONG_PTR* pdwUserData) -
- - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Queries whether the media item contains protected content.

Note??Currently does not support playing protected content.? -
- - dd374324 - IsProtected - IsProtected - HRESULT IMFPMediaItem::IsProtected([Out] BOOL* pfProtected) -
- - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Gets the number of streams (audio, video, and other) in the media item.

-
- - dd374314 - GetNumberOfStreams - GetNumberOfStreams - HRESULT IMFPMediaItem::GetNumberOfStreams([Out] unsigned int* pdwStreamCount) -
- - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Gets various flags that describe the media item.

-
- - dd374311 - GetCharacteristics - GetCharacteristics - HRESULT IMFPMediaItem::GetCharacteristics([Out] unsigned int* pCharacteristics) -
- - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Gets a property store that contains metadata for the source, such as author or title.

-
- - dd798056 - GetMetadata - GetMetadata - HRESULT IMFPMediaItem::GetMetadata([Out] IPropertyStore** ppMetadataStore) -
- - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Gets a reference to the MFPlay player object that created the media item.

-
- No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dd374313 - HRESULT IMFPMediaItem::GetMediaPlayer([Out] IMFPMediaPlayer** ppMediaPlayer) - IMFPMediaItem::GetMediaPlayer -
- - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Gets the URL that was used to create the media item.

-
- No documentation. -

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

MF_E_NOTFOUND

No URL is associated with this media item.

The method was called.

?

- -

This method applies when the application calls to create a media item. If the application calls to create a media item, the GetURL method for that media item returns MF_E_NOTFOUND.

-
- - dd374320 - HRESULT IMFPMediaItem::GetURL([Out] wchar_t** ppwszURL) - IMFPMediaItem::GetURL -
- - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Gets the object that was used to create the media item.

-
- No documentation. -

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

MF_E_NOTFOUND

The media item was created from a URL, not from an object.

The method was called.

?

- -

The object reference is set if the application uses to create the media item. Otherwise, GetObject returns MF_E_NOTFOUND.

-
- - dd374315 - HRESULT IMFPMediaItem::GetObjectW([Out] IUnknown** ppIUnknown) - IMFPMediaItem::GetObjectW -
- - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Gets the application-defined value stored in the media item.

-
- No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

You can assign this value when you first create the media item, by specifying it in the dwUserData parameter of the or method. To update the value, call .

This method can be called after the player object is shut down.

-
- - dd374321 - HRESULT IMFPMediaItem::GetUserData([Out] ULONG_PTR* pdwUserData) - IMFPMediaItem::GetUserData -
- - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Stores an application-defined value in the media item.

-
- No documentation. -

This method can return one of these values.

- -

This method can be called after the player object is shut down.

-
- - dd374328 - HRESULT IMFPMediaItem::SetUserData([In] ULONG_PTR dwUserData) - IMFPMediaItem::SetUserData -
- - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Gets the start and stop times for the media item.

-
- No documentation. - No documentation. - No documentation. - No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

The pguidStartPositionType and pguidStopPositionType parameters receive the units of time that are used. Currently, the only supported value is MFP_POSITIONTYPE_100NS.

ValueDescription
MFP_POSITIONTYPE_100NS100-nanosecond units. The time parameter (pvStartValue or pvStopValue) uses the following data type:
  • Variant type (vt): VT_I8
  • Variant member: hVal

?

-
- - dd374317 - HRESULT IMFPMediaItem::GetStartStopPosition([Out, Optional] GUID* pguidStartPositionType,[Out, Optional] PROPVARIANT* pvStartValue,[Out, Optional] GUID* pguidStopPositionType,[Out, Optional] PROPVARIANT* pvStopValue) - IMFPMediaItem::GetStartStopPosition -
- - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Sets the start and stop time for the media item.

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

Return codeDescription

The method succeeded.

E_INVALIDARG

Invalid argument.

Invalid start or stop time. Any of the following can cause this error:

  • Time less than zero.
  • Time greater than the total duration of the media item.
  • Stop time less than start time.

?

- -

By default, a media item plays from the beginning to the end of the file. This method adjusts the start time and/or the stop time:

  • To set the start time, pass non-null values for pguidStartPositionType and pvStartValue.
  • To set the stop time, pass non-null values for pguidStopPositionType and pvStopValue.

The pguidStartPositionType and pguidStopPositionType parameters give the units of time that are used. Currently, the only supported value is MFP_POSITIONTYPE_100NS.

ValueDescription
MFP_POSITIONTYPE_100NS100-nanosecond units. The time parameter (pvStartValue or pvStopValue) uses the following data type:
  • Variant type (vt): VT_I8
  • Variant member: hVal

To clear a previously set time, use an empty (VT_EMPTY).

?

The adjusted start and stop times are used the next time that is called with this media item. If the media item is already set on the player, the change does not happen unless you call SetMediaItem again.

-
- - dd374325 - HRESULT IMFPMediaItem::SetStartStopPosition([In, Optional] const GUID* pguidStartPositionType,[In, Optional] const PROPVARIANT* pvStartValue,[In, Optional] const GUID* pguidStopPositionType,[In, Optional] const PROPVARIANT* pvStopValue) - IMFPMediaItem::SetStartStopPosition -
- - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Queries whether the media item contains a video stream.

-
- No documentation. - No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

To select or deselect streams before playback starts, call .

-
- - dd374323 - HRESULT IMFPMediaItem::HasVideo([Out, Optional] BOOL* pfHasVideo,[Out, Optional] BOOL* pfSelected) - IMFPMediaItem::HasVideo -
- - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Queries whether the media item contains an audio stream.

-
- No documentation. - No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

To select or deselect streams before playback starts, call .

-
- - dd374322 - HRESULT IMFPMediaItem::HasAudio([Out, Optional] BOOL* pfHasAudio,[Out, Optional] BOOL* pfSelected) - IMFPMediaItem::HasAudio -
- - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Queries whether the media item contains protected content.

Note??Currently does not support playing protected content.? -
- No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dd374324 - HRESULT IMFPMediaItem::IsProtected([Out] BOOL* pfProtected) - IMFPMediaItem::IsProtected -
- - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Gets the duration of the media item.

-
- No documentation. - No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

The method returns the total duration of the content, regardless of any values set through .

-
- - dd374312 - HRESULT IMFPMediaItem::GetDuration([In] const GUID& guidPositionType,[Out] PROPVARIANT* pvDurationValue) - IMFPMediaItem::GetDuration -
- - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Gets the number of streams (audio, video, and other) in the media item.

-
- No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dd374314 - HRESULT IMFPMediaItem::GetNumberOfStreams([Out] unsigned int* pdwStreamCount) - IMFPMediaItem::GetNumberOfStreams -
- - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Queries whether a stream is selected to play.

-
- No documentation. - No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

To select or deselect a stream, call .

-
- - dd374319 - HRESULT IMFPMediaItem::GetStreamSelection([In] unsigned int dwStreamIndex,[Out] BOOL* pfEnabled) - IMFPMediaItem::GetStreamSelection -
- - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Selects or deselects a stream.

-
- No documentation. - No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

You can use this method to change which streams are selected. The change goes into effect the next time that is called with this media item. If the media item is already set on the player, the change does not happen unless you call SetMediaItem again with this media item.

-
- - dd374326 - HRESULT IMFPMediaItem::SetStreamSelection([In] unsigned int dwStreamIndex,[In] BOOL fEnabled) - IMFPMediaItem::SetStreamSelection -
- - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Queries the media item for a stream attribute.

-
- No documentation. - No documentation. - No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

Stream attributes describe an individual stream (audio, video, or other) within the presentation. To get an attribute that applies to the entire presentation, call .

-
- - dd374318 - HRESULT IMFPMediaItem::GetStreamAttribute([In] unsigned int dwStreamIndex,[In] const GUID& guidMFAttribute,[Out] PROPVARIANT* pvValue) - IMFPMediaItem::GetStreamAttribute -
- - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Queries the media item for a presentation attribute.

-
- No documentation. - No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

Presentation attributes describe the presentation as a whole. To get an attribute that applies to an individual stream within the presentation, call .

-
- - dd374316 - HRESULT IMFPMediaItem::GetPresentationAttribute([In] const GUID& guidMFAttribute,[Out] PROPVARIANT* pvValue) - IMFPMediaItem::GetPresentationAttribute -
- - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Gets various flags that describe the media item.

-
- No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dd374311 - HRESULT IMFPMediaItem::GetCharacteristics([Out] unsigned int* pCharacteristics) - IMFPMediaItem::GetCharacteristics -
- - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Sets a media sink for the media item. A media sink is an object that consumes the data from one or more streams.

-
- No documentation. - No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

By default, the MFPlay player object renders audio streams to the Streaming Audio Renderer (SAR) and video streams to the Enhanced Video Renderer (EVR). You can use the SetStreamSink method to provide a different media sink for an audio or video stream; or to support other stream types besides audio and video. You can also use it to configure the SAR or EVR before they are used.

Call this method before calling . Calling this method after SetMediaItem has no effect, unless you stop playback and call SetMediaItem again.

To reset the media item to use the default media sink, set pMediaSink to null.

-
- - dd374327 - HRESULT IMFPMediaItem::SetStreamSink([In] unsigned int dwStreamIndex,[In, Optional] IUnknown* pMediaSink) - IMFPMediaItem::SetStreamSink -
- - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Gets a property store that contains metadata for the source, such as author or title.

-
- No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dd798056 - HRESULT IMFPMediaItem::GetMetadata([Out] IPropertyStore** ppMetadataStore) - IMFPMediaItem::GetMetadata -
- - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Contains methods to play media files.

The MFPlay player object exposes this interface. To get a reference to this interface, call .

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

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Gets the current playback rate.

-
- - dd374346 - GetRate / SetRate - GetRate - HRESULT IMFPMediaPlayer::GetRate([Out] float* pflRate) -
- - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Gets the current playback state of the MFPlay player object.

-
- -

This method can be called after the player object has been shut down.

Many of the methods complete asynchronously. While an asynchronous operation is pending, the current state is not updated until the operation completes. When the operation completes, the application receives an event callback, and the new state is given in the structure that is passed to the callback.

-
- - dd374347 - GetState - GetState - HRESULT IMFPMediaPlayer::GetState([Out] MFP_MEDIAPLAYER_STATE* peState) -
- - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Gets a reference to the current media item.

-
- -

The method is asynchronous. Therefore, while SetMediaItem is pending, GetMediaItem will not return the media item that was just set. Instead, the application should implement interface and handle the event. For more information, see Receiving Events From the Player.

The previous remark also applies to setting the media item in the function.

-
- - dd374342 - GetMediaItem / SetMediaItem - GetMediaItem - HRESULT IMFPMediaPlayer::GetMediaItem([Out] IMFPMediaItem** ppIMFPMediaItem) -
- - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Gets the current audio volume.

-
- - dd374351 - GetVolume / SetVolume - GetVolume - HRESULT IMFPMediaPlayer::GetVolume([Out] float* pflVolume) -
- - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Gets the current audio balance.

-
- - dd374338 - GetBalance / SetBalance - GetBalance - HRESULT IMFPMediaPlayer::GetBalance([Out] float* pflBalance) -
- - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Queries whether the audio is muted.

-
- - dd374343 - GetMute / SetMute - GetMute - HRESULT IMFPMediaPlayer::GetMute([Out] BOOL* pfMute) -
- - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Gets the video source rectangle.

-
- - dd743246 - GetVideoSourceRect / SetVideoSourceRect - GetVideoSourceRect - HRESULT IMFPMediaPlayer::GetVideoSourceRect([Out] MFVideoNormalizedRect* pnrcSource) -
- - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Gets the current aspect-ratio correction mode. This mode controls whether the aspect ratio of the video is preserved during playback.

-
- - dd374337 - GetAspectRatioMode / SetAspectRatioMode - GetAspectRatioMode - HRESULT IMFPMediaPlayer::GetAspectRatioMode([Out] unsigned int* pdwAspectRatioMode) -
- - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Gets the window where the video is displayed.

-
- -

The video window is specified when you first call to create the MFPlay player object.

-
- - dd374350 - GetVideoWindow - GetVideoWindow - HRESULT IMFPMediaPlayer::GetVideoWindow([Out] HWND* phwndVideo) -
- - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Gets the current color of the video border. The border color is used to letterbox the video.

-
- - dd374339 - GetBorderColor / SetBorderColor - GetBorderColor - HRESULT IMFPMediaPlayer::GetBorderColor([Out] COLORREF* pClr) -
- - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Starts playback.

-
-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The object's Shutdown method was called.

?

- -

This method completes asynchronously. When the operation completes, the application's callback method is invoked. The event type is .

-
- - dd374354 - HRESULT IMFPMediaPlayer::Play() - IMFPMediaPlayer::Play -
- - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Pauses playback. While playback is paused, the most recent video frame is displayed, and audio is silent.

-
-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The object's Shutdown method was called.

?

- -

This method completes asynchronously. When the operation completes, the application's callback method is invoked. The event type is .

-
- - dd374353 - HRESULT IMFPMediaPlayer::Pause() - IMFPMediaPlayer::Pause -
- - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Stops playback.

-
-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The object's Shutdown method was called.

?

- -

This method completes asynchronously. When the operation completes, the application's callback method is invoked. The event type is .

The current media item is still valid. After playback stops, the playback position resets to the beginning of the current media item.

-
- - dd374368 - HRESULT IMFPMediaPlayer::Stop() - IMFPMediaPlayer::Stop -
- - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Steps forward one video frame.

-
-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

Cannot frame step. Reasons for this error code include:

  • There is no media item queued for playback.
  • The current media item does not contain video.

The object's Shutdown method was called.

The media source does not support frame stepping, or the current playback rate is negative.

?

- -

This method completes asynchronously. When the operation completes, the application's callback method is invoked. The event type is .

The player object does not support frame stepping during reverse playback (that is, while the playback rate is negative).

-
- - dd374336 - HRESULT IMFPMediaPlayer::FrameStep() - IMFPMediaPlayer::FrameStep -
- - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Sets the playback position.

-
- No documentation. - No documentation. -

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_INVALIDARG

Invalid argument.

HRESULT_FROM_WIN32( )

The value of pvPositionValue is not valid.

No media item has been queued.

The object's Shutdown method was called.

?

- -

If you call this method while playback is stopped, the new position takes effect after playback resumes.

This method completes asynchronously. When the operation completes, the application's callback method is invoked. The event type is .

If playback was started before SetPosition is called, playback resumes at the new position. If playback was paused, the video is refreshed to display the current frame at the new position.

If you make two consecutive calls to SetPosition with guidPositionType equal to MFP_POSITIONTYPE_100NS, and the second call is made before the first call has completed, the second call supersedes the first. The status code for the superseded call is set to S_FALSE in the event data for that call. This behavior prevents excessive latency from repeated calls to SetPosition, as each call may force the media source to perform a relatively lengthy seek operation.

-
- - dd374363 - HRESULT IMFPMediaPlayer::SetPosition([In] const GUID& guidPositionType,[In] const PROPVARIANT* pvPositionValue) - IMFPMediaPlayer::SetPosition -
- - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Gets the current playback position.

-
- No documentation. - No documentation. -

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_INVALIDARG

Invalid argument.

No media item has been queued.

The object's Shutdown method was called.

?

- -

The playback position is calculated relative to the start time of the media item, which can be specified by calling . For example, if you set the start time to 20 seconds and the source duration is 60 seconds, the range of values returned by GetPosition is 0?40 seconds.

-
- - dd374345 - HRESULT IMFPMediaPlayer::GetPosition([In] const GUID& guidPositionType,[Out] PROPVARIANT* pvPositionValue) - IMFPMediaPlayer::GetPosition -
- - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Gets the playback duration of the current media item.

-
- No documentation. - No documentation. -

This method can return one of these values.

Return codeDescription

The method succeeded.

The media source does not have a duration. This error can occur with a live source, such as a video camera.

There is no current media item.

?

- -

This method calculates the playback duration, taking into account the start and stop times for the media item. To set the start and stop times, call on the media item. To get the actual duration of the underlying media file, regardless of start and stop times, call .

For example, suppose that you load a 30-second audio file and set the start time equal to 2 seconds and stop time equal to 10 seconds. The method will return 30 seconds, but the method will return 8 seconds.

-
- - dd374340 - HRESULT IMFPMediaPlayer::GetDuration([In] const GUID& guidPositionType,[Out] PROPVARIANT* pvDurationValue) - IMFPMediaPlayer::GetDuration -
- - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Sets the playback rate.

-
- No documentation. -

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The flRate parameter is zero.

The object's Shutdown method was called.

?

- -

This method completes asynchronously. When the operation completes, the application's callback method is invoked. The event type is .

The method sets the nearest supported rate, which will depend on the underlying media source. For example, if flRate is 50 and the source's maximum rate is 8? normal rate, the method will set the rate to 8.0. The actual rate is indicated in the event data for the event.

To find the range of supported rates, call .

This method does not support playback rates of zero, although Media Foundation defines a meaning for zero rates in some other contexts.

The new rate applies only to the current media item. Setting a new media item resets the playback rate to 1.0.

-
- - dd374364 - HRESULT IMFPMediaPlayer::SetRate([In] float flRate) - IMFPMediaPlayer::SetRate -
- - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Gets the current playback rate.

-
- No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dd374346 - HRESULT IMFPMediaPlayer::GetRate([Out] float* pflRate) - IMFPMediaPlayer::GetRate -
- - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Gets the range of supported playback rates.

-
- No documentation. - No documentation. - No documentation. -

This method can return one of these values.

Return codeDescription

The method succeeded.

The current media item does not support playback in the requested direction (either forward or reverse).

?

- -

Playback rates are expressed as a ratio of the current rate to the normal rate. For example, 1.0 indicates normal playback speed, 0.5 indicates half speed, and 2.0 indicates twice speed. Positive values indicate forward playback, and negative values indicate reverse playback. -

-
- - dd374348 - HRESULT IMFPMediaPlayer::GetSupportedRates([In] BOOL fForwardDirection,[Out] float* pflSlowestRate,[Out] float* pflFastestRate) - IMFPMediaPlayer::GetSupportedRates -
- - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Gets the current playback state of the MFPlay player object.

-
- No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

This method can be called after the player object has been shut down.

Many of the methods complete asynchronously. While an asynchronous operation is pending, the current state is not updated until the operation completes. When the operation completes, the application receives an event callback, and the new state is given in the structure that is passed to the callback.

-
- - dd374347 - HRESULT IMFPMediaPlayer::GetState([Out] MFP_MEDIAPLAYER_STATE* peState) - IMFPMediaPlayer::GetState -
- - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Creates a media item from a URL.

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

Return codeDescription

The method succeeded.

E_INVALIDARG

Invalid argument.

Invalid request. This error can occur when fSync is and the application did not provide a callback interface. See Remarks.

The object's Shutdown method was called.

Unsupported protocol.

?

- -

This method does not queue the media item for playback. To queue the item for playback, call .

The CreateMediaItemFromURL method can be called either synchronously or asynchronously:

  • If fSync is TRUE, the method completes synchronously. The reference is returned in the ppMediaItem parameter.
  • If fSync is , the method completes asynchronously. When the operation completes, the application's callback method is invoked. The event type is . The event data contains the reference for the new media item.

The callback interface is set when you first call to create the MFPlay player object. If you do not provide a callback interface, the fSync parameter must be TRUE. Otherwise, CreateMediaItemFromURL returns .

If you make multiple asynchronous calls to CreateMediaItemFromURL, they are not guaranteed to complete in the same order. Use the dwUserData parameter to match created media items with pending requests.

Currently, this method returns if the URL specifies any of the following protocols: rtsp*, mms*, or mcast. If you want to use the Media Foundation network source with MFPlay, first use the Source Resolver to create the source, and then call .

-
- - dd374335 - HRESULT IMFPMediaPlayer::CreateMediaItemFromURL([In] const wchar_t* pwszURL,[In] BOOL fSync,[In] ULONG_PTR dwUserData,[Out, Optional] IMFPMediaItem** ppMediaItem) - IMFPMediaPlayer::CreateMediaItemFromURL -
- - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Creates a media item from an 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.

Return codeDescription

The method succeeded.

E_INVALIDARG

Invalid argument.

Invalid request. This error can occur when fSync is and the application did not provide a callback interface. See Remarks.

The object's Shutdown method was called.

?

- -

The pIUnknownObj parameter must specify one of the following:

  • A reference to a media source. Media sources expose the interface. It is the caller's responsibility to call on the media source.
  • A reference to a byte stream. Byte streams expose the interface. Internally, the method calls the method to create a media source from the byte stream. Therefore, a byte-stream handler must be registered for the byte stream. For more information about byte-stream handlers, see Scheme Handlers and Byte-Stream Handlers.

This method does not queue the media item for playback. To queue the item for playback, call .

The CreateMediaItemFromObject method can be called either synchronously or asynchronously:

  • If fSync is TRUE, the method completes synchronously. The reference is returned in the ppMediaItem parameter.
  • If fSync is , the method completes asynchronously. When the operation completes, the application's callback method is invoked. The event type is . The event data contains the reference for the new media item.

The callback interface is set when you first call to create the MFPlay player object. If you do not provide a callback interface, the fSync parameter must be TRUE. Otherwise, CreateMediaItemFromObject returns .

If you make multiple asynchronous calls to CreateMediaItemFromObject, they are not guaranteed to complete in the same order. Use the dwUserData parameter to match created media items with pending requests.

-
- - dd374334 - HRESULT IMFPMediaPlayer::CreateMediaItemFromObject([In] IUnknown* pIUnknownObj,[In] BOOL fSync,[In] ULONG_PTR dwUserData,[Out, Optional] IMFPMediaItem** ppMediaItem) - IMFPMediaPlayer::CreateMediaItemFromObject -
- - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Queues a media item for playback.

-
- No documentation. -

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_INVALIDARG

Invalid argument.

The media item contains protected content. MFPlay currently does not support protected content.

No audio playback device was found. This error can occur if the media source contains audio, but no audio playback devices are available on the system.

The object's Shutdown method was called.

?

- -

This method completes asynchronously. When the operation completes, the application's callback method is invoked. The event type is .

To create a media item, call or . A media item must be used with the same MFPlay player object that created that item. If the media item was created by a different instance of the player object, SetMediaItem returns E_INVALIDARG. -

-
- - dd374361 - HRESULT IMFPMediaPlayer::SetMediaItem([In] IMFPMediaItem* pIMFPMediaItem) - IMFPMediaPlayer::SetMediaItem -
- - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Clears the current media item.

Note??This method is currently not implemented.? -
-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

This method stops playback and releases the player object's references to the current media item.

This method completes asynchronously. When the operation completes, the application's callback method is invoked. The event type is .

-
- - dd374332 - HRESULT IMFPMediaPlayer::ClearMediaItem() - IMFPMediaPlayer::ClearMediaItem -
- - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Gets a reference to the current media item.

-
- No documentation. -

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_FAIL

There is no current media item.

There is no current media item.

The object's Shutdown method was called.

?

- -

The method is asynchronous. Therefore, while SetMediaItem is pending, GetMediaItem will not return the media item that was just set. Instead, the application should implement interface and handle the event. For more information, see Receiving Events From the Player.

The previous remark also applies to setting the media item in the function.

-
- - dd374342 - HRESULT IMFPMediaPlayer::GetMediaItem([Out] IMFPMediaItem** ppIMFPMediaItem) - IMFPMediaPlayer::GetMediaItem -
- - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Gets the current audio volume.

-
- No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dd374351 - HRESULT IMFPMediaPlayer::GetVolume([Out] float* pflVolume) - IMFPMediaPlayer::GetVolume -
- - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Sets the audio volume.

-
- No documentation. -

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The flVolume parameter is invalid.

?

- -

If you call this method before playback starts, the setting is applied after playback starts.

This method does not change the master volume level for the player's audio session. Instead, it adjusts the per-channel volume levels for audio stream(s) that belong to the current media item. Other streams in the audio session are not affected. For more information, see Managing the Audio Session.

-
- - dd374366 - HRESULT IMFPMediaPlayer::SetVolume([In] float flVolume) - IMFPMediaPlayer::SetVolume -
- - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Gets the current audio balance.

-
- No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dd374338 - HRESULT IMFPMediaPlayer::GetBalance([Out] float* pflBalance) - IMFPMediaPlayer::GetBalance -
- - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Sets the audio balance.

-
- No documentation. -

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The flBalance parameter is invalid.

?

- -

If you call this method before playback starts, the setting is applied when playback starts.

-
- - dd374359 - HRESULT IMFPMediaPlayer::SetBalance([In] float flBalance) - IMFPMediaPlayer::SetBalance -
- - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Queries whether the audio is muted.

-
- No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dd374343 - HRESULT IMFPMediaPlayer::GetMute([Out] BOOL* pfMute) - IMFPMediaPlayer::GetMute -
- - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Mutes or unmutes the audio.

-
- No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

If you call this method before playback starts, the setting is applied after playback starts.

This method does not mute the entire audio session to which the player belongs. It mutes only the streams from the current media item. Other streams in the audio session are not affected. For more information, see Managing the Audio Session. -

-
- - dd374362 - HRESULT IMFPMediaPlayer::SetMute([In] BOOL fMute) - IMFPMediaPlayer::SetMute -
- - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Gets the size and aspect ratio of the video. These values are computed before any scaling is done to fit the video into the destination window.

-
- No documentation. - No documentation. -

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The current media item does not contain video.

The object's Shutdown method was called.

?

- -

At least one parameter must be non-null.

-
- - dd374344 - HRESULT IMFPMediaPlayer::GetNativeVideoSize([Out, Optional] SIZE* pszVideo,[Out, Optional] SIZE* pszARVideo) - IMFPMediaPlayer::GetNativeVideoSize -
- - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Gets the range of video sizes that can be displayed without significantly degrading performance or image quality.

-
- No documentation. - No documentation. -

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The current media item does not contain video.

The object's Shutdown method was called.

?

- -

At least one parameter must be non-null. Sizes are given in pixels.

-
- - dd374341 - HRESULT IMFPMediaPlayer::GetIdealVideoSize([Out, Optional] SIZE* pszMin,[Out, Optional] SIZE* pszMax) - IMFPMediaPlayer::GetIdealVideoSize -
- - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Sets the video source rectangle.

MFPlay clips the video to this rectangle and stretches the rectangle to fill the video window.

-
- No documentation. -

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The current media item does not contain video.

The object's Shutdown method was called.

?

- -

MFPlay stretches the source rectangle to fill the entire video window. By default, MFPlay maintains the source's correct aspect ratio, letterboxing if needed. The letterbox color is controlled by the method.

This method fails if no media item is currently set, or if the current media item does not contain video.

To set the video position before playback starts, call this method inside your event handler for the event. For more information, see .

-
- - dd743247 - HRESULT IMFPMediaPlayer::SetVideoSourceRect([In] const MFVideoNormalizedRect* pnrcSource) - IMFPMediaPlayer::SetVideoSourceRect -
- - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Gets the video source rectangle.

-
- No documentation. -

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The current media item does not contain video.

The object's Shutdown method was called.

?

- - dd743246 - HRESULT IMFPMediaPlayer::GetVideoSourceRect([Out] MFVideoNormalizedRect* pnrcSource) - IMFPMediaPlayer::GetVideoSourceRect -
- - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Specifies whether the aspect ratio of the video is preserved during playback.

-
- No documentation. -

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The current media item does not contain video.

The object's Shutdown method was called.

?

- -

This method fails if no media item is currently set, or if the current media item does not contain video.

To set the aspect-ratio mode before playback starts, call this method inside your event handler for the event. For more information, see .

-
- - dd374358 - HRESULT IMFPMediaPlayer::SetAspectRatioMode([In] unsigned int dwAspectRatioMode) - IMFPMediaPlayer::SetAspectRatioMode -
- - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Gets the current aspect-ratio correction mode. This mode controls whether the aspect ratio of the video is preserved during playback.

-
- No documentation. -

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The current media item does not contain video.

The object's Shutdown method was called.

?

- - dd374337 - HRESULT IMFPMediaPlayer::GetAspectRatioMode([Out] unsigned int* pdwAspectRatioMode) - IMFPMediaPlayer::GetAspectRatioMode -
- - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Gets the window where the video is displayed.

-
- No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

The video window is specified when you first call to create the MFPlay player object.

-
- - dd374350 - HRESULT IMFPMediaPlayer::GetVideoWindow([Out] HWND* phwndVideo) - IMFPMediaPlayer::GetVideoWindow -
- - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Updates the video frame.

-
-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The current media item does not contain video.

The object's Shutdown method was called.

?

- -

Call this method when your application's video playback window receives either a WM_PAINT or WM_SIZE message. This method performs two functions:

  • Ensures that the video frame is repainted while playback is paused or stopped.
  • Adjusts the displayed video to match the current size of the video window.
Important??Call the GDI BeginPaint function before calling UpdateVideo.? -
- - dd743248 - HRESULT IMFPMediaPlayer::UpdateVideo() - IMFPMediaPlayer::UpdateVideo -
- - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Sets the color for the video border. The border color is used to letterbox the video.

-
- No documentation. -

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The current media item does not contain video.

MF_E_SHUTDOWN

The object's Shutdown method was called.

?

- -

This method fails if no media item is currently set, or if the current media item does not contain video.

To set the border color before playback starts, call this method inside your event handler for the event. For more information, see .

-
- - dd374360 - HRESULT IMFPMediaPlayer::SetBorderColor([In] COLORREF Clr) - IMFPMediaPlayer::SetBorderColor -
- - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Gets the current color of the video border. The border color is used to letterbox the video.

-
- No documentation. -

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The current media item does not contain video.

The object's Shutdown method was called.

?

- - dd374339 - HRESULT IMFPMediaPlayer::GetBorderColor([Out] COLORREF* pClr) - IMFPMediaPlayer::GetBorderColor -
- - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Applies an audio or video effect to playback.

-
- No documentation. - No documentation. -

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

This effect was already added.

?

- -

The object specified in the pEffect parameter can implement either a video effect or an audio effect. The effect is applied to any media items set after the method is called. It is not applied to the current media item.

For each media item, the effect is applied to the first selected stream of the matching type (audio or video). If a media item has two selected streams of the same type, the second stream does not receive the effect. The effect is ignored if the media item does not contain a stream that matches the effect type. For example, if you set a video effect and play a file that contains just audio, the video effect is ignored, although no error is raised.

The effect is applied to all subsequent media items, until the application removes the effect. To remove an effect, call or .

If you set multiple effects of the same type (audio or video), they are applied in the same order in which you call InsertEffect.

-
- - dd374352 - HRESULT IMFPMediaPlayer::InsertEffect([In] IUnknown* pEffect,[In] BOOL fOptional) - IMFPMediaPlayer::InsertEffect -
- - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Removes an effect that was added with the method.

-
- No documentation. -

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The effect was not found.

?

- -

The change applies to the next media item that is set on the player. The effect is not removed from the current media item.

-
- - dd374356 - HRESULT IMFPMediaPlayer::RemoveEffect([In] IUnknown* pEffect) - IMFPMediaPlayer::RemoveEffect -
- - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Removes all effects that were added with the method.

-
-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

The change applies to the next media item that is set on the player. The effects are not removed from the current media item.

-
- - dd374355 - HRESULT IMFPMediaPlayer::RemoveAllEffects() - IMFPMediaPlayer::RemoveAllEffects -
- - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Shuts down the MFPlay player object and releases any resources the object is using.

-
-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

After this method is called, most methods return . Also, any media items created from this instance of the player object are invalidated and most methods also return .

The player object automatically shuts itself down when its reference count reaches zero. You can use the Shutdown method to shut down the player before all of the references have been released.

-
- - dd374367 - HRESULT IMFPMediaPlayer::Shutdown() - IMFPMediaPlayer::Shutdown -
- - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Callback interface for the interface.

To set the callback, pass an reference to the function in the pCallback parameter. The application implements the interface.

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

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Called by the MFPlay player object to notify the application of a playback event.

-
- No documentation. - -

The specific type of playback event is given in the eEventType member of the structure. This structure contains information that is common to all of the event types. Some event types use extended structures. A set of macros is defined for casting the pEventHeader reference to the correct structure type. For more information, see .

It is safe to call and methods inside the OnMediaPlayer method. MFPlay is guaranteed not to reenter the OnMediaPlayer method. That is, calls to OnMediaPlayer are serialized, and the method will not be invoked again from inside OnMediaPlayer.

-
- - dd374331 - void IMFPMediaPlayerCallback::OnMediaPlayerEvent([In] MFP_EVENT_HEADER* pEventHeader) - IMFPMediaPlayerCallback::OnMediaPlayerEvent -
- - -

Enables a media source to receive a reference to the interface.

-
- -

If a media source exposes this interface, the Protected Media Path (PMP) Media Session calls SetPMPHost with a reference to the interface. The media source can use the interface to create objects in the PMP process.

-
- - ms702104 - IMFPMPClient - IMFPMPClient -
- - - Initializes a new instance of the 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 a reference to the interface.

-
- -

The reference is apartment threaded. The media source must add the reference to the global interface table (GIT) before using it.

-
- - ms703915 - SetPMPHost - SetPMPHost - HRESULT IMFPMPClient::SetPMPHost([In] IMFPMPHost* pPMPHost) -
- - -

Provides a reference to the interface.

-
- No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

The reference is apartment threaded. The media source must add the reference to the global interface table (GIT) before using it.

-
- - ms703915 - HRESULT IMFPMPClient::SetPMPHost([In] IMFPMPHost* pPMPHost) - IMFPMPClient::SetPMPHost -
- - -

Provides a mechanism for a media source to implement content protection functionality in a Windows Store apps.

-
- -

When to implement: A media source implements in order to implement content protection functionality for Windows Store apps.

-
- - jj128316 - IMFPMPClientApp - IMFPMPClientApp -
- - - Initializes a new instance of the 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 reference to the interface allowing a media source to create objects in the PMP process.

-
- - jj128317 - SetPMPHost - SetPMPHost - HRESULT IMFPMPClientApp::SetPMPHost([In] IMFPMPHostApp* pPMPHost) -
- - -

Sets a reference to the interface allowing a media source to create objects in the PMP process.

-
- No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- - jj128317 - HRESULT IMFPMPClientApp::SetPMPHost([In] IMFPMPHostApp* pPMPHost) - IMFPMPClientApp::SetPMPHost -
- - -

Enables a media source in the application process to create objects in the protected media path (PMP) process.

-
- -

This interface is used when a media source resides in the application process but the Media Session resides in a PMP process. The media source can use this interface to create objects in the PMP process. For example, to play DRM-protected content, the media source typically must create an input trust authority (ITA) in the PMP process.

To use this interface, the media source implements the interface. The PMP Media Session calls on the media source, passing in a reference to the interface.

You can also get a reference to this interface by calling on the PMP Media Session, using the service identifier MF_PMP_SERVICE.

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

Blocks the protected media path (PMP) process from ending.

-
-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

When this method is called, it increments the lock count on the PMP process. For every call to this method, the application should make a corresponding call to , which decrements the lock count. When the PMP process is ready to exit, it waits for about 3 seconds, or until the lock count reaches zero, before exiting.

-
- - ms697003 - HRESULT IMFPMPHost::LockProcess() - IMFPMPHost::LockProcess -
- - -

Decrements the lock count on the protected media path (PMP) process. Call this method once for each call to .

-
-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - ms698984 - HRESULT IMFPMPHost::UnlockProcess() - IMFPMPHost::UnlockProcess -
- - -

Creates an object in the protect media path (PMP) process, from a CLSID.

-
-

The CLSID of the object to create.

-

A reference to the interface. This parameter can be null. If this parameter is not null, the PMP host queries the created object for the IPersistStream interface and calls IPersistStream::Load, passing in the pStream reference.

-

The interface identifier (IID) of the interface to retrieve.

-

Receives a reference to the requested interface. The caller must release the interface.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

You can use the pStream parameter to initialize the object after it is created.

-
- - ms698995 - HRESULT IMFPMPHost::CreateObjectByCLSID([In] const GUID& clsid,[In] IStream* pStream,[In] const GUID& riid,[In] void** ppv) - IMFPMPHost::CreateObjectByCLSID -
- - -

Allows a media source to create a Windows Runtime object in the Protected Media Path (PMP) process.

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

Blocks the protected media path (PMP) process from ending.

-
-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

When this method is called, it increments the lock count on the PMP process. For every call to this method, the application should make a corresponding call to , which decrements the lock count. When the PMP process is ready to exit, it waits for about 3 seconds, or until the lock count reaches zero, before exiting.

-
- - jj128320 - HRESULT IMFPMPHostApp::LockProcess() - IMFPMPHostApp::LockProcess -
- - -

Decrements the lock count on the protected media path (PMP) process. Call this method once for each call to .

-
-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - jj128321 - HRESULT IMFPMPHostApp::UnlockProcess() - IMFPMPHostApp::UnlockProcess -
- - -

Creates a Windows Runtime object in the protected media path (PMP) process.

-
-

Id of object to create.

-

Data to be passed to the object by way of a IPersistStream.

-

The interface identifier (IID) of the interface to retrieve.

-

Receives a reference to the created object.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - jj128319 - HRESULT IMFPMPHostApp::ActivateClassById([In] const wchar_t* id,[In, Optional] IStream* pStream,[In] const GUID& riid,[Out] void** ppv) - IMFPMPHostApp::ActivateClassById -
- - -

Enables two instances of the Media Session to share the same protected media path (PMP) process.

-
- -

If your application creates more than one instance of the Media Session, you can use this interface to share the same PMP process among several instances. This can be more efficient than re-creating the PMP process each time.

Use this interface as follows:

  1. Create the first instance of the PMP Media Session by calling .
  2. Retrieve an reference from the first Media Session by calling with the service identifier .
  3. Create the second instance of the PMP Media Session. Set the attribute on the pConfiguration parameter of the function. The attribute value is the reference retrieved in step 2.
-
- - ms702977 - IMFPMPServer - IMFPMPServer -
- - - Initializes a new instance of the class. - - The native pointer. - - - - Performs an explicit conversion from to . (This method is a shortcut to ) - - The native pointer. - - The result of the conversion. - - - - -

Blocks the protected media path (PMP) process from ending.

-
-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

When this method is called, it increments the lock count on the PMP process. For every call to this method, the application should make a corresponding call to , which decrements the lock count. When the PMP process is ready to exit, it waits for about 3 seconds, or until the lock count reaches zero, before exiting.

-
- - ms701590 - HRESULT IMFPMPServer::LockProcess() - IMFPMPServer::LockProcess -
- - -

Decrements the lock count on the protected media path (PMP) process. Call this method once for each call to .

-
-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - ms696204 - HRESULT IMFPMPServer::UnlockProcess() - IMFPMPServer::UnlockProcess -
- - -

Creates an object in the protected media path (PMP) process.

-
-

CLSID of the object to create.

-

Interface identifier of the interface to retrieve.

-

Receives a reference to the requested interface. The caller must release the interface.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - ms704806 - HRESULT IMFPMPServer::CreateObjectByCLSID([In] const GUID& clsid,[In] const GUID& riid,[Out] void** ppObject) - IMFPMPServer::CreateObjectByCLSID -
- - -

Represents a presentation clock, which is used to schedule when samples are rendered and to synchronize multiple streams.

-
- -

To create a new instance of the presentation clock, call the function. The presentation clock must have a time source, which is an object that provides the clock times. For example, the audio renderer is a time source that uses the sound card to drive the clock. Time sources expose the interface. To set the time source, call SetTimeSource. The presentation clock does not begin running until the Start method is called.

To get the presentation clock from the Media Session, call .

-
- - ms701581 - IMFPresentationClock - IMFPresentationClock -
- - - Initializes a new instance of the 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 clock's presentation time source.

-
- - ms704730 - GetTimeSource / SetTimeSource - GetTimeSource - HRESULT IMFPresentationClock::GetTimeSource([Out] IMFPresentationTimeSource** ppTimeSource) -
- - -

Retrieves the latest clock time.

-
- -

This method does not attempt to smooth out jitter or otherwise account for any inaccuracies in the clock time.

-
- - ms696209 - GetTime - GetTime - HRESULT IMFPresentationClock::GetTime([Out] longlong* phnsClockTime) -
- - -

Sets the time source for the presentation clock. The time source is the object that drives the clock by providing the current time.

-
-

Pointer to the interface of the time source.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The time source does not have a frequency of 10 MHz.

The time source has not been initialized.

?

- -

The presentation clock cannot start until it has a time source.

The time source is automatically registered to receive state change notifications from the clock, through the time source's interface, which all time sources must implement.

This time source have a frequency of 10 MHz. See . If not, the method returns .

-
- - ms694835 - HRESULT IMFPresentationClock::SetTimeSource([In, Optional] IMFPresentationTimeSource* pTimeSource) - IMFPresentationClock::SetTimeSource -
- - -

Retrieves the clock's presentation time source.

-
-

Receives a reference to the time source's interface. The caller must release the interface.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

No time source was set on this clock.

?

- - ms704730 - HRESULT IMFPresentationClock::GetTimeSource([Out] IMFPresentationTimeSource** ppTimeSource) - IMFPresentationClock::GetTimeSource -
- - -

Retrieves the latest clock time.

-
-

Receives the latest clock time, in 100-nanosecond units. The time is relative to when the clock was last started.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The clock does not have a presentation time source. Call .

?

- -

This method does not attempt to smooth out jitter or otherwise account for any inaccuracies in the clock time.

-
- - ms696209 - HRESULT IMFPresentationClock::GetTime([Out] longlong* phnsClockTime) - IMFPresentationClock::GetTime -
- - -

Registers an object to be notified whenever the clock starts, stops, or pauses, or changes rate.

-
-

Pointer to the object's interface.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

Before releasing the object, call to unregister the object for state-change notifications.

-
- - ms703129 - HRESULT IMFPresentationClock::AddClockStateSink([In, Optional] IMFClockStateSink* pStateSink) - IMFPresentationClock::AddClockStateSink -
- - -

Unregisters an object that is receiving state-change notifications from the clock.

-
-

Pointer to the object's interface.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - ms703032 - HRESULT IMFPresentationClock::RemoveClockStateSink([In, Optional] IMFClockStateSink* pStateSink) - IMFPresentationClock::RemoveClockStateSink -
- - -

Starts the presentation clock.

-
-

Initial starting time, in 100-nanosecond units. At the time the Start method is called, the clock's method returns this value, and the clock time increments from there. If the value is PRESENTATION_CURRENT_POSITION, the clock starts from its current position. Use this value if the clock is paused and you want to restart it from the same position.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

No time source was set on this clock.

?

- -

This method is valid in all states (stopped, paused, or running).

If the clock is paused and restarted from the same position (llClockStartOffset is PRESENTATION_CURRENT_POSITION), the presentation clock sends an notification. Otherwise, the clock sends an notification.

The presentation clock initiates the state change by calling OnClockStart or OnClockRestart on the clock's time source. This call is made synchronously. If it fails, the state change does not occur. If the call succeeds, the state changes, and the clock notifies the other state-change subscribers by calling their OnClockStart or OnClockRestart methods. These calls are made asynchronously.

If the clock is already running, calling Start again has the effect of seeking the clock to the new StartOffset position.

-
- - ms702290 - HRESULT IMFPresentationClock::Start([In] longlong llClockStartOffset) - IMFPresentationClock::Start -
- - -

Stops the presentation clock. While the clock is stopped, the clock time does not advance, and the clock's method returns zero.

-
-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

No time source was set on this clock.

The clock is already stopped.

?

- -

This method is valid when the clock is running or paused.

The presentation clock initiates the state change by calling on the clock's time source. This call is made synchronously. If it fails, the state change does not occur. If the call succeeds, the state changes, and the clock notifies the other state-change subscribers by calling their OnClockStop methods. These calls are made asynchronously.

-
- - ms697195 - HRESULT IMFPresentationClock::Stop() - IMFPresentationClock::Stop -
- - -

Pauses the presentation clock. While the clock is paused, the clock time does not advance, and the clock's returns the time at which the clock was paused.

-
-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

No time source was set on this clock.

The clock is already paused.

The clock is stopped. This request is not valid when the clock is stopped.

?

- -

This method is valid when the clock is running. It is not valid when the clock is paused or stopped.

The presentation clock initiates the state change by calling on the clock's time source. This call is made synchronously. If it fails, the state change does not occur. If the call succeeds, the state changes, and the clock notifies the other state-change subscribers by calling their OnClockPause methods. These calls are made asynchronously.

-
- - ms696201 - HRESULT IMFPresentationClock::Pause() - IMFPresentationClock::Pause -
- - -

Describes the details of a presentation. A presentation is a set of related media streams that share a common presentation time.

-
- -

Presentation descriptors are used to configure media sources and some media sinks. To get the presentation descriptor from a media source, call . To create a new presentation descriptor, call .

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms703990 - IMFPresentationDescriptor - IMFPresentationDescriptor -
- - - Initializes a new instance of the 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 stream descriptors in the presentation. Each stream descriptor contains information about one stream in the media source. To retrieve a stream descriptor, call the method.

-
- -

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms701621 - GetStreamDescriptorCount - GetStreamDescriptorCount - HRESULT IMFPresentationDescriptor::GetStreamDescriptorCount([Out] unsigned int* pdwDescriptorCount) -
- - -

Retrieves the number of stream descriptors in the presentation. Each stream descriptor contains information about one stream in the media source. To retrieve a stream descriptor, call the method.

-
- No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms701621 - HRESULT IMFPresentationDescriptor::GetStreamDescriptorCount([Out] unsigned int* pdwDescriptorCount) - IMFPresentationDescriptor::GetStreamDescriptorCount -
- - -

Retrieves a stream descriptor for a stream in the presentation. The stream descriptor contains information about the stream.

-
-

Zero-based index of the stream. To find the number of streams in the presentation, call the method.

-

Receives a Boolean value. The value is TRUE if the stream is currently selected, or if the stream is currently deselected. If a stream is selected, the media source generates data for that stream when is called. The media source will not generated data for deselected streams. To select a stream, call .To deselect a stream, call .

-

Receives a reference to the stream descriptor's interface. The caller must release the interface.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms694924 - HRESULT IMFPresentationDescriptor::GetStreamDescriptorByIndex([In] unsigned int dwIndex,[Out] BOOL* pfSelected,[Out] IMFStreamDescriptor** ppDescriptor) - IMFPresentationDescriptor::GetStreamDescriptorByIndex -
- - -

Selects a stream in the presentation.

-
-

The stream number to select, indexed from zero. To find the number of streams in the presentation, call .

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_INVALIDARG

dwDescriptorIndex is out of range.

?

- -

If a stream is selected, the media source will generate data for that stream. The media source will not generated data for deselected streams. To deselect a stream, call .

To query whether a stream is selected, call .

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms696272 - HRESULT IMFPresentationDescriptor::SelectStream([In] unsigned int dwDescriptorIndex) - IMFPresentationDescriptor::SelectStream -
- - -

Deselects a stream in the presentation.

-
-

The stream number to deselect, indexed from zero. To find the number of streams in the presentation, call the method.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_INVALIDARG

dwDescriptorIndex is out of range.

?

- -

If a stream is deselected, no data is generated for that stream. To select the stream again, call .

To query whether a stream is selected, call .

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms696266 - HRESULT IMFPresentationDescriptor::DeselectStream([In] unsigned int dwDescriptorIndex) - IMFPresentationDescriptor::DeselectStream -
- - -

Creates a copy of this presentation descriptor.

-
-

Receives a reference to the interface of the new presentation descriptor. The caller must release the interface.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

This method performs a shallow copy of the presentation descriptor. The stream descriptors are not cloned. Therefore, use caution when modifying the presentation presentation descriptor or its stream descriptors.

If the original presentation descriptor is from a media source, do not modify the presentation descriptor unless the source is stopped. If you use the presentation descriptor to configure a media sink, do not modify the presentation descriptor after the sink is configured.

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms694028 - HRESULT IMFPresentationDescriptor::Clone([Out] IMFPresentationDescriptor** ppPresentationDescriptor) - IMFPresentationDescriptor::Clone -
- - -

Retrieves a stream descriptor for a stream in the presentation. The stream descriptor contains information about the stream.

-
-

Zero-based index of the stream. To find the number of streams in the presentation, call the method.

-

Receives a Boolean value. The value is TRUE if the stream is currently selected, or if the stream is currently deselected. If a stream is selected, the media source generates data for that stream when is called. The media source will not generated data for deselected streams. To select a stream, call .To deselect a stream, call .

-

Receives a reference to the stream descriptor's interface. The caller must release the interface.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms694924 - HRESULT IMFPresentationDescriptor::GetStreamDescriptorByIndex([In] unsigned int dwIndex,[Out] BOOL* pfSelected,[Out] IMFStreamDescriptor** ppDescriptor) - IMFPresentationDescriptor::GetStreamDescriptorByIndex -
- - -

Provides the clock times for the presentation clock.

-
- -

This interface is implemented by presentation time sources. A presentation time source is an object that provides the clock time for the presentation clock. For example, the audio renderer is a presentation time source. The rate at which the audio renderer consumes audio samples determines the clock time. If the audio format is 44100 samples per second, the audio renderer will report that one second has passed for every 44100 audio samples it plays. In this case, the timing is provided by the sound card.

To set the presentation time source on the presentation clock, call with a reference to the time source's interface.

A presentation time source must also implement the interface. The presentaton clock uses this interface to notify the time source when the clock state changes.

Media Foundation provides a presentation time source that is based on the system clock. To create this object, call the function.

-
- - ms704711 - IMFPresentationTimeSource - IMFPresentationTimeSource -
- - - Initializes a new instance of the 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 underlying clock that the presentation time source uses to generate its clock times.

-
- -

A presentation time source must support stopping, starting, pausing, and rate changes. However, in many cases the time source derives its clock times from a hardware clock or other device. The underlying clock is always running, and might not support rate changes.

Optionally, a time source can expose the underlying clock by implementing this method. The underlying clock is always running, even when the presentation time source is paused or stopped. (Therefore, the underlying clock returns the flag in the method).

The underlying clock is useful if you want to make decisions based on the clock times while the presentation clock is stopped or paused.

If the time source does not expose an underlying clock, the method returns .

-
- - ms694071 - GetUnderlyingClock - GetUnderlyingClock - HRESULT IMFPresentationTimeSource::GetUnderlyingClock([Out] IMFClock** ppClock) -
- - -

Retrieves the underlying clock that the presentation time source uses to generate its clock times.

-
-

Receives a reference to the clock's interface. The caller must release the interface.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

This time source does not expose an underlying clock.

?

- -

A presentation time source must support stopping, starting, pausing, and rate changes. However, in many cases the time source derives its clock times from a hardware clock or other device. The underlying clock is always running, and might not support rate changes.

Optionally, a time source can expose the underlying clock by implementing this method. The underlying clock is always running, even when the presentation time source is paused or stopped. (Therefore, the underlying clock returns the flag in the method).

The underlying clock is useful if you want to make decisions based on the clock times while the presentation clock is stopped or paused.

If the time source does not expose an underlying clock, the method returns .

-
- - ms694071 - HRESULT IMFPresentationTimeSource::GetUnderlyingClock([Out] IMFClock** ppClock) - IMFPresentationTimeSource::GetUnderlyingClock -
- - -

Provides a method that allows content protection systems to perform a handshake with the protected environment. This is needed because the CreateFile and DeviceIoControl APIs are not available to Windows Store apps.

-
- -

See for an example of how to create and use an object.

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

Allows content protection systems to access the protected environment.

-
-

The length in bytes of the input data.

-

A reference to the input data.

-

The length in bytes of the output data.

-

A reference to the output data.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

See for an example of how to create an object and use the Call method.

-
- - hh448046 - HRESULT IMFProtectedEnvironmentAccess::Call([In] unsigned int inputLength,[In, Buffer] const unsigned char* input,[In] unsigned int outputLength,[Out, Buffer] unsigned char* output) - IMFProtectedEnvironmentAccess::Call -
- - -

Gets the Global Revocation List (GLR).

-
-

The length of the data returned in output.

-

Receives the contents of the global revocation list file.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

Allows reading of the system Global Revocation List (GRL).

-
- - jj128322 - HRESULT IMFProtectedEnvironmentAccess::ReadGRL([Out] unsigned int* outputLength,[Out, Buffer] unsigned char** output) - IMFProtectedEnvironmentAccess::ReadGRL -
- - -

Enables the quality manager to adjust the audio or video quality of a component in the pipeline.

This interface is exposed by pipeline components that can adjust their quality. Typically it is exposed by decoders and stream sinks. For example, the enhanced video renderer (EVR) implements this interface. However, media sources can also implement this interface.

To get a reference to this interface from a media source, call with the service identifier . For all other pipeline objects (transforms and media sinks), call QueryInterface.

-
- -

The quality manager typically obtains this interface when the quality manager's method is called.

-
- - ms695241 - IMFQualityAdvise - IMFQualityAdvise -
- - - Initializes a new instance of the 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 current drop mode.

-
- - ms702987 - GetDropMode / SetDropMode - GetDropMode - HRESULT IMFQualityAdvise::GetDropMode([Out] MF_QUALITY_DROP_MODE* peDropMode) -
- - -

Retrieves the current quality level.

-
- - ms701591 - GetQualityLevel / SetQualityLevel - GetQualityLevel - HRESULT IMFQualityAdvise::GetQualityLevel([Out] MF_QUALITY_LEVEL* peQualityLevel) -
- - -

Sets the drop mode. In drop mode, a component drops samples, more or less aggressively depending on the level of the drop mode.

-
-

Requested drop mode, specified as a member of the enumeration.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The component does not support the specified mode or any higher modes.

?

- -

If this method is called on a media source, the media source might switch between thinned and non-thinned output. If that occurs, the affected streams will send an event to indicate the transition. The operation is asynchronous; after SetDropMode returns, you might receive samples that were queued before the transition. The event marks the exact point in the stream where the transition occurs.

-
- - ms694861 - HRESULT IMFQualityAdvise::SetDropMode([In] MF_QUALITY_DROP_MODE eDropMode) - IMFQualityAdvise::SetDropMode -
- - -

Sets the quality level. The quality level determines how the component consumes or produces samples.

-
-

Requested quality level, specified as a member of the enumeration.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The component does not support the specified quality level or any levels below it.

?

- - ms705619 - HRESULT IMFQualityAdvise::SetQualityLevel([In] MF_QUALITY_LEVEL eQualityLevel) - IMFQualityAdvise::SetQualityLevel -
- - -

Retrieves the current drop mode.

-
-

Receives the drop mode, specified as a member of the enumeration.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - ms702987 - HRESULT IMFQualityAdvise::GetDropMode([Out] MF_QUALITY_DROP_MODE* peDropMode) - IMFQualityAdvise::GetDropMode -
- - -

Retrieves the current quality level.

-
-

Receives the quality level, specified as a member of the enumeration.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - ms701591 - HRESULT IMFQualityAdvise::GetQualityLevel([Out] MF_QUALITY_LEVEL* peQualityLevel) - IMFQualityAdvise::GetQualityLevel -
- - -

Drops samples over a specified interval of time.

-
-

Amount of time to drop, in 100-nanosecond units. This value is always absolute. If the method is called multiple times, do not add the times from previous calls.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The object does not support this method.

?

- -

Ideally the quality manager can prevent a renderer from falling behind. But if this does occur, then simply lowering quality does not guarantee the renderer will ever catch up. As a result, audio and video might fall out of sync. To correct this problem, the quality manager can call DropTime to request that the renderer drop samples quickly over a specified time interval. After that period, the renderer stops dropping samples.

This method is primarily intended for the video renderer. Dropped audio samples cause audio glitching, which is not desirable.

If a component does not support this method, it should return .

-
- - ms697431 - HRESULT IMFQualityAdvise::DropTime([In] longlong hnsAmountToDrop) - IMFQualityAdvise::DropTime -
- - -

Enables a pipeline object to adjust its own audio or video quality, in response to quality messages.

-
- -

This interface enables a pipeline object to respond to quality messages from the media sink. Currently, it is supported only for video decoders.

If a video decoder exposes but not , the quality manager controls quality adjustments for the decoder. In this case, the quality manager responds to events from the Enhanced Video Renderer (EVR) by calling methods on the decoder.

If the decoder exposes , the quality manager forwards the events to the decoder and does not adjust the decoder's quality settings. The decoder should respond to these events by adjusting its own quality settings internally.

The preceding remarks apply to the default implementation of the quality manager; custom quality managers can implement other behaviors.

This interface is available on Windows?Vista if Platform Update Supplement for Windows?Vista is installed.

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

Forwards an event from the media sink.

-
- No documentation. - No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

This interface is available on Windows?Vista if Platform Update Supplement for Windows?Vista is installed.

-
- - dd743250 - HRESULT IMFQualityAdvise2::NotifyQualityEvent([In, Optional] IMFMediaEvent* pEvent,[Out] unsigned int* pdwFlags) - IMFQualityAdvise2::NotifyQualityEvent -
- - -

Queries an object for the number of quality modes it supports. Quality modes are used to adjust the trade-off between quality and speed when rendering audio or video.

The default presenter for the enhanced video renderer (EVR) implements this interface. The EVR uses the interface to respond to quality messages from the quality manager.

-
- - dd374511 - IMFQualityAdviseLimits - IMFQualityAdviseLimits -
- - - Initializes a new instance of the 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 maximum drop mode. A higher drop mode means that the object will, if needed, drop samples more aggressively to match the presentation clock.

-
- -

To get the current drop mode, call the method. To set the drop mode, call the method.

-
- - dd374512 - GetMaximumDropMode - GetMaximumDropMode - HRESULT IMFQualityAdviseLimits::GetMaximumDropMode([Out] MF_QUALITY_DROP_MODE* peDropMode) -
- - -

Gets the minimum quality level that is supported by the component.

-
- -

To get the current quality level, call the method. To set the quality level, call the method.

-
- - dd374513 - GetMinimumQualityLevel - GetMinimumQualityLevel - HRESULT IMFQualityAdviseLimits::GetMinimumQualityLevel([Out] MF_QUALITY_LEVEL* peQualityLevel) -
- - -

Gets the maximum drop mode. A higher drop mode means that the object will, if needed, drop samples more aggressively to match the presentation clock.

-
-

Receives the maximum drop mode, specified as a member of the enumeration.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

To get the current drop mode, call the method. To set the drop mode, call the method.

-
- - dd374512 - HRESULT IMFQualityAdviseLimits::GetMaximumDropMode([Out] MF_QUALITY_DROP_MODE* peDropMode) - IMFQualityAdviseLimits::GetMaximumDropMode -
- - -

Gets the minimum quality level that is supported by the component.

-
-

Receives the minimum quality level, specified as a member of the enumeration.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

To get the current quality level, call the method. To set the quality level, call the method.

-
- - dd374513 - HRESULT IMFQualityAdviseLimits::GetMinimumQualityLevel([Out] MF_QUALITY_LEVEL* peQualityLevel) - IMFQualityAdviseLimits::GetMinimumQualityLevel -
- - -

Adjusts playback quality. This interface is exposed by the quality manager.

-
- -

Media Foundation provides a default quality manager that is tuned for playback. Applications can provide a custom quality manager to the Media Session by setting the attribute when creating the Media Session.

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

Called when the Media Session is about to start playing a new topology.

-
-

Pointer to the interface of the new topology. If this parameter is null, the quality manager should release any references to the previous topology.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

In a typical quality manager this method does the following:

  1. Enumerates the nodes in the topology.

  2. Calls to get the node's underlying object.

  3. Queries for the interface.

The quality manager can then use the references to adjust audio-video quality as needed.

-
- - ms697409 - HRESULT IMFQualityManager::NotifyTopology([In] IMFTopology* pTopology) - IMFQualityManager::NotifyTopology -
- - -

Called when the Media Session selects a presentation clock.

-
-

Pointer to the interface of the presentation clock. If this parameter is null, the quality manager should release any references to the presentation clock.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - ms702211 - HRESULT IMFQualityManager::NotifyPresentationClock([In] IMFPresentationClock* pClock) - IMFQualityManager::NotifyPresentationClock -
- - -

Called when the media processor is about to deliver an input sample to a pipeline component.

-
-

Pointer to the interface of the topology node that represents the pipeline component.

-

Index of the input stream on the topology node.

-

Pointer to the interface of the input sample.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

This method is called for every sample passing through every pipeline component. Therefore, the method must return quickly to avoid introducing too much latency into the pipeline.

-
- - ms703097 - HRESULT IMFQualityManager::NotifyProcessInput([In] IMFTopologyNode* pNode,[In] int lInputIndex,[In] IMFSample* pSample) - IMFQualityManager::NotifyProcessInput -
- - -

Called after the media processor gets an output sample from a pipeline component.

-
-

Pointer to the interface of the topology node that represents the pipeline component.

-

Index of the output stream on the topology node.

-

Pointer to the interface of the output sample.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

This method is called for every sample passing through every pipeline component. Therefore, the method must return quickly to avoid introducing too much latency into the pipeline.

-
- - ms700792 - HRESULT IMFQualityManager::NotifyProcessOutput([In] IMFTopologyNode* pNode,[In] int lOutputIndex,[In] IMFSample* pSample) - IMFQualityManager::NotifyProcessOutput -
- - -

Called when a pipeline component sends an event.

-
- No documentation. - No documentation. -

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - ms704768 - HRESULT IMFQualityManager::NotifyQualityEvent([In] IUnknown* pObject,[In] IMFMediaEvent* pEvent) - IMFQualityManager::NotifyQualityEvent -
- - -

Called when the Media Session is shutting down.

-
-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

The quality manager should release all references to the Media Session when this method is called.

-
- - ms703099 - HRESULT IMFQualityManager::Shutdown() - IMFQualityManager::Shutdown -
- - -

Gets or sets the playback rate.

-
- -

Objects can expose this interface as a service. To obtain a reference to the interface, call with the service identifier . The Media Session supports this interface. Media sources and transforms support this interface if they support rate changes. Media sinks do not need to support this interface. Media sinks are notified of rate changes through the method.

For more information, see About Rate Control.

To discover the playback rates that an object supports, use the interface

-
- - ms697193 - IMFRateControl - IMFRateControl -
- - - Initializes a new instance of the 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 playback rate.

-
-

If TRUE, the media streams are thinned. Otherwise, the stream is not thinned. For media sources and demultiplexers, the object must thin the streams when this parameter is TRUE. For downstream transforms, such as decoders and multiplexers, this parameter is informative; it notifies the object that the input streams are thinned. For information, see About Rate Control.

-

The requested playback rate. Postive values indicate forward playback, negative values indicate reverse playback, and zero indicates scrubbing (the source delivers a single frame).

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The object does not support reverse playback.

The object does not support thinning.

The object does not support the requested playback rate.

The object cannot change to the new rate while in the running state.

?

- -

The Media Session prevents some transitions between rate boundaries, depending on the current playback state:

Playback StateForward/ReverseForward/ZeroReverse/Zero
RunningNoNoNo
PausedNoYesNo
StoppedYesYesYes

?

If the transition is not supported, the method returns .

When a media source completes a call to SetRate, it sends the event. Other pipeline components do not send this event.

If a media source switches between thinned and non-thinned playback, the streams send an event to indicate the transition. Events from the media source are not synchronized with events from the media streams. After you receive the event, you can still receive samples that were queued before the stream switched to thinned or non-thinned mode. The event marks the exact point in the stream where the transition occurs.

When the Media Session completes a call to SetRate, it sends the event.

-
- - ms696979 - HRESULT IMFRateControl::SetRate([In] BOOL fThin,[In] float flRate) - IMFRateControl::SetRate -
- - -

Gets the current playback rate.

-
-

Receives the current playback rate.

-

Receives the value TRUE if the stream is currently being thinned. If the object does not support thinning, this parameter always receives the value . This parameter can be null. For more information, see About Rate Control.

- - ms705641 - HRESULT IMFRateControl::GetRate([Out] BOOL* pfThin,[Out] float* pflRate) - IMFRateControl::GetRate -
- - -

Queries the range of playback rates that are supported, including reverse playback.

To get a reference to this interface, call with the service identifier .

-
- -

Applications can use this interface to discover the fastest and slowest playback rates that are possible, and to query whether a given playback rate is supported. Applications obtain this interface from the Media Session. Internally, the Media Session queries the objects in the pipeline. For more information, see How to Determine Supported Rates.

To get the current playback rate and to change the playback rate, use the interface.

Playback rates are expressed as a ratio the normal playback rate. Reverse playback is expressed as a negative rate. Playback is either thinned or non-thinned. In thinned playback, some of the source data is skipped (typically delta frames). In non-thinned playback, all of the source data is rendered.

You might need to implement this interface if you are writing a pipeline object (media source, transform, or media sink). For more information, see Implementing Rate Control.

-
- - ms701858 - IMFRateSupport - IMFRateSupport -
- - - Initializes a new instance of the 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 slowest playback rate supported by the object.

-
-

Specifies whether to query to the slowest forward playback rate or reverse playback rate. The value is a member of the enumeration.

-

If TRUE, the method retrieves the slowest thinned playback rate. Otherwise, the method retrieves the slowest non-thinned playback rate. For information about thinning, see About Rate Control.

-

Receives the slowest playback rate that the object supports.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The object does not support reverse playback.

The object does not support thinning.

?

- -

The value returned in plfRate represents a lower bound. Playback at this rate is not guaranteed. Call to check whether the boundary rate is supported. For example, a component that supports arbitrarily slow rates will return zero in pflRate, and applications should call IsRateSupported separately to determine whether the component supports rate 0.

If eDirection is , the method retrieves the slowest reverse playback rate. This is a negative value, assuming the object supports reverse playback.

-
- - ms704596 - HRESULT IMFRateSupport::GetSlowestRate([In] MFRATE_DIRECTION eDirection,[In] BOOL fThin,[Out] float* pflRate) - IMFRateSupport::GetSlowestRate -
- - -

Gets the fastest playback rate supported by the object.

-
-

Specifies whether to query to the fastest forward playback rate or reverse playback rate. The value is a member of the enumeration.

-

If TRUE, the method retrieves the fastest thinned playback rate. Otherwise, the method retrieves the fastest non-thinned playback rate. For information about thinning, see About Rate Control.

-

Receives the fastest playback rate that the object supports.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The object does not support reverse playback.

The object does not support thinning.

?

- -

For some formats (such as ASF), thinning means dropping all frames that are not I-frames. If a component produces stream data, such as a media source or a demultiplexer, it should pay attention to the fThin parameter and return if it cannot thin the stream.

If the component processes or receives a stream (most transforms or media sinks), it may ignore this parameter if it does not care whether the stream is thinned. In the Media Session's implementation of rate support, if the transforms do not explicitly support reverse playback, the Media Session will attempt to playback in reverse with thinning but not without thinning. Therefore, most applications will set fThin to TRUE when using the Media Session for reverse playback.

If eDirection is , the method retrieves the fastest reverse playback rate. This is a negative value, assuming the object supports reverse playback.

-
- - ms693505 - HRESULT IMFRateSupport::GetFastestRate([In] MFRATE_DIRECTION eDirection,[In] BOOL fThin,[Out] float* pflRate) - IMFRateSupport::GetFastestRate -
- - -

Queries whether the object supports a specified playback rate.

-
-

If TRUE, the method queries whether the object supports the playback rate with thinning. Otherwise, the method queries whether the object supports the playback rate without thinning. For information about thinning, see About Rate Control.

-

The playback rate to query.

-

If the object does not support the playback rate given in flRate, this parameter receives the closest supported playback rate. If the method returns , this parameter receives the value given in flRate. This parameter can be null.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The object supports the specified rate.

The object does not support reverse playback.

The object does not support thinning.

The object does not support the specified rate.

?

- - ms696250 - HRESULT IMFRateSupport::IsRateSupported([In] BOOL fThin,[In] float flRate,[InOut, Optional] float* pflNearestSupportedRate) - IMFRateSupport::IsRateSupported -
- - -

Creates an instance of either the sink writer or the source reader.

-
- -

To get a reference to this interface, call the CoCreateInstance function. The CLSID is CLSID_MFReadWriteClassFactory. Call the function before using the interface.

As an alternative to using this interface, you can call any of the following functions:

Internally, these functions use the interface.

This interface is available on Windows?Vista if Platform Update Supplement for Windows?Vista is installed.

-
- - dd374514 - IMFReadWriteClassFactory - IMFReadWriteClassFactory -
- - - Initializes a new instance of the 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 an instance of the sink writer or source reader, given a URL.

-
-

The CLSID of the object to create.

ValueMeaning
CLSID_MFSinkWriter

Create the sink writer. The ppvObject parameter receives an interface reference.

CLSID_MFSourceReader

Create the source reader. The ppvObject parameter receives an interface reference.

?

-

A null-terminated string that contains a URL. If clsid is CLSID_MFSinkWriter, the URL specifies the name of the output file. The sink writer creates a new file with this name. If clsid is CLSID_MFSourceReader, the URL specifies the input file for the source reader.

-

A reference to the interface. You can use this parameter to configure the sink writer or source reader. For more information, see the following topics:

  • Sink Writer Attributes
  • Source Reader Attributes

This parameter can be null.

-

The IID of the requested interface.

-

Receives a reference to the requested interface. The caller must release the interface.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

This interface is available on Windows?Vista if Platform Update Supplement for Windows?Vista is installed.

-
- - dd374516 - HRESULT IMFReadWriteClassFactory::CreateInstanceFromURL([In] const GUID& clsid,[In] const wchar_t* pwszURL,[In, Optional] IMFAttributes* pAttributes,[In] const GUID& riid,[Out] void** ppvObject) - IMFReadWriteClassFactory::CreateInstanceFromURL -
- - -

Creates an instance of the sink writer or source reader, given an reference.

-
-

The CLSID of the object to create.

ValueMeaning
CLSID_MFSinkWriter

Create the sink writer. The ppvObject parameter receives an interface reference.

CLSID_MFSourceReader

Create the source reader. The ppvObject parameter receives an interface reference.

?

-

A reference to the interface of an object that is used to initialize the source reader or sink writer. The method queries this reference for one of the following interfaces.

ValueMeaning

Pointer to a byte stream.

If clsid is CLSID_MFSinkWriter, the sink writer writes data to this byte stream.

If clsid is CLSID_MFSourceReader, this byte stream provides the source data for the source reader.

Pointer to a media sink. Applies only when clsid is CLSID_MFSinkWriter.

Pointer to a media source. Applies only when clsid is CLSID_MFSourceReader.

?

-

A reference to the interface. You can use this parameter to configure the sink writer or source reader. For more information, see the following topics:

  • Sink Writer Attributes
  • Source Reader Attributes

This parameter can be null.

-

The IID of the requested interface.

-

Receives a reference to the requested interface. The caller must release the interface.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

This interface is available on Windows?Vista if Platform Update Supplement for Windows?Vista is installed.

-
- - dd374515 - HRESULT IMFReadWriteClassFactory::CreateInstanceFromObject([In] const GUID& clsid,[In] IUnknown* punkObject,[In, Optional] IMFAttributes* pAttributes,[In] const GUID& riid,[Out] void** ppvObject) - IMFReadWriteClassFactory::CreateInstanceFromObject -
- - -

Notifies a pipeline object to register itself with the Multimedia Class Scheduler Service (MMCSS).

Any pipeline object that creates worker threads should implement this interface.

-
- -

Media Foundation provides a mechanism for applications to associate branches in the topology with MMCSS tasks. A topology branch is defined by a source node in the topology and all of the nodes downstream from it. An application registers a topology branch with MMCSS by setting the attribute on the source node and then calling .

When the application registers a topology branch with MMCSS, the Media Session queries every pipeline object in that branch for the interface. If the object exposes the interface, the Media Session calls RegisterThreads.

When the application unregisters the topology branch, the Media Session calls UnregisterThreads.

If a pipeline object creates its own worker threads but does not implement this interface, it can cause priority inversions in the Media Foundation pipeline, because high-priority processing threads might be blocked while waiting for the component to process data on a thread with lower priority.

Pipeline objects that do not create worker threads do not need to implement this interface.

In Windows?8, this interface is extended with .

-
- - aa372146 - IMFRealTimeClient - IMFRealTimeClient -
- - - Initializes a new instance of the 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 work queue for the topology branch that contains this object.

-
- -

An application can register a branch of the topology to use a private work queue. The Media Session notifies any pipeline object that supports by calling SetWorkQueue with the application's work queue identifier.

When the application unregisters the topology branch, the Media Session calls SetWorkQueue again with the value .

-
- - aa367678 - SetWorkQueue - SetWorkQueue - HRESULT IMFRealTimeClient::SetWorkQueue([In] unsigned int dwWorkQueueId) -
- - -

Notifies the object to register its worker threads with the Multimedia Class Scheduler Service (MMCSS).

-
-

The MMCSS task identifier.

-

The name of the MMCSS task.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

The object's worker threads should register themselves with MMCSS by calling AvSetMmThreadCharacteristics, using the task name and identifier specified in this method.

-
- - aa367059 - HRESULT IMFRealTimeClient::RegisterThreads([In] unsigned int dwTaskIndex,[In] const wchar_t* wszClass) - IMFRealTimeClient::RegisterThreads -
- - -

Notifies the object to unregister its worker threads from the Multimedia Class Scheduler Service (MMCSS).

-
-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

The object's worker threads should unregister themselves from MMCSS by calling AvRevertMmThreadCharacteristics.

-
- - aa371717 - HRESULT IMFRealTimeClient::UnregisterThreads() - IMFRealTimeClient::UnregisterThreads -
- - -

Specifies the work queue for the topology branch that contains this object.

-
-

The identifier of the work queue, or the value . See Remarks.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

An application can register a branch of the topology to use a private work queue. The Media Session notifies any pipeline object that supports by calling SetWorkQueue with the application's work queue identifier.

When the application unregisters the topology branch, the Media Session calls SetWorkQueue again with the value .

-
- - aa367678 - HRESULT IMFRealTimeClient::SetWorkQueue([In] unsigned int dwWorkQueueId) - IMFRealTimeClient::SetWorkQueue -
- - -

Notifies a pipeline object to register itself with the Multimedia Class Scheduler Service (MMCSS).

This interface is a replacement for the interface.

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

Notifies the object to register its worker threads with the Multimedia Class Scheduler Service (MMCSS).

-
-

The MMCSS task identifier. If the value is zero on input, the object should create a new MCCSS task group. See Remarks.

-

The name of the MMCSS task.

-

The base priority of the thread.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

If the object does not create worker threads, the method should simply return and take no further action.

Otherwise, if the value of *pdwTaskIndex is zero on input, the object should perform the following steps:

  1. A single worker thread calls AvSetMmThreadCharacteristics to create a new MMCSS task identifier. Store this value.
  2. Any additional worker threads call AvSetMmThreadCharacteristics using the new task identifier.
  3. Return the new task identifier to the caller, by setting *pdwTaskIndex equal to the task identifier.

If the value of *pdwTaskIndex is nonzero on input, the parameter contains an existing MMCSS task identifer. In that case, all worker threads of the object should register themselves for that task by calling AvSetMmThreadCharacteristics.

-
- - hh448048 - HRESULT IMFRealTimeClientEx::RegisterThreadsEx([InOut] unsigned int* pdwTaskIndex,[In] const wchar_t* wszClassName,[In] int lBasePriority) - IMFRealTimeClientEx::RegisterThreadsEx -
- - -

Notifies the object to unregister its worker threads from the Multimedia Class Scheduler Service (MMCSS).

-
-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh448050 - HRESULT IMFRealTimeClientEx::UnregisterThreads() - IMFRealTimeClientEx::UnregisterThreads -
- - -

Specifies the work queue that this object should use for asynchronous work items.

-
-

The work queue identifier.

-

The base priority for work items.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

The object should use the values of dwMultithreadedWorkQueueId and lWorkItemBasePriority when it queues new work items. Use the or function to queue the work item.

-
- - hh448049 - HRESULT IMFRealTimeClientEx::SetWorkQueueEx([In] unsigned int dwMultithreadedWorkQueueId,[In] int lWorkItemBasePriority) - IMFRealTimeClientEx::SetWorkQueueEx -
- - -

Used by the Microsoft Media Foundation proxy/stub DLL to marshal certain asynchronous method calls across process boundaries.

Applications do not use or implement this interface.

-
- - bb970408 - IMFRemoteAsyncCallback - IMFRemoteAsyncCallback -
- - - Initializes a new instance of the 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 IMFRemoteAsyncCallback::Invoke([In] HRESULT hr,[In, Optional] IUnknown* pRemoteResult) - IMFRemoteAsyncCallback::Invoke - - - -

Modifies a topology for use in a Terminal Services environment.

-
- -

To use this interface, do the following:

  1. Call GetSystemMetrics with the SM_REMOTESESSION flag. The function returns TRUE if the calling process is associated with a Terminal Services client session.
  2. If GetSystemMetrics returns TRUE, call . This function returns a reference to the interface.
  3. Call UpdateTopology with a reference to the topology.

The application must call UpdateTopology before calling on the Media Session.

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

Modifies a topology for use in a Terminal Services environment.

-
-

Pointer to the interface of the topology.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

If the application is running in a Terminal Services client session, call this method before calling on the Media Session.

-
- - ms699001 - HRESULT IMFRemoteDesktopPlugin::UpdateTopology([In] IMFTopology* pTopology) - IMFRemoteDesktopPlugin::UpdateTopology -
- - -

Retrieves a reference to the remote object for which this object is a proxy.

-
- - bb970370 - IMFRemoteProxy - IMFRemoteProxy -
- - - Initializes a new instance of the 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 reference to the remote object for which this object is a proxy.

-
-

Interface identifier (IID) of the requested interface.

-

Receives a reference to the requested interface. The caller must release the interface.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - bb970370 - HRESULT IMFRemoteProxy::GetRemoteObject([In] const GUID& riid,[Out] void** ppv) - IMFRemoteProxy::GetRemoteObject -
- - -

Retrieves a reference to the object that is hosting this proxy.

-
-

Interface identifier (IID) of the requested interface.

-

Receives a reference to the requested interface. The caller must release the interface.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - bb970549 - HRESULT IMFRemoteProxy::GetRemoteHost([In] const GUID& riid,[Out] void** ppv) - IMFRemoteProxy::GetRemoteHost -
- - -

Sets and retrieves Synchronized Accessible Media Interchange (SAMI) styles on the SAMI Media Source.

-
- -

To get a reference to this interface, call . The service identifier is . Call GetService either directly on the SAMI media source, or on the Media Session (if you are using the SAMI source with the Media Session).

-
- - aa473825 - IMFSAMIStyle - IMFSAMIStyle -
- - - Initializes a new instance of the 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 styles defined in the SAMI file.

-
- - bb970341 - GetStyleCount - GetStyleCount - HRESULT IMFSAMIStyle::GetStyleCount([Out] unsigned int* pdwCount) -
- - -

Gets a list of the style names defined in the SAMI file.

-
- - bb970547 - GetStyles - GetStyles - HRESULT IMFSAMIStyle::GetStyles([Out] PROPVARIANT* pPropVarStyleArray) -
- - -

Gets the number of styles defined in the SAMI file.

-
-

Receives the number of SAMI styles in the file.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - bb970341 - HRESULT IMFSAMIStyle::GetStyleCount([Out] unsigned int* pdwCount) - IMFSAMIStyle::GetStyleCount -
- - -

Gets a list of the style names defined in the SAMI file.

-
-

Pointer to a that receives an array of null-terminated wide-character strings. The type is VT_VECTOR | VT_LPWSTR. The caller must clear the by calling PropVariantClear.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - bb970547 - HRESULT IMFSAMIStyle::GetStyles([Out] PROPVARIANT* pPropVarStyleArray) - IMFSAMIStyle::GetStyles -
- - -

Sets the current style on the SAMI media source.

-
-

Pointer to a null-terminated string containing the name of the style. To clear the current style, pass an empty string (""). To get the list of style names, call .

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - bb970574 - HRESULT IMFSAMIStyle::SetSelectedStyle([In] const wchar_t* pwszStyle) - IMFSAMIStyle::SetSelectedStyle -
- - -

Gets the current style from the SAMI media source.

-
-

Receives a reference to a null-terminated string that contains the name of the style. If no style is currently set, the method returns an empty string. The caller must free the memory for the string by calling CoTaskMemFree.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - bb970429 - HRESULT IMFSAMIStyle::GetSelectedStyle([Out] wchar_t** ppwszStyle) - IMFSAMIStyle::GetSelectedStyle -
- - -

Represents a media sample, which is a container object for media data. For video, a sample typically contains one video frame. For audio data, a sample typically contains multiple audio samples, rather than a single sample of audio.

A media sample contains zero or more buffers. Each buffer manages a block of memory, and is represented by the interface. A sample can have multiple buffers. The buffers are kept in an ordered list and accessed by index value. It is also valid to have an empty sample with no buffers.

-
- -

To create a new media sample, call .

Note??

When you call CopyAllItems, inherited from the interface, on an , the sample time, duration, and flags are not copied to the destination sample. You must copy these values to the new sample manually.

?

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms702192 - IMFSample - IMFSample -
- - - Initializes a new instance of the 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 flags associated with the sample.

Currently no flags are defined. Instead, metadata for samples is defined using attributes. To get attibutes from a sample, use the interface, which inherits. For a list of sample attributes, see Sample Attributes.

-
- -

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms701587 - GetSampleFlags / SetSampleFlags - GetSampleFlags - HRESULT IMFSample::GetSampleFlags([Out] unsigned int* pdwSampleFlags) -
- - -

Retrieves the presentation time of the sample.

-
- -

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms705645 - GetSampleTime / SetSampleTime - GetSampleTime - HRESULT IMFSample::GetSampleTime([Out] longlong* phnsSampleTime) -
- - -

Retrieves the duration of the sample.

-
- -

If the sample contains more than one buffer, the duration includes the data from all of the buffers.

If the retrieved duration is zero, or if the method returns , the duration is unknown. In that case, it might be possible to calculate the duration from the media type?for example, by using the video frame rate or the audio sampling rate.

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms703056 - GetSampleDuration / SetSampleDuration - GetSampleDuration - HRESULT IMFSample::GetSampleDuration([Out] longlong* phnsSampleDuration) -
- - -

Retrieves the number of buffers in the sample.

-
- -

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms705655 - GetBufferCount - GetBufferCount - HRESULT IMFSample::GetBufferCount([Out] unsigned int* pdwBufferCount) -
- - -

Retrieves the total length of the valid data in all of the buffers in the sample. The length is calculated as the sum of the values retrieved by the method.

-
- -

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms704584 - GetTotalLength - GetTotalLength - HRESULT IMFSample::GetTotalLength([Out] unsigned int* pcbTotalLength) -
- - -

Retrieves flags associated with the sample.

Currently no flags are defined. Instead, metadata for samples is defined using attributes. To get attibutes from a sample, use the interface, which inherits. For a list of sample attributes, see Sample Attributes.

-
- No documentation. -

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms701587 - HRESULT IMFSample::GetSampleFlags([Out] unsigned int* pdwSampleFlags) - IMFSample::GetSampleFlags -
- - -

Sets flags associated with the sample.

Currently no flags are defined. Instead, metadata for samples is defined using attributes. To set attibutes on a sample, use the interface, which inherits. For a list of sample attributes, see Sample Attributes.

-
- No documentation. -

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms696207 - HRESULT IMFSample::SetSampleFlags([In] unsigned int dwSampleFlags) - IMFSample::SetSampleFlags -
- - -

Retrieves the presentation time of the sample.

-
-

Receives the presentation time, in 100-nanosecond units.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The sample does not have a presentation time.

?

- -

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms705645 - HRESULT IMFSample::GetSampleTime([Out] longlong* phnsSampleTime) - IMFSample::GetSampleTime -
- - -

Sets the presentation time of the sample.

-
-

The presentation time, in 100-nanosecond units.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

Some pipeline components require samples that have time stamps. Generally the component that generates the data for the sample also sets the time stamp. The Media Session might modify the time stamps.

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms697282 - HRESULT IMFSample::SetSampleTime([In] longlong hnsSampleTime) - IMFSample::SetSampleTime -
- - -

Retrieves the duration of the sample.

-
-

Receives the duration, in 100-nanosecond units.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The sample does not have a specified duration.

?

- -

If the sample contains more than one buffer, the duration includes the data from all of the buffers.

If the retrieved duration is zero, or if the method returns , the duration is unknown. In that case, it might be possible to calculate the duration from the media type?for example, by using the video frame rate or the audio sampling rate.

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms703056 - HRESULT IMFSample::GetSampleDuration([Out] longlong* phnsSampleDuration) - IMFSample::GetSampleDuration -
- - -

Sets the duration of the sample.

-
-

Duration of the sample, in 100-nanosecond units.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

This method succeeds if the duration is negative, although negative durations are probably not valid for most types of data. It is the responsibility of the object that consumes the sample to validate the duration.

The duration can also be zero. This might be valid for some types of data. For example, the sample might contain stream metadata with no buffers.

Until this method is called, the method returns .

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms705626 - HRESULT IMFSample::SetSampleDuration([In] longlong hnsSampleDuration) - IMFSample::SetSampleDuration -
- - -

Retrieves the number of buffers in the sample.

-
-

Receives the number of buffers in the sample. A sample might contain zero buffers.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms705655 - HRESULT IMFSample::GetBufferCount([Out] unsigned int* pdwBufferCount) - IMFSample::GetBufferCount -
- - -

Gets a buffer from the sample, by index.

Note??In most cases, it is safer to use the method. If the sample contains more than one buffer, the ConvertToContiguousBuffer method replaces them with a single buffer, copies the original data into that buffer, and returns the new buffer to the caller. The copy operation occurs at most once. On subsequent calls, no data is copied.? -
- No documentation. - No documentation. - -

A sample might contain more than one buffer. Use the GetBufferByIndex method to enumerate the individual buffers.

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms697014 - HRESULT IMFSample::GetBufferByIndex([In] unsigned int dwIndex,[Out] IMFMediaBuffer** ppBuffer) - IMFSample::GetBufferByIndex -
- - -

Converts a sample with multiple buffers into a sample with a single buffer.

-
-

Receives a reference to the interface. The caller must release the interface.

- -

If the sample contains more than one buffer, this method copies the data from the original buffers into a new buffer, and replaces the original buffer list with the new buffer. The new buffer is returned in the ppBuffer parameter.

If the sample contains a single buffer, this method returns a reference to the original buffer. In typical use, most samples do not contain multiple buffers.

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms698917 - HRESULT IMFSample::ConvertToContiguousBuffer([Out] IMFMediaBuffer** ppBuffer) - IMFSample::ConvertToContiguousBuffer -
- - -

Adds a buffer to the end of the list of buffers in the sample.

-
-

Pointer to the buffer's interface.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_INVALIDARG

null reference argument.

?

- -

For uncompressed video data, each buffer should contain a single video frame, and samples should not contain multiple frames. In general, storing multiple buffers in a sample is discouraged.

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms697465 - HRESULT IMFSample::AddBuffer([In] IMFMediaBuffer* pBuffer) - IMFSample::AddBuffer -
- - -

Removes a buffer at a specified index from the sample.

-
-

Index of the buffer. To find the number of buffers in the sample, call . Buffers are indexed from zero.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms705646 - HRESULT IMFSample::RemoveBufferByIndex([In] unsigned int dwIndex) - IMFSample::RemoveBufferByIndex -
- - -

Removes all of the buffers from the sample.

-
-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms703108 - HRESULT IMFSample::RemoveAllBuffers() - IMFSample::RemoveAllBuffers -
- - -

Retrieves the total length of the valid data in all of the buffers in the sample. The length is calculated as the sum of the values retrieved by the method.

-
- No documentation. -

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms704584 - HRESULT IMFSample::GetTotalLength([Out] unsigned int* pcbTotalLength) - IMFSample::GetTotalLength -
- - -

Copies the sample data to a buffer. This method concatenates the valid data from all of the buffers of the sample, in order.

-
-

Pointer to the interface of the destination buffer. The buffer must be large enough to hold the valid data in the sample. To get the size of the data in the sample, call .

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_INVALIDARG

null reference argument.

The buffer is not large enough to contain the data.

?

- -

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms703119 - HRESULT IMFSample::CopyToBuffer([In] IMFMediaBuffer* pBuffer) - IMFSample::CopyToBuffer -
- - -

Callback interface to get media data from the sample-grabber sink.

-
- -

The sample-grabber sink enables an application to get data from the Media Foundation pipeline without implementing a custom media sink. To use the sample-grabber sink, the application must perform the following steps:

  1. Implement the interface.

  2. Call , passing in the interface reference. This function returns an object.

  3. Create a topology that includes an output node with the sink's object.

  4. Pass this topology to the Media Session.

During playback, the sample-grabber sink calls methods on the application's callback.

You cannot use the sample-grabber sink to get protected content.

-
- - ms697548 - IMFSampleGrabberSinkCallback - IMFSampleGrabberSinkCallback -
- - - Called when the sample-grabber sink is shut down. - - - This method is called when the sink's Shutdown method is called. The OnShutdown method should return quickly, or it might interfere with playback. Do not block the thread, wait on events, or perform other lengthy operations inside this method. - - - HRESULT IMFSampleGrabberSinkCallback::OnShutdown() - - - - Called when the presentation clock is set on the sample-grabber sink. - - Pointer to the presentation clock's PresentationClock interface. - - This method should return quickly, or it might interfere with playback. Do not block the thread, wait on events, or perform other lengthy operations inside this method. - - - HRESULT IMFSampleGrabberSinkCallback::OnSetPresentationClock([In] IMFPresentationClock* pPresentationClock) - - - - -

Extends the interface.

-
- -

This callback interface is used with the sample-grabber sink. It extends the interface by adding the OnProcessSampleEx method, which supersedes the method.

The OnProcessSampleEx method adds a parameter that contains the attributes for the media sample. You can use the attributes to get information about the sample, such as field dominance and telecine flags.

To use this interface, do the following:

  1. Implement a callback object that exposes the interface.
  2. Create the sample-grabber sink by calling the function. Pass the callback reference in the pIMFSampleGrabberSinkCallback parameter.
  3. The sample-grabber sink will call QueryInterface on the callback object.
  4. If the callback object exposes the interface, the sample-grabber sink will use the OnProcessSampleEx callback method. Otherwise, the sample-grabber sink will use the older OnProcessSample callback method.
-
- - dd374517 - IMFSampleGrabberSinkCallback2 - IMFSampleGrabberSinkCallback2 -
- - - -

Begins an asynchronous request to write a media sample to the stream.

-
- -

When the sample has been written to the stream, the callback object's method is called. At that point, the caller should call to complete the asynchronous request.

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

Begins an asynchronous request to write a media sample to the stream.

-
-

A reference to the interface of the sample.

-

A reference to the interface of a callback object. The caller must implement this interface.

-

A reference to the interface of a state object, defined by the caller. This parameter can be null. You can use this object to hold state information. The object is returned to the caller when the callback is invoked.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

When the sample has been written to the stream, the callback object's method is called. At that point, the caller should call to complete the asynchronous request.

-
- - hh448052 - HRESULT IMFSampleOutputStream::BeginWriteSample([In, Optional] IMFSample* pSample,[In, Optional] IMFAsyncCallback* pCallback,[In, Optional] IUnknown* punkState) - IMFSampleOutputStream::BeginWriteSample -
- - -

Completes an asynchronous request to write a media sample to the stream.

-
-

A reference to the interface. Pass in the same reference that your callback object received in the method.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

Call this method when the method completes asynchronously.

-
- - hh448053 - HRESULT IMFSampleOutputStream::EndWriteSample([In, Optional] IMFAsyncResult* pResult) - IMFSampleOutputStream::EndWriteSample -
- - - No documentation. - - No documentation. - - HRESULT IMFSampleOutputStream::Close() - IMFSampleOutputStream::Close - - - -

Provides encryption for media data inside the protected media path (PMP).

-
- - ms703018 - IMFSampleProtection - IMFSampleProtection -
- - - Initializes a new instance of the 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 version of sample protection that the component implements on input.

-
- - bb970365 - GetInputProtectionVersion - GetInputProtectionVersion - HRESULT IMFSampleProtection::GetInputProtectionVersion([Out] unsigned int* pdwVersion) -
- - -

Retrieves the version of sample protection that the component implements on output.

-
- - bb970415 - GetOutputProtectionVersion - GetOutputProtectionVersion - HRESULT IMFSampleProtection::GetOutputProtectionVersion([Out] unsigned int* pdwVersion) -
- - -

Retrieves the version of sample protection that the component implements on input.

-
-

Receives a member of the enumeration.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - bb970365 - HRESULT IMFSampleProtection::GetInputProtectionVersion([Out] unsigned int* pdwVersion) - IMFSampleProtection::GetInputProtectionVersion -
- - -

Retrieves the version of sample protection that the component implements on output.

-
-

Receives a member of the enumeration.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - bb970415 - HRESULT IMFSampleProtection::GetOutputProtectionVersion([Out] unsigned int* pdwVersion) - IMFSampleProtection::GetOutputProtectionVersion -
- - -

Retrieves the sample protection certificate.

-
-

Specifies the version number of the sample protection scheme for which to receive a certificate. The version number is specified as a enumeration value.

-

Receives a reference to a buffer containing the certificate. The caller must free the memory for the buffer by calling CoTaskMemFree.

-

Receives the size of the ppCert buffer, in bytes.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_NOTIMPL

Not implemented.

?

- -

For certain version numbers of sample protection, the downstream component must provide a certificate. Components that do not support these version numbers can return E_NOTIMPL.

-
- - bb970503 - HRESULT IMFSampleProtection::GetProtectionCertificate([In] unsigned int dwVersion,[Out, Buffer] unsigned char** ppCert,[Out] unsigned int* pcbCert) - IMFSampleProtection::GetProtectionCertificate -
- - -

Retrieves initialization information for sample protection from the upstream component.

-
-

Specifies the version number of the sample protection scheme. The version number is specified as a enumeration value.

-

Identifier of the output stream. The identifier corresponds to the output stream identifier returned by the interface.

-

Pointer to a certificate provided by the downstream component.

-

Size of the certificate, in bytes.

-

Receives a reference to a buffer that contains the initialization information for downstream component. The caller must free the memory for the buffer by calling CoTaskMemFree.

-

Receives the size of the ppbSeed buffer, in bytes.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_NOTIMPL

Not implemented.

?

- -

This method must be implemented by the upstream component. The method fails if the component does not support the requested sample protection version. Downstream components do not implement this method and should return E_NOTIMPL.

-
- - ms693577 - HRESULT IMFSampleProtection::InitOutputProtection([In] unsigned int dwVersion,[In] unsigned int dwOutputId,[In] unsigned char* pbCert,[In] unsigned int cbCert,[In] unsigned char** ppbSeed,[In] unsigned int* pcbSeed) - IMFSampleProtection::InitOutputProtection -
- - -

Initializes sample protection on the downstream component.

-
-

Specifies the version number of the sample protection scheme. The version number is specified as a enumeration value.

-

Identifier of the input stream. The identifier corresponds to the output stream identifier returned by the interface.

-

Pointer to a buffer that contains the initialization data provided by the upstream component. To retrieve this buffer, call .

-

Size of the pbSeed buffer, in bytes.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - ms696181 - HRESULT IMFSampleProtection::InitInputProtection([In] unsigned int dwVersion,[In] unsigned int dwInputId,[In] unsigned char* pbSeed,[In] unsigned int cbSeed) - IMFSampleProtection::InitInputProtection -
- - -

Persists media data from a source byte stream to an application-provided byte stream.

The byte stream used for HTTP download implements this interface. To get a reference to this interface, call on the byte stream, with the service identifier .

-
- - ms694247 - IMFSaveJob - IMFSaveJob -
- - - Initializes a new instance of the 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 percentage of content saved to the provided byte stream.

-
- - ms700176 - GetProgress - GetProgress - HRESULT IMFSaveJob::GetProgress([Out] unsigned int* pdwPercentComplete) -
- - -

Begins saving a Windows Media file to the application's byte stream.

-
-

Pointer to the interface of the application's byte stream. The data from the source byte stream is written to this byte stream.

-

Pointer to the interface of a callback object. The caller must implement this interface

-

Pointer to the interface of a state object, defined by the caller. This parameter can be null. You can use this object to hold state information. The object is returned to the caller when the callback is invoked.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

When the operation completes, the callback object's method is called. At that point, the application should call to complete the asynchronous request.

-
- - ms705664 - HRESULT IMFSaveJob::BeginSave([In] IMFByteStream* pStream,[In] IMFAsyncCallback* pCallback,[In] IUnknown* pState) - IMFSaveJob::BeginSave -
- - -

Completes the operation started by .

-
- No documentation. -

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - ms701610 - HRESULT IMFSaveJob::EndSave([In] IMFAsyncResult* pResult) - IMFSaveJob::EndSave -
- - -

Cancels the operation started by .

-
-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - ms703196 - HRESULT IMFSaveJob::CancelSave() - IMFSaveJob::CancelSave -
- - -

Retrieves the percentage of content saved to the provided byte stream.

-
-

Receives the percentage of completion.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - ms700176 - HRESULT IMFSaveJob::GetProgress([Out] unsigned int* pdwPercentComplete) - IMFSaveJob::GetProgress -
- - -

Begins an asynchronous request to create an object from a URL.

When the Source Resolver creates a media source from a URL, it passes the request to a scheme handler. The scheme handler might create a media source directly from the URL, or it might return a byte stream. If it returns a byte stream, the source resolver use a byte-stream handler to create the media source from the byte stream.

-
- -

The dwFlags parameter must contain the flag or the flag. If the flag is set, the scheme handler might create the media source directly from the URL, or it might create a byte stream. The type of object is returned in the pObjectType parameter of the method. If the scheme handler returns a byte stream, the source resolver will pass the byte stream to a byte-stream handler, which will create the media source from the byte stream.

If the flag is set, the scheme handler will attempt to create a byte stream from the URL. However, if the scheme handler is designed to create a media source directly, rather than a byte stream, the method will fail.

The following table summarizes the behavior of these two flags when passed to this method:

FlagObject created
Media source or byte stream
Byte stream

?

The and flags can be combined, although in this case it is redundant.

When the operation completes, the scheme handler calls the method. The Invoke method should call to get a reference to the created object.

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

Begins an asynchronous request to create an object from a URL.

When the Source Resolver creates a media source from a URL, it passes the request to a scheme handler. The scheme handler might create a media source directly from the URL, or it might return a byte stream. If it returns a byte stream, the source resolver use a byte-stream handler to create the media source from the byte stream.

-
- No documentation. - 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.

Return codeDescription

The method succeeded.

E_ACCESSDENIED

Cannot open the URL with the requested access (read or write).

Unsupported byte stream type.

?

- -

The dwFlags parameter must contain the flag or the flag. If the flag is set, the scheme handler might create the media source directly from the URL, or it might create a byte stream. The type of object is returned in the pObjectType parameter of the method. If the scheme handler returns a byte stream, the source resolver will pass the byte stream to a byte-stream handler, which will create the media source from the byte stream.

If the flag is set, the scheme handler will attempt to create a byte stream from the URL. However, if the scheme handler is designed to create a media source directly, rather than a byte stream, the method will fail.

The following table summarizes the behavior of these two flags when passed to this method:

FlagObject created
Media source or byte stream
Byte stream

?

The and flags can be combined, although in this case it is redundant.

When the operation completes, the scheme handler calls the method. The Invoke method should call to get a reference to the created object.

-
- - bb970433 - HRESULT IMFSchemeHandler::BeginCreateObject([In] const wchar_t* pwszURL,[In] unsigned int dwFlags,[In] IPropertyStore* pProps,[Out, Optional] IUnknown** ppIUnknownCancelCookie,[In] IMFAsyncCallback* pCallback,[In] IUnknown* punkState) - IMFSchemeHandler::BeginCreateObject -
- - -

Completes an asynchronous request to create an object from a URL.

-
-

Pointer to the interface. Pass in the same reference that your callback object received in the Invoke method.

-

Receives a member of the enumeration, specifying the type of object that was created.

-

Receives a reference to the interface of the object. The caller must release the interface.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_ABORT

The operation was canceled.

?

- -

Call this method from inside the method.

-
- - bb970550 - HRESULT IMFSchemeHandler::EndCreateObject([In] IMFAsyncResult* pResult,[Out] MF_OBJECT_TYPE* pObjectType,[Out] IUnknown** ppObject) - IMFSchemeHandler::EndCreateObject -
- - -

Cancels the current request to create an object from a URL.

-
-

Pointer to the interface that was returned in the ppIUnknownCancelCookie parameter of the method.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

You can use this method to cancel a previous call to BeginCreateObject. Because that method is asynchronous, however, it might be completed before the operation can be canceled. Therefore, your callback might still be invoked after you call this method.

The operation cannot be canceled if BeginCreateObject returns null in the ppIUnknownCancelCookie parameter.

-
- - bb970419 - HRESULT IMFSchemeHandler::CancelObjectCreation([In] IUnknown* pIUnknownCancelCookie) - IMFSchemeHandler::CancelObjectCreation -
- - -

Establishes a one-way secure channel between two objects.

-
- - ms693872 - IMFSecureChannel - IMFSecureChannel -
- - - Initializes a new instance of the 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 client's certificate.

-
-

Receives a reference to a buffer allocated by the object. The buffer contains the client's certificate. The caller must release the buffer by calling CoTaskMemFree.

-

Receives the size of the ppCert buffer, in bytes.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - bb970528 - HRESULT IMFSecureChannel::GetCertificate([Out, Buffer] unsigned char** ppCert,[Out] unsigned int* pcbCert) - IMFSecureChannel::GetCertificate -
- - -

Passes the encrypted session key to the client.

-
-

Pointer to a buffer that contains the encrypted session key. This parameter can be null.

-

Size of the pbEncryptedSessionKey buffer, in bytes.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - bb970477 - HRESULT IMFSecureChannel::SetupSession([In, Buffer] unsigned char* pbEncryptedSessionKey,[In] unsigned int cbSessionKey) - IMFSecureChannel::SetupSession -
- - -

For a particular seek position, gets the two nearest key frames.

-
- -

If an application seeks to a non?key frame, the decoder must start decoding from the previous key frame. This can increase latency, because several frames might get decoded before the requested frame is reached. To reduce latency, an application can call this method to find the two key frames that are closest to the desired time, and then seek to one of those key frames.

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

For a particular seek position, gets the two nearest key frames.

-
-

A reference to a that specifies the time format. The time format defines the units for the other parameters of this method. If the value is GUID_NULL, the time format is 100-nanosecond units. Some media sources might support additional time format GUIDs.

-

The seek position. The units for this parameter are specified by pguidTimeFormat.

-

Receives the position of the nearest key frame that appears earlier than pvarStartPosition. The units for this parameter are specified by pguidTimeFormat.

-

Receives the position of the nearest key frame that appears earlier than pvarStartPosition. The units for this parameter are specified by pguidTimeFormat.

-

This method can return one of these values.

Return codeDescription

The method succeeded.

The time format specified in pguidTimeFormat is not supported.

?

- -

If an application seeks to a non?key frame, the decoder must start decoding from the previous key frame. This can increase latency, because several frames might get decoded before the requested frame is reached. To reduce latency, an application can call this method to find the two key frames that are closest to the desired time, and then seek to one of those key frames.

-
- - hh448055 - HRESULT IMFSeekInfo::GetNearestKeyFrames([In] const GUID* pguidTimeFormat,[In] const PROPVARIANT* pvarStartPosition,[Out] PROPVARIANT* pvarPreviousKeyFrame,[Out] PROPVARIANT* pvarNextKeyFrame) - IMFSeekInfo::GetNearestKeyFrames -
- - -

Implemented by the Microsoft Media Foundation sink writer object.

-
- -

To create the sink writer, call one of the following functions:

Alternatively, use the interface.

This interface is available on Windows?Vista if Platform Update Supplement for Windows?Vista is installed.

In Windows?8, this interface is extended with .

-
- - dd374642 - IMFSensorDevice - IMFSensorDevice -
- - - Initializes a new instance of the 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. - - - GetDeviceId - GetDeviceId - HRESULT IMFSensorDevice::GetDeviceId([Out] unsigned longlong* pDeviceId) - - - - No documentation. - - - GetDeviceType - GetDeviceType - HRESULT IMFSensorDevice::GetDeviceType([Out] MFSensorDeviceType* pType) - - - - No documentation. - - - GetFlags - GetFlags - HRESULT IMFSensorDevice::GetFlags([Out] unsigned longlong* pFlags) - - - - No documentation. - - - GetDeviceAttributes - GetDeviceAttributes - HRESULT IMFSensorDevice::GetDeviceAttributes([Out, Optional] IMFAttributes** ppAttributes) - - - - No documentation. - - - GetSensorDeviceMode / SetSensorDeviceMode - GetSensorDeviceMode - HRESULT IMFSensorDevice::GetSensorDeviceMode([Out] MFSensorDeviceMode* peMode) - - - - No documentation. - - No documentation. - No documentation. - - HRESULT IMFSensorDevice::GetDeviceId([Out] unsigned longlong* pDeviceId) - IMFSensorDevice::GetDeviceId - - - - No documentation. - - No documentation. - No documentation. - - HRESULT IMFSensorDevice::GetDeviceType([Out] MFSensorDeviceType* pType) - IMFSensorDevice::GetDeviceType - - - - No documentation. - - No documentation. - No documentation. - - HRESULT IMFSensorDevice::GetFlags([Out] unsigned longlong* pFlags) - IMFSensorDevice::GetFlags - - - - No documentation. - - No documentation. - No documentation. - No documentation. - No documentation. - - HRESULT IMFSensorDevice::GetSymbolicLink([Out, Buffer] wchar_t* SymbolicLink,[In] int cchSymbolicLink,[Out] int* pcchWritten) - IMFSensorDevice::GetSymbolicLink - - - - No documentation. - - No documentation. - No documentation. - - HRESULT IMFSensorDevice::GetDeviceAttributes([Out, Optional] IMFAttributes** ppAttributes) - IMFSensorDevice::GetDeviceAttributes - - - - No documentation. - - No documentation. - No documentation. - No documentation. - - HRESULT IMFSensorDevice::GetStreamAttributesCount([In] MFSensorStreamType eType,[Out] unsigned int* pdwCount) - IMFSensorDevice::GetStreamAttributesCount - - - - No documentation. - - No documentation. - No documentation. - No documentation. - No documentation. - - HRESULT IMFSensorDevice::GetStreamAttributes([In] MFSensorStreamType eType,[In] unsigned int dwIndex,[Out] IMFAttributes** ppAttributes) - IMFSensorDevice::GetStreamAttributes - - - - No documentation. - - No documentation. - No documentation. - - HRESULT IMFSensorDevice::SetSensorDeviceMode([In] MFSensorDeviceMode eMode) - IMFSensorDevice::SetSensorDeviceMode - - - - No documentation. - - No documentation. - No documentation. - - HRESULT IMFSensorDevice::GetSensorDeviceMode([Out] MFSensorDeviceMode* peMode) - IMFSensorDevice::GetSensorDeviceMode - - - -

Implemented by the Microsoft Media Foundation sink writer object.

-
- -

To create the sink writer, call one of the following functions:

Alternatively, use the interface.

This interface is available on Windows?Vista if Platform Update Supplement for Windows?Vista is installed.

In Windows?8, this interface is extended with .

-
- - dd374642 - IMFSensorGroup - IMFSensorGroup -
- - - Initializes a new instance of the 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. - - - GetFlags - GetFlags - HRESULT IMFSensorGroup::GetFlags([Out] unsigned longlong* pFlags) - - - - No documentation. - - - GetSensorGroupAttributes - GetSensorGroupAttributes - HRESULT IMFSensorGroup::GetSensorGroupAttributes([Out, Optional] IMFAttributes** ppAttributes) - - - - No documentation. - - - GetSensorDeviceCount - GetSensorDeviceCount - HRESULT IMFSensorGroup::GetSensorDeviceCount([Out] unsigned int* pdwCount) - - - - No documentation. - - - GetDefaultSensorDeviceIndex / SetDefaultSensorDeviceIndex - GetDefaultSensorDeviceIndex - HRESULT IMFSensorGroup::GetDefaultSensorDeviceIndex([Out] unsigned int* pdwIndex) - - - - No documentation. - - No documentation. - No documentation. - No documentation. - No documentation. - - HRESULT IMFSensorGroup::GetSymbolicLink([Out, Buffer] wchar_t* SymbolicLink,[In] int cchSymbolicLink,[Out] int* pcchWritten) - IMFSensorGroup::GetSymbolicLink - - - - No documentation. - - No documentation. - No documentation. - - HRESULT IMFSensorGroup::GetFlags([Out] unsigned longlong* pFlags) - IMFSensorGroup::GetFlags - - - - No documentation. - - No documentation. - No documentation. - - HRESULT IMFSensorGroup::GetSensorGroupAttributes([Out, Optional] IMFAttributes** ppAttributes) - IMFSensorGroup::GetSensorGroupAttributes - - - - No documentation. - - No documentation. - No documentation. - - HRESULT IMFSensorGroup::GetSensorDeviceCount([Out] unsigned int* pdwCount) - IMFSensorGroup::GetSensorDeviceCount - - - - No documentation. - - No documentation. - No documentation. - No documentation. - - HRESULT IMFSensorGroup::GetSensorDevice([In] unsigned int dwIndex,[Out] IMFSensorDevice** ppDevice) - IMFSensorGroup::GetSensorDevice - - - - No documentation. - - No documentation. - No documentation. - - HRESULT IMFSensorGroup::SetDefaultSensorDeviceIndex([In] unsigned int dwIndex) - IMFSensorGroup::SetDefaultSensorDeviceIndex - - - - No documentation. - - No documentation. - No documentation. - - HRESULT IMFSensorGroup::GetDefaultSensorDeviceIndex([Out] unsigned int* pdwIndex) - IMFSensorGroup::GetDefaultSensorDeviceIndex - - - - No documentation. - - No documentation. - No documentation. - - HRESULT IMFSensorGroup::CreateMediaSource([Out] IMFMediaSource** ppSource) - IMFSensorGroup::CreateMediaSource - - - -

-

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

-

- - mt797960 - GetMediaTypeCount - GetMediaTypeCount - HRESULT IMFSensorStream::GetMediaTypeCount([Out] unsigned int* pdwCount) -
- - -

-

- No documentation. - No documentation. - - mt797960 - HRESULT IMFSensorStream::GetMediaTypeCount([Out] unsigned int* pdwCount) - IMFSensorStream::GetMediaTypeCount -
- - -

-

- No documentation. - No documentation. - No documentation. - - mt797960 - HRESULT IMFSensorStream::GetMediaType([In] unsigned int dwIndex,[Out] IMFMediaType** ppMediaType) - IMFSensorStream::GetMediaType -
- - - No documentation. - - No documentation. - No documentation. - - HRESULT IMFSensorStream::CloneSensorStream([Out] IMFSensorStream** ppStream) - IMFSensorStream::CloneSensorStream - - - -

Implemented by the Microsoft Media Foundation sink writer object.

-
- -

To create the sink writer, call one of the following functions:

Alternatively, use the interface.

This interface is available on Windows?Vista if Platform Update Supplement for Windows?Vista is installed.

In Windows?8, this interface is extended with .

-
- - dd374642 - IMFSensorTransformFactory - IMFSensorTransformFactory -
- - - Initializes a new instance of the 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. - - - GetFactoryAttributes - GetFactoryAttributes - HRESULT IMFSensorTransformFactory::GetFactoryAttributes([Out] IMFAttributes** ppAttributes) - - - - No documentation. - - - GetTransformCount - GetTransformCount - HRESULT IMFSensorTransformFactory::GetTransformCount([Out] unsigned int* pdwCount) - - - - No documentation. - - No documentation. - No documentation. - - HRESULT IMFSensorTransformFactory::GetFactoryAttributes([Out] IMFAttributes** ppAttributes) - IMFSensorTransformFactory::GetFactoryAttributes - - - - No documentation. - - No documentation. - No documentation. - No documentation. - No documentation. - - HRESULT IMFSensorTransformFactory::InitializeFactory([In] unsigned int dwMaxTransformCount,[In] IMFCollection* pSensorDevices,[In, Optional] IMFAttributes* pAttributes) - IMFSensorTransformFactory::InitializeFactory - - - - No documentation. - - No documentation. - No documentation. - - HRESULT IMFSensorTransformFactory::GetTransformCount([Out] unsigned int* pdwCount) - IMFSensorTransformFactory::GetTransformCount - - - -

Called by the media pipeline to get information about a transform provided by the sensor transform.

-
-

The index of the transform for which information is being requested. In the current release, this value will always be 0.

-

Gets the identifier for the transform.

-

The attribute store to be populated.

-

A collection of objects.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - mt797967 - HRESULT IMFSensorTransformFactory::GetTransformInformation([In] unsigned int TransformIndex,[Out] GUID* pguidTransformId,[Out, Optional] IMFAttributes** ppAttributes,[Out] IMFCollection** ppStreamInformation) - IMFSensorTransformFactory::GetTransformInformation -
- - - No documentation. - - No documentation. - No documentation. - No documentation. - No documentation. - - HRESULT IMFSensorTransformFactory::CreateTransform([In] const GUID& guidSensorTransformID,[In, Optional] IMFAttributes* pAttributes,[Out] IMFDeviceTransform** ppDeviceMFT) - IMFSensorTransformFactory::CreateTransform - - - -

Implemented by the Sequencer Source. The sequencer source enables an application to create a sequence of topologies. To create the sequencer source, call . For step-by-step instructions about how to create a playlist, see How to Create a Playlist.

-
- - ms702972 - IMFSequencerSource - IMFSequencerSource -
- - - Initializes a new instance of the 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 a topology to the end of the queue.

-
-

Pointer to the interface of the topology. This reference cannot be null. If an application passes null, the call fails with an E_INVALIDARG error code.

-

A combination of flags from the enumeration.

-

Receives the sequencer element identifier for this topology.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The source topology node is missing one of the following attributes:

?

- -

The sequencer plays topologies in the order they are queued. You can queue as many topologies as you want to preroll.

The application must indicate to the sequencer when it has queued the last topology on the Media Session. To specify the last topology, set the SequencerTopologyFlags_Last flag in the dwFlags parameter when you append the topology. The sequencer uses this information to end playback with the pipeline. Otherwise, the sequencer waits indefinitely for a new topology to be queued.

-
- - ms697046 - HRESULT IMFSequencerSource::AppendTopology([In] IMFTopology* pTopology,[In] unsigned int dwFlags,[Out] unsigned int* pdwId) - IMFSequencerSource::AppendTopology -
- - -

Deletes a topology from the queue.

-
-

The sequencer element identifier of the topology to delete.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - bb970428 - HRESULT IMFSequencerSource::DeleteTopology([In] unsigned int dwId) - IMFSequencerSource::DeleteTopology -
- - -

Maps a presentation descriptor to its associated sequencer element identifier and the topology it represents.

-
-

Pointer to the interface of the presentation descriptor.

-

Receives the sequencer element identifier. This value is assigned by the sequencer source when the application calls . This parameter is optional and can be null.

-

Receives a reference to the interface of the original topology that the application added to the sequencer source. The caller must release the interface. This parameter can receive the value null if the sequencer source has switched to the next presentation. This parameter is optional and can be null.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_INVALIDARG

The presentation descriptor is not valid.

MF_S_SEQUENCER_CONTEXT_CANCELED

This segment was canceled.

?

- -

The topology returned in ppTopology is the original topology that the application specified in AppendTopology. The source nodes in this topology contain references to the native sources. Do not queue this topology on the Media Session. Instead, call to get the sequencer source's modified topology. The source nodes in the modified topology contain references to the sequencer source, rather than the native sources.

-
- - bb970514 - HRESULT IMFSequencerSource::GetPresentationContext([In] IMFPresentationDescriptor* pPD,[Out, Optional] unsigned int* pId,[Out, Optional] IMFTopology** ppTopology) - IMFSequencerSource::GetPresentationContext -
- - -

Updates a topology in the queue.

-
-

Sequencer element identifier of the topology to update.

-

Pointer to the interface of the updated topology object.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The sequencer source has been shut down.

?

- -

This method is asynchronous. When the operation is completed, the sequencer source sends an event.

-
- - bb970402 - HRESULT IMFSequencerSource::UpdateTopology([In] unsigned int dwId,[In] IMFTopology* pTopology) - IMFSequencerSource::UpdateTopology -
- - -

Updates the flags for a topology in the queue.

-
-

Sequencer element identifier of the topology to update.

-

Bitwise OR of flags from the enumeration.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - bb970564 - HRESULT IMFSequencerSource::UpdateTopologyFlags([In] unsigned int dwId,[In] unsigned int dwFlags) - IMFSequencerSource::UpdateTopologyFlags -
- - -

Queries an object for a specified service interface.

-
- -

A service is an interface that is exposed by one object but might be implemented by another object. The GetService method is equivalent to QueryInterface, with the following difference: when QueryInterface retrieves a reference to an interface, it is guaranteed that you can query the returned interface and get back the original interface. The GetService method does not make this guarantee, because the retrieved interface might be implemented by a separate object.

The function is a helper function that queries an object for and calls the GetService method.

-
- - ms694261 - IMFGetService - IMFGetService -
- - - Initializes a new instance of the 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 service interface.

-
-

The service identifier (SID) of the service. For a list of service identifiers, see Service Interfaces.

-

The interface identifier (IID) of the interface being requested.

-

Receives the interface reference. The caller must release the interface.

- - ms696978 - HRESULT IMFGetService::GetService([In] const GUID& guidService,[In] const GUID& riid,[Out] void** ppvObject) - IMFGetService::GetService -
- - -

Applies to: desktop apps | Metro style apps

Retrieves a service interface.

-
- Type of the interface to retrieve -

The service identifier (SID) of the service. For a list of service identifiers, see Service Interfaces.

- An instance of T if the service is supported - if the service is not supported - ms696978 - HRESULT IMFGetService::GetService([In] const GUID& guidService,[In] const GUID& riid,[Out] void** ppvObject) - IMFGetService::GetService -
- - -

Exposed by some Media Foundation objects that must be explicitly shut down.

-
- -

The following types of object expose :

  • Content enablers ( interface)
  • Input trust authorities ( interface)
  • Presentation clocks ( interface)
  • Asynchronous MFTs

Any component that creates one of these objects is responsible for calling Shutdown on the object before releasing the object. Typically, applications do not create any of these objects directly, so it is not usually necessary to use this interface in an application.

To obtain a reference to this interface, call QueryInterface on the object.

If you are implementing a custom object, your object can expose this interface, but only if you can guarantee that your application will call Shutdown.

Media sources, media sinks, and synchronous MFTs should not implement this interface, because the Media Foundation pipeline will not call Shutdown on these objects. Asynchronous MFTs must implement this interface.

This interface is not related to the function, which shuts down the Media Foundation platform, as described in Initializing Media Foundation.

Some Media Foundation interfaces define a Shutdown method, which serves the same purpose as but is not directly related to it.

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

Queries the status of an earlier call to the method.

-
- -

Until Shutdown is called, the GetShutdownStatus method returns .

If an object's Shutdown method is asynchronous, pStatus might receive the value . When the object is completely shut down, pStatus receives the value .

-
- - bb970451 - GetShutdownStatus - GetShutdownStatus - HRESULT IMFShutdown::GetShutdownStatus([Out] MFSHUTDOWN_STATUS* pStatus) -
- - -

Shuts down a Media Foundation object and releases all resources associated with the object.

-
-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

The helper function is equivalent to calling this method.

-
- - ms701615 - HRESULT IMFShutdown::Shutdown() - IMFShutdown::Shutdown -
- - -

Queries the status of an earlier call to the method.

-
- No documentation. -

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_INVALIDARG

Invalid argument.

The Shutdown method has not been called on this object.

?

- -

Until Shutdown is called, the GetShutdownStatus method returns .

If an object's Shutdown method is asynchronous, pStatus might receive the value . When the object is completely shut down, pStatus receives the value .

-
- - bb970451 - HRESULT IMFShutdown::GetShutdownStatus([Out] MFSHUTDOWN_STATUS* pStatus) - IMFShutdown::GetShutdownStatus -
- - -

Provides a method that allows content protection systems to get the procedure address of a function in the signed library. This method provides the same functionality as GetProcAddress which is not available to Windows Store apps.

-
- -

See for an example of how to create and use an object.

-
- - hh448058 - IMFSignedLibrary - IMFSignedLibrary -
- - - Initializes a new instance of the 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 procedure address of the specified function in the signed library.

-
-

The entry point name in the DLL that specifies the function.

-

Receives the address of the entry point.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

See for an example of how to create an object and call the GetProcedureAddress method.

-
- - hh448059 - HRESULT IMFSignedLibrary::GetProcedureAddress([In] const char* name,[Out] void** address) - IMFSignedLibrary::GetProcedureAddress -
- - -

Controls the master volume level of the audio session associated with the streaming audio renderer (SAR) and the audio capture source.

The SAR and the audio capture source expose this interface as a service. To get a reference to the interface, call . For the SAR, use the service identifier . For the audio capture source, use the service identifier . You can call GetService directly on the SAR or the audio capture source, or call it on the Media Session.

-
- -

To control the volume levels of individual channels, use the interface. The interface is supported by the SAR only.

Volume is expressed as an attenuation level, where 0.0 indicates silence and 1.0 indicates full volume (no attenuation). For each channel, the attenuation level is the product of:

  • The master volume level of the audio session.

  • The volume level of the channel.

For example, if the master volume is 0.8 and the channel volume is 0.5, the attenuaton for that channel is 0.8 ? 0.5 = 0.4. Volume levels can exceed 1.0 (positive gain), but the audio engine clips any audio samples that exceed zero decibels. To change the volume level of individual channels, use the interface.

Use the following formula to convert the volume level to the decibel (dB) scale:

Attenuation (dB) = 20 * log10(Level)

For example, a volume level of 0.50 represents 6.02 dB of attenuation.

-
- - ms693496 - IMFSimpleAudioVolume - IMFSimpleAudioVolume -
- - - Initializes a new instance of the 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 master volume level.

-
- -

If an external event changes the master volume, the audio renderer sends an event, which the Media Session forwards to the application.

-
- - bb970319 - GetMasterVolume / SetMasterVolume - GetMasterVolume - HRESULT IMFSimpleAudioVolume::GetMasterVolume([Out] float* pfLevel) -
- - -

Queries whether the audio is muted.

-
- -

Calling to set the volume does not change whether the audio is muted.

-
- - bb970332 - GetMute / SetMute - GetMute - HRESULT IMFSimpleAudioVolume::GetMute([Out] BOOL* pbMute) -
- - -

Sets the master volume level.

-
-

Volume level. Volume is expressed as an attenuation level, where 0.0 indicates silence and 1.0 indicates full volume (no attenuation).

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The audio renderer is not initialized.

The audio renderer was removed from the pipeline.

?

- -

Events outside of the application can change the master volume level. For example, the user can change the volume from the system volume-control program (SndVol). If an external event changes the master volume, the audio renderer sends an event, which the Media Session forwards to the application.

-
- - bb970391 - HRESULT IMFSimpleAudioVolume::SetMasterVolume([In] float fLevel) - IMFSimpleAudioVolume::SetMasterVolume -
- - -

Retrieves the master volume level.

-
-

Receives the volume level. Volume is expressed as an attenuation level, where 0.0 indicates silence and 1.0 indicates full volume (no attenuation).

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The audio renderer is not initialized.

The audio renderer was removed from the pipeline.

?

- -

If an external event changes the master volume, the audio renderer sends an event, which the Media Session forwards to the application.

-
- - bb970319 - HRESULT IMFSimpleAudioVolume::GetMasterVolume([Out] float* pfLevel) - IMFSimpleAudioVolume::GetMasterVolume -
- - -

Mutes or unmutes the audio.

-
-

Specify TRUE to mute the audio, or to unmute the audio.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The audio renderer is not initialized.

The audio renderer was removed from the pipeline.

?

- -

This method does not change the volume level returned by the function.

-
- - bb970531 - HRESULT IMFSimpleAudioVolume::SetMute([In] const BOOL bMute) - IMFSimpleAudioVolume::SetMute -
- - -

Queries whether the audio is muted.

-
-

Receives a Boolean value. If TRUE, the audio is muted; otherwise, the audio is not muted.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The audio renderer is not initialized.

The audio renderer was removed from the pipeline.

?

- -

Calling to set the volume does not change whether the audio is muted.

-
- - bb970332 - HRESULT IMFSimpleAudioVolume::GetMute([Out] BOOL* pbMute) - IMFSimpleAudioVolume::GetMute -
- - -

Implemented by the Microsoft Media Foundation sink writer object.

-
- -

To create the sink writer, call one of the following functions:

Alternatively, use the interface.

This interface is available on Windows?Vista if Platform Update Supplement for Windows?Vista is installed.

In Windows?8, this interface is extended with .

-
- - dd374642 - IMFSinkWriter - IMFSinkWriter -
- - - Initializes a new instance of the 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 a stream to the sink writer.

-
-

A reference to the interface of a media type. This media type specifies the format of the samples that will be written to the file. It does not need to match the input format. To set the input format, call .

-

Receives the zero-based index of the new stream.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

This interface is available on Windows?Vista if Platform Update Supplement for Windows?Vista is installed.

-
- - dd374646 - HRESULT IMFSinkWriter::AddStream([In] IMFMediaType* pTargetMediaType,[Out] unsigned int* pdwStreamIndex) - IMFSinkWriter::AddStream -
- - -

Sets the input format for a stream on the sink writer.

-
-

The zero-based index of the stream. The index is received by the pdwStreamIndex parameter of the method.

-

A reference to the interface of a media type. The media type specifies the input format.

-

A reference to the interface of an attribute store. Use the attribute store to configure the encoder. This parameter can be null.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The underlying media sink does not support the format, no conversion is possible, or a dynamic format change is not possible.

The dwStreamIndex parameter is invalid.

Could not find an encoder for the encoded format.

?

- -

The input format does not have to match the target format that is written to the media sink. If the formats do not match, the method attempts to load an encoder that can encode from the input format to the target format.

After streaming begins?that is, after the first call to ?you can call this method at any time to change the input format. However, the underlying encoder and media sink must support dynamic format changes.

This interface is available on Windows?Vista if Platform Update Supplement for Windows?Vista is installed.

-
- - dd374653 - HRESULT IMFSinkWriter::SetInputMediaType([In] unsigned int dwStreamIndex,[In] IMFMediaType* pInputMediaType,[In, Optional] IMFAttributes* pEncodingParameters) - IMFSinkWriter::SetInputMediaType -
- - -

Initializes the sink writer for writing.

-
-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The request is invalid.

?

- -

Call this method after you configure the input streams and before you send any data to the sink writer.

You must call BeginWriting before calling any of the following methods:

The underlying media sink must have at least one input stream. Otherwise, BeginWriting returns . To add input streams, call the method.

If BeginWriting succeeds, any further calls to BeginWriting return .

This interface is available on Windows?Vista if Platform Update Supplement for Windows?Vista is installed.

-
- - dd374647 - HRESULT IMFSinkWriter::BeginWriting() - IMFSinkWriter::BeginWriting -
- - -

Delivers a sample to the sink writer.

-
-

The zero-based index of the stream for this sample.

-

A reference to the interface of the sample.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The request is invalid.

?

- -

You must call before calling this method. Otherwise, the method returns .

By default, the sink writer limits the rate of incoming data by blocking the calling thread inside the WriteSample method. This prevents the application from delivering samples too quickly. To disable this behavior, set the attribute when you create the sink writer.

This interface is available on Windows?Vista if Platform Update Supplement for Windows?Vista is installed.

-
- - dd374654 - HRESULT IMFSinkWriter::WriteSample([In] unsigned int dwStreamIndex,[In] IMFSample* pSample) - IMFSinkWriter::WriteSample -
- - -

Indicates a gap in an input stream.

-
-

The zero-based index of the stream.

-

The position in the stream where the gap in the data occurs. The value is given in 100-nanosecond units, relative to the start of the stream.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

For video, call this method once for each missing frame. For audio, call this method at least once per second during a gap in the audio. Set the attribute on the first media sample after the gap.

Internally, this method calls on the media sink.

This interface is available on Windows?Vista if Platform Update Supplement for Windows?Vista is installed.

-
- - dd374652 - HRESULT IMFSinkWriter::SendStreamTick([In] unsigned int dwStreamIndex,[In] longlong llTimestamp) - IMFSinkWriter::SendStreamTick -
- - -

Places a marker in the specified stream.

-
-

The zero-based index of the stream.

-

Pointer to an application-defined value. The value of this parameter is returned to the caller in the pvContext parameter of the caller's callback method. The application is responsible for any memory allocation associated with this data. This parameter can be null.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The request is invalid.

?

- -

To use this method, you must provide an asynchronous callback when you create the sink writer. Otherwise, the method returns . For more information, see .

Markers provide a way to be notified when the media sink consumes all of the samples in a stream up to a certain point. The media sink does not process the marker until it has processed all of the samples that came before the marker. When the media sink processes the marker, the sink writer calls the application's OnMarker method. When the callback is invoked, you know that the sink has consumed all of the previous samples for that stream.

For example, to change the format midstream, call PlaceMarker at the point where the format changes. When OnMarker is called, it is safe to call to change the input type (assuming that the media sink supports dynamic format changes).

Internally, this method calls on the media sink.

Note??The pvContext parameter of the method is not passed to the pvarContextValue parameter of the method. These two parameters are not directly related.?

This interface is available on Windows?Vista if Platform Update Supplement for Windows?Vista is installed.

-
- - dd374651 - HRESULT IMFSinkWriter::PlaceMarker([In] unsigned int dwStreamIndex,[In] void* pvContext) - IMFSinkWriter::PlaceMarker -
- - -

Notifies the media sink that a stream has reached the end of a segment.

-
-

The zero-based index of a stream, or to signal that all streams have reached the end of a segment.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The request is invalid.

?

- -

You must call before calling this method. Otherwise, the method returns .

This method sends an marker to the media sink for the specified streams. For more information, see .

This interface is available on Windows?Vista if Platform Update Supplement for Windows?Vista is installed.

-
- - dd743366 - HRESULT IMFSinkWriter::NotifyEndOfSegment([In] unsigned int dwStreamIndex) - IMFSinkWriter::NotifyEndOfSegment -
- - -

Flushes one or more streams.

-
-

The zero-based index of the stream to flush, or to flush all of the streams.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The request is invalid.

?

- -

You must call before calling this method. Otherwise, the method returns .

For each stream that is flushed, the sink writer drops all pending samples, flushes the encoder, and sends an marker to the media sink.

This interface is available on Windows?Vista if Platform Update Supplement for Windows?Vista is installed.

-
- - dd743365 - HRESULT IMFSinkWriter::Flush([In] unsigned int dwStreamIndex) - IMFSinkWriter::Flush -
- - -

Completes all writing operations on the sink writer.

-
-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

Call this method after you send all of the input samples to the sink writer. The method performs any operations needed to create the final output from the media sink.

If you provide a callback interface when you create the sink writer, this method completes asynchronously. When the operation completes, the method of your callback is called. For more information, see . Otherwise, if you do not provide a callback, the Finalize method blocks until the operation completes.

Internally, this method calls to place end-of-segment markers for each stream on the media sink. It also calls and EndFinalize if the media sink supports the interface.

After this method is called, the following methods will fail:

If you do not call Finalize, the output from the media sink might be incomplete or invalid. For example, required file headers might be missing from the output file.

This interface is available on Windows?Vista if Platform Update Supplement for Windows?Vista is installed.

-
- - dd374648 - HRESULT IMFSinkWriter::Finalize() - IMFSinkWriter::Finalize -
- - -

Queries the underlying media sink or encoder for an interface.

-
-

The zero-based index of a stream to query, or to query the media sink itself.

-

A service identifier , or GUID_NULL. If the value is GUID_NULL, the method calls QueryInterface to get the requested interface. Otherwise, the method calls . For a list of service identifiers, see Service Interfaces.

-

The interface identifier (IID) of the interface being requested.

-

Receives a reference to the requested interface. The caller must release the interface.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

If the dwStreamIndex parameter equals , the method attempts to get the interface from the media sink. Otherwise, it attempts to get the interface from the encoder for the stream at the specified index. If that fails, or if no encoder is present, the method attempts to get the interface from the stream on the media sink.

If the input and output types of the sink are identical and compressed, it's possible that no encoding is required and the video encoder will not be instantiated. In that case, GetServiceForStream will return .

This interface is available on Windows?Vista if Platform Update Supplement for Windows?Vista is installed.

-
- - dd374649 - HRESULT IMFSinkWriter::GetServiceForStream([In] unsigned int dwStreamIndex,[In] const GUID& guidService,[In] const GUID& riid,[Out] void** ppvObject) - IMFSinkWriter::GetServiceForStream -
- - -

Gets statistics about the performance of the sink writer.

-
-

The zero-based index of a stream to query, or to query the media sink itself.

-

A reference to an structure. Before calling the method, set the cb member to the size of the structure in bytes. The method fills the structure with statistics from the sink writer.

-

This method can return one of these values.

Return codeDescription

Success.

Invalid stream number.

?

- -

This interface is available on Windows?Vista if Platform Update Supplement for Windows?Vista is installed.

-
- - dd374650 - HRESULT IMFSinkWriter::GetStatistics([In] unsigned int dwStreamIndex,[Out] MF_SINK_WRITER_STATISTICS* pStats) - IMFSinkWriter::GetStatistics -
- - -

Callback interface for the Microsoft Media Foundation sink writer.

-
- -

Set the callback reference by setting the attribute when you first create the sink writer.

The callback methods can be called from any thread, so an object that implements this interface must be thread-safe.

This interface is available on Windows?Vista if Platform Update Supplement for Windows?Vista is installed.

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

Called when the method completes.

-
- No documentation. -

Returns an value. Currently, the sink writer ignores the return value.

- -

This interface is available on Windows?Vista if Platform Update Supplement for Windows?Vista is installed.

-
- - dd374644 - HRESULT IMFSinkWriterCallback::OnFinalize([In] HRESULT hrStatus) - IMFSinkWriterCallback::OnFinalize -
- - -

Called when the method completes.

-
- No documentation. - No documentation. -

Returns an value. Currently, the sink writer ignores the return value.

- -

This interface is available on Windows?Vista if Platform Update Supplement for Windows?Vista is installed.

-
- - dd374645 - HRESULT IMFSinkWriterCallback::OnMarker([In] unsigned int dwStreamIndex,[In] void* pvContext) - IMFSinkWriterCallback::OnMarker -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Extends the interface.

-
- -

This interface provides a mechanism for apps that use to receive asynchronous notifications when the transform chain is complete and the system is ready for use or when an asynchronous error occurs.

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

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Called when the transform chain in the is built or modified.

-
-

Returns an value. Currently, the sink writer ignores the return value.

- - dn949417 - HRESULT IMFSinkWriterCallback2::OnTransformChange() - IMFSinkWriterCallback2::OnTransformChange -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Called when an asynchronous error occurs with the .

-
- No documentation. - No documentation. -

Returns an value. Currently, the sink writer ignores the return value.

- - dn949416 - HRESULT IMFSinkWriterCallback2::OnStreamError([In] unsigned int dwStreamIndex,[In] HRESULT hrStatus) - IMFSinkWriterCallback2::OnStreamError -
- - -

Provides additional functionality on the sink writer for dynamically changing the media type and encoder configuration.

-
- -

The Sink Writer implements this interface in Windows?8.1. To get a reference to this interface, call QueryInterface on the .

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

Dynamically changes the target media type that Sink Writer is encoding to.

-
-

Specifies the stream index.

-

The new media format to encode to.

-

The new set of encoding parameters to configure the encoder with. If not specified, previously provided parameters will be used.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

The new media type must be supported by the media sink being used and by the encoder MFTs installed on the system. -

-
- - dn302048 - HRESULT IMFSinkWriterEncoderConfig::SetTargetMediaType([In] unsigned int dwStreamIndex,[In] IMFMediaType* pTargetMediaType,[In, Optional] IMFAttributes* pEncodingParameters) - IMFSinkWriterEncoderConfig::SetTargetMediaType -
- - -

Dynamically updates the encoder configuration with a collection of new encoder settings.

-
-

Specifies the stream index.

-

A set of encoding parameters to configure the encoder with.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

The encoder will be configured with these settings after all previously queued input media samples have been sent to it through . -

-
- - dn302047 - HRESULT IMFSinkWriterEncoderConfig::PlaceEncodingParameters([In] unsigned int dwStreamIndex,[In] IMFAttributes* pEncodingParameters) - IMFSinkWriterEncoderConfig::PlaceEncodingParameters -
- - -

Extends the interface.

The Sink Writer implements this interface in Windows?8. To get a reference to this interface, call QueryInterface on the Sink Writer.

-
- - hh448060 - IMFSinkWriterEx - IMFSinkWriterEx -
- - - Initializes a new instance of the 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 reference to a Media Foundation transform (MFT) for a specified stream.

-
-

The zero-based index of a stream.

-

The zero-based index of the MFT to retreive.

-

Receives a reference to a that specifies the category of the MFT. For a list of possible values, see MFT_CATEGORY.

-

Receives a reference to the interface of the MFT. The caller must release the interface.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh448061 - HRESULT IMFSinkWriterEx::GetTransformForStream([In] unsigned int dwStreamIndex,[In] unsigned int dwTransformIndex,[Out, Optional] GUID* pGuidCategory,[Out] IMFTransform** ppTransform) - IMFSinkWriterEx::GetTransformForStream -
- - -

Represents a buffer which contains media data for a .

-
- -

is used in conjunction with the .

-
- - dn302049 - IMFSourceBuffer - IMFSourceBuffer -
- - - Initializes a new instance of the 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 value that indicates if Append, AppendByteStream, or Remove is in process.

-
- - dn302069 - GetUpdating - GetUpdating - BOOL IMFSourceBuffer::GetUpdating() -
- - -

Gets the buffered time range.

-
- - dn302067 - GetBuffered - GetBuffered - HRESULT IMFSourceBuffer::GetBuffered([Out] IMFMediaTimeRange** ppBuffered) -
- - -

Gets or sets the timestamp offset for media segments appended to the .

-
- - dn302068 - GetTimeStampOffset / SetTimeStampOffset - GetTimeStampOffset - double IMFSourceBuffer::GetTimeStampOffset() -
- - -

Gets or sets the timestamp for the start of the append window.

-
- - dn302066 - GetAppendWindowStart / SetAppendWindowStart - GetAppendWindowStart - double IMFSourceBuffer::GetAppendWindowStart() -
- - -

Gets or sets the timestamp for the end of the append window.

-
- - dn302065 - GetAppendWindowEnd / SetAppendWindowEnd - GetAppendWindowEnd - double IMFSourceBuffer::GetAppendWindowEnd() -
- - -

Gets a value that indicates if Append, AppendByteStream, or Remove is in process.

-
-

true if Append, AppendByteStream, or Remove; otherwise, false.

- - dn302069 - BOOL IMFSourceBuffer::GetUpdating() - IMFSourceBuffer::GetUpdating -
- - -

Gets the buffered time range.

-
-

The buffered time range.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn302067 - HRESULT IMFSourceBuffer::GetBuffered([Out] IMFMediaTimeRange** ppBuffered) - IMFSourceBuffer::GetBuffered -
- - -

Gets the timestamp offset for media segments appended to the .

-
-

The timestamp offset.

- - dn302068 - double IMFSourceBuffer::GetTimeStampOffset() - IMFSourceBuffer::GetTimeStampOffset -
- - -

Sets the timestamp offset for media segments appended to the .

-
- No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn302073 - HRESULT IMFSourceBuffer::SetTimeStampOffset([In] double offset) - IMFSourceBuffer::SetTimeStampOffset -
- - -

Gets the timestamp for the start of the append window.

-
-

The timestamp for the start of the append window.

- - dn302066 - double IMFSourceBuffer::GetAppendWindowStart() - IMFSourceBuffer::GetAppendWindowStart -
- - -

Sets the timestamp for the start of the append window.

-
-

The timestamp for the start of the append window.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn302072 - HRESULT IMFSourceBuffer::SetAppendWindowStart([In] double time) - IMFSourceBuffer::SetAppendWindowStart -
- - -

Gets the timestamp for the end of the append window.

-
-

The timestamp for the end of the append window.

- - dn302065 - double IMFSourceBuffer::GetAppendWindowEnd() - IMFSourceBuffer::GetAppendWindowEnd -
- - -

Sets the timestamp for the end of the append window.

-
-
-

The timestamp for the end of the append window.

- - dn302071 - HRESULT IMFSourceBuffer::SetAppendWindowEnd([In] double time) - IMFSourceBuffer::SetAppendWindowEnd - - - -

Appends the specified media segment to the .

-
- No documentation. - No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn302063 - HRESULT IMFSourceBuffer::Append([In, Buffer] const unsigned char* pData,[In] unsigned int len) - IMFSourceBuffer::Append -
- - -

Appends the media segment from the specified byte stream to the .

-
- No documentation. - No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn302064 - HRESULT IMFSourceBuffer::AppendByteStream([In] IMFByteStream* pStream,[In, Optional] unsigned longlong* pMaxLen) - IMFSourceBuffer::AppendByteStream -
- - -

Aborts the processing of the current media segment.

-
-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn302062 - HRESULT IMFSourceBuffer::Abort() - IMFSourceBuffer::Abort -
- - -

Removes the media segments defined by the specified time range from the .

-
- No documentation. - No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn302070 - HRESULT IMFSourceBuffer::Remove([In] double start,[In] double end) - IMFSourceBuffer::Remove -
- - - No documentation. - - - IMFSourceBufferAppendMode - IMFSourceBufferAppendMode - - - - Initializes a new instance of the 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. - - - GetAppendMode / SetAppendMode - GetAppendMode - MF_MSE_APPEND_MODE IMFSourceBufferAppendMode::GetAppendMode() - - - - No documentation. - - No documentation. - - MF_MSE_APPEND_MODE IMFSourceBufferAppendMode::GetAppendMode() - IMFSourceBufferAppendMode::GetAppendMode - - - - No documentation. - - No documentation. - No documentation. - - HRESULT IMFSourceBufferAppendMode::SetAppendMode([In] MF_MSE_APPEND_MODE mode) - IMFSourceBufferAppendMode::SetAppendMode - - - -

Represents a collection of objects.

-
- - dn302050 - IMFSourceBufferList - IMFSourceBufferList -
- - - Initializes a new instance of the 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 objects in the list.

-
- - dn302051 - GetLength - GetLength - unsigned int IMFSourceBufferList::GetLength() -
- - -

Gets the number of objects in the list.

-
-

The number of source buffers in the list.

- - dn302051 - unsigned int IMFSourceBufferList::GetLength() - IMFSourceBufferList::GetLength -
- - -

Gets the at the specified index in the list.

-
- No documentation. -

The source buffer.

- - dn302052 - IMFSourceBuffer* IMFSourceBufferList::GetSourceBuffer([In] unsigned int index) - IMFSourceBufferList::GetSourceBuffer -
- - -

Provides functionality for raising events associated with .

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

Used to indicate that the source buffer has started updating.

-
- - dn302061 - void IMFSourceBufferNotify::OnUpdateStart() - IMFSourceBufferNotify::OnUpdateStart -
- - -

Used to indicate that the source buffer has been aborted.

-
- - dn302054 - void IMFSourceBufferNotify::OnAbort() - IMFSourceBufferNotify::OnAbort -
- - -

Used to indicate that an error has occurred with the source buffer.

-
-
- - dn302055 - void IMFSourceBufferNotify::OnError([In] HRESULT hr) - IMFSourceBufferNotify::OnError - - - -

Used to indicate that the source buffer is updating.

-
- - dn302056 - void IMFSourceBufferNotify::OnUpdate() - IMFSourceBufferNotify::OnUpdate -
- - -

Used to indicate that the source buffer has finished updating.

-
- - dn302057 - void IMFSourceBufferNotify::OnUpdateEnd() - IMFSourceBufferNotify::OnUpdateEnd -
- - -

Callback interface to receive notifications from a network source on the progress of an asynchronous open operation.

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

Called by the network source when the open operation begins or ends.

-
-

Pointer to the interface.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

The networks source calls this method with the following event types.

For more information, see How to Get Events from the Network Source.

-
- - ms694870 - HRESULT IMFSourceOpenMonitor::OnSourceEvent([In, Optional] IMFMediaEvent* pEvent) - IMFSourceOpenMonitor::OnSourceEvent -
- - -

Implemented by the Microsoft Media Foundation source reader object.

-
- -

To create the source reader, call one of the following functions:

Alternatively, use the interface.

This interface is available on Windows?Vista if Platform Update Supplement for Windows?Vista is installed.

In Windows?8, this interface is extended with .

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

Queries whether a stream is selected.

-
-

The stream to query. The value can be any of the following.

ValueMeaning
0?0xFFFFFFFB

The zero-based index of a stream.

0xFFFFFFFC

The first video stream.

0xFFFFFFFD

The first audio stream.

?

-

Receives TRUE if the stream is selected and will generate data. Receives if the stream is not selected and will not generate data.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

This interface is available on Windows?Vista if Platform Update Supplement for Windows?Vista is installed.

-
- - dd374664 - HRESULT IMFSourceReader::GetStreamSelection([In] unsigned int dwStreamIndex,[Out] BOOL* pfSelected) - IMFSourceReader::GetStreamSelection -
- - -

Selects or deselects one or more streams.

-
-

The stream to set. The value can be any of the following.

ValueMeaning
0?0xFFFFFFFB

The zero-based index of a stream.

0xFFFFFFFC

The first video stream.

0xFFFFFFFD

The first audio stream.

0xFFFFFFFE

All streams.

?

-

Specify TRUE to select streams or to deselect streams. If a stream is deselected, it will not generate data.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

There are two common uses for this method:

  • To change the default stream selection. Some media files contain multiple streams of the same type. For example, a file might include audio streams for multiple languages. You can use this method to change which of the streams is selected. To get information about each stream, call or .
  • If you will not need data from one of the streams, it is a good idea to deselect that stream. If the stream is selected, the media source might hold onto a queue of unread data, and the queue might grow indefinitely, consuming memory.

For an example of deselecting a stream, see Tutorial: Decoding Audio.

If a stream is deselected, the method returns for that stream. Other methods are valid for deselected streams.

Stream selection does not affect how the source reader loads or unloads decoders in memory. In particular, deselecting a stream does not force the source reader to unload the decoder for that stream.

This interface is available on Windows?Vista if Platform Update Supplement for Windows?Vista is installed.

-
- - dd374669 - HRESULT IMFSourceReader::SetStreamSelection([In] unsigned int dwStreamIndex,[In] BOOL fSelected) - IMFSourceReader::SetStreamSelection -
- - -

Gets a format that is supported natively by the media source.

-
-

Specifies which stream to query. The value can be any of the following.

ValueMeaning
0?0xFFFFFFFB

The zero-based index of a stream.

0xFFFFFFFC

The first video stream.

0xFFFFFFFD

The first audio stream.

?

-

The zero-based index of the media type to retrieve.

-

Receives a reference to the interface. The caller must release the interface.

- -

This method queries the underlying media source for its native output format. Potentially, each source stream can produce more than one output format. Use the dwMediaTypeIndex parameter to loop through the available formats. Generally, file sources offer just one format per stream, but capture devices might offer several formats.

The method returns a copy of the media type, so it is safe to modify the object received in the ppMediaType parameter.

To set the output type for a stream, call the method.

This interface is available on Windows?Vista if Platform Update Supplement for Windows?Vista is installed.

-
- - dd374661 - HRESULT IMFSourceReader::GetNativeMediaType([In] unsigned int dwStreamIndex,[In] unsigned int dwMediaTypeIndex,[Out] IMFMediaType** ppMediaType) - IMFSourceReader::GetNativeMediaType -
- - -

Gets the current media type for a stream.

-
-

The stream to query. The value can be any of the following.

ValueMeaning
0?0xFFFFFFFB

The zero-based index of a stream.

0xFFFFFFFC

The first video stream.

0xFFFFFFFD

The first audio stream.

?

-

Receives a reference to the interface. The caller must release the interface.

- -

This interface is available on Windows?Vista if Platform Update Supplement for Windows?Vista is installed.

-
- - dd374660 - HRESULT IMFSourceReader::GetCurrentMediaType([In] unsigned int dwStreamIndex,[Out] IMFMediaType** ppMediaType) - IMFSourceReader::GetCurrentMediaType -
- - -

Sets the media type for a stream.

This media type defines that format that the Source Reader produces as output. It can differ from the native format provided by the media source. See Remarks for more information.

-
- No documentation. - No documentation. - No documentation. -

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

At least one decoder was found for the native stream type, but the type specified by pMediaType was rejected.

One or more sample requests are still pending.

The dwStreamIndex parameter is invalid.

Could not find a decoder for the native stream type.

?

- -

For each stream, you can set the media type to any of the following:

  • One of the native types offered by the media source. To enumerate the native types, call .
  • If the native media type is compressed, you can specify a corresponding uncompressed format. The Source Reader will search for a decoder that can decode from the native format to the specified uncompressed format.

Audio resampling support was added to the source reader with Windows?8. In versions of Windows prior to Windows?8, the source reader does not support audio resampling. If you need to resample the audio in versions of Windows earlier than Windows?8, you can use the Audio Resampler DSP.

If you set the attribute to TRUE when you create the Source Reader, the Source Reader will convert YUV video to RGB-32. This conversion is not optimized for real-time video playback.

This interface is available on Windows?Vista if Platform Update Supplement for Windows?Vista is installed.

-
- - dd374667 - HRESULT IMFSourceReader::SetCurrentMediaType([In] unsigned int dwStreamIndex,[In] void* pdwReserved,[In] IMFMediaType* pMediaType) - IMFSourceReader::SetCurrentMediaType -
- - -

Seeks to a new position in the media source.

-
-

A that specifies the time format. The time format defines the units for the varPosition parameter. The following value is defined for all media sources:

ValueMeaning
GUID_NULL

100-nanosecond units.

?

Some media sources might support additional values.

-

The position from which playback will be started. The units are specified by the guidTimeFormat parameter. If the guidTimeFormat parameter is GUID_NULL, set the variant type to VT_I8.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

One or more sample requests are still pending.

?

- -

The SetCurrentPosition method does not guarantee exact seeking. The accuracy of the seek depends on the media content. If the media content contains a video stream, the SetCurrentPosition method typically seeks to the nearest key frame before the desired position. The distance between key frames depends on several factors, including the encoder implementation, the video content, and the particular encoding settings used to encode the content. The distance between key frame can vary within a single video file (for example, depending on scene complexity).

After seeking, the application should call and advance to the desired position.

This interface is available on Windows?Vista if Platform Update Supplement for Windows?Vista is installed.

-
- - dd374668 - HRESULT IMFSourceReader::SetCurrentPosition([In] const GUID& guidTimeFormat,[In] const PROPVARIANT& varPosition) - IMFSourceReader::SetCurrentPosition -
- - -

Reads the next sample from the media source.

-
-

The stream to pull data from. The value can be any of the following.

ValueMeaning
0?0xFFFFFFFB

The zero-based index of a stream.

0xFFFFFFFC

The first video stream.

0xFFFFFFFD

The first audio stream.

0xFFFFFFFE

Get the next available sample, regardless of which stream.

?

-

A bitwise OR of zero or more flags from the enumeration.

-

Receives the zero-based index of the stream.

-

Receives a bitwise OR of zero or more flags from the enumeration.

-

Receives the time stamp of the sample, or the time of the stream event indicated in pdwStreamFlags. The time is given in 100-nanosecond units.

-

Receives a reference to the interface or the value null (see Remarks). If this parameter receives a non-null reference, the caller must release the interface.

- -

If the requested stream is not selected, the return code is . See .

This method can complete synchronously or asynchronously. If you provide a callback reference when you create the source reader, the method is asynchronous. Otherwise, the method is synchronous. For more information about setting the callback reference, see .

-
- - dd374665 - HRESULT IMFSourceReader::ReadSample([In] unsigned int dwStreamIndex,[In] MF_SOURCE_READER_CONTROL_FLAG dwControlFlags,[Out, Optional] unsigned int* pdwActualStreamIndex,[Out, Optional] MF_SOURCE_READER_FLAG* pdwStreamFlags,[Out, Optional] longlong* pllTimestamp,[Out, Optional] IMFSample** ppSample) - IMFSourceReader::ReadSample -
- - -

Flushes one or more streams.

-
-

The stream to flush. The value can be any of the following.

ValueMeaning
0?0xFFFFFFFB

The zero-based index of a stream.

0xFFFFFFFC

The first video stream.

0xFFFFFFFD

The first audio stream.

0xFFFFFFFE

All streams.

?

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

The Flush method discards all queued samples and cancels all pending sample requests.

This method can complete either synchronously or asynchronously. If you provide a callback reference when you create the source reader, the method is asynchronous. Otherwise, the method is synchronous. For more information about the setting the callback reference, see .

In synchronous mode, the method blocks until the operation is complete.

In asynchronous mode, the application's method is called when the flush operation completes. While a flush operation is pending, the method returns .

Note??In Windows?7, there was a bug in the implementation of this method, which causes OnFlush to be called before the flush operation completes. A hotfix is available that fixes this bug. For more information, see http://support.microsoft.com/kb/979567.?

This interface is available on Windows?Vista if Platform Update Supplement for Windows?Vista is installed.

-
- - dd374659 - HRESULT IMFSourceReader::Flush([In] unsigned int dwStreamIndex) - IMFSourceReader::Flush -
- - -

Queries the underlying media source or decoder for an interface.

-
-

The stream or object to query. If the value is , the method queries the media source. Otherwise, it queries the decoder that is associated with the specified stream. The following values are possible.

ValueMeaning
0?0xFFFFFFFB

The zero-based index of a stream.

0xFFFFFFFC

The first video stream.

0xFFFFFFFD

The first audio stream.

0xFFFFFFFF

The media source.

?

-

A service identifier . If the value is GUID_NULL, the method calls QueryInterface to get the requested interface. Otherwise, the method calls the method. For a list of service identifiers, see Service Interfaces.

-

The interface identifier (IID) of the interface being requested.

-

Receives a reference to the requested interface. The caller must release the interface.

- -

This interface is available on Windows?Vista if Platform Update Supplement for Windows?Vista is installed.

-
- - dd374663 - HRESULT IMFSourceReader::GetServiceForStream([In] unsigned int dwStreamIndex,[In] const GUID& guidService,[In] const GUID& riid,[Out] void** ppvObject) - IMFSourceReader::GetServiceForStream -
- - -

Gets an attribute from the underlying media source.

-
-

The stream or object to query. The value can be any of the following.

ValueMeaning
0?0xFFFFFFFB

The zero-based index of a stream.

0xFFFFFFFC

The first video stream.

0xFFFFFFFD

The first audio stream.

0xFFFFFFFF

The media source.

?

-

A that identifies the attribute to retrieve. If the dwStreamIndex parameter equals , guidAttribute can specify one of the following:

  • A presentation descriptor attribute. For a list of values, see Presentation Descriptor Attributes.
  • . Use this value to get characteristics flags from the media source.

Otherwise, if the dwStreamIndex parameter specifies a stream, guidAttribute specifies a stream descriptor attribute. For a list of values, see Stream Descriptor Attributes.

-

A reference to a that receives the value of the attribute. Call the PropVariantClear function to free the .

- -

This interface is available on Windows?Vista if Platform Update Supplement for Windows?Vista is installed.

-
- - dd374662 - HRESULT IMFSourceReader::GetPresentationAttribute([In] unsigned int dwStreamIndex,[In] const GUID& guidAttribute,[Out] PROPVARIANT* pvarAttribute) - IMFSourceReader::GetPresentationAttribute -
- - - Creates the source reader from a URL - - The URL of a media file to open. -

Pointer to the interface. You can use this parameter to configure the source reader. For more information, see Source Reader Attributes. This parameter can be null.

- -

Call CoInitialize(Ex) and before calling this function.

Internally, the source reader calls the method to create a media source from the byte stream. Therefore, a byte-stream handler must be registered for the byte stream. For more information about byte-stream handlers, see Scheme Handlers and Byte-Stream Handlers.

This function is available on Windows?Vista if Platform Update Supplement for Windows?Vista is installed.

-
- dd388110 - HRESULT MFCreateSourceReaderFromURL([In] const wchar_t* pwszURL,[In, Optional] IMFAttributes* pAttributes,[Out, Fast] IMFSourceReader** ppSourceReader) - MFCreateSourceReaderFromURL -
- - - Creates the source reader from a byte stream. - -

A reference to the interface of a byte stream. This byte stream will provide the source data for the source reader.

-

Pointer to the interface. You can use this parameter to configure the source reader. For more information, see Source Reader Attributes. This parameter can be null.

- -

Call CoInitialize(Ex) and before calling this function.

Internally, the source reader calls the method to create a media source from the byte stream. Therefore, a byte-stream handler must be registered for the byte stream. For more information about byte-stream handlers, see Scheme Handlers and Byte-Stream Handlers.

This function is available on Windows?Vista if Platform Update Supplement for Windows?Vista is installed.

-
- dd388106 - HRESULT MFCreateSourceReaderFromByteStream([In] IMFByteStream* pByteStream,[In, Optional] IMFAttributes* pAttributes,[Out, Fast] IMFSourceReader** ppSourceReader) - MFCreateSourceReaderFromByteStream -
- - - Creates the source reader from a byte stream. - -

A reference to the interface of a byte stream. This byte stream will provide the source data for the source reader.

-

Pointer to the interface. You can use this parameter to configure the source reader. For more information, see Source Reader Attributes. This parameter can be null.

- -

Call CoInitialize(Ex) and before calling this function.

Internally, the source reader calls the method to create a media source from the byte stream. Therefore, a byte-stream handler must be registered for the byte stream. For more information about byte-stream handlers, see Scheme Handlers and Byte-Stream Handlers.

This function is available on Windows?Vista if Platform Update Supplement for Windows?Vista is installed.

-
- dd388106 - HRESULT MFCreateSourceReaderFromByteStream([In] IMFByteStream* pByteStream,[In, Optional] IMFAttributes* pAttributes,[Out, Fast] IMFSourceReader** ppSourceReader) - MFCreateSourceReaderFromByteStream -
- - - Creates the source reader from a - - Reference to the mediasource interface -

Pointer to the interface. You can use this parameter to configure the source reader. For more information, see Source Reader Attributes. This parameter can be null.

- -

Call CoInitialize(Ex) and before calling this function.

By default, when the application releases the source reader, the source reader shuts down the media source by calling on the media source. At that point, the application can no longer use the media source.

To change this default behavior, set the attribute in the pAttributes parameter. If this attribute is TRUE, the application is responsible for shutting down the media source.

When using the Source Reader, do not call any of the following methods on the media source:

  • All methods

This function is available on Windows?Vista if Platform Update Supplement for Windows?Vista is installed.

Windows Phone 8.1: This API is supported.

-
- dd388108 - HRESULT MFCreateSourceReaderFromMediaSource([In] IMFMediaSource* pMediaSource,[In, Optional] IMFAttributes* pAttributes,[Out, Fast] IMFSourceReader** ppSourceReader) - MFCreateSourceReaderFromMediaSource -
- - - Creates the source reader from a byte stream. - -

A reference to the interface of a byte stream. This byte stream will provide the source data for the source reader.

-

Pointer to the interface. You can use this parameter to configure the source reader. For more information, see Source Reader Attributes. This parameter can be null.

- -

Call CoInitialize(Ex) and before calling this function.

Internally, the source reader calls the method to create a media source from the byte stream. Therefore, a byte-stream handler must be registered for the byte stream. For more information about byte-stream handlers, see Scheme Handlers and Byte-Stream Handlers.

This function is available on Windows?Vista if Platform Update Supplement for Windows?Vista is installed.

-
- dd388106 - HRESULT MFCreateSourceReaderFromByteStream([In] IMFByteStream* pByteStream,[In, Optional] IMFAttributes* pAttributes,[Out, Fast] IMFSourceReader** ppSourceReader) - MFCreateSourceReaderFromByteStream -
- - -

Applies to: desktop apps | Metro style apps

Gets a format that is supported natively by the media source.

-
-

Specifies which stream to query. The value can be any of the following.

ValueMeaning
0?0xFFFFFFFB

The zero-based index of a stream.

0xFFFFFFFC

The first video stream.

0xFFFFFFFD

The first audio stream.

?

-

The zero-based index of the media type to retrieve.

-

Receives a reference to the interface. The caller must release the interface.

- -

This method queries the underlying media source for its native output format. Potentially, each source stream can produce more than one output format. Use the dwMediaTypeIndex parameter to loop through the available formats. Generally, file sources offer just one format per stream, but capture devices might offer several formats.

The method returns a copy of the media type, so it is safe to modify the object received in the ppMediaType parameter.

To set the output type for a stream, call the method.

This interface is available on Windows?Vista if Platform Update Supplement for Windows?Vista is installed.

-
- dd374661 - HRESULT IMFSourceReader::GetNativeMediaType([In] unsigned int dwStreamIndex,[In] unsigned int dwMediaTypeIndex,[Out] IMFMediaType** ppMediaType) - IMFSourceReader::GetNativeMediaType -
- - -

Applies to: desktop apps | Metro style apps

Selects or deselects one or more streams.

-
-

The stream to set. The value can be any of the following.

ValueMeaning
0?0xFFFFFFFB

The zero-based index of a stream.

0xFFFFFFFC

The first video stream.

0xFFFFFFFD

The first audio stream.

0xFFFFFFFE

All streams.

?

-

Specify TRUE to select streams or to deselect streams. If a stream is deselected, it will not generate data.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

There are two common uses for this method:

  • To change the default stream selection. Some media files contain multiple streams of the same type. For example, a file might include audio streams for multiple languages. You can use this method to change which of the streams is selected. To get information about each stream, call or .
  • If you will not need data from one of the streams, it is a good idea to deselect that stream. If the stream is selected, the media source might hold onto a queue of unread data, and the queue might grow indefinitely, consuming memory.

For an example of deselecting a stream, see Tutorial: Decoding Audio.

If a stream is deselected, the method returns MF_E_INVALIDREQUEST for that stream. Other methods are valid for deselected streams.

Stream selection does not affect how the source reader loads or unloads decoders in memory. In particular, deselecting a stream does not force the source reader to unload the decoder for that stream.

This interface is available on Windows?Vista if Platform Update Supplement for Windows?Vista is installed.

-
- dd374669 - HRESULT IMFSourceReader::SetStreamSelection([In] unsigned int dwStreamIndex,[In] BOOL fSelected) - IMFSourceReader::SetStreamSelection -
- - -

Applies to: desktop apps | Metro style apps

Sets the media type for a stream.

This media type defines that format that the Source Reader produces as output. It can differ from the native format provided by the media source. See Remarks for more information.

-
- No documentation. - No documentation. -

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

MF_E_INVALIDMEDIATYPE

At least one decoder was found for the native stream type, but the type specified by pMediaType was rejected.

MF_E_INVALIDREQUEST

One or more sample requests are still pending.

MF_E_INVALIDSTREAMNUMBER

The dwStreamIndex parameter is invalid.

MF_E_TOPO_CODEC_NOT_FOUND

Could not find a decoder for the native stream type.

?

- -

For each stream, you can set the media type to any of the following:

  • One of the native types offered by the media source. To enumerate the native types, call .
  • If the native media type is compressed, you can specify a corresponding uncompressed format. The Source Reader will search for a decoder that can decode from the native format to the specified uncompressed format.

The source reader does not support audio resampling. If you need to resample the audio, you can use the Audio Resampler DSP.

If you set the attribute to TRUE when you create the Source Reader, the Source Reader will convert YUV video to RGB-32. This conversion is not optimized for real-time video playback.

This interface is available on Windows?Vista if Platform Update Supplement for Windows?Vista is installed.

-
- dd374667 - HRESULT IMFSourceReader::SetCurrentMediaType([In] unsigned int dwStreamIndex,[In] unsigned int* pdwReserved,[In] IMFMediaType* pMediaType) - IMFSourceReader::SetCurrentMediaType -
- - -

Applies to: desktop apps | Metro style apps

Sets the media type for a stream.

This media type defines that format that the Source Reader produces as output. It can differ from the native format provided by the media source. See Remarks for more information.

-
- No documentation. - No documentation. -

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

MF_E_INVALIDMEDIATYPE

At least one decoder was found for the native stream type, but the type specified by pMediaType was rejected.

MF_E_INVALIDREQUEST

One or more sample requests are still pending.

MF_E_INVALIDSTREAMNUMBER

The dwStreamIndex parameter is invalid.

MF_E_TOPO_CODEC_NOT_FOUND

Could not find a decoder for the native stream type.

?

- -

For each stream, you can set the media type to any of the following:

  • One of the native types offered by the media source. To enumerate the native types, call .
  • If the native media type is compressed, you can specify a corresponding uncompressed format. The Source Reader will search for a decoder that can decode from the native format to the specified uncompressed format.

The source reader does not support audio resampling. If you need to resample the audio, you can use the Audio Resampler DSP.

If you set the attribute to TRUE when you create the Source Reader, the Source Reader will convert YUV video to RGB-32. This conversion is not optimized for real-time video playback.

This interface is available on Windows?Vista if Platform Update Supplement for Windows?Vista is installed.

-
- dd374667 - HRESULT IMFSourceReader::SetCurrentMediaType([In] unsigned int dwStreamIndex,[In] unsigned int* pdwReserved,[In] IMFMediaType* pMediaType) - IMFSourceReader::SetCurrentMediaType -
- - -

Applies to: desktop apps | Metro style apps

Seeks to a new position in the media source.

-
- The position from which playback will be started. 100-nanosecond units. - -

The SetCurrentPosition method does not guarantee exact seeking. The accuracy of the seek depends on the media content. If the media content contains a video stream, the SetCurrentPosition method typically seeks to the nearest key frame before the desired position. The distance between key frames depends on several factors, including the encoder implementation, the video content, and the particular encoding settings used to encode the content. The distance between key frame can vary within a single video file (for example, depending on scene complexity).

After seeking, the application should call and advance to the desired position.

This interface is available on Windows?Vista if Platform Update Supplement for Windows?Vista is installed.

-
- dd374668 - HRESULT IMFSourceReader::SetCurrentPosition([In] const GUID& guidTimeFormat,[In] const PROPVARIANT& varPosition) - IMFSourceReader::SetCurrentPosition -
- - -

Applies to: desktop apps | Metro style apps

Gets the current media type for a stream.

-
-

The stream to query. The value can be any of the following.

ValueMeaning
0?0xFFFFFFFB

The zero-based index of a stream.

0xFFFFFFFC

The first video stream.

0xFFFFFFFD

The first audio stream.

?

-

Receives a reference to the interface. The caller must release the interface.

- -

This interface is available on Windows?Vista if Platform Update Supplement for Windows?Vista is installed.

-
- dd374660 - HRESULT IMFSourceReader::GetCurrentMediaType([In] unsigned int dwStreamIndex,[Out] IMFMediaType** ppMediaType) - IMFSourceReader::GetCurrentMediaType -
- - -

Applies to: desktop apps | Metro style apps

Reads the next sample from the media source.

-
-

The stream to pull data from. The value can be any of the following.

ValueMeaning
0?0xFFFFFFFB

The zero-based index of a stream.

0xFFFFFFFC

The first video stream.

0xFFFFFFFD

The first audio stream.

0xFFFFFFFE

Get the next available sample, regardless of which stream.

?

-

A bitwise OR of zero or more flags from the enumeration.

-

Receives the zero-based index of the stream.

-

Receives a bitwise OR of zero or more flags from the enumeration.

-

Receives the time stamp of the sample, or the time of the stream event indicated in pdwStreamFlags. The time is given in 100-nanosecond units.

-

Receives a reference to the interface or the value null (see Remarks). If this parameter receives a non-null reference, the caller must release the interface.

- -

If the requested stream is not selected, the return code is MF_E_INVALIDREQUEST. See .

This method can complete synchronously or asynchronously. If you provide a callback reference when you create the source reader, the method is asynchronous. Otherwise, the method is synchronous. For more information about setting the callback reference, see .

Asynchronous Mode

In asynchronous mode:

  • All of the [out] parameters must be null. Otherwise, the method returns E_INVALIDARG.
  • The method returns immediately.
  • When the operation completes, the application's method is called.
  • If an error occurs, the method can fail either synchronously or asynchronously. Check the return value of ReadSample, and also check the hrStatus parameter of .
Synchronous Mode

In synchronous mode:

  • The pdwStreamFlags and ppSample parameters cannot be null. Otherwise, the method returns E_POINTER.
  • The pdwActualStreamIndex and pllTimestamp parameters can be null.
  • The method blocks until the next sample is available.

In synchronous mode, if the dwStreamIndex parameter is , you should pass a non-null value for pdwActualStreamIndex, so that you know which stream delivered the sample.

This method can return flags in the pdwStreamFlags parameter without returning a media sample in ppSample. Therefore, the ppSample parameter can receive a null reference even when the method succeeds. For example, when the source reader reaches the end of the stream, it returns the flag in pdwStreamFlags and sets ppSample to null.

If there is a gap in the stream, pdwStreamFlags receives the flag, ppSample is null, and pllTimestamp indicates the time when the gap occurred.

This interface is available on Windows?Vista if Platform Update Supplement for Windows?Vista is installed.

-
- dd374665 - HRESULT IMFSourceReader::ReadSample([In] unsigned int dwStreamIndex,[In] unsigned int dwControlFlags,[Out, Optional] unsigned int* pdwActualStreamIndex,[Out, Optional] unsigned int* pdwStreamFlags,[Out, Optional] longlong* pllTimestamp,[Out, Optional] IMFSample** ppSample) - IMFSourceReader::ReadSample -
- - -

Applies to: desktop apps | Metro style apps

Flushes one or more streams.

-
-

The stream to flush. The value can be any of the following.

ValueMeaning
0?0xFFFFFFFB

The zero-based index of a stream.

0xFFFFFFFC

The first video stream.

0xFFFFFFFD

The first audio stream.

0xFFFFFFFE

All streams.

?

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

The Flush method discards all queued samples and cancels all pending sample requests.

This method can complete either synchronously or asynchronously. If you provide a callback reference when you create the source reader, the method is asynchronous. Otherwise, the method is synchronous. For more information about the setting the callback reference, see .

In synchronous mode, the method blocks until the operation is complete.

In asynchronous mode, the application's method is called when the flush operation completes. While a flush operation is pending, the method returns MF_E_NOTACCEPTING.

Note??In Windows?7, there was a bug in the implementation of this method, which causes OnFlush to be called before the flush operation completes. A hotfix is available that fixes this bug. For more information, see http://support.microsoft.com/kb/979567.

This interface is available on Windows?Vista if Platform Update Supplement for Windows?Vista is installed.

-
- - dd374659 - HRESULT IMFSourceReader::Flush([In] unsigned int dwStreamIndex) - IMFSourceReader::Flush -
- - -

Applies to: desktop apps | Metro style apps

Queries the underlying media source or decoder for an interface.

-
-

The stream or object to query. If the value is , the method queries the media source. Otherwise, it queries the decoder that is associated with the specified stream. The following values are possible.

ValueMeaning
0?0xFFFFFFFB

The zero-based index of a stream.

0xFFFFFFFC

The first video stream.

0xFFFFFFFD

The first audio stream.

0xFFFFFFFF

The media source.

?

-

A service identifier . If the value is GUID_NULL, the method calls QueryInterface to get the requested interface. Otherwise, the method calls the method. For a list of service identifiers, see Service Interfaces.

-

The interface identifier (IID) of the interface being requested.

-

Receives a reference to the requested interface. The caller must release the interface.

- -

This interface is available on Windows?Vista if Platform Update Supplement for Windows?Vista is installed.

-
- dd374663 - HRESULT IMFSourceReader::GetServiceForStream([In] unsigned int dwStreamIndex,[In] const GUID& guidService,[In] const GUID& riid,[Out] void** ppvObject) - IMFSourceReader::GetServiceForStream -
- - -

Applies to: desktop apps | Metro style apps

Gets an attribute from the underlying media source.

-
-

The stream or object to query. The value can be any of the following.

ValueMeaning
0?0xFFFFFFFB

The zero-based index of a stream.

0xFFFFFFFC

The first video stream.

0xFFFFFFFD

The first audio stream.

0xFFFFFFFF

The media source.

?

-

A that identifies the attribute to retrieve. If the dwStreamIndex parameter equals , guidAttribute can specify one of the following:

  • A presentation descriptor attribute. For a list of values, see Presentation Descriptor Attributes.
  • . Use this value to get characteristics flags from the media source.

Otherwise, if the dwStreamIndex parameter specifies a stream, guidAttribute specifies a stream descriptor attribute. For a list of values, see Stream Descriptor Attributes.

- a that receives the value of the attribute. - -

This interface is available on Windows?Vista if Platform Update Supplement for Windows?Vista is installed.

-
- dd374662 - HRESULT IMFSourceReader::GetPresentationAttribute([In] unsigned int dwStreamIndex,[In] const GUID& guidAttribute,[Out] PROPVARIANT* pvarAttribute) - IMFSourceReader::GetPresentationAttribute -
- - -

Applies to: desktop apps | Metro style apps

Gets an attribute from the underlying media source.

-
-

The stream or object to query. The value can be any of the following.

ValueMeaning
0?0xFFFFFFFB

The zero-based index of a stream.

0xFFFFFFFC

The first video stream.

0xFFFFFFFD

The first audio stream.

0xFFFFFFFF

The media source.

?

-

A that identifies the attribute to retrieve. If the dwStreamIndex parameter equals , guidAttribute can specify one of the following:

  • A presentation descriptor attribute. For a list of values, see Presentation Descriptor Attributes.
  • . Use this value to get characteristics flags from the media source.

Otherwise, if the dwStreamIndex parameter specifies a stream, guidAttribute specifies a stream descriptor attribute. For a list of values, see Stream Descriptor Attributes.

- a that receives the value of the attribute. - -

This interface is available on Windows?Vista if Platform Update Supplement for Windows?Vista is installed.

-
- dd374662 - HRESULT IMFSourceReader::GetPresentationAttribute([In] unsigned int dwStreamIndex,[In] const GUID& guidAttribute,[Out] PROPVARIANT* pvarAttribute) - IMFSourceReader::GetPresentationAttribute -
- - -

Callback interface for the Microsoft Media Foundation source reader.

-
- -

Use the attribute to set the callback reference when you first create the source reader object.

The callback methods can be called from any thread, so an object that implements this interface must be thread-safe.

If you do not specify a callback reference, the source reader operates synchronously.

This interface is available on Windows?Vista if Platform Update Supplement for Windows?Vista is installed.

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

Called when the method completes.

-
- No documentation. - No documentation. - No documentation. - No documentation. - No documentation. -

Returns an value. Currently, the source reader ignores the return value.

- -

The pSample parameter might be null. For example, when the source reader reaches the end of a stream, dwStreamFlags contains the flag, and pSample is null.

If there is a gap in the stream, dwStreamFlags contains the flag, pSample is null, and llTimestamp indicates the time when the gap occurred.

This interface is available on Windows?Vista if Platform Update Supplement for Windows?Vista is installed.

-
- - dd374658 - HRESULT IMFSourceReaderCallback::OnReadSample([In] HRESULT hrStatus,[In] unsigned int dwStreamIndex,[In] unsigned int dwStreamFlags,[In] longlong llTimestamp,[In, Optional] IMFSample* pSample) - IMFSourceReaderCallback::OnReadSample -
- - -

Called when the method completes.

-
- No documentation. -

Returns an value. Currently, the source reader ignores the return value.

- -

This interface is available on Windows?Vista if Platform Update Supplement for Windows?Vista is installed.

-
- - dd374657 - HRESULT IMFSourceReaderCallback::OnFlush([In] unsigned int dwStreamIndex) - IMFSourceReaderCallback::OnFlush -
- - -

Called when the source reader receives certain events from the media source.

-
-

For stream events, the value is the zero-based index of the stream that sent the event. For source events, the value is .

-

A reference to the interface of the event.

-

Returns an value. Currently, the source reader ignores the return value.

- -

In the current implementation, the source reader uses this method to forward the following events to the application:

This interface is available on Windows?Vista if Platform Update Supplement for Windows?Vista is installed.

-
- - dd743367 - HRESULT IMFSourceReaderCallback::OnEvent([In] unsigned int dwStreamIndex,[In] IMFMediaEvent* pEvent) - IMFSourceReaderCallback::OnEvent -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Extends the interface.

-
- -

This interface provides a mechanism for apps that use to receive asynchronous notifications when the transform chain is complete and the system is ready for use or when an asynchronous error occurs.

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

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Called when the transform chain in the is built or modified.

-
-

Returns an value. Currently, the source reader ignores the return value.

- - dn949420 - HRESULT IMFSourceReaderCallback2::OnTransformChange() - IMFSourceReaderCallback2::OnTransformChange -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Called when an asynchronous error occurs with the .

-
- No documentation. - No documentation. -

Returns an value. Currently, the source reader ignores the return value.

- - dn949419 - HRESULT IMFSourceReaderCallback2::OnStreamError([In] unsigned int dwStreamIndex,[In] HRESULT hrStatus) - IMFSourceReaderCallback2::OnStreamError -
- - -

Extends the interface.

The Source Reader implements this interface in Windows?8. To get a reference to this interface, call QueryInterface on the Source Reader.

-
- - hh448062 - IMFSourceReaderEx - IMFSourceReaderEx -
- - - Initializes a new instance of the 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 native media type for a stream on the media source.

-
-
-

A reference to the interface of the media type.

-

Receives a bitwise OR of zero or more of the following flags.

ValueMeaning

All effects were removed from the stream.

The current output type changed.

?

-

This method can return one of these values.

Return codeDescription

Success.

Invalid request.

The dwStreamIndex parameter is invalid.

?

- -

This method sets the output type that is produced by the media source. Unlike the method, this method does not insert any decoders, video processors, or other transforms. The media source must support the specified media type natively. To get a list of supported types from the media source, call .

In asynchronous mode, this method fails if a sample request is pending. In that case, wait for the OnReadSample callback to be invoked before calling the method. For more information about using the Source Reader in asynchronous mode, see .

This method can trigger a change in the output format for the stream. If so, the flag is returned in the pdwStreamFlags parameter. The method might also cause the Source Reader to remove any effects that were added by the method. If this occurs, the flag is returned in pdwStreamFlags.

This method is useful with audio and video capture devices, because a device might support several output formats. This method enables the application to choose the device format before decoders and other transforms are added.

-
- - hh448066 - HRESULT IMFSourceReaderEx::SetNativeMediaType([In] unsigned int dwStreamIndex,[In, Optional] IMFMediaType* pMediaType,[Out] unsigned int* pdwStreamFlags) - IMFSourceReaderEx::SetNativeMediaType -
- - -

Adds a transform, such as an audio or video effect, to a stream.

-
-

The stream to configure. The value can be any of the following.

ValueMeaning
0?0xFFFFFFFB

The zero-based index of a stream.

0xFFFFFFFC

The first video stream.

0xFFFFFFFD

The first audio stream.

?

-

A reference to one of the following:

  • A Media Foundation transform (MFT) that exposes the interface.
  • An MFT activation object that exposes the interface.
-

This method can return one of these values.

Return codeDescription

Success.

The transform does not support the current stream format, and no conversion was possible. See Remarks for more information.

Invalid request.

The dwStreamIndex parameter is invalid.

?

- -

This method attempts to add the transform at the end of the current processing chain.

To use this method, make the following sequence of calls:

  1. Call to set the output type that you want for the stream. In this step, you can specify a media type that contains only the major type and subtype GUIDs. For example, to get 32-bit RGB output, set a major type of and a subtype of . (For more information, see Media Type GUIDs.)
  2. Call AddTransformForStream. If the Source Reader successfully connects the transform, it sets the output type on the transform.
  3. Call to get the output type from the transform. This method returns a media type with a complete format description.
  4. Optionally, if you want to modify the output type, call again to set a complete media type on the transform.

The AddTransformForStream method will not insert a decoder into the processing chain. If the native stream format is encoded, and the transform requires an uncompressed format, call SetCurrentMediaType to set the uncompressed format (step 1 in the previous list). However, the method will insert a video processor to convert between RGB and YUV formats, if required.

The method fails if the source reader was configured with the or attributes.

In asynchronous mode, the method also fails if a sample request is pending. In that case, wait for the OnReadSample callback to be invoked before calling the method. For more information about using the Source Reader in asynchronous mode, see .

You can add a transform at any time during streaming. However, the method does not flush or drain the pipeline before inserting the transform. Therefore, if data is already in the pipeline, the next sample is not guaranteed to have the transform applied.

-
- - hh448063 - HRESULT IMFSourceReaderEx::AddTransformForStream([In] unsigned int dwStreamIndex,[In] IUnknown* pTransformOrActivate) - IMFSourceReaderEx::AddTransformForStream -
- - -

Removes all of the Media Foundation transforms (MFTs) for a specified stream, with the exception of the decoder.

-
-

The stream for which to remove the MFTs. The value can be any of the following.

ValueMeaning
0?0xFFFFFFFB

The zero-based index of a stream.

0xFFFFFFFC

The first video stream.

0xFFFFFFFD

The first audio stream.

?

-

This method can return one of these values.

Return codeDescription

Success.

Invalid request.

The dwStreamIndex parameter is invalid.

?

- -

Calling this method can reset the current output type for the stream. To get the new output type, call .

In asynchronous mode, this method fails if a sample request is pending. In that case, wait for the OnReadSample callback to be invoked before calling the method. For more information about using the Source Reader in asynchronous mode, see .

-
- - hh448065 - HRESULT IMFSourceReaderEx::RemoveAllTransformsForStream([In] unsigned int dwStreamIndex) - IMFSourceReaderEx::RemoveAllTransformsForStream -
- - -

Gets a reference to a Media Foundation transform (MFT) for a specified stream.

-
-

The stream to query for the MFT. The value can be any of the following.

ValueMeaning
0?0xFFFFFFFB

The zero-based index of a stream.

0xFFFFFFFC

The first video stream.

0xFFFFFFFD

The first audio stream.

?

-

The zero-based index of the MFT to retreive.

-

Receives a that specifies the category of the MFT. For a list of possible values, see MFT_CATEGORY.

-

Receives a reference to the interface of the MFT. The caller must release the interface.

-

This method can return one of these values.

Return codeDescription

Success.

The dwTransformIndex parameter is out of range.

The dwStreamIndex parameter is invalid.

?

- -

You can use this method to configure an MFT after it is inserted into the processing chain. Do not use the reference returned in ppTransform to set media types on the MFT or to process data. In particular, calling any of the following methods could have unexpected results.

  • AddInputStreams
  • DeleteInputStream
  • ProcessEvent
  • ProcessInput
  • ProcessMessage
  • ProcessOutput
  • SetInputType
  • SetOutputType

If a decoder is present, it appears at index position zero.

To avoid losing any data, you should drain the source reader before calling this method. For more information, see Draining the Data Pipeline.

-
- - hh448064 - HRESULT IMFSourceReaderEx::GetTransformForStream([In] unsigned int dwStreamIndex,[In] unsigned int dwTransformIndex,[Out, Optional] GUID* pGuidCategory,[Out] IMFTransform** ppTransform) - IMFSourceReaderEx::GetTransformForStream -
- - -

Creates a media source from a URL or a byte stream. The Source Resolver implements this interface. To create the source resolver, call function.

-
- - ms694009 - IMFSourceResolver - IMFSourceResolver -
- - - Initializes a new instance of the 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 media source or a byte stream from a URL. This method is synchronous.

-
-

Null-terminated string that contains the URL to resolve.

-

Bitwise OR of one or more flags. See Source Resolver Flags. See remarks below.

-

Pointer to the interface of a property store. The method passes the property store to the scheme handler or byte-stream handler that creates the object. The handler can use the property store to configure the object. This parameter can be null. For more information, see Configuring a Media Source.

-

Receives a member of the enumeration, specifying the type of object that was created.

-

Receives a reference to the object's interface. The caller must release the interface.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The dwFlags parameter contains mutually exclusive flags.

The URL scheme is not supported.

?

- -

The dwFlags parameter must contain either the flag or the flag, but should not contain both.

It is recommended that you do not set on the input argument dwFlags unless it is necessary for your scenario. For most use-cases, media sources do not need to be created with write capability. Creating a media source with write capability may have a lower probability of success than creating a media source without write capability. This is because there can be stricter checks on the content represented by the URL when creating a media source with write capability.

For local files, you can pass the file name in the pwszURL parameter; the file: scheme is not required.

Note??This method cannot be called remotely.? -
- - ms702279 - HRESULT IMFSourceResolver::CreateObjectFromURL([In] const wchar_t* pwszURL,[In] unsigned int dwFlags,[In] IPropertyStore* pProps,[Out] MF_OBJECT_TYPE* pObjectType,[Out] IUnknown** ppObject) - IMFSourceResolver::CreateObjectFromURL -
- - -

Creates a media source from a byte stream. This method is synchronous.

-
-

Pointer to the byte stream's interface.

-

Null-terminated string that contains the URL of the byte stream. The URL is optional and can be null. See Remarks for more information.

-

Bitwise OR of flags. See Source Resolver Flags.

-

Pointer to the interface of a property store. The method passes the property store to the byte-stream handler. The byte-stream handler can use the property store to configure the media source. This parameter can be null. For more information, see Configuring a Media Source.

-

Receives a member of the enumeration, specifying the type of object that was created.

-

Receives a reference to the media source's interface. The caller must release the interface.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The dwFlags parameter contains mutually exclusive flags.

This byte stream is not supported.

?

- -

The dwFlags parameter must contain the flag and should not contain the flag.

The source resolver attempts to find one or more byte-stream handlers for the byte stream, based on the file name extension of the URL, or the MIME type of the byte stream (or both). The URL is specified in the optional pwszURL parameter, and the MIME type may be specified in the attribute on the byte stream. Byte-stream handlers are registered by file name extension or MIME type, or both, as described in Scheme Handlers and Byte-Stream Handlers. The caller should specify at least one of these values (both if possible):

  • Specify the URL in the pwszURL parameter.
  • Specify the MIME type by setting the attribute on the byte stream. (This attribute might be set already when you create the byte stream, depending on how the byte stream was created.)
Note??This method cannot be called remotely.? -
- - ms704671 - HRESULT IMFSourceResolver::CreateObjectFromByteStream([In] IMFByteStream* pByteStream,[In] const wchar_t* pwszURL,[In] unsigned int dwFlags,[In] IPropertyStore* pProps,[Out] MF_OBJECT_TYPE* pObjectType,[Out] IUnknown** ppObject) - IMFSourceResolver::CreateObjectFromByteStream -
- - -

Begins an asynchronous request to create a media source or a byte stream from a URL.

-
-

Null-terminated string that contains the URL to resolve.

-

Bitwise OR of flags. See Source Resolver Flags.

-

Pointer to the interface of a property store. The method passes the property store to the scheme handler or byte-stream handler that creates the object. The handler can use the property store to configure the object. This parameter can be null. For more information, see Configuring a Media Source.

-

Receives an reference or the value null. If the value is not null, you can cancel the asynchronous operation by passing this reference to the method. The caller must release the interface. This parameter can be null.

-

Pointer to the interface of a callback object. The caller must implement this interface.

-

Pointer to the interface of a state object, defined by the caller. This parameter can be null. You can use this object to hold state information. The object is returned to the caller when the callback is invoked.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The dwFlags parameter contains mutually exclusive flags.

The URL scheme is not supported.

?

- -

The dwFlags parameter must contain either the flag or the flag, but should not contain both.

For local files, you can pass the file name in the pwszURL parameter; the file: scheme is not required.

When the operation completes, the source resolver calls the method. The Invoke method should call to get a reference to the object that was created.

The usage of the pProps parameter depends on the implementation of the media source.

-
- - ms702995 - HRESULT IMFSourceResolver::BeginCreateObjectFromURL([In] const wchar_t* pwszURL,[In] unsigned int dwFlags,[In] IPropertyStore* pProps,[Out, Optional] IUnknown** ppIUnknownCancelCookie,[In] IMFAsyncCallback* pCallback,[In] IUnknown* punkState) - IMFSourceResolver::BeginCreateObjectFromURL -
- - -

Completes an asynchronous request to create an object from a URL.

-
-

Pointer to the interface. Pass in the same reference that your callback object received in the Invoke method.

-

Receives a member of the enumeration, specifying the type of object that was created.

-

Receives a reference to the media source's interface. The caller must release the interface.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_ABORT

The operation was canceled.

?

- -

Call this method from inside your application's method.

-
- - ms702134 - HRESULT IMFSourceResolver::EndCreateObjectFromURL([In] IMFAsyncResult* pResult,[Out] MF_OBJECT_TYPE* pObjectType,[Out] IUnknown** ppObject) - IMFSourceResolver::EndCreateObjectFromURL -
- - -

Begins an asynchronous request to create a media source from a byte stream.

-
-

A reference to the byte stream's interface.

-

A null-terminated string that contains the original URL of the byte stream. This parameter can be null.

-

A bitwise OR of one or more flags. See Source Resolver Flags.

-

A reference to the interface of a property store. The method passes the property store to the byte-stream handler. The byte-stream handler can use the property store to configure the media source. This parameter can be null. For more information, see Configuring a Media Source.

-

Receives an reference or the value null. If the value is not null, you can cancel the asynchronous operation by passing this reference to the method. The caller must release the interface. This parameter can be null.

-

A reference to the interface of a callback object. The caller must implement this interface.

-

A oointer to the interface of a state object, defined by the caller. This parameter can be null. You can use this object to hold state information. The object is returned to the caller when the callback is invoked.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The dwFlags parameter contains mutually exclusive flags.

The byte stream is not supported.

The byte stream does not support seeking.

?

- -

The dwFlags parameter must contain the flag and should not contain the flag.

The source resolver attempts to find one or more byte-stream handlers for the byte stream, based on the file name extension of the URL, or the MIME type of the byte stream (or both). The URL is specified in the optional pwszURL parameter, and the MIME type may be specified in the attribute on the byte stream. Byte-stream handlers are registered by file name extension or MIME type, or both, as described in Scheme Handlers and Byte-Stream Handlers. The caller should specify at least one of these values.

When the operation completes, the source resolver calls the method. The Invoke method should call to get a reference to the media source.

-
- - ms698915 - HRESULT IMFSourceResolver::BeginCreateObjectFromByteStream([In] IMFByteStream* pByteStream,[In] const wchar_t* pwszURL,[In] unsigned int dwFlags,[In] IPropertyStore* pProps,[Out, Optional] IUnknown** ppIUnknownCancelCookie,[In] IMFAsyncCallback* pCallback,[In] IUnknown* punkState) - IMFSourceResolver::BeginCreateObjectFromByteStream -
- - -

Completes an asynchronous request to create a media source from a byte stream.

-
-

Pointer to the interface. Pass in the same reference that your callback object received in the Invoke method.

-

Receives a member of the enumeration, specifying the type of object that was created.

-

Receives a reference to the media source's interface. The caller must release the interface.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_ABORT

The application canceled the operation.

?

- -

Call this method from inside your application's method.

-
- - ms697199 - HRESULT IMFSourceResolver::EndCreateObjectFromByteStream([In] IMFAsyncResult* pResult,[Out] MF_OBJECT_TYPE* pObjectType,[Out] IUnknown** ppObject) - IMFSourceResolver::EndCreateObjectFromByteStream -
- - -

Cancels an asynchronous request to create an object.

-
-

Pointer to the interface that was returned in the ppIUnknownCancelCookie parameter of the or method.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

You can use this method to cancel a previous call to BeginCreateObjectFromByteStream or BeginCreateObjectFromURL. Because these methods are asynchronous, however, they might be completed before the operation can be canceled. Therefore, your callback might still be invoked after you call this method.

Note??This method cannot be called remotely.? -
- - ms698845 - HRESULT IMFSourceResolver::CancelObjectCreation([In] IUnknown* pIUnknownCancelCookie) - IMFSourceResolver::CancelObjectCreation -
- - - Initializes a new instance of the class which is used to create a media source from a - URL or byte stream. - - ms697433 - HRESULT MFCreateSourceResolver([Out] IMFSourceResolver** ppISourceResolver) - MFCreateSourceResolver - - - -

Applies to: desktop apps | Metro style apps

Creates a media source or a byte stream from a URL. This method is synchronous.

-
-

Null-terminated string that contains the URL to resolve.

-

Bitwise OR of one or more flags. See Source Resolver Flags.

- A reference to the object's interface. The caller must release the interface. - -

The dwFlags parameter must contain either the flag or the flag, but should not contain both.

For local files, you can pass the file name in the pwszURL parameter; the file: scheme is not required.

Note??This method cannot be called remotely.

-
- ms702279 - HRESULT IMFSourceResolver::CreateObjectFromURL([In] const wchar_t* pwszURL,[In] unsigned int dwFlags,[In] IPropertyStore* pProps,[Out] MF_OBJECT_TYPE* pObjectType,[Out] IUnknown** ppObject) - IMFSourceResolver::CreateObjectFromURL -
- - -

Applies to: desktop apps | Metro style apps

Creates a media source or a byte stream from a URL. This method is synchronous.

-
-

Null-terminated string that contains the URL to resolve.

-

Bitwise OR of one or more flags. See Source Resolver Flags.

-

Receives a member of the enumeration, specifying the type of object that was created.

- A reference to the object's interface. The caller must release the interface. - -

The dwFlags parameter must contain either the flag or the flag, but should not contain both.

For local files, you can pass the file name in the pwszURL parameter; the file: scheme is not required.

Note??This method cannot be called remotely.

-
- ms702279 - HRESULT IMFSourceResolver::CreateObjectFromURL([In] const wchar_t* pwszURL,[In] unsigned int dwFlags,[In] IPropertyStore* pProps,[Out] MF_OBJECT_TYPE* pObjectType,[Out] IUnknown** ppObject) - IMFSourceResolver::CreateObjectFromURL -
- - -

Applies to: desktop apps | Metro style apps

Creates a media source or a byte stream from a URL. This method is synchronous.

-
-

Null-terminated string that contains the URL to resolve.

-

Bitwise OR of one or more flags. See Source Resolver Flags.

-

Pointer to the interface of a property store. The method passes the property store to the scheme handler or byte-stream handler that creates the object. The handler can use the property store to configure the object. This parameter can be null. For more information, see Configuring a Media Source.

-

Receives a member of the enumeration, specifying the type of object that was created.

- A reference to the object's interface. The caller must release the interface. - -

The dwFlags parameter must contain either the flag or the flag, but should not contain both.

For local files, you can pass the file name in the pwszURL parameter; the file: scheme is not required.

Note??This method cannot be called remotely.

-
- ms702279 - HRESULT IMFSourceResolver::CreateObjectFromURL([In] const wchar_t* pwszURL,[In] unsigned int dwFlags,[In] IPropertyStore* pProps,[Out] MF_OBJECT_TYPE* pObjectType,[Out] IUnknown** ppObject) - IMFSourceResolver::CreateObjectFromURL -
- - -

Applies to: desktop apps | Metro style apps

Creates a media source from a byte stream. This method is synchronous.

-
-

Pointer to the byte stream's interface.

-

Null-terminated string that contains the URL of the byte stream. The URL is optional and can be null. See Remarks for more information.

-

Bitwise OR of flags. See Source Resolver Flags.

- a reference to the media source's interface. The caller must release the interface. - -

The dwFlags parameter must contain the flag and should not contain the flag.

The source resolver attempts to find one or more byte-stream handlers for the byte stream, based on the file name extension of the URL, or the MIME type of the byte stream (or both). The URL is specified in the optional pwszURL parameter, and the MIME type may be specified in the attribute on the byte stream. Byte-stream handlers are registered by file name extension or MIME type, or both, as described in Scheme Handlers and Byte-Stream Handlers. The caller should specify at least one of these values (both if possible):

  • Specify the URL in the pwszURL parameter.
  • Specify the MIME type by setting the attribute on the byte stream. (This attribute might be set already when you create the byte stream, depending on how the byte stream was created.)

Note??This method cannot be called remotely.

-
- ms704671 - HRESULT IMFSourceResolver::CreateObjectFromByteStream([In] IMFByteStream* pByteStream,[In] const wchar_t* pwszURL,[In] unsigned int dwFlags,[In] IPropertyStore* pProps,[Out] MF_OBJECT_TYPE* pObjectType,[Out] IUnknown** ppObject) - IMFSourceResolver::CreateObjectFromByteStream -
- - -

Applies to: desktop apps | Metro style apps

Creates a media source from a byte stream. This method is synchronous.

-
-

Pointer to the byte stream's interface.

-

Null-terminated string that contains the URL of the byte stream. The URL is optional and can be null. See Remarks for more information.

-

Bitwise OR of flags. See Source Resolver Flags.

-

Receives a member of the enumeration, specifying the type of object that was created.

- a reference to the media source's interface. The caller must release the interface. - -

The dwFlags parameter must contain the flag and should not contain the flag.

The source resolver attempts to find one or more byte-stream handlers for the byte stream, based on the file name extension of the URL, or the MIME type of the byte stream (or both). The URL is specified in the optional pwszURL parameter, and the MIME type may be specified in the attribute on the byte stream. Byte-stream handlers are registered by file name extension or MIME type, or both, as described in Scheme Handlers and Byte-Stream Handlers. The caller should specify at least one of these values (both if possible):

  • Specify the URL in the pwszURL parameter.
  • Specify the MIME type by setting the attribute on the byte stream. (This attribute might be set already when you create the byte stream, depending on how the byte stream was created.)

Note??This method cannot be called remotely.

-
- ms704671 - HRESULT IMFSourceResolver::CreateObjectFromByteStream([In] IMFByteStream* pByteStream,[In] const wchar_t* pwszURL,[In] unsigned int dwFlags,[In] IPropertyStore* pProps,[Out] MF_OBJECT_TYPE* pObjectType,[Out] IUnknown** ppObject) - IMFSourceResolver::CreateObjectFromByteStream -
- - -

Applies to: desktop apps | Metro style apps

Creates a media source from a byte stream. This method is synchronous.

-
-

Pointer to the byte stream's interface.

-

Null-terminated string that contains the URL of the byte stream. The URL is optional and can be null. See Remarks for more information.

-

Bitwise OR of flags. See Source Resolver Flags.

-

Pointer to the interface of a property store. The method passes the property store to the byte-stream handler. The byte-stream handler can use the property store to configure the media source. This parameter can be null. For more information, see Configuring a Media Source.

-

Receives a member of the enumeration, specifying the type of object that was created.

- a reference to the media source's interface. The caller must release the interface. - -

The dwFlags parameter must contain the flag and should not contain the flag.

The source resolver attempts to find one or more byte-stream handlers for the byte stream, based on the file name extension of the URL, or the MIME type of the byte stream (or both). The URL is specified in the optional pwszURL parameter, and the MIME type may be specified in the attribute on the byte stream. Byte-stream handlers are registered by file name extension or MIME type, or both, as described in Scheme Handlers and Byte-Stream Handlers. The caller should specify at least one of these values (both if possible):

  • Specify the URL in the pwszURL parameter.
  • Specify the MIME type by setting the attribute on the byte stream. (This attribute might be set already when you create the byte stream, depending on how the byte stream was created.)

Note??This method cannot be called remotely.

-
- ms704671 - HRESULT IMFSourceResolver::CreateObjectFromByteStream([In] IMFByteStream* pByteStream,[In] const wchar_t* pwszURL,[In] unsigned int dwFlags,[In] IPropertyStore* pProps,[Out] MF_OBJECT_TYPE* pObjectType,[Out] IUnknown** ppObject) - IMFSourceResolver::CreateObjectFromByteStream -
- - -

Implemented by a client and called by Microsoft Media Foundation to get the client Secure Sockets Layer (SSL) certificate requested by the server.

In most HTTPS connections the server provides a certificate so that the client can ensure the identity of the server. However, in certain cases the server might wants to verify the identity of the client by requesting the client to send a certificate. For this scenario, a client application must provide a mechanism for Media Foundation to retrieve the client side certificate while opening an HTTPS URL with the source resolver or the scheme handler. The application must implement , set the reference of the implemented object in the MFNETSOURCE_SSLCERTIFICATE_MANAGER property, and pass the property store to the source resolver. While opening the URL, Media Foundation calls the methods to get the certificate information. If the application needs to connect to HTTPS URL that requires a client-side certificate, or the application wants customized control over the type of server certificates to accept, then they can implement this interface. This interface can also be used by the application to validate the server SSL certificate.

If the reference is not provided by the application and the HTTPS URL does not require the client to provide a certificate, - Media Foundation uses the default implementation to open the URL. -

-
- - dd374670 - IMFSSLCertificateManager - IMFSSLCertificateManager -
- - - Initializes a new instance of the 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 client SSL certificate synchronously.

-
-

Pointer to a string that contains the URL for which a client-side SSL certificate is required. Media Foundation can resolve the scheme and send the request to the server.

-

Pointer to the buffer that stores the certificate.This caller must free the buffer by calling CoTaskMemFree.

-

Pointer to a DWORD variable that receives the number of bytes required to hold the certificate data in the buffer pointed by *ppbData.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dd374674 - HRESULT IMFSSLCertificateManager::GetClientCertificate([In] const wchar_t* pszURL,[Out, Buffer] unsigned char** ppbData,[Out] unsigned int* pcbData) - IMFSSLCertificateManager::GetClientCertificate -
- - -

Starts an asynchronous call to get the client SSL certificate.

-
-

A null-terminated string that contains the URL for which a client-side SSL certificate is required. Media Foundation can resolve the scheme and send the request to the server.

-

A reference to the interface of a callback object. The caller must implement this interface.

-

A reference to the interface of a state object, defined by the caller. This parameter can be null. You can use this object to hold state information. The object is returned to the caller when the callback is invoked.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

When the operation completes, the callback object's method is called. At that point, the application should call to complete the asynchronous request.

-
- - dd374671 - HRESULT IMFSSLCertificateManager::BeginGetClientCertificate([In] const wchar_t* pszURL,[In] IMFAsyncCallback* pCallback,[In] IUnknown* pState) - IMFSSLCertificateManager::BeginGetClientCertificate -
- - -

Completes an asynchronous request to get the client SSL certificate.

-
-

A reference to the interface. Pass in the same reference that your callback object received in the method.

-

Receives a reference to the buffer that stores the certificate.The caller must free the buffer by calling CoTaskMemFree.

-

Receives the size of the ppbData buffer, in bytes.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

Call this method after the method completes asynchronously.

-
- - dd374672 - HRESULT IMFSSLCertificateManager::EndGetClientCertificate([In] IMFAsyncResult* pResult,[Out, Buffer] unsigned char** ppbData,[Out] unsigned int* pcbData) - IMFSSLCertificateManager::EndGetClientCertificate -
- - -

Indicates whether the server SSL certificate must be verified by the caller, Media Foundation, or the implementation class.

-
-

Pointer to a string that contains the URL that is sent to the server.

-

Pointer to a value. Set to TRUE if is used to verify the server certificate.Set to if Media Foundation verifies the server certificate by using the certificates in the Windows certificate store.

-

Pointer to a value. Set to TRUE if the SSL certificate for the client is available for immediate retrieval. Media Foundation calls to obtain the client certificate synchronously. If the value is set to , Media Foundation obtains the client SSL certificate with an asynchronous call to .

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dd374673 - HRESULT IMFSSLCertificateManager::GetCertificatePolicy([In] const wchar_t* pszURL,[In] BOOL* pfOverrideAutomaticCheck,[In] BOOL* pfClientCertificateAvailable) - IMFSSLCertificateManager::GetCertificatePolicy -
- - -

Called by Media Foundation when the server SSL certificate has been received; indicates whether the server certificate is accepted.

-
-

Pointer to a string that contains the URL used to send the request to the server, and for which a server-side SSL certificate has been received.

-

Pointer to a buffer that contains the server SSL certificate.

-

Pointer to a DWORD variable that indicates the size of pbData in bytes.

-

Pointer to a variable that indicates whether the certificate is accepted.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dd374675 - HRESULT IMFSSLCertificateManager::OnServerCertificate([In] const wchar_t* pszURL,[In, Buffer] unsigned char* pbData,[In] unsigned int cbData,[In] BOOL* pfIsGood) - IMFSSLCertificateManager::OnServerCertificate -
- - -

Gets information about one stream in a media source.

-
- -

A presentation descriptor contains one or more stream descriptors. To get the stream descriptors from a presentation descriptor, call . To create a new stream descriptor, call .

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms701622 - IMFStreamDescriptor - IMFStreamDescriptor -
- - - Initializes a new instance of the 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 an identifier for the stream.

-
- -

The stream identifier uniquely identifies a stream within a presentation. It does not change throughout the lifetime of the stream. For example, if the presentation changes while the source is running, the index number of the stream may change, but the stream identifier does not.

In general, stream identifiers do not have a specific meaning, other than to identify the stream. Some media sources may assign stream identifiers based on meaningful values, such as packet identifiers, but this depends on the implementation.

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms703852 - GetStreamIdentifier - GetStreamIdentifier - HRESULT IMFStreamDescriptor::GetStreamIdentifier([Out] unsigned int* pdwStreamIdentifier) -
- - -

Retrieves a media type handler for the stream. The media type handler can be used to enumerate supported media types for the stream, get the current media type, and set the media type.

-
- -

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms700210 - GetMediaTypeHandler - GetMediaTypeHandler - HRESULT IMFStreamDescriptor::GetMediaTypeHandler([Out] IMFMediaTypeHandler** ppMediaTypeHandler) -
- - -

Retrieves an identifier for the stream.

-
-

Receives the stream identifier.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

The stream identifier uniquely identifies a stream within a presentation. It does not change throughout the lifetime of the stream. For example, if the presentation changes while the source is running, the index number of the stream may change, but the stream identifier does not.

In general, stream identifiers do not have a specific meaning, other than to identify the stream. Some media sources may assign stream identifiers based on meaningful values, such as packet identifiers, but this depends on the implementation.

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms703852 - HRESULT IMFStreamDescriptor::GetStreamIdentifier([Out] unsigned int* pdwStreamIdentifier) - IMFStreamDescriptor::GetStreamIdentifier -
- - -

Retrieves a media type handler for the stream. The media type handler can be used to enumerate supported media types for the stream, get the current media type, and set the media type.

-
-

Receives a reference to the interface. The caller must release the interface.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

This interface is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- - ms700210 - HRESULT IMFStreamDescriptor::GetMediaTypeHandler([Out] IMFMediaTypeHandler** ppMediaTypeHandler) - IMFStreamDescriptor::GetMediaTypeHandler -
- - -

Passes configuration information to the media sinks that are used for streaming the content. Optionally, this interface is supported by media sinks. The built-in ASF streaming media sink and the MP3 media sink implement this interface.

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

Called by the streaming media client before the Media Session starts streaming to specify the byte offset or the time offset.

-
-

A Boolean value that specifies whether qwSeekOffset gives a byte offset of a time offset.

ValueMeaning
TRUE

The qwSeekOffset parameter specifies a byte offset.

The qwSeekOffset parameter specifies the time position in 100-nanosecond units.

?

-

A byte offset or a time offset, depending on the value passed in fSeekOffsetIsByteOffset. Time offsets are specified in 100-nanosecond units.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dd374677 - HRESULT IMFStreamingSinkConfig::StartStreaming([In] BOOL fSeekOffsetIsByteOffset,[In] unsigned longlong qwSeekOffset) - IMFStreamingSinkConfig::StartStreaming -
- - -

Represents a stream on a media sink object.

-
- - ms705657 - IMFStreamSink - IMFStreamSink -
- - - Initializes a new instance of the 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 media sink that owns this stream sink.

-
- - ms699003 - GetMediaSink - GetMediaSink - HRESULT IMFStreamSink::GetMediaSink([Out] IMFMediaSink** ppMediaSink) -
- - -

Retrieves the stream identifier for this stream sink.

-
- - ms702129 - GetIdentifier - GetIdentifier - HRESULT IMFStreamSink::GetIdentifier([Out] unsigned int* pdwIdentifier) -
- - - No documentation. - - - GetMediaTypeHandler - GetMediaTypeHandler - HRESULT IMFStreamSink::GetMediaTypeHandler([Out] IMFMediaTypeHandler** ppHandler) - - - -

Retrieves the media sink that owns this stream sink.

-
-

Receives a reference to the media sink's interface. The caller must release the interface.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The media sink's Shutdown method has been called.

This stream was removed from the media sink and is no longer valid.

?

- - ms699003 - HRESULT IMFStreamSink::GetMediaSink([Out] IMFMediaSink** ppMediaSink) - IMFStreamSink::GetMediaSink -
- - -

Retrieves the stream identifier for this stream sink.

-
-

Receives the stream identifier. If this stream sink was added by calling , the stream identifier is in the dwStreamSinkIdentifier parameter of that method. Otherwise, the media sink defines the identifier.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The media sink's Shutdown method has been called.

This stream was removed from the media sink and is no longer valid.

?

- - ms702129 - HRESULT IMFStreamSink::GetIdentifier([Out] unsigned int* pdwIdentifier) - IMFStreamSink::GetIdentifier -
- - - No documentation. - - No documentation. - No documentation. - - HRESULT IMFStreamSink::GetMediaTypeHandler([Out] IMFMediaTypeHandler** ppHandler) - IMFStreamSink::GetMediaTypeHandler - - - -

Delivers a sample to the stream. The media sink processes the sample.

-
-

Pointer to the interface of a sample that contains valid data for the stream.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The media sink is in the wrong state to receive a sample. For example, preroll is complete but the presenation clock has not started yet.

The sample has an invalid time stamp. See Remarks.

The media sink is paused or stopped and cannot process the sample.

The presentation clock was not set. Call .

The sample does not have a time stamp.

The stream sink has not been initialized.

The media sink's Shutdown method has been called.

This stream was removed from the media sink and is no longer valid.

?

- -

Call this method when the stream sink sends an event.

This method can return for various reasons, depending on the implementation of the media sink:

  • Negative time stamps.

  • Time stamps that jump backward (within the same stream).

  • The time stamps for one stream have drifted too far from the time stamps on another stream within the same media sink (for example, an archive sink that multiplexes the streams).

Not every media sink returns an error code in these situations.

-
- - ms696208 - HRESULT IMFStreamSink::ProcessSample([In, Optional] IMFSample* pSample) - IMFStreamSink::ProcessSample -
- - -

Places a marker in the stream.

-
-

Specifies the marker type, as a member of the enumeration.

-

Optional reference to a that contains additional information related to the marker. The meaning of this value depends on the marker type. This parameter can be null.

-

Optional reference to a that is attached to the event. Call to get this value from the event. The caller can use this information for any purpose. This parameter can be null.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The media sink's Shutdown method has been called.

This stream was removed from the media sink and is no longer valid.

?

- -

This method causes the stream sink to send an event after the stream sink consumes all of the samples that were delivered up to this point (before the call to PlaceMarker).

-
- - ms703026 - HRESULT IMFStreamSink::PlaceMarker([In] MFSTREAMSINK_MARKER_TYPE eMarkerType,[In] const PROPVARIANT* pvarMarkerValue,[In] const PROPVARIANT* pvarContextValue) - IMFStreamSink::PlaceMarker -
- - -

Causes the stream sink to drop any samples that it has received and has not rendered yet.

-
-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The stream sink has not been initialized yet. You might need to set a media type.

The media sink's Shutdown method has been called.

This stream was removed from the media sink and is no longer valid.

?

- -

If any samples are still queued from previous calls to the method, the media sink immediately discards them, without processing them. This can cause a glitch in the rendered output. The running state of the sink (running, paused, or stopped) does not change.

Any pending marker events from the method are dispatched immediately, with the status code E_ABORT.

This method is synchronous. It does not return until the sink has discarded all pending samples.

-
- - ms697054 - HRESULT IMFStreamSink::Flush() - IMFStreamSink::Flush -
- - -

Provides a method that retireves system id data.

-
- - hh448067 - IMFSystemId - IMFSystemId -
- - - Initializes a new instance of the 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 system id data.

-
-

The size in bytes of the returned data.

-

Receives the returned data. The caller must free this buffer by calling CoTaskMemFree.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - hh448068 - HRESULT IMFSystemId::GetData([Out] unsigned int* size,[Out, Buffer] unsigned char** data) - IMFSystemId::GetData -
- - -

Sets up the .

-
- No documentation. - No documentation. - No documentation. - No documentation. - No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- - jj128323 - HRESULT IMFSystemId::Setup([In] unsigned int stage,[In] unsigned int cbIn,[In, Buffer] const unsigned char* pbIn,[Out] unsigned int* pcbOut,[Out, Buffer] unsigned char** ppbOut) - IMFSystemId::Setup -
- - -

Converts between Society of Motion Picture and Television Engineers (SMPTE) time codes and 100-nanosecond time units.

-
- -

If an object supports this interface, it must expose the interface as a service. To get a reference to the interface, call with the service identifier .

The Advanced Streaming Format (ASF) media source exposes this interface.

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

Starts an asynchronous call to convert Society of Motion Picture and Television Engineers (SMPTE) time code to 100-nanosecond units.

-
-

Time in SMPTE time code to convert. The vt member of the structure is set to VT_I8. The hVal.QuadPart member contains the time in binary coded decimal (BCD) form. See Remarks.

-

Pointer to the interface of a callback object. The caller must implement this interface.

-

PPointer to the interface of a state object, defined by the caller. This parameter can be null. You can use this object to hold state information. The object is returned to the caller when the callback is invoked.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription
E_INVALIDARG

pPropVarTimecode is not VT_I8.

The object's Shutdown method was called.

The byte stream is not seekable. The time code cannot be read from the end of the byte stream.

?

- -

When the asynchronous method completes, the callback object's method is called. At that point, the application must call to complete the asynchronous request.

The value of pPropVarTimecode is a 64-bit unsigned value typed as a LONGLONG. The upper DWORD contains the range. (A range is a continuous series of time codes.) The lower DWORD contains the time code in the form of a hexadecimal number 0xhhmmssff, where each 2-byte sequence is read as a decimal value.

void CreateTimeCode( DWORD dwFrames, DWORD dwSeconds, DWORD dwMinutes, DWORD dwHours, DWORD dwRange,  *pvar )	
-            { ULONGLONG ullTimecode = ((ULONGLONG)dwRange) << 32; ullTimecode +=   dwFrames  % 10; ullTimecode += (( (ULONGLONG)dwFrames )  / 10) << 4; ullTimecode += (( (ULONGLONG)dwSeconds ) % 10) << 8; ullTimecode += (( (ULONGLONG)dwSeconds ) / 10) << 12; ullTimecode += (( (ULONGLONG)dwMinutes ) % 10) << 16; ullTimecode += (( (ULONGLONG)dwMinutes ) / 10) << 20; ullTimecode += (( (ULONGLONG)dwHours )   % 10) << 24; ullTimecode += (( (ULONGLONG)dwHours )   / 10) << 28; pvar->vt = VT_I8; pvar->hVal.QuadPart = (LONGLONG)ullTimecode;	
-            }	
-            
-
- - dd374680 - HRESULT IMFTimecodeTranslate::BeginConvertTimecodeToHNS([In] const PROPVARIANT* pPropVarTimecode,[In] IMFAsyncCallback* pCallback,[In] IUnknown* punkState) - IMFTimecodeTranslate::BeginConvertTimecodeToHNS -
- - -

Completes an asynchronous request to convert time in Society of Motion Picture and Television Engineers (SMPTE) time code to 100-nanosecond units.

-
-

Pointer to the interface. Pass in the same reference that your callback object received in the method.

-

Receives the converted time.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

Call this method after the method completes asynchronously.

-
- - dd374682 - HRESULT IMFTimecodeTranslate::EndConvertTimecodeToHNS([In] IMFAsyncResult* pResult,[In] longlong* phnsTime) - IMFTimecodeTranslate::EndConvertTimecodeToHNS -
- - -

Starts an asynchronous call to convert time in 100-nanosecond units to Society of Motion Picture and Television Engineers (SMPTE) time code.

-
-

The time to convert, in 100-nanosecond units.

-

Pointer to the interface of a callback object. The caller must implement this interface.

-

Pointer to the interface of a state object, defined by the caller. This parameter can be null. You can use this object to hold state information. The object is returned to the caller when the callback is invoked.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The object's Shutdown method was called.

The byte stream is not seekable. The time code cannot be read from the end of the byte stream.

?

- -

When the asynchronous method completes, the callback object's method is called. At that point, the application must call to complete the asynchronous request.

-
- - dd374679 - HRESULT IMFTimecodeTranslate::BeginConvertHNSToTimecode([In] longlong hnsTime,[In] IMFAsyncCallback* pCallback,[In] IUnknown* punkState) - IMFTimecodeTranslate::BeginConvertHNSToTimecode -
- - -

Completes an asynchronous request to convert time in 100-nanosecond units to Society of Motion Picture and Television Engineers (SMPTE) time code.

-
-

A reference to the interface. Pass in the same reference that your callback object received in the method.

-

A reference to a that receives the converted time. The vt member of the structure is set to VT_I8. The hVal.QuadPart member contains the converted time in binary coded decimal (BCD) form. See Remarks.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

Call this method after the method completes asynchronously.

The value of pPropVarTimecode is a 64-bit unsigned value typed as a LONGLONG. The upper DWORD contains the range. (A range is a continuous series of time codes.) The lower DWORD contains the time code in the form of a hexadecimal number 0xhhmmssff, where each 2-byte sequence is read as a decimal value.

 ParseTimeCode( const & var, DWORD *pdwRange, DWORD *pdwFrames, DWORD *pdwSeconds, DWORD *pdwMinutes, DWORD *pdwHours )	
-            { if (var.vt != VT_I8) { return E_INVALIDARG; } ULONGLONG ullTimeCode = (ULONGLONG)var.hVal.QuadPart; DWORD dwTimecode = (DWORD)(ullTimeCode & 0xFFFFFFFF); *pdwRange   = (DWORD)(ullTimeCode >> 32); *pdwFrames  =     dwTimecode & 0x0000000F; *pdwFrames  += (( dwTimecode & 0x000000F0) >> 4 )  * 10; *pdwSeconds =   ( dwTimecode & 0x00000F00) >> 8; *pdwSeconds += (( dwTimecode & 0x0000F000) >> 12 ) * 10; *pdwMinutes =   ( dwTimecode & 0x000F0000) >> 16; *pdwMinutes += (( dwTimecode & 0x00F00000) >> 20 ) * 10; *pdwHours   =   ( dwTimecode & 0x0F000000) >> 24; *pdwHours   += (( dwTimecode & 0xF0000000) >> 28 ) * 10; return ;	
-            }	
-            
-
- - dd374681 - HRESULT IMFTimecodeTranslate::EndConvertHNSToTimecode([In] IMFAsyncResult* pResult,[In] PROPVARIANT* pPropVarTimecode) - IMFTimecodeTranslate::EndConvertHNSToTimecode -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

A timed-text object represents a component of timed text.

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

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets the offset to the cue time.

-
- - dn800353 - GetCueTimeOffset / SetCueTimeOffset - GetCueTimeOffset - HRESULT IMFTimedText::GetCueTimeOffset([Out] double* offset) -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Retrieves a list of all timed-text tracks registered with the .

-
- - dn859184 - GetTracks - GetTracks - HRESULT IMFTimedText::GetTracks([Out] IMFTimedTextTrackList** tracks) -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets the list of active timed-text tracks in the timed-text component.

-
- - dn800352 - GetActiveTracks - GetActiveTracks - HRESULT IMFTimedText::GetActiveTracks([Out] IMFTimedTextTrackList** activeTracks) -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets the list of all the timed-text tracks in the timed-text component.

-
- - dn800355 - GetTextTracks - GetTextTracks - HRESULT IMFTimedText::GetTextTracks([Out] IMFTimedTextTrackList** textTracks) -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets the list of the timed-metadata tracks in the timed-text component.

-
- - dn800354 - GetMetadataTracks - GetMetadataTracks - HRESULT IMFTimedText::GetMetadataTracks([Out] IMFTimedTextTrackList** metadataTracks) -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Enables or disables inband mode.

-
- - dn800360 - SetInBandEnabled - SetInBandEnabled - HRESULT IMFTimedText::SetInBandEnabled([In] BOOL enabled) -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Determines whether inband mode is enabled.

-
- - dn800356 - IsInBandEnabled - IsInBandEnabled - BOOL IMFTimedText::IsInBandEnabled() -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Registers a timed-text notify object.

-
-

A reference to the interface for the timed-text notify object to register.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn800357 - HRESULT IMFTimedText::RegisterNotifications([In, Optional] IMFTimedTextNotify* notify) - IMFTimedText::RegisterNotifications -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Selects or deselects a track of text in the timed-text component.

-
-

The identifier of the track to select.

-

Specifies whether to select or deselect a track of text. Specify TRUE to select the track or to deselect the track.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn800358 - HRESULT IMFTimedText::SelectTrack([In] unsigned int trackId,[In] BOOL selected) - IMFTimedText::SelectTrack -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Adds a timed-text data source.

-
-

A reference to the interface for the data source to add.

-

Null-terminated wide-character string that contains the label of the data source.

-

Null-terminated wide-character string that contains the language of the data source.

-

A -typed value that specifies the kind of timed-text track.

-

Specifies whether to add the default data source. Specify TRUE to add the default data source or otherwise.

-

Receives a reference to the unique identifier for the added track.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn800351 - HRESULT IMFTimedText::AddDataSource([In] IMFByteStream* byteStream,[In, Optional] const wchar_t* label,[In, Optional] const wchar_t* language,[In] MF_TIMED_TEXT_TRACK_KIND kind,[In] BOOL isDefault,[Out] unsigned int* trackId) - IMFTimedText::AddDataSource -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Adds a timed-text data source from the specified URL.

-
-

The URL of the timed-text data source.

-

Null-terminated wide-character string that contains the label of the data source.

-

Null-terminated wide-character string that contains the language of the data source.

-

A -typed value that specifies the kind of timed-text track.

-

Specifies whether to add the default data source. Specify TRUE to add the default data source or otherwise.

-

Receives a reference to the unique identifier for the added track.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn859183 - HRESULT IMFTimedText::AddDataSourceFromUrl([In] const wchar_t* url,[In, Optional] const wchar_t* label,[In, Optional] const wchar_t* language,[In] MF_TIMED_TEXT_TRACK_KIND kind,[In] BOOL isDefault,[Out] unsigned int* trackId) - IMFTimedText::AddDataSourceFromUrl -
- - - No documentation. - - No documentation. - No documentation. - No documentation. - No documentation. - No documentation. - - HRESULT IMFTimedText::AddTrack([In, Optional] const wchar_t* label,[In, Optional] const wchar_t* language,[In] MF_TIMED_TEXT_TRACK_KIND kind,[Out] IMFTimedTextTrack** track) - IMFTimedText::AddTrack - - - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Removes the timed-text track with the specified identifier.

-
-

The identifier of the track to remove.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

Get the identifier for a track by calling GetId.

When a track is removed, all buffered data from the track is also removed.

-
- - dn859185 - HRESULT IMFTimedText::RemoveTrack([In] IMFTimedTextTrack* track) - IMFTimedText::RemoveTrack -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets the offset to the cue time.

-
-

A reference to a variable that receives the offset to the cue time.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn800353 - HRESULT IMFTimedText::GetCueTimeOffset([Out] double* offset) - IMFTimedText::GetCueTimeOffset -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Sets the offset to the cue time.

-
-

The offset to the cue time.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn800359 - HRESULT IMFTimedText::SetCueTimeOffset([In] double offset) - IMFTimedText::SetCueTimeOffset -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Retrieves a list of all timed-text tracks registered with the .

-
- No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn859184 - HRESULT IMFTimedText::GetTracks([Out] IMFTimedTextTrackList** tracks) - IMFTimedText::GetTracks -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets the list of active timed-text tracks in the timed-text component.

-
-

A reference to a memory block that receives a reference to the interface that can enumerate the list of active timed-text tracks.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn800352 - HRESULT IMFTimedText::GetActiveTracks([Out] IMFTimedTextTrackList** activeTracks) - IMFTimedText::GetActiveTracks -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets the list of all the timed-text tracks in the timed-text component.

-
-

A reference to a memory block that receives a reference to the interface that can enumerate the list of all of the timed-text tracks.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn800355 - HRESULT IMFTimedText::GetTextTracks([Out] IMFTimedTextTrackList** textTracks) - IMFTimedText::GetTextTracks -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets the list of the timed-metadata tracks in the timed-text component.

-
-

A reference to a memory block that receives a reference to the interface that can enumerate the list of the timed-metadata tracks.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn800354 - HRESULT IMFTimedText::GetMetadataTracks([Out] IMFTimedTextTrackList** metadataTracks) - IMFTimedText::GetMetadataTracks -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Enables or disables inband mode.

-
-

Specifies whether inband mode is enabled. If TRUE, inband mode is enabled. If , inband mode is disabled.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn800360 - HRESULT IMFTimedText::SetInBandEnabled([In] BOOL enabled) - IMFTimedText::SetInBandEnabled -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Determines whether inband mode is enabled.

-
-

Returns whether inband mode is enabled. If TRUE, inband mode is enabled. If , inband mode is disabled.

- - dn800356 - BOOL IMFTimedText::IsInBandEnabled() - IMFTimedText::IsInBandEnabled -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Represents the data content of a timed-text object.

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

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets the data content of the timed-text object.

-
-

A reference to a memory block that receives a reference to the data content of the timed-text object.

-

A reference to a variable that receives the length in bytes of the data content.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn800289 - HRESULT IMFTimedTextBinary::GetData([Out, Buffer] const unsigned char** data,[Out] unsigned int* length) - IMFTimedTextBinary::GetData -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets the data content of the timed-text cue.

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

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets the identifier of a timed-text cue.

-
- -

The identifier is retrieved by this method is dynamically generated by the system and is guaranteed to uniquely identify a cue within a single timed-text track. It is not guaranteed to be unique across tracks. If a cue already has an identifier that is provided in the text-track data format, this ID can be retrieved by calling GetOriginalId.

-
- - dn859177 - GetId - GetId - unsigned int IMFTimedTextCue::GetId() -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets the kind of timed-text cue.

-
- - dn800291 - GetCueKind - GetCueKind - MF_TIMED_TEXT_TRACK_KIND IMFTimedTextCue::GetCueKind() -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets the start time of the cue in the track.

-
- - dn800297 - GetStartTime - GetStartTime - double IMFTimedTextCue::GetStartTime() -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets the duration time of the cue in the track.

-
- - dn800293 - GetDuration - GetDuration - double IMFTimedTextCue::GetDuration() -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets the identifier of the timed-text cue.

-
- - dn800299 - GetTrackId - GetTrackId - unsigned int IMFTimedTextCue::GetTrackId() -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets the data content of the timed-text cue.

-
- - dn800292 - GetData - GetData - HRESULT IMFTimedTextCue::GetData([Out, Optional] IMFTimedTextBinary** data) -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets info about the display region of the timed-text cue.

-
- - dn800296 - GetRegion - GetRegion - HRESULT IMFTimedTextCue::GetRegion([Out, Optional] IMFTimedTextRegion** region) -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets info about the style of the timed-text cue.

-
- - dn800298 - GetStyle - GetStyle - HRESULT IMFTimedTextCue::GetStyle([Out, Optional] IMFTimedTextStyle** style) -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets the number of lines of text in the timed-text cue.

-
- - dn800295 - GetLineCount - GetLineCount - unsigned int IMFTimedTextCue::GetLineCount() -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets the identifier of a timed-text cue.

-
-

The identifier of a timed-text cue.

- -

The identifier is retrieved by this method is dynamically generated by the system and is guaranteed to uniquely identify a cue within a single timed-text track. It is not guaranteed to be unique across tracks. If a cue already has an identifier that is provided in the text-track data format, this ID can be retrieved by calling GetOriginalId.

-
- - dn859177 - unsigned int IMFTimedTextCue::GetId() - IMFTimedTextCue::GetId -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets the cue identifier that is provided in the text-track data format, if available.

-
-

The cue identifier that is provided in the text-track data format.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

This method retrieves an identifier for the cue that is included in the source data, if one was specified. The system dynamically generates identifiers for cues that are guaranteed to be unique within a single time-text track. To obtain this system-generated ID, call GetId.

-
- - dn859178 - HRESULT IMFTimedTextCue::GetOriginalId([Out] wchar_t** originalId) - IMFTimedTextCue::GetOriginalId -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets the kind of timed-text cue.

-
-

Returns a -typed value that specifies the kind of timed-text cue.

- - dn800291 - MF_TIMED_TEXT_TRACK_KIND IMFTimedTextCue::GetCueKind() - IMFTimedTextCue::GetCueKind -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets the start time of the cue in the track.

-
-

Returns the start time of the cue in the track.

- - dn800297 - double IMFTimedTextCue::GetStartTime() - IMFTimedTextCue::GetStartTime -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets the duration time of the cue in the track.

-
-

Returns the duration time of the cue in the track.

- - dn800293 - double IMFTimedTextCue::GetDuration() - IMFTimedTextCue::GetDuration -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets the identifier of the timed-text cue.

-
-

Returns the identifier of the timed-text cue.

- - dn800299 - unsigned int IMFTimedTextCue::GetTrackId() - IMFTimedTextCue::GetTrackId -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets the data content of the timed-text cue.

-
-

A reference to a memory block that receives a reference to the interface for the data content of the timed-text cue. This parameter can be null.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn800292 - HRESULT IMFTimedTextCue::GetData([Out, Optional] IMFTimedTextBinary** data) - IMFTimedTextCue::GetData -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets info about the display region of the timed-text cue.

-
-

A reference to a memory block that receives a reference to the interface for the timed-text region. This parameter can be null.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn800296 - HRESULT IMFTimedTextCue::GetRegion([Out, Optional] IMFTimedTextRegion** region) - IMFTimedTextCue::GetRegion -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets info about the style of the timed-text cue.

-
-

A reference to a memory block that receives a reference to the interface for the timed-text style. This parameter can be null.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn800298 - HRESULT IMFTimedTextCue::GetStyle([Out, Optional] IMFTimedTextStyle** style) - IMFTimedTextCue::GetStyle -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets the number of lines of text in the timed-text cue.

-
-

Returns the number of lines of text.

- - dn800295 - unsigned int IMFTimedTextCue::GetLineCount() - IMFTimedTextCue::GetLineCount -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets a line of text in the cue from the index of the line.

-
-

The index of the line of text in the cue to retrieve.

-

A reference to a memory block that receives a reference to the interface for the line of text in the cue.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn800294 - HRESULT IMFTimedTextCue::GetLine([In] unsigned int index,[Out] IMFTimedTextFormattedText** line) - IMFTimedTextCue::GetLine -
- - - No documentation. - - - IMFTimedTextCueList - IMFTimedTextCueList - - - - Initializes a new instance of the 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. - - - GetLength - GetLength - unsigned int IMFTimedTextCueList::GetLength() - - - - No documentation. - - No documentation. - - unsigned int IMFTimedTextCueList::GetLength() - IMFTimedTextCueList::GetLength - - - - No documentation. - - No documentation. - No documentation. - No documentation. - - HRESULT IMFTimedTextCueList::GetCueByIndex([In] unsigned int index,[Out] IMFTimedTextCue** cue) - IMFTimedTextCueList::GetCueByIndex - - - - No documentation. - - No documentation. - No documentation. - No documentation. - - HRESULT IMFTimedTextCueList::GetCueById([In] unsigned int id,[Out] IMFTimedTextCue** cue) - IMFTimedTextCueList::GetCueById - - - - No documentation. - - No documentation. - No documentation. - No documentation. - - HRESULT IMFTimedTextCueList::GetCueByOriginalId([In] const wchar_t* originalId,[Out] IMFTimedTextCue** cue) - IMFTimedTextCueList::GetCueByOriginalId - - - - No documentation. - - No documentation. - No documentation. - No documentation. - No documentation. - No documentation. - - HRESULT IMFTimedTextCueList::AddTextCue([In] double start,[In] double duration,[In] const wchar_t* text,[Out, Optional] IMFTimedTextCue** cue) - IMFTimedTextCueList::AddTextCue - - - - No documentation. - - No documentation. - No documentation. - No documentation. - No documentation. - No documentation. - No documentation. - - HRESULT IMFTimedTextCueList::AddDataCue([In] double start,[In] double duration,[In, Buffer] const unsigned char* data,[In] unsigned int dataSize,[Out, Optional] IMFTimedTextCue** cue) - IMFTimedTextCueList::AddDataCue - - - - No documentation. - - No documentation. - No documentation. - - HRESULT IMFTimedTextCueList::RemoveCue([In] IMFTimedTextCue* cue) - IMFTimedTextCueList::RemoveCue - - - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Represents a block of formatted timed-text.

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

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets the number of subformats in the formatted timed-text object.

-
- - dn800302 - GetSubformattingCount - GetSubformattingCount - unsigned int IMFTimedTextFormattedText::GetSubformattingCount() -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets the text in the formatted timed-text object.

-
-

A reference to a variable that receives the null-terminated wide-character string that contains the text.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn800303 - HRESULT IMFTimedTextFormattedText::GetText([Out, Optional] wchar_t** text) - IMFTimedTextFormattedText::GetText -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets the number of subformats in the formatted timed-text object.

-
-

Returns the number of subformats.

- - dn800302 - unsigned int IMFTimedTextFormattedText::GetSubformattingCount() - IMFTimedTextFormattedText::GetSubformattingCount -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets a subformat in the formatted timed-text object.

-
-

The index of the subformat in the formatted timed-text object.

-

A reference to a variable that receives the first character of the subformat.

-

A reference to a variable that receives the length, in characters, of the subformat.

-

A reference to a memory block that receives a reference to the interface for the subformat's timed-text style. This parameter can be null.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn800301 - HRESULT IMFTimedTextFormattedText::GetSubformatting([In] unsigned int index,[Out] unsigned int* firstChar,[Out] unsigned int* charLength,[Out, Optional] IMFTimedTextStyle** style) - IMFTimedTextFormattedText::GetSubformatting -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Interface that defines callbacks for Microsoft Media Foundation Timed Text notifications.

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

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Called when a text track is added

-
-

The identifier of the track that was added.

- - dn800308 - void IMFTimedTextNotify::TrackAdded([In] unsigned int trackId) - IMFTimedTextNotify::TrackAdded -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Called when a text track is removed.

-
-

The identifier of the track that was removed.

- - dn800309 - void IMFTimedTextNotify::TrackRemoved([In] unsigned int trackId) - IMFTimedTextNotify::TrackRemoved -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Called when a track is selected or deselected.

-
-

The identifier of the track that was selected or deselected.

-

TRUE if the track was selected. if the track was deselected.

- - dn800310 - void IMFTimedTextNotify::TrackSelected([In] unsigned int trackId,[In] BOOL selected) - IMFTimedTextNotify::TrackSelected -
- - - No documentation. - - No documentation. - - void IMFTimedTextNotify::TrackReadyStateChanged([In] unsigned int trackId) - IMFTimedTextNotify::TrackReadyStateChanged - - - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Called when an error occurs in a text track.

-
-

An representing the last error.

-

The extended error code for the last error.

-

The identifier of the track on which the error occurred.

- - dn800306 - void IMFTimedTextNotify::Error([In] MF_TIMED_TEXT_ERROR_CODE errorCode,[In] HRESULT extendedErrorCode,[In] unsigned int sourceTrackId) - IMFTimedTextNotify::Error -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Called when a cue event occurs in a text track.

-
-

A value specifying the type of event that has occured.

-

The current time when the cue event occurred.

-

The object representing the cue.

- - dn800305 - void IMFTimedTextNotify::Cue([In] MF_TIMED_TEXT_CUE_EVENT cueEvent,[In] double currentTime,[In, Optional] IMFTimedTextCue* cue) - IMFTimedTextNotify::Cue -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Resets the timed-text-notify object.

-
- - dn800307 - void IMFTimedTextNotify::Reset() - IMFTimedTextNotify::Reset -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Represents the display region of a timed-text object.

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

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets the background color of the region.

-
- - dn800312 - GetBackgroundColor - GetBackgroundColor - HRESULT IMFTimedTextRegion::GetBackgroundColor([Out] MFARGB* bgColor) -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets the writing mode of the region.

-
- - dn800322 - GetWritingMode - GetWritingMode - HRESULT IMFTimedTextRegion::GetWritingMode([Out] MF_TIMED_TEXT_WRITING_MODE* writingMode) -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets the display alignment of the region.

-
- - dn800314 - GetDisplayAlignment - GetDisplayAlignment - HRESULT IMFTimedTextRegion::GetDisplayAlignment([Out] MF_TIMED_TEXT_DISPLAY_ALIGNMENT* displayAlign) -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Determines whether a clip of text overflowed the region.

-
- - dn800313 - GetClipOverflow - GetClipOverflow - HRESULT IMFTimedTextRegion::GetClipOverflow([Out] BOOL* clipOverflow) -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Determines whether the word wrap feature is enabled in the region.

-
- - dn800321 - GetWrap - GetWrap - HRESULT IMFTimedTextRegion::GetWrap([Out] BOOL* wrap) -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets the Z-index (depth) of the region.

-
- - dn800323 - GetZIndex - GetZIndex - HRESULT IMFTimedTextRegion::GetZIndex([Out] int* zIndex) -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets the scroll mode of the region.

-
- - dn800320 - GetScrollMode - GetScrollMode - HRESULT IMFTimedTextRegion::GetScrollMode([Out] MF_TIMED_TEXT_SCROLL_MODE* scrollMode) -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets the name of the region.

-
-

A reference to a variable that receives the null-terminated wide-character string that contains the name of the region.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn800317 - HRESULT IMFTimedTextRegion::GetName([Out] wchar_t** name) - IMFTimedTextRegion::GetName -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets the position of the region.

-
-

A reference to a variable that receives the X-coordinate of the position.

-

A reference to a variable that receives the Y-coordinate of the position.

-

A reference to a variable that receives a -typed value that specifies the units in which the timed-text region is measured.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn800319 - HRESULT IMFTimedTextRegion::GetPosition([Out] double* pX,[Out] double* pY,[Out] MF_TIMED_TEXT_UNIT_TYPE* unitType) - IMFTimedTextRegion::GetPosition -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets the extent of the region.

-
-

A reference to a variable that receives the width of the region.

-

A reference to a variable that receives the height of the region.

-

A reference to a variable that receives a -typed value that specifies the units in which the timed-text region is measured.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn800315 - HRESULT IMFTimedTextRegion::GetExtent([Out] double* pWidth,[Out] double* pHeight,[Out] MF_TIMED_TEXT_UNIT_TYPE* unitType) - IMFTimedTextRegion::GetExtent -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets the background color of the region.

-
-

A reference to a variable that receives a structure that describes the background color.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn800312 - HRESULT IMFTimedTextRegion::GetBackgroundColor([Out] MFARGB* bgColor) - IMFTimedTextRegion::GetBackgroundColor -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets the writing mode of the region.

-
-

A reference to a variable that receives a -typed value that specifies the writing mode of the region.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn800322 - HRESULT IMFTimedTextRegion::GetWritingMode([Out] MF_TIMED_TEXT_WRITING_MODE* writingMode) - IMFTimedTextRegion::GetWritingMode -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets the display alignment of the region.

-
-

A reference to a variable that receives a -typed value that specifies the display alignment of the region.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn800314 - HRESULT IMFTimedTextRegion::GetDisplayAlignment([Out] MF_TIMED_TEXT_DISPLAY_ALIGNMENT* displayAlign) - IMFTimedTextRegion::GetDisplayAlignment -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets the height of each line of text in the region.

-
-

A reference to a variable that receives the height of each line of text in the region.

-

A reference to a variable that receives a -typed value that specifies the units in which the timed-text region is measured.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn800316 - HRESULT IMFTimedTextRegion::GetLineHeight([Out] double* pLineHeight,[Out] MF_TIMED_TEXT_UNIT_TYPE* unitType) - IMFTimedTextRegion::GetLineHeight -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Determines whether a clip of text overflowed the region.

-
-

A reference to a variable that receives a value that specifies whether a clip of text overflowed the region. The variable specifies TRUE if the clip overflowed; otherwise, .

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn800313 - HRESULT IMFTimedTextRegion::GetClipOverflow([Out] BOOL* clipOverflow) - IMFTimedTextRegion::GetClipOverflow -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets the padding that surrounds the region.

-
-

A reference to a variable that receives the padding before the start of the region.

-

A reference to a variable that receives the start of the region.

-

A reference to a variable that receives the padding after the end of the region.

-

A reference to a variable that receives the end of the region.

-

A reference to a variable that receives a -typed value that specifies the units in which the timed-text region is measured.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn800318 - HRESULT IMFTimedTextRegion::GetPadding([Out] double* before,[Out] double* start,[Out] double* after,[Out] double* end,[Out] MF_TIMED_TEXT_UNIT_TYPE* unitType) - IMFTimedTextRegion::GetPadding -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Determines whether the word wrap feature is enabled in the region.

-
-

A reference to a variable that receives a value that specifies whether the word wrap feature is enabled in the region. The variable specifies TRUE if word wrap is enabled; otherwise, .

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn800321 - HRESULT IMFTimedTextRegion::GetWrap([Out] BOOL* wrap) - IMFTimedTextRegion::GetWrap -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets the Z-index (depth) of the region.

-
-

A reference to a variable that receives the Z-index (depth) of the region.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn800323 - HRESULT IMFTimedTextRegion::GetZIndex([Out] int* zIndex) - IMFTimedTextRegion::GetZIndex -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets the scroll mode of the region.

-
-

A reference to a variable that receives a -typed value that specifies the scroll mode of the region.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn800320 - HRESULT IMFTimedTextRegion::GetScrollMode([Out] MF_TIMED_TEXT_SCROLL_MODE* scrollMode) - IMFTimedTextRegion::GetScrollMode -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets the color of the timed-text style.

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

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Determines whether the timed-text style is external.

-
- - dn800338 - IsExternal - IsExternal - BOOL IMFTimedTextStyle::IsExternal() -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets the color of the timed-text style.

-
- - dn800327 - GetColor - GetColor - HRESULT IMFTimedTextStyle::GetColor([Out] MFARGB* color) -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets the background color of the timed-text style.

-
- - dn800325 - GetBackgroundColor - GetBackgroundColor - HRESULT IMFTimedTextStyle::GetBackgroundColor([Out] MFARGB* bgColor) -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Determines whether the style of timed text always shows the background.

-
- - dn800334 - GetShowBackgroundAlways - GetShowBackgroundAlways - HRESULT IMFTimedTextStyle::GetShowBackgroundAlways([Out] BOOL* showBackgroundAlways) -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets the font style of the timed-text style.

-
- - dn800330 - GetFontStyle - GetFontStyle - HRESULT IMFTimedTextStyle::GetFontStyle([Out] MF_TIMED_TEXT_FONT_STYLE* fontStyle) -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Determines whether the style of timed text is bold.

-
- - dn800326 - GetBold - GetBold - HRESULT IMFTimedTextStyle::GetBold([Out] BOOL* bold) -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Determines whether the right to left writing mode of the timed-text style is enabled.

-
- - dn800332 - GetRightToLeft - GetRightToLeft - HRESULT IMFTimedTextStyle::GetRightToLeft([Out] BOOL* rightToLeft) -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets the text alignment of the timed-text style.

-
- - dn800335 - GetTextAlignment - GetTextAlignment - HRESULT IMFTimedTextStyle::GetTextAlignment([Out] MF_TIMED_TEXT_ALIGNMENT* textAlign) -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets how text is decorated for the timed-text style.

-
- - dn800336 - GetTextDecoration - GetTextDecoration - HRESULT IMFTimedTextStyle::GetTextDecoration([Out] unsigned int* textDecoration) -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets the name of the timed-text style.

-
-

A reference to a variable that receives the null-terminated wide-character string that contains the name of the style.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn800331 - HRESULT IMFTimedTextStyle::GetName([Out] wchar_t** name) - IMFTimedTextStyle::GetName -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Determines whether the timed-text style is external.

-
-

Returns whether the timed-text style is external. If TRUE, the timed-text style is external; otherwise, .

- - dn800338 - BOOL IMFTimedTextStyle::IsExternal() - IMFTimedTextStyle::IsExternal -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets the font family of the timed-text style.

-
-

A reference to a variable that receives the null-terminated wide-character string that contains the font family of the style.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn800328 - HRESULT IMFTimedTextStyle::GetFontFamily([Out] wchar_t** fontFamily) - IMFTimedTextStyle::GetFontFamily -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets the font size of the timed-text style.

-
-

A reference to a variable that receives the font size of the timed-text style.

-

A reference to a variable that receives a -typed value that specifies the units in which the timed-text style is measured.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn800329 - HRESULT IMFTimedTextStyle::GetFontSize([Out] double* fontSize,[Out] MF_TIMED_TEXT_UNIT_TYPE* unitType) - IMFTimedTextStyle::GetFontSize -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets the color of the timed-text style.

-
-

A reference to a variable that receives a structure that describes the color.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn800327 - HRESULT IMFTimedTextStyle::GetColor([Out] MFARGB* color) - IMFTimedTextStyle::GetColor -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets the background color of the timed-text style.

-
-

A reference to a variable that receives a structure that describes the background color.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn800325 - HRESULT IMFTimedTextStyle::GetBackgroundColor([Out] MFARGB* bgColor) - IMFTimedTextStyle::GetBackgroundColor -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Determines whether the style of timed text always shows the background.

-
-

A reference to a variable that receives a value that specifies whether the style of timed text always shows the background. The variable specifies TRUE if the background is always shown; otherwise, .

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn800334 - HRESULT IMFTimedTextStyle::GetShowBackgroundAlways([Out] BOOL* showBackgroundAlways) - IMFTimedTextStyle::GetShowBackgroundAlways -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets the font style of the timed-text style.

-
-

A reference to a variable that receives a -typed value that specifies the font style.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn800330 - HRESULT IMFTimedTextStyle::GetFontStyle([Out] MF_TIMED_TEXT_FONT_STYLE* fontStyle) - IMFTimedTextStyle::GetFontStyle -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Determines whether the style of timed text is bold.

-
-

A reference to a variable that receives a value that specifies whether the style of timed text is bold. The variable specifies TRUE if the style is bold; otherwise, .

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn800326 - HRESULT IMFTimedTextStyle::GetBold([Out] BOOL* bold) - IMFTimedTextStyle::GetBold -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Determines whether the right to left writing mode of the timed-text style is enabled.

-
-

A reference to a variable that receives a value that specifies whether the right to left writing mode is enabled. The variable specifies TRUE if the right to left writing mode is enabled; otherwise, .

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn800332 - HRESULT IMFTimedTextStyle::GetRightToLeft([Out] BOOL* rightToLeft) - IMFTimedTextStyle::GetRightToLeft -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets the text alignment of the timed-text style.

-
-

A reference to a variable that receives a -typed value that specifies the text alignment.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn800335 - HRESULT IMFTimedTextStyle::GetTextAlignment([Out] MF_TIMED_TEXT_ALIGNMENT* textAlign) - IMFTimedTextStyle::GetTextAlignment -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets how text is decorated for the timed-text style.

-
-

A reference to a variable that receives a combination of -typed values that are combined by using a bitwise OR operation. The resulting value specifies how text is decorated.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn800336 - HRESULT IMFTimedTextStyle::GetTextDecoration([Out] unsigned int* textDecoration) - IMFTimedTextStyle::GetTextDecoration -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets the text outline for the timed-text style.

-
-

A reference to a variable that receives a structure that describes the color.

-

A reference to a variable that receives the thickness.

-

A reference to a variable that receives the blur radius.

-

A reference to a variable that receives a -typed value that specifies the units in which the timed-text is measured.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn800337 - HRESULT IMFTimedTextStyle::GetTextOutline([Out] MFARGB* color,[Out] double* thickness,[Out] double* blurRadius,[Out] MF_TIMED_TEXT_UNIT_TYPE* unitType) - IMFTimedTextStyle::GetTextOutline -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Represents a track of timed text.

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

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets the identifier of the track of timed text.

-
- - dn800344 - GetId - GetId - unsigned int IMFTimedTextTrack::GetId() -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Sets the label of a timed-text track.

-
- - dn859182 - SetLabel - SetLabel - HRESULT IMFTimedTextTrack::SetLabel([In] const wchar_t* label) -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets the kind of timed-text track.

-
- - dn800348 - GetTrackKind - GetTrackKind - MF_TIMED_TEXT_TRACK_KIND IMFTimedTextTrack::GetTrackKind() -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Determines whether the timed-text track is inband.

-
- - dn800350 - IsInBand - IsInBand - BOOL IMFTimedTextTrack::IsInBand() -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Determines whether the timed-text track is active.

-
- - dn800349 - IsActive - IsActive - BOOL IMFTimedTextTrack::IsActive() -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets a value indicating the error type of the latest error associated with the track.

-
- - dn859180 - GetErrorCode - GetErrorCode - MF_TIMED_TEXT_ERROR_CODE IMFTimedTextTrack::GetErrorCode() -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets the extended error code for the latest error associated with the track.

-
- -

If the most recent error was associated with a track, this value will be the same as returned by the method.

-
- - dn859181 - GetExtendedErrorCode - GetExtendedErrorCode - HRESULT IMFTimedTextTrack::GetExtendedErrorCode() -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets a that identifies the track's underlying data format.

-
- - dn859179 - GetDataFormat - GetDataFormat - HRESULT IMFTimedTextTrack::GetDataFormat([Out] GUID* format) -
- - - No documentation. - - - GetReadyState - GetReadyState - MF_TIMED_TEXT_TRACK_READY_STATE IMFTimedTextTrack::GetReadyState() - - - - No documentation. - - - GetCueList - GetCueList - HRESULT IMFTimedTextTrack::GetCueList([Out] IMFTimedTextCueList** cues) - - - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets the identifier of the track of timed text.

-
-

Returns the identifier of the track.

- - dn800344 - unsigned int IMFTimedTextTrack::GetId() - IMFTimedTextTrack::GetId -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets the label of the track.

-
-

A reference to a variable that receives the null-terminated wide-character string that contains the label of the track.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn800346 - HRESULT IMFTimedTextTrack::GetLabel([Out] wchar_t** label) - IMFTimedTextTrack::GetLabel -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Sets the label of a timed-text track.

-
-

A reference to a null-terminated wide-character string that contains the label of the track.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn859182 - HRESULT IMFTimedTextTrack::SetLabel([In] const wchar_t* label) - IMFTimedTextTrack::SetLabel -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets the language of the track.

-
-

A reference to a variable that receives the null-terminated wide-character string that contains the language of the track.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn800347 - HRESULT IMFTimedTextTrack::GetLanguage([Out] wchar_t** language) - IMFTimedTextTrack::GetLanguage -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets the kind of timed-text track.

-
-

Returns a -typed value that specifies the kind of timed-text track.

- - dn800348 - MF_TIMED_TEXT_TRACK_KIND IMFTimedTextTrack::GetTrackKind() - IMFTimedTextTrack::GetTrackKind -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Determines whether the timed-text track is inband.

-
-

Returns whether the timed-text track is inband. If TRUE, the timed-text track is inband; otherwise, .

- - dn800350 - BOOL IMFTimedTextTrack::IsInBand() - IMFTimedTextTrack::IsInBand -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets the in-band metadata of the track.

-
-

A reference to a variable that receives the null-terminated wide-character string that contains the in-band metadata of the track.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn800345 - HRESULT IMFTimedTextTrack::GetInBandMetadataTrackDispatchType([Out] wchar_t** dispatchType) - IMFTimedTextTrack::GetInBandMetadataTrackDispatchType -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Determines whether the timed-text track is active.

-
-

Returns whether the timed-text track is active. If TRUE, the timed-text track is active; otherwise, .

- - dn800349 - BOOL IMFTimedTextTrack::IsActive() - IMFTimedTextTrack::IsActive -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets a value indicating the error type of the latest error associated with the track.

-
-

A value indicating the error type of the latest error associated with the track.

- - dn859180 - MF_TIMED_TEXT_ERROR_CODE IMFTimedTextTrack::GetErrorCode() - IMFTimedTextTrack::GetErrorCode -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets the extended error code for the latest error associated with the track.

-
-

The extended error code for the latest error associated with the track.

- -

If the most recent error was associated with a track, this value will be the same as returned by the method.

-
- - dn859181 - HRESULT IMFTimedTextTrack::GetExtendedErrorCode() - IMFTimedTextTrack::GetExtendedErrorCode -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets a that identifies the track's underlying data format.

-
-

A that identifies the track's underlying data format.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn859179 - HRESULT IMFTimedTextTrack::GetDataFormat([Out] GUID* format) - IMFTimedTextTrack::GetDataFormat -
- - - No documentation. - - No documentation. - - MF_TIMED_TEXT_TRACK_READY_STATE IMFTimedTextTrack::GetReadyState() - IMFTimedTextTrack::GetReadyState - - - - No documentation. - - No documentation. - No documentation. - - HRESULT IMFTimedTextTrack::GetCueList([Out] IMFTimedTextCueList** cues) - IMFTimedTextTrack::GetCueList - - - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Represents a list of timed-text tracks.

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

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets the length, in tracks, of the timed-text-track list.

-
- - dn800341 - GetLength - GetLength - unsigned int IMFTimedTextTrackList::GetLength() -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets the length, in tracks, of the timed-text-track list.

-
-

Returns the length, in tracks, of the timed-text-track list.

- - dn800341 - unsigned int IMFTimedTextTrackList::GetLength() - IMFTimedTextTrackList::GetLength -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets a text track in the list from the index of the track.

-
-

The index of the track in the list to retrieve.

-

A reference to a memory block that receives a reference to the interface for the timed-text track.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn800342 - HRESULT IMFTimedTextTrackList::GetTrack([In] unsigned int index,[Out] IMFTimedTextTrack** track) - IMFTimedTextTrackList::GetTrack -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Gets a text track in the list from the identifier of the track.

-
-

The identifier of the track in the list to retrieve.

-

A reference to a memory block that receives a reference to the interface for the timed-text track.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn800343 - HRESULT IMFTimedTextTrackList::GetTrackById([In] unsigned int trackId,[Out] IMFTimedTextTrack** track) - IMFTimedTextTrackList::GetTrackById -
- - -

Provides a timer that invokes a callback at a specified time.

-
- -

The presentation clock exposes this interface. To get a reference to the interface, call QueryInterface.

-
- - ms694825 - IMFTimer - IMFTimer -
- - - Initializes a new instance of the 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 timer that invokes a callback at the specified time.

-
-

Bitwise OR of zero or more flags from the enumeration.

-

The time at which the timer should fire, in units of the clock's frequency. The time is either absolute or relative to the current time, depending on the value of dwFlags.

-

Pointer to the interface of a callback object. The caller must implement this interface. The callback's Invoke method is called at the time specified in the llClockTime parameter.

-

Pointer to the interface of a state object, defined by the caller. This parameter can be null. You can use this object to hold state information. The object is returned to the caller when the callback is invoked.

-

Receives a reference to the interface of a cancellation object. The caller must release the interface. To cancel the timer, pass this reference to the method. This parameter can be null.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The clock was shut down.

MF_S_CLOCK_STOPPED

The method succeeded, but the clock is stopped.

?

- -

If the clock is stopped, the method returns MF_S_CLOCK_STOPPED. The callback will not be invoked until the clock is started.

-
- - ms696252 - HRESULT IMFTimer::SetTimer([In] unsigned int dwFlags,[In] longlong llClockTime,[In] IMFAsyncCallback* pCallback,[In] IUnknown* punkState,[In] IUnknown** ppunkKey) - IMFTimer::SetTimer -
- - -

Cancels a timer that was set using the method.

-
- No documentation. -

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

Because the timer is dispatched asynchronously, the application's timer callback might get invoked even if this method succeeds.

-
- - ms696276 - HRESULT IMFTimer::CancelTimer([In] IUnknown* punkKey) - IMFTimer::CancelTimer -
- - -

Creates a fully loaded topology from the input partial topology.

-
- -

This method creates any intermediate transforms that are needed to complete the topology. It also sets the input and output media types on all of the objects in the topology. If the method succeeds, the full topology is returned in the ppOutputTopo parameter.

You can use the pCurrentTopo parameter to provide a full topology that was previously loaded. If this topology contains objects that are needed in the new topology, the topology loader can re-use them without creating them again. This caching can potentially make the process faster. The objects from pCurrentTopo will not be reconfigured, so you can specify a topology that is actively streaming data. For example, while a topology is still running, you can pre-load the next topology.

Before calling this method, you must ensure that the output nodes in the partial topology have valid references, not references. The Media Session automatically performs this action inside the method. However, if you call Load before calling SetTopology, you must bind the output nodes manually. For more information, see Binding Output Nodes to Media Sinks.

-
- - ms693561 - IMFTopoLoader - IMFTopoLoader -
- - - Initializes a new instance of the 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 fully loaded topology from the input partial topology.

-
-

A reference to the interface of the partial topology to be resolved.

-

Receives a reference to the interface of the completed topology. The caller must release the interface.

-

A reference to the interface of the previous full topology. The topology loader can re-use objects from this topology in the new topology. This parameter can be null. See Remarks.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

One or more output nodes contain references. The caller must bind the output nodes to media sinks. See Binding Output Nodes to Media Sinks.

?

- -

This method creates any intermediate transforms that are needed to complete the topology. It also sets the input and output media types on all of the objects in the topology. If the method succeeds, the full topology is returned in the ppOutputTopo parameter.

You can use the pCurrentTopo parameter to provide a full topology that was previously loaded. If this topology contains objects that are needed in the new topology, the topology loader can re-use them without creating them again. This caching can potentially make the process faster. The objects from pCurrentTopo will not be reconfigured, so you can specify a topology that is actively streaming data. For example, while a topology is still running, you can pre-load the next topology.

Before calling this method, you must ensure that the output nodes in the partial topology have valid references, not references. The Media Session automatically performs this action inside the method. However, if you call Load before calling SetTopology, you must bind the output nodes manually. For more information, see Binding Output Nodes to Media Sinks.

-
- - ms693561 - HRESULT IMFTopoLoader::Load([In] IMFTopology* pInputTopo,[Out] IMFTopology** ppOutputTopo,[In] IMFTopology* pCurrentTopo) - IMFTopoLoader::Load -
- - -

Represents a topology. A topology describes a collection of media sources, sinks, and transforms that are connected in a certain order. These objects are represented within the topology by topology nodes, which expose the interface. A topology describes the path of multimedia data through these nodes.

To create a topology, call .

-
- - ms705488 - IMFTopology - IMFTopology -
- - - Initializes a new instance of the 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 identifier of the topology.

-
- - ms705620 - GetTopologyID - GetTopologyID - HRESULT IMFTopology::GetTopologyID([Out] unsigned longlong* pID) -
- - -

Gets the number of nodes in the topology.

-
- - ms700175 - GetNodeCount - GetNodeCount - HRESULT IMFTopology::GetNodeCount([Out] unsigned short* pwNodes) -
- - -

Gets the source nodes in the topology.

-
- - ms701611 - GetSourceNodeCollection - GetSourceNodeCollection - HRESULT IMFTopology::GetSourceNodeCollection([Out] IMFCollection** ppCollection) -
- - -

Gets the output nodes in the topology.

-
- - ms694029 - GetOutputNodeCollection - GetOutputNodeCollection - HRESULT IMFTopology::GetOutputNodeCollection([Out] IMFCollection** ppCollection) -
- - -

Gets the identifier of the topology.

-
-

Receives the identifier, as a TOPOID value.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - ms705620 - HRESULT IMFTopology::GetTopologyID([Out] unsigned longlong* pID) - IMFTopology::GetTopologyID -
- - -

Adds a node to the topology.

-
-

Pointer to the node's interface.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_INVALIDARG

pNode is invalid, possibly because the node already exists in the topology.

?

- - ms697365 - HRESULT IMFTopology::AddNode([In] IMFTopologyNode* pNode) - IMFTopology::AddNode -
- - -

Removes a node from the topology.

-
-

Pointer to the node's interface.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_INVALIDARG

The specified node is not a member of this topology.

?

- -

This method does not destroy the node, so the reference is still valid after the method returns.

The method breaks any connections between the specified node and other nodes.

-
- - ms694226 - HRESULT IMFTopology::RemoveNode([In] IMFTopologyNode* pNode) - IMFTopology::RemoveNode -
- - -

Gets the number of nodes in the topology.

-
-

Receives the number of nodes.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - ms700175 - HRESULT IMFTopology::GetNodeCount([Out] unsigned short* pwNodes) - IMFTopology::GetNodeCount -
- - -

Gets a node in the topology, specified by index.

-
-

The zero-based index of the node. To get the number of nodes in the topology, call .

-

Receives a reference to the node's interface. The caller must release the reference.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_INVALIDARG

The index is less than zero.

No node can be found at the index wIndex.

?

- - ms701569 - HRESULT IMFTopology::GetNode([In] unsigned short wIndex,[Out] IMFTopologyNode** ppNode) - IMFTopology::GetNode -
- - -

Removes all nodes from the topology.

-
-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

You do not need to clear a topology before disposing of it. The Clear method is called automatically when the topology is destroyed.

-
- - ms700800 - HRESULT IMFTopology::Clear() - IMFTopology::Clear -
- - -

Converts this topology into a copy of another topology.

-
-

A reference to the interface of the topology to clone.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

This method does the following:

  • Removes all of the nodes from this topology.
  • Clones the nodes from pTopology and adds them to this topology. The cloned nodes have the same node identifiers as the nodes from pTopology.
  • Connects the cloned nodes to match the connections in pTopology.
  • Copies the attributes from pTopology to this topology.
  • Copies the topology identifier from pTopology to this topology.
-
- - ms702242 - HRESULT IMFTopology::CloneFrom([In, Optional] IMFTopology* pTopology) - IMFTopology::CloneFrom -
- - -

Gets a node in the topology, specified by node identifier.

-
-

The identifier of the node to retrieve. To get a node's identifier, call .

-

Receives a reference to the node's interface. The caller must release the interface.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The topology does not contain a node with this identifier.

?

- - ms696224 - HRESULT IMFTopology::GetNodeByID([In] unsigned longlong qwTopoNodeID,[Out] IMFTopologyNode** ppNode) - IMFTopology::GetNodeByID -
- - -

Gets the source nodes in the topology.

-
-

Receives a reference to the interface. The caller must release the reference. The collection contains references to all of the source nodes in the topology. Each reference can be queried for the interface. The collection might be empty.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - ms701611 - HRESULT IMFTopology::GetSourceNodeCollection([Out] IMFCollection** ppCollection) - IMFTopology::GetSourceNodeCollection -
- - -

Gets the output nodes in the topology.

-
-

Receives a reference to the interface. The caller must release the reference. The collection contains references to all of the output nodes in the topology. Each reference can be queried for the interface. The collection might be empty.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - ms694029 - HRESULT IMFTopology::GetOutputNodeCollection([Out] IMFCollection** ppCollection) - IMFTopology::GetOutputNodeCollection -
- - -

Represents a node in a topology. The following node types are supported:

  • Output node. Represents a media sink.
  • Source node. Represents a media stream.
  • Transform node. Represents a Media Foundation Transform (MFT).
  • Tee node. Delivers a media stream to two or more nodes.

To create a new node, call the function.

-
- - ms693529 - IMFTopologyNode - IMFTopologyNode -
- - - Initializes a new instance of the 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 object associated with this node.

-
- -

All node types support this method, but the object reference is not used by every node type.

Node typeObject reference
Source node.Not used.
Transform node. or interface.
Output node or interface.
Tee node.Not used.

?

If the object supports , IPersistStorage, or IPersistPropertyBag, the method gets the object's CLSID and sets the attribute on the node.

-
- - ms702992 - SetObject - SetObject - HRESULT IMFTopologyNode::SetObject([In, Optional] IUnknown* pObject) -
- - -

Gets the object associated with this node.

-
- - ms693569 - GetObjectW - GetObjectW - HRESULT IMFTopologyNode::GetObjectW([Out] IUnknown** ppObject) -
- - -

Retrieves the node type.

-
- - ms697514 - GetNodeType - GetNodeType - HRESULT IMFTopologyNode::GetNodeType([Out] MF_TOPOLOGY_TYPE* pType) -
- - -

Retrieves or sets the identifier of the node.

-
- -

When a node is first created, it is assigned an identifier. Node identifiers are unique within a topology, but can be reused across several topologies. The topology loader uses the identifier to look up nodes in the previous topology, so that it can reuse objects from the previous topology.

To find a node in a topology by its identifier, call .

-
- - ms701602 - GetTopoNodeID / SetTopoNodeID - GetTopoNodeID - HRESULT IMFTopologyNode::GetTopoNodeID([Out] unsigned longlong* pID) -
- - -

Retrieves the number of input streams that currently exist on this node.

-
- -

The input streams may or may not be connected to output streams on other nodes. To get the node that is connected to a specified input stream, call .

The and methods add new input streams as needed.

-
- - ms700165 - GetInputCount - GetInputCount - HRESULT IMFTopologyNode::GetInputCount([Out] unsigned int* pcInputs) -
- - -

Retrieves the number of output streams that currently exist on this node.

-
- -

The output streams may or may not be connected to input streams on other nodes. To get the node that is connected to a specific output stream on this node, call .

The and methods add new input streams as needed.

-
- - ms704019 - GetOutputCount - GetOutputCount - HRESULT IMFTopologyNode::GetOutputCount([Out] unsigned int* pcOutputs) -
- - -

Sets the object associated with this node.

-
-

A reference to the object's interface. Use the value null to clear an object that was previous set.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

All node types support this method, but the object reference is not used by every node type.

Node typeObject reference
Source node.Not used.
Transform node. or interface.
Output node or interface.
Tee node.Not used.

?

If the object supports , IPersistStorage, or IPersistPropertyBag, the method gets the object's CLSID and sets the attribute on the node.

-
- - ms702992 - HRESULT IMFTopologyNode::SetObject([In, Optional] IUnknown* pObject) - IMFTopologyNode::SetObject -
- - -

Gets the object associated with this node.

-
-

Receives a reference to the object's interface. The caller must release the interface.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_FAIL

There is no object associated with this node.

?

- - ms693569 - HRESULT IMFTopologyNode::GetObjectW([Out] IUnknown** ppObject) - IMFTopologyNode::GetObjectW -
- - -

Retrieves the node type.

-
-

Receives the node type, specified as a member of the enumeration.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - ms697514 - HRESULT IMFTopologyNode::GetNodeType([Out] MF_TOPOLOGY_TYPE* pType) - IMFTopologyNode::GetNodeType -
- - -

Retrieves the identifier of the node.

-
-

Receives the identifier.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

When a node is first created, it is assigned an identifier. Node identifiers are unique within a topology, but can be reused across several topologies. The topology loader uses the identifier to look up nodes in the previous topology, so that it can reuse objects from the previous topology.

To find a node in a topology by its identifier, call .

-
- - ms701602 - HRESULT IMFTopologyNode::GetTopoNodeID([Out] unsigned longlong* pID) - IMFTopologyNode::GetTopoNodeID -
- - -

Sets the identifier for the node.

-
-

The identifier for the node.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_INVALIDARG

The TOPOID has already been set for this object.

?

- -

When a node is first created, it is assigned an identifier. Typically there is no reason for an application to override the identifier. Within a topology, each node identifier should be unique.

-
- - bb970438 - HRESULT IMFTopologyNode::SetTopoNodeID([In] unsigned longlong ullTopoID) - IMFTopologyNode::SetTopoNodeID -
- - -

Retrieves the number of input streams that currently exist on this node.

-
-

Receives the number of input streams.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

The input streams may or may not be connected to output streams on other nodes. To get the node that is connected to a specified input stream, call .

The and methods add new input streams as needed.

-
- - ms700165 - HRESULT IMFTopologyNode::GetInputCount([Out] unsigned int* pcInputs) - IMFTopologyNode::GetInputCount -
- - -

Retrieves the number of output streams that currently exist on this node.

-
-

Receives the number of output streams.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

The output streams may or may not be connected to input streams on other nodes. To get the node that is connected to a specific output stream on this node, call .

The and methods add new input streams as needed.

-
- - ms704019 - HRESULT IMFTopologyNode::GetOutputCount([Out] unsigned int* pcOutputs) - IMFTopologyNode::GetOutputCount -
- - -

Connects an output stream from this node to the input stream of another node.

-
-

Zero-based index of the output stream on this node.

-

Pointer to the interface of the node to connect to.

-

Zero-based index of the input stream on the other node.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_FAIL

The method failed.

E_INVALIDARG

Invalid parameter.

?

- -

Node connections represent data flow from one node to the next. The streams are logical, and are specified by index.

If the node is already connected at the specified output, the method breaks the existing connection. If dwOutputIndex or dwInputIndexOnDownstreamNode specify streams that do not exist yet, the method adds as many streams as needed.

This method checks for certain invalid conditions:

  • An output node cannot have any output connections. If you call this method on an output node, the method returns E_FAIL.

  • A node cannot be connected to itself. If pDownstreamNode specifies the same node as the method call, the method returns E_INVALIDARG.

However, if the method succeeds, it does not guarantee that the node connection is valid. It is possible to create a partial topology that the topology loader cannot resolve. If so, the method will fail.

To break an existing node connection, call .

-
- - ms695284 - HRESULT IMFTopologyNode::ConnectOutput([In] unsigned int dwOutputIndex,[In] IMFTopologyNode* pDownstreamNode,[In] unsigned int dwInputIndexOnDownstreamNode) - IMFTopologyNode::ConnectOutput -
- - -

Disconnects an output stream on this node.

-
-

Zero-based index of the output stream to disconnect.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_INVALIDARG

The dwOutputIndex parameter is out of range.

The specified output stream is not connected to another node.

?

- -

If the specified output stream is connected to another node, this method breaks the connection.

-
- - ms698991 - HRESULT IMFTopologyNode::DisconnectOutput([In] unsigned int dwOutputIndex) - IMFTopologyNode::DisconnectOutput -
- - -

Retrieves the node that is connected to a specified input stream on this node.

-
-

Zero-based index of an input stream on this node.

-

Receives a reference to the interface of the node that is connected to the specified input stream. The caller must release the interface.

-

Receives the index of the output stream that is connected to this node's input stream.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_INVALIDARG

The index is out of range.

The specified input stream is not connected to another node.

?

- - ms697020 - HRESULT IMFTopologyNode::GetInput([In] unsigned int dwInputIndex,[Out] IMFTopologyNode** ppUpstreamNode,[Out] unsigned int* pdwOutputIndexOnUpstreamNode) - IMFTopologyNode::GetInput -
- - -

Retrieves the node that is connected to a specified output stream on this node.

-
-

Zero-based index of an output stream on this node.

-

Receives a reference to the interface of the node that is connected to the specified output stream. The caller must release the interface.

-

Receives the index of the input stream that is connected to this node's output stream.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_INVALIDARG

The index is out of range.

The specified input stream is not connected to another node.

?

- - bb970327 - HRESULT IMFTopologyNode::GetOutput([In] unsigned int dwOutputIndex,[Out] IMFTopologyNode** ppDownstreamNode,[Out] unsigned int* pdwInputIndexOnDownstreamNode) - IMFTopologyNode::GetOutput -
- - -

Sets the preferred media type for an output stream on this node.

-
-

Zero-based index of the output stream.

-

Pointer to the interface of the media type.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_NOTIMPL

This node is an output node.

?

- -

The preferred type is a hint for the topology loader.

Do not call this method after loading a topology or setting a topology on the Media Session. Changing the preferred type on a running topology can cause connection errors.

If no output stream exists at the specified index, the method creates new streams up to and including the specified index number.

Output nodes cannot have outputs. If this method is called on an output node, it returns E_NOTIMPL

-
- - ms701546 - HRESULT IMFTopologyNode::SetOutputPrefType([In] unsigned int dwOutputIndex,[In] IMFMediaType* pType) - IMFTopologyNode::SetOutputPrefType -
- - -

Retrieves the preferred media type for an output stream on this node.

-
-

Zero-based index of the output stream.

-

Receives a reference to the interface of the media type. The caller must release the interface.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_FAIL

This node does not have a preferred output type.

E_INVALIDARG

Invalid stream index.

E_NOTIMPL

This node is an output node.

?

- -

Output nodes cannot have outputs. If this method is called on an output node, it returns E_NOTIMPL.

The preferred output type provides a hint to the topology loader. In a fully resolved topology, there is no guarantee that every topology node will have a preferred output type. To get the actual media type for a node, you must get a reference to the node's underlying object. (For more information, see enumeration.)

-
- - ms701571 - HRESULT IMFTopologyNode::GetOutputPrefType([In] unsigned int dwOutputIndex,[Out] IMFMediaType** ppType) - IMFTopologyNode::GetOutputPrefType -
- - -

Sets the preferred media type for an input stream on this node.

-
-

Zero-based index of the input stream.

-

Pointer to the interface of the media type.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_NOTIMPL

This node is a source node.

?

- -

The preferred type is a hint for the topology loader.

Do not call this method after loading a topology or setting a topology on the Media Session. Changing the preferred type on a running topology can cause connection errors.

If no input stream exists at the specified index, the method creates new streams up to and including the specified index number.

Source nodes cannot have inputs. If this method is called on a source node, it returns E_NOTIMPL.

-
- - ms696223 - HRESULT IMFTopologyNode::SetInputPrefType([In] unsigned int dwInputIndex,[In] IMFMediaType* pType) - IMFTopologyNode::SetInputPrefType -
- - -

Retrieves the preferred media type for an input stream on this node.

-
-

Zero-based index of the input stream.

-

Receives a reference to the interface of the media type. The caller must release the interface.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_FAIL

This node does not have a preferred input type.

E_INVALIDARG

Invalid stream index.

E_NOTIMPL

This node is a source node.

?

- -

Source nodes cannot have inputs. If this method is called on a source node, it returns E_NOTIMPL.

The preferred input type provides a hint to the topology loader. In a fully resolved topology, there is no guarantee that every topology node will have a preferred input type. To get the actual media type for a node, you must get a reference to the node's underlying object. (For more information, see enumeration.)

-
- - ms696221 - HRESULT IMFTopologyNode::GetInputPrefType([In] unsigned int dwInputIndex,[Out] IMFMediaType** ppType) - IMFTopologyNode::GetInputPrefType -
- - -

Copies the data from another topology node into this node.

-
-

A reference to the interface of the node to copy.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The node types do not match.

?

- -

The two nodes must have the same node type. To get the node type, call .

This method copies the object reference, preferred types, and attributes from pNode to this node. It also copies the TOPOID that uniquely identifies each node in a topology. It does not duplicate any of the connections from pNode to other nodes.

The purpose of this method is to copy nodes from one topology to another. Do not use duplicate nodes within the same topology.

-
- - ms700790 - HRESULT IMFTopologyNode::CloneFrom([In, Optional] IMFTopologyNode* pNode) - IMFTopologyNode::CloneFrom -
- - -

Updates the attributes of one or more nodes in the Media Session's current topology.

The Media Session exposes this interface as a service. To get a reference to the interface, call . The service identifier is .

-
- -

Currently the only attribute that can be updated is the attribute.

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

Updates the attributes of one or more nodes in the current topology.

-
-

Reserved.

-

The number of elements in the pUpdates array.

-

Pointer to an array of structures. Each element of the array updates one attribute on a node.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

Currently the only attribute that can be updated is the attribute. The method ignores any other attributes.

-
- - aa371868 - HRESULT IMFTopologyNodeAttributeEditor::UpdateNodeAttributes([In] unsigned longlong TopoId,[In] unsigned int cUpdates,[In, Buffer] MFTOPONODE_ATTRIBUTE_UPDATE* pUpdates) - IMFTopologyNodeAttributeEditor::UpdateNodeAttributes -
- - -

Enables a custom video mixer or video presenter to get interface references from the Enhanced Video Renderer (EVR). The mixer can also use this interface to get interface references from the presenter, and the presenter can use it to get interface references from the mixer.

To use this interface, implement the interface on your custom mixer or presenter. The EVR calls with a reference to the EVR's interface.

-
- - ms702001 - IMFTopologyServiceLookup - IMFTopologyServiceLookup -
- - - Initializes a new instance of the 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 an interface from the enhanced video renderer (EVR), or from the video mixer or video presenter.

-
-

Specifies the scope of the search. Currently this parameter is ignored. Use the value .

-

Reserved, must be zero.

-

Service of the requested interface.

-

Interface identifier of the requested interface.

-

Array of interface references. If the method succeeds, each member of the array contains either a valid interface reference or null. The caller must release the interface references when the EVR calls (or earlier). If the method fails, every member of the array is null.

-

Pointer to a value that specifies the size of the ppvObjects array. The value must be at least 1. In the current implementation, there is no reason to specify an array size larger than one element. The value is not changed on output.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_INVALIDARG

Invalid argument.

E_NOINTERFACE

The requested interface is not available.

The method was not called from inside the method. See Remarks.

The object does not support the specified service .

?

- -

This method can be called only from inside the method. At any other time, the method returns .

The presenter can use this method to query the EVR and the mixer. The mixer can use it to query the EVR and the presenter. Which objects are queried depends on the caller and the service , as shown in the following table.

CallerService Objects queried
PresenterMR_VIDEO_RENDER_SERVICEEVR
PresenterMR_VIDEO_MIXER_SERVICEMixer
MixerMR_VIDEO_RENDER_SERVICEPresenter and EVR

?

The following interfaces are available from the EVR:

  • IMediaEventSink. This interface is documented in the DirectShow SDK documentation.

  • interface. This interface is available if the EVR has access to a clock (reference clock in DirectShow or presentation clock in Media Foundation). This interface might not be available. Presenter and mixers must be able to process data without a clock. If the interface is available, you can also get these related interfaces:

    • (Media Foundation EVR only)

The following interfaces are available from the mixer:

-
- - bb970504 - HRESULT IMFTopologyServiceLookup::LookupService([In] MF_SERVICE_LOOKUP_TYPE Type,[In] unsigned int dwIndex,[In] const GUID& guidService,[In] const GUID& riid,[Out, Buffer] void** ppvObjects,[InOut] unsigned int* pnObjects) - IMFTopologyServiceLookup::LookupService -
- - -

Initializes a video mixer or presenter. This interface is implemented by mixers and presenters, and enables them to query the enhanced video renderer (EVR) for interface references.

-
- -

When the EVR loads the video mixer and the video presenter, the EVR queries the object for this interface and calls InitServicePointers. Inside the InitServicePointers method, the object can query the EVR for interface references.

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

Signals the mixer or presenter to query the enhanced video renderer (EVR) for interface references.

-
-

Pointer to the interface. To query the EVR for an interface, call .

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

The reference is guaranteed to be valid only during the call to InitServicePointers. The mixer or presenter should not store a reference to this interface after the method returns.

When the EVR calls , the mixer or presenter should release any references it obtained from the EVR.

-
- - bb970502 - HRESULT IMFTopologyServiceLookupClient::InitServicePointers([In] IMFTopologyServiceLookup* pLookup) - IMFTopologyServiceLookupClient::InitServicePointers -
- - -

Signals the object to release the interface references obtained from the enhanced video renderer (EVR).

-
-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

After this method is called, any interface references obtained during the previous call to are no longer valid. The object must release them.

-
- - ms693584 - HRESULT IMFTopologyServiceLookupClient::ReleaseServicePointers() - IMFTopologyServiceLookupClient::ReleaseServicePointers -
- - -

Tracks the reference counts on a video media sample. Video samples created by the function expose this interface.

-
- -

Use this interface to determine whether it is safe to delete or re-use the buffer contained in a sample. One object assigns itself as the owner of the video sample by calling SetAllocator. When all objects release their reference counts on the sample, the owner's callback method is invoked.

-
- - ms697026 - IMFTrackedSample - IMFTrackedSample -
- - - Initializes a new instance of the 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 owner for the sample.

-
-

Pointer to the interface of a callback object. The caller must implement this interface.

-

Pointer to the interface of a state object, defined by the caller. This parameter can be null. You can use this object to hold state information. The object is returned to the caller when the callback is invoked.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The owner was already set. This method cannot be called twice on the sample.

?

- -

When this method is called, the sample holds an additional reference count on itself. When every other object releases its reference counts on the sample, the sample invokes the pSampleAllocator callback method. To get a reference to the sample, call on the asynchronous result object given to the callback's method.

After the callback is invoked, the sample clears the callback. To reinstate the callback, you must call SetAllocator again.

It is safe to pass in the sample's interface reference as the state object (pUnkState) for the callback. If pUnkState points to the sample, the SetAllocator method accounts for the additional reference count on pUnkState.

-
- - ms704797 - HRESULT IMFTrackedSample::SetAllocator([In] IMFAsyncCallback* pSampleAllocator,[In] IUnknown* pUnkState) - IMFTrackedSample::SetAllocator -
- - -

Implemented by the transcode profile object.

The transcode profile stores configuration settings that the topology builder uses to generate the transcode topology for the output file. These configuration settings are specified by the caller and include audio and video stream properties, encoder settings, and container settings that are specified by the caller.

To create the transcode profile object, call . The configured transcode profile is passed to , which creates the transcode topology with the appropriate settings.

-
- - dd369139 - IMFTranscodeProfile - IMFTranscodeProfile -
- - - Initializes a new instance of the 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 or sets the audio stream settings that are currently set in the transcode profile.

-
- -

If there are no audio attributes set in the transcode profile, the call to GetAudioAttributes succeeds and ppAttrs receives null.

To get a specific attribute value, the caller must call the appropriate method depending on the data type of the attribute, and specify the attribute name. The following topics describe the audio attributes:

  • Audio Media Types
-
- - dd369140 - GetAudioAttributes / SetAudioAttributes - GetAudioAttributes - HRESULT IMFTranscodeProfile::GetAudioAttributes([Out, Optional] IMFAttributes** ppAttrs) -
- - -

Gets or sets the video stream settings that are currently set in the transcode profile.

-
- -

If there are no container attributes set in the transcode profile, the GetVideoAttributes method succeeds and ppAttrs receives null.

To get a specific attribute value, the caller must call the appropriate method depending on the data type of the attribute, and specify the attribute name. The following list shows the video attributes:

  • Video Media Types
-
- - dd369142 - GetVideoAttributes / SetVideoAttributes - GetVideoAttributes - HRESULT IMFTranscodeProfile::GetVideoAttributes([Out, Optional] IMFAttributes** ppAttrs) -
- - -

Gets or sets the container settings that are currently set in the transcode profile.

-
- -

If there are no container attributes set in the transcode profile, the call to GetContainerAttributes succeeds and ppAttrs receives null.

To get a specific attribute value, the caller must call the appropriate method depending on the data type of the attribute. The following list shows the container attributes:

-
- - dd369141 - GetContainerAttributes / SetContainerAttributes - GetContainerAttributes - HRESULT IMFTranscodeProfile::GetContainerAttributes([Out, Optional] IMFAttributes** ppAttrs) -
- - -

Sets audio stream configuration settings in the transcode profile.

To get a list of compatible audio media types supported by the Media Foundation transform (MFT) encoder , call . You can get the attributes that are set on the required media type and set them on the transcode profile. To set the audio attributes properly, create a new attribute store and copy the attribute store from the required media media type by calling . This makes sure that the caller does not hold the references to the media type retrieved from the encoder. For example code, see .

-
- No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dd369143 - HRESULT IMFTranscodeProfile::SetAudioAttributes([In, Optional] IMFAttributes* pAttrs) - IMFTranscodeProfile::SetAudioAttributes -
- - -

Gets the audio stream settings that are currently set in the transcode profile.

-
-

Receives a reference to the interface of the attribute store containing the current audio stream settings. Caller must release the interface reference.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

If there are no audio attributes set in the transcode profile, the call to GetAudioAttributes succeeds and ppAttrs receives null.

To get a specific attribute value, the caller must call the appropriate method depending on the data type of the attribute, and specify the attribute name. The following topics describe the audio attributes:

  • Audio Media Types
-
- - dd369140 - HRESULT IMFTranscodeProfile::GetAudioAttributes([Out, Optional] IMFAttributes** ppAttrs) - IMFTranscodeProfile::GetAudioAttributes -
- - -

Sets video stream configuration settings in the transcode profile.

For example code, see .

-
- No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dd369145 - HRESULT IMFTranscodeProfile::SetVideoAttributes([In, Optional] IMFAttributes* pAttrs) - IMFTranscodeProfile::SetVideoAttributes -
- - -

Gets the video stream settings that are currently set in the transcode profile.

-
-

Receives a reference to the interface of the attribute store containing the current video stream settings. Caller must release the interface reference.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

If there are no container attributes set in the transcode profile, the GetVideoAttributes method succeeds and ppAttrs receives null.

To get a specific attribute value, the caller must call the appropriate method depending on the data type of the attribute, and specify the attribute name. The following list shows the video attributes:

  • Video Media Types
-
- - dd369142 - HRESULT IMFTranscodeProfile::GetVideoAttributes([Out, Optional] IMFAttributes** ppAttrs) - IMFTranscodeProfile::GetVideoAttributes -
- - -

Sets container configuration settings in the transcode profile.

For example code, see .

-
- No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dd369144 - HRESULT IMFTranscodeProfile::SetContainerAttributes([In, Optional] IMFAttributes* pAttrs) - IMFTranscodeProfile::SetContainerAttributes -
- - -

Gets the container settings that are currently set in the transcode profile.

-
-

Receives a reference to the interface of the attribute store containing the current container type for the output file. Caller must release the interface reference.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

If there are no container attributes set in the transcode profile, the call to GetContainerAttributes succeeds and ppAttrs receives null.

To get a specific attribute value, the caller must call the appropriate method depending on the data type of the attribute. The following list shows the container attributes:

-
- - dd369141 - HRESULT IMFTranscodeProfile::GetContainerAttributes([Out, Optional] IMFAttributes** ppAttrs) - IMFTranscodeProfile::GetContainerAttributes -
- - -

Sets the name of the encoded output file.

-
- -

The media sink will create a local file with the specified file name.

Alternately, you can call to specify a byte stream that will receive the transcoded data. These two methods are mutually exclusive.

-
- - dd369149 - IMFTranscodeSinkInfoProvider - IMFTranscodeSinkInfoProvider -
- - - Initializes a new instance of the 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 name of the encoded output file.

-
- -

The media sink will create a local file with the specified file name.

Alternately, you can call to specify a byte stream that will receive the transcoded data. These two methods are mutually exclusive.

-
- - dd369149 - SetOutputFile - SetOutputFile - HRESULT IMFTranscodeSinkInfoProvider::SetOutputFile([In] const wchar_t* pwszFileName) -
- - -

Sets an output byte stream for the transcode media sink.

-
- -

Call this method to provide a writeable byte stream that will receive the transcoded data.

Alternatively, you can provide the name of an output file, by calling . These two methods are mutually exclusive.

The pByteStreamActivate parameter must specify an activation object that creates a writeable byte stream. Internally, the transcode media sink calls to create the byte stream, as follows:

*pByteStream = null; hr = pByteStreamActivate->ActivateObject(IID_IMFByteStream, (void**)&pByteStream);

Currently, Microsoft Media Foundation does not provide any byte-stream activation objects. To use this method, an application must provide a custom implementation of .

-
- - dd369148 - SetOutputByteStream - SetOutputByteStream - HRESULT IMFTranscodeSinkInfoProvider::SetOutputByteStream([In] IMFActivate* pByteStreamActivate) -
- - -

Sets the transcoding profile on the transcode sink activation object.

-
- -

Before calling this method, initialize the profile object as follows:

  • Set the attribute to specify the container type of the output file.
  • If the output file will have a video stream, set video attributes by calling the method.
  • If the output file will have an audio stream, set audio attributes by calling the method.
-
- - dd369150 - SetProfile - SetProfile - HRESULT IMFTranscodeSinkInfoProvider::SetProfile([In] IMFTranscodeProfile* pProfile) -
- - -

Gets the media types for the audio and video streams specified in the transcode profile.

-
- -

Before calling this method, call to set the transcode profile. The GetSinkInfo method uses the profile to create media types for the audio and video streams.

-
- - dd369147 - GetSinkInfo - GetSinkInfo - HRESULT IMFTranscodeSinkInfoProvider::GetSinkInfo([Out] MF_TRANSCODE_SINK_INFO* pSinkInfo) -
- - -

Sets the name of the encoded output file.

-
-

Pointer to a null-terminated string that contains the name of the output file.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

The media sink will create a local file with the specified file name.

Alternately, you can call to specify a byte stream that will receive the transcoded data. These two methods are mutually exclusive.

-
- - dd369149 - HRESULT IMFTranscodeSinkInfoProvider::SetOutputFile([In] const wchar_t* pwszFileName) - IMFTranscodeSinkInfoProvider::SetOutputFile -
- - -

Sets an output byte stream for the transcode media sink.

-
-

A reference to the interface of a byte-stream activation object.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

Call this method to provide a writeable byte stream that will receive the transcoded data.

Alternatively, you can provide the name of an output file, by calling . These two methods are mutually exclusive.

The pByteStreamActivate parameter must specify an activation object that creates a writeable byte stream. Internally, the transcode media sink calls to create the byte stream, as follows:

*pByteStream = null; hr = pByteStreamActivate->ActivateObject(IID_IMFByteStream, (void**)&pByteStream);

Currently, Microsoft Media Foundation does not provide any byte-stream activation objects. To use this method, an application must provide a custom implementation of .

-
- - dd369148 - HRESULT IMFTranscodeSinkInfoProvider::SetOutputByteStream([In] IMFActivate* pByteStreamActivate) - IMFTranscodeSinkInfoProvider::SetOutputByteStream -
- - -

Sets the transcoding profile on the transcode sink activation object.

-
-

A reference to the interface. To get a reference to this interface, call .

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

Before calling this method, initialize the profile object as follows:

  • Set the attribute to specify the container type of the output file.
  • If the output file will have a video stream, set video attributes by calling the method.
  • If the output file will have an audio stream, set audio attributes by calling the method.
-
- - dd369150 - HRESULT IMFTranscodeSinkInfoProvider::SetProfile([In] IMFTranscodeProfile* pProfile) - IMFTranscodeSinkInfoProvider::SetProfile -
- - -

Gets the media types for the audio and video streams specified in the transcode profile.

-
-

A reference to an structure.

If the method succeeds, the method assigns references to the pAudioMediaType and pVideoMediaType members of this structure. The method might set either member to null. If either member is non-null after the method returns, the caller must release the references.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

Before calling this method, call to set the transcode profile. The GetSinkInfo method uses the profile to create media types for the audio and video streams.

-
- - dd369147 - HRESULT IMFTranscodeSinkInfoProvider::GetSinkInfo([Out] MF_TRANSCODE_SINK_INFO* pSinkInfo) - IMFTranscodeSinkInfoProvider::GetSinkInfo -
- - -

Implemented by all Media Foundation Transforms (MFTs).

-
- - ms696260 - IMFTransform - IMFTransform -
- - - Initializes a new instance of the 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 global attribute store for this Media Foundation transform (MFT).

-
- -

Use the reference retrieved by this method to get or set attributes that apply to the entire MFT. To get the attribute store for an input stream, call . To get the attribute store for an output stream, call .

Implementation of this method is optional unless the MFT needs to support a particular set of attributes. Exception: Hardware-based MFTs must implement this method. See Hardware MFTs.

-
- - ms703141 - GetAttributes - GetAttributes - HRESULT IMFTransform::GetAttributes([Out] IMFAttributes** pAttributes) -
- - -

Queries whether the Media Foundation transform (MFT) is ready to produce output data.

-
- -

If the method returns the flag, it means you can generate one or more output samples by calling .

MFTs are not required to implement this method. If the method returns E_NOTIMPL, you must call ProcessOutput to determine whether the transform has output data.

If the MFT has more than one output stream, but it does not produce samples at the same time for each stream, it can set the flag when just one stream is ready. However, if the MFT normally produces samples at the same time for each output stream, it should not set this flag until all streams are ready.

After the client has set valid media types on all of the streams, the MFT should always be in one of two states: Able to accept more input, or able to produce more output.

If MFT_UNIQUE_METHOD_NAMES is defined before including mftransform.h, this method is renamed MFTGetOutputStatus. See Creating Hybrid DMO/MFT Objects.

-
- - ms696269 - GetOutputStatus - GetOutputStatus - HRESULT IMFTransform::GetOutputStatus([Out] unsigned int* pdwFlags) -
- - -

Gets the minimum and maximum number of input and output streams for this Media Foundation transform (MFT).

-
-

Receives the minimum number of input streams.

-

Receives the maximum number of input streams. If there is no maximum, receives the value MFT_STREAMS_UNLIMITED.

-

Receives the minimum number of output streams.

-

Receives the maximum number of output streams. If there is no maximum, receives the value MFT_STREAMS_UNLIMITED.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

If the MFT has a fixed number of streams, the minimum and maximum values are the same.

It is not recommended to create an MFT that supports zero inputs or zero outputs. An MFT with no inputs or no outputs may not be compatible with the rest of the Media Foundation pipeline. You should create a Media Foundation sink or source for this purpose instead.

When an MFT is first created, it is not guaranteed to have the minimum number of streams. To find the actual number of streams, call .

This method should not be called with null parameters, although in practice some implementations may allow null parameters.

If MFT_UNIQUE_METHOD_NAMES is defined before including mftransform.h, this method is renamed MFTGetStreamLimits. See Creating Hybrid DMO/MFT Objects.

-
- - ms697040 - HRESULT IMFTransform::GetStreamLimits([Out] unsigned int* pdwInputMinimum,[Out] unsigned int* pdwInputMaximum,[Out] unsigned int* pdwOutputMinimum,[Out] unsigned int* pdwOutputMaximum) - IMFTransform::GetStreamLimits -
- - -

Gets the current number of input and output streams on this Media Foundation transform (MFT).

-
-

Receives the number of input streams.

-

Receives the number of output streams.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

The number of streams includes unselected streams?that is, streams with no media type or a null media type.

This method should not be called with null parameters, although in practice some implementations may allow null parameters.

If MFT_UNIQUE_METHOD_NAMES is defined before including mftransform.h, this method is renamed MFTGetStreamCount. See Creating Hybrid DMO/MFT Objects.

-
- - ms697018 - HRESULT IMFTransform::GetStreamCount([Out] unsigned int* pcInputStreams,[Out] unsigned int* pcOutputStreams) - IMFTransform::GetStreamCount -
- - -

Gets the stream identifiers for the input and output streams on this Media Foundation transform (MFT).

-
-

Number of elements in the pdwInputIDs array.

-

Pointer to an array allocated by the caller. The method fills the array with the input stream identifiers. The array size must be at least equal to the number of input streams. To get the number of input streams, call .

If the caller passes an array that is larger than the number of input streams, the MFT must not write values into the extra array entries.

-

Number of elements in the pdwOutputIDs array.

-

Pointer to an array allocated by the caller. The method fills the array with the output stream identifiers. The array size must be at least equal to the number of output streams. To get the number of output streams, call GetStreamCount.

If the caller passes an array that is larger than the number of output streams, the MFT must not write values into the extra array entries.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_NOTIMPL

Not implemented. See Remarks.

One or both of the arrays is too small.

?

- -

Stream identifiers are necessary because some MFTs can add or remove streams, so the index of a stream may not be unique. Therefore, methods that operate on streams take stream identifiers.

This method can return E_NOTIMPL if both of the following conditions are true:

  • The transform has a fixed number of streams.
  • The streams are numbered consecutively from 0 to n ? 1, where n is the number of input streams or output streams. In other words, the first input stream is 0, the second is 1, and so on; and the first output stream is 0, the second is 1, and so on.

This method must be implemented if any of the following conditions is true:

  • The MFT can add or remove output streams.
  • The MFT allows the client to add or remove input streams.
  • The stream identifiers are not consecutive.

All input stream identifiers must be unique within an MFT, and all output stream identifiers must be unique. However, an input stream and an output stream can share the same identifier.

If the client adds an input stream, the client assigns the identifier, so the MFT must allow arbitrary identifiers, as long as they are unique. If the MFT creates an output stream, the MFT assigns the identifier.

By convention, if an MFT has exactly one fixed input stream and one fixed output stream, it should assign the identifier 0 to both streams.

If MFT_UNIQUE_METHOD_NAMES is defined before including mftransform.h, this method is renamed MFTGetStreamIDs. See Creating Hybrid DMO/MFT Objects.

-
- - ms693988 - HRESULT IMFTransform::GetStreamIDs([In] unsigned int dwInputIDArraySize,[Out, Buffer] unsigned int* pdwInputIDs,[In] unsigned int dwOutputIDArraySize,[Out, Buffer] unsigned int* pdwOutputIDs) - IMFTransform::GetStreamIDs -
- - -

Gets the buffer requirements and other information for an input stream on this Media Foundation transform (MFT).

-
-

Input stream identifier. To get the list of stream identifiers, call .

-

Pointer to an structure. The method fills the structure with information about the input stream.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

Invalid stream identifier.

?

- -

It is valid to call this method before setting the media types.

If MFT_UNIQUE_METHOD_NAMES is defined before including mftransform.h, this method is renamed MFTGetInputStreamInfo. See Creating Hybrid DMO/MFT Objects.

-
- - ms703894 - HRESULT IMFTransform::GetInputStreamInfo([In] unsigned int dwInputStreamID,[Out] MFT_INPUT_STREAM_INFO* pStreamInfo) - IMFTransform::GetInputStreamInfo -
- - -

Gets the buffer requirements and other information for an output stream on this Media Foundation transform (MFT).

-
-

Output stream identifier. To get the list of stream identifiers, call .

-

Pointer to an structure. The method fills the structure with information about the output stream.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

Invalid stream number.

?

- -

It is valid to call this method before setting the media types.

If MFT_UNIQUE_METHOD_NAMES is defined before including mftransform.h, this method is renamed MFTGetOutputStreamInfo. See Creating Hybrid DMO/MFT Objects.

-
- - ms693880 - HRESULT IMFTransform::GetOutputStreamInfo([In] unsigned int dwOutputStreamID,[Out] MFT_OUTPUT_STREAM_INFO* pStreamInfo) - IMFTransform::GetOutputStreamInfo -
- - -

Gets the global attribute store for this Media Foundation transform (MFT).

-
-

Receives a reference to the interface. The caller must release the interface.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_NOTIMPL

The MFT does not support attributes.

?

- -

Use the reference retrieved by this method to get or set attributes that apply to the entire MFT. To get the attribute store for an input stream, call . To get the attribute store for an output stream, call .

Implementation of this method is optional unless the MFT needs to support a particular set of attributes. Exception: Hardware-based MFTs must implement this method. See Hardware MFTs.

-
- - ms703141 - HRESULT IMFTransform::GetAttributes([Out] IMFAttributes** pAttributes) - IMFTransform::GetAttributes -
- - -

Gets the attribute store for an input stream on this Media Foundation transform (MFT).

-
-

Input stream identifier. To get the list of stream identifiers, call .

-

Receives a reference to the interface. The caller must release the interface.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_NOTIMPL

The MFT does not support input stream attributes.

Invalid stream identifier.

?

- -

Implementation of this method is optional unless the MFT needs to support a particular set of attributes.

To get the attribute store for the entire MFT, call .

-
- - ms695366 - HRESULT IMFTransform::GetInputStreamAttributes([In] unsigned int dwInputStreamID,[Out] IMFAttributes** pAttributes) - IMFTransform::GetInputStreamAttributes -
- - -

Gets the attribute store for an output stream on this Media Foundation transform (MFT).

-
-

Output stream identifier. To get the list of stream identifiers, call .

-

Receives a reference to the interface. The caller must release the interface.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_NOTIMPL

The MFT does not support output stream attributes.

Invalid stream identifier.

?

- -

Implementation of this method is optional unless the MFT needs to support a particular set of attributes.

To get the attribute store for the entire MFT, call .

-
- - ms703886 - HRESULT IMFTransform::GetOutputStreamAttributes([In] unsigned int dwOutputStreamID,[Out] IMFAttributes** pAttributes) - IMFTransform::GetOutputStreamAttributes -
- - -

Removes an input stream from this Media Foundation transform (MFT).

-
-

Identifier of the input stream to remove.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_NOTIMPL

The transform has a fixed number of input streams.

The stream is not removable, or the transform currently has the minimum number of input streams it can support.

Invalid stream identifier.

The transform has unprocessed input buffers for the specified stream.

?

- -

If the transform has a fixed number of input streams, the method returns E_NOTIMPL.

An MFT might support this method but not allow certain input streams to be removed. If an input stream can be removed, the method returns the flag for that stream. Otherwise, the stream cannot be removed, and the method returns . The method also fails if the MFT currently has the minimum number of input streams that it requires. To find the minimum number of streams, call .

If the transform still has unprocessed input for that stream, the method might succeed or it might return . If the method succeeds, the MFT will continue to process the remaining input after the stream is removed. If the method returns , you must clear the input buffers before removing the stream. To clear the input buffers, either call or else call with the to flush the MFT. Then call the DeleteInputStream again. An MFT should never discard input buffers when DeleteInputStream is called.

If MFT_UNIQUE_METHOD_NAMES is defined before including mftransform.h, this method is renamed MFTDeleteInputStream. See Creating Hybrid DMO/MFT Objects.

-
- - ms703159 - HRESULT IMFTransform::DeleteInputStream([In] unsigned int dwStreamID) - IMFTransform::DeleteInputStream -
- - -

Adds one or more new input streams to this Media Foundation transform (MFT).

-
-

Number of streams to add.

-

Array of stream identifiers. The new stream identifiers must not match any existing input streams.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_INVALIDARG

Invalid argument.

E_NOTIMPL

The MFT has a fixed number of input streams.

?

- -

If the new streams exceed the maximum number of input streams for this transform, the method returns E_INVALIDARG. To find the maximum number of input streams, call .

If any of the new stream identifiers conflicts with an existing input stream, the method returns E_INVALIDARG.

If MFT_UNIQUE_METHOD_NAMES is defined before including mftransform.h, this method is renamed MFTAddInputStreams. See Creating Hybrid DMO/MFT Objects.

-
- - ms696211 - HRESULT IMFTransform::AddInputStreams([In] unsigned int cStreams,[In] unsigned int* adwStreamIDs) - IMFTransform::AddInputStreams -
- - -

Gets an available media type for an input stream on this Media Foundation transform (MFT).

-
-

Input stream identifier. To get the list of stream identifiers, call .

-

Index of the media type to retrieve. Media types are indexed from zero and returned in approximate order of preference.

-

Receives a reference to the interface.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_NOTIMPL

The MFT does not have a list of available input types.

Invalid stream identifier.

The dwTypeIndex parameter is out of range.

You must set the output types before setting the input types.

?

- -

The MFT defines a list of available media types for each input stream and orders them by preference. This method enumerates the available media types for an input stream. To enumerate the available types, increment dwTypeIndex until the method returns .

Setting the media type on one stream might change the available types for another stream, or change the preference order. However, an MFT is not required to update the list of available types dynamically. The only guaranteed way to test whether you can set a particular input type is to call .

In some cases, an MFT cannot return a list of input types until one or more output types are set. If so, the method returns .

An MFT is not required to implement this method. However, most MFTs should implement this method, unless the supported types are simple and can be discovered through the function.

If MFT_UNIQUE_METHOD_NAMES is defined before including mftransform.h, this method is renamed MFTGetInputAvailableType. See Creating Hybrid DMO/MFT Objects.

For encoders, after the output type is set, GetInputAvailableType must return a list of input types that are compatible with the current output type. This means that all types returned by GetInputAvailableType after the output type is set must be valid types for SetInputType.

Encoders should reject input types if the attributes of the input media type and output media type do not match, such as resolution setting with , nominal range setting with , or frame rate setting with

-
- - ms704814 - HRESULT IMFTransform::GetInputAvailableType([In] unsigned int dwInputStreamID,[In] unsigned int dwTypeIndex,[Out] IMFMediaType** ppType) - IMFTransform::GetInputAvailableType -
- - -

Gets an available media type for an output stream on this Media Foundation transform (MFT).

-
-

Output stream identifier. To get the list of stream identifiers, call .

-

Index of the media type to retrieve. Media types are indexed from zero and returned in approximate order of preference.

-

Receives a reference to the interface. The caller must release the interface.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_NOTIMPL

The MFT does not have a list of available output types.

Invalid stream identifier.

The dwTypeIndex parameter is out of range.

You must set the input types before setting the output types.

?

- -

The MFT defines a list of available media types for each output stream and orders them by preference. This method enumerates the available media types for an output stream. To enumerate the available types, increment dwTypeIndex until the method returns MF_E_NO_MORE_TYPES.

Setting the media type on one stream can change the available types for another stream (or change the preference order). However, an MFT is not required to update the list of available types dynamically. The only guaranteed way to test whether you can set a particular input type is to call .

In some cases, an MFT cannot return a list of output types until one or more input types are set. If so, the method returns .

An MFT is not required to implement this method. However, most MFTs should implement this method, unless the supported types are simple and can be discovered through the function.

This method can return a partial media type. A partial media type contains an incomplete description of a format, and is used to provide a hint to the caller. For example, a partial type might include just the major type and subtype GUIDs. However, after the client sets the input types on the MFT, the MFT should generally return at least one complete output type, which can be used without further modification. For more information, see Complete and Partial Media Types.

Some MFTs cannot provide an accurate list of output types until the MFT receives the first input sample. For example, the MFT might need to read the first packet header to deduce the format. An MFT should handle this situation as follows:

  1. Before the MFT receives any input, it offers a list of one or more output types that it could possibly produce. For example, an MPEG-2 decoder might return a media type that describes the MPEG-2 main profile/main level.
  2. The client selects one of these types (generally the first) and sets it on the output stream.
  3. The client delivers the first input sample by calling .
  4. If the output type does not conform to the input data, the transform signals a format change in the ProcessOutput method. For more information about format changes, see .
  5. The calls GetOutputAvailableType again. At this point, the method should return an updated list of types that reflects the input data.
  6. The client selects a new output type from this list and calls SetOutputType.

If MFT_UNIQUE_METHOD_NAMES is defined before including mftransform.h, this method is renamed MFTGetOutputAvailableType. See Creating Hybrid DMO/MFT Objects.

-
- - ms703812 - HRESULT IMFTransform::GetOutputAvailableType([In] unsigned int dwOutputStreamID,[In] unsigned int dwTypeIndex,[Out] IMFMediaType** ppType) - IMFTransform::GetOutputAvailableType -
- - -

Sets, tests, or clears the media type for an input stream on this Media Foundation transform (MFT).

-
-

Input stream identifier. To get the list of stream identifiers, call .

-

Pointer to the interface, or null.

-

Zero or more flags from the _MFT_SET_TYPE_FLAGS enumeration.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The MFT cannot use the proposed media type.

Invalid stream identifier.

The proposed type is not valid. This error code indicates that the media type itself is not configured correctly; for example, it might contain mutually contradictory attributes.

The MFT cannot switch types while processing data. Try draining or flushing the MFT.

You must set the output types before setting the input types.

The MFT could not find a suitable DirectX Video Acceleration (DXVA) configuration.

?

- -

This method can be used to set, test without setting, or clear the media type:

  • To set the media type, set dwFlags to zero and set pType to a non-null reference that specifies the media type.
  • To test the media type without setting it, set dwFlags to and set pType to a non-null reference that specifies the media type. If the media type is acceptable, the method return . Otherwise, it returns . Regardless of the return value, the current media type does not change.
  • To clear the media type, set pType to null.

Setting the media type on one stream may change the acceptable types on another stream.

An MFT may require the caller to set one or more output types before setting the input type. If so, the method returns .

If the MFT supports DirectX Video Acceleration (DXVA) but is unable to find a suitable DXVA configuration (for example, if the graphics driver does not have the right capabilities), the method should return . For more information, see Supporting DXVA 2.0 in Media Foundation.

If MFT_UNIQUE_METHOD_NAMES is defined before including mftransform.h, this method is renamed MFTSetInputType. See Creating Hybrid DMO/MFT Objects.

-
- - ms700113 - HRESULT IMFTransform::SetInputType([In] unsigned int dwInputStreamID,[In, Optional] IMFMediaType* pType,[In] unsigned int dwFlags) - IMFTransform::SetInputType -
- - -

Sets, tests, or clears the media type for an output stream on this Media Foundation transform (MFT).

-
-

Output stream identifier. To get the list of stream identifiers, call .

-

Pointer to the interface, or null.

-

Zero or more flags from the _MFT_SET_TYPE_FLAGS enumeration.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The transform cannot use the proposed media type.

Invalid stream identifier.

The proposed type is not valid. This error code indicates that the media type itself is not configured correctly; for example, it might contain mutually contradictory flags.

The MFT cannot switch types while processing data. Try draining or flushing the MFT.

You must set the input types before setting the output types.

The MFT could not find a suitable DirectX Video Acceleration (DXVA) configuration.

?

- -

This method can be used to set, test without setting, or clear the media type:

  • To set the media type, set dwFlags to zero and set pType to a non-null reference that specifies the media type.
  • To test the media type without setting it, set dwFlags to and set pType to a non-null reference that specifies the media type. If the media type is acceptable, the method return . Otherwise, it returns . Regardless of the return value, the current media type does not change.
  • To clear the media type, set pType to null.

Setting the media type on one stream may change the acceptable types on another stream.

An MFT may require the caller to set one or more input types before setting the output type. If so, the method returns .

If the MFT supports DirectX Video Acceleration (DXVA) but is unable to find a suitable DXVA configuration (for example, if the graphics driver does not have the right capabilities), the method should return . For more information, see Supporting DXVA 2.0 in Media Foundation.

If MFT_UNIQUE_METHOD_NAMES is defined before including mftransform.h, this method is renamed MFTSetOutputType. See Creating Hybrid DMO/MFT Objects.

-
- - ms702016 - HRESULT IMFTransform::SetOutputType([In] unsigned int dwOutputStreamID,[In, Optional] IMFMediaType* pType,[In] unsigned int dwFlags) - IMFTransform::SetOutputType -
- - -

Gets the current media type for an input stream on this Media Foundation transform (MFT).

-
-

Input stream identifier. To get the list of stream identifiers, call .

-

Receives a reference to the interface. The caller must release the interface.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

Invalid stream identifier.

The input media type has not been set.

?

- -

If the specified input stream does not yet have a media type, the method returns . Most MFTs do not set any default media types when first created. Instead, the client must set the media type by calling .

If MFT_UNIQUE_METHOD_NAMES is defined before including mftransform.h, this method is renamed MFTGetInputCurrentType. See Creating Hybrid DMO/MFT Objects.

-
- - ms705607 - HRESULT IMFTransform::GetInputCurrentType([In] unsigned int dwInputStreamID,[Out] IMFMediaType** ppType) - IMFTransform::GetInputCurrentType -
- - -

Gets the current media type for an output stream on this Media Foundation transform (MFT).

-
-

Output stream identifier. To get the list of stream identifiers, call .

-

Receives a reference to the interface. The caller must release the interface.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

Invalid stream identifier.

The output media type has not been set.

?

- -

If the specified output stream does not yet have a media type, the method returns . Most MFTs do not set any default media types when first created. Instead, the client must set the media type by calling .

If MFT_UNIQUE_METHOD_NAMES is defined before including mftransform.h, this method is renamed MFTGetOutputCurrentType. See Creating Hybrid DMO/MFT Objects.

-
- - ms696985 - HRESULT IMFTransform::GetOutputCurrentType([In] unsigned int dwOutputStreamID,[Out] IMFMediaType** ppType) - IMFTransform::GetOutputCurrentType -
- - -

Queries whether an input stream on this Media Foundation transform (MFT) can accept more data.

-
-

Input stream identifier. To get the list of stream identifiers, call .

-

Receives a member of the _MFT_INPUT_STATUS_FLAGS enumeration, or zero. If the value is , the stream specified in dwInputStreamID can accept more input data.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

Invalid stream identifier.

The media type is not set on one or more streams.

?

- -

If the method returns the flag, you can deliver an input sample to the specified stream by calling . If the method succeeds but does not return any flags in the pdwFlags parameter, it means the input stream already has as much data as it can accept.

Use this method to test whether the input stream is ready to accept more data, without incurring the overhead of allocating a new sample and calling ProcessInput.

After the client has set valid media types on all of the streams, the MFT should always be in one of two states: Able to accept more input, or able to produce more output (or both).

If MFT_UNIQUE_METHOD_NAMES is defined before including mftransform.h, this method is renamed MFTGetInputStatus. See Creating Hybrid DMO/MFT Objects.

-
- - ms697478 - HRESULT IMFTransform::GetInputStatus([In] unsigned int dwInputStreamID,[Out] unsigned int* pdwFlags) - IMFTransform::GetInputStatus -
- - -

Queries whether the Media Foundation transform (MFT) is ready to produce output data.

-
-

Receives a member of the _MFT_OUTPUT_STATUS_FLAGS enumeration, or zero. If the value is , the MFT can produce an output sample.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_NOTIMPL

Not implemented.

The media type is not set on one or more streams.

?

- -

If the method returns the flag, it means you can generate one or more output samples by calling .

MFTs are not required to implement this method. If the method returns E_NOTIMPL, you must call ProcessOutput to determine whether the transform has output data.

If the MFT has more than one output stream, but it does not produce samples at the same time for each stream, it can set the flag when just one stream is ready. However, if the MFT normally produces samples at the same time for each output stream, it should not set this flag until all streams are ready.

After the client has set valid media types on all of the streams, the MFT should always be in one of two states: Able to accept more input, or able to produce more output.

If MFT_UNIQUE_METHOD_NAMES is defined before including mftransform.h, this method is renamed MFTGetOutputStatus. See Creating Hybrid DMO/MFT Objects.

-
- - ms696269 - HRESULT IMFTransform::GetOutputStatus([Out] unsigned int* pdwFlags) - IMFTransform::GetOutputStatus -
- - -

Sets the range of time stamps the client needs for output.

-
-

Specifies the earliest time stamp. The Media Foundation transform (MFT) will accept input until it can produce an output sample that begins at this time; or until it can produce a sample that ends at this time or later. If there is no lower bound, use the value MFT_OUTPUT_BOUND_LOWER_UNBOUNDED.

-

Specifies the latest time stamp. The MFT will not produce an output sample with time stamps later than this time. If there is no upper bound, use the value MFT_OUTPUT_BOUND_UPPER_UNBOUNDED.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_NOTIMPL

Not implemented.

The media type is not set on one or more streams.

?

- -

This method can be used to optimize preroll, especially in formats that have gaps between time stamps, or formats where the data must start on a sync point, such as MPEG-2. Calling this method is optional, and implementation of this method by an MFT is optional. If the MFT does not implement the method, the return value is E_NOTIMPL.

If an MFT implements this method, it must limit its output data to the range of times specified by hnsLowerBound and hnsUpperBound. The MFT discards any input data that is not needed to produce output within this range. If the sample boundaries do not exactly match the range, the MFT should split the output samples, if possible. Otherwise, the output samples can overlap the range.

For example, suppose the output range is 100 to 150 milliseconds (ms), and the output format is video with each frame lasting 33 ms. A sample with a time stamp of 67 ms overlaps the range (67 + 33 = 100) and is produced as output. A sample with a time stamp of 66 ms is discarded (66 + 33 = 99). Similarly, a sample with a time stamp of 150 ms is produced as output, but a sample with a time stamp of 151 is discarded.

If MFT_UNIQUE_METHOD_NAMES is defined before including mftransform.h, this method is renamed MFTSetOutputBounds. See Creating Hybrid DMO/MFT Objects.

-
- - ms693812 - HRESULT IMFTransform::SetOutputBounds([In] longlong hnsLowerBound,[In] longlong hnsUpperBound) - IMFTransform::SetOutputBounds -
- - -

Sends an event to an input stream on this Media Foundation transform (MFT).

-
-

Input stream identifier. To get the list of stream identifiers, call .

-

Pointer to the interface of an event object.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_NOTIMPL

Not implemented.

Invalid stream number.

The media type is not set on one or more streams.

MF_S_TRANSFORM_DO_NOT_PROPAGATE_EVENT

The pipeline should not propagate the event.

?

- -

An MFT can handle sending the event downstream, or it can let the pipeline do this, as indicated by the return value:

  • E_NOTIMPL: The MFT ignores all events, and the pipeline should send all events downstream. After the pipeline receives this return value, it might not call ProcessEvent again.
  • : The MFT has examined this event, but the pipeline should send the event downstream. Internally, the MFT might respond to the event in some way, or it might ignore the event.
  • MF_S_TRANSFORM_DO_NOT_PROPAGATE_EVENT: The pipeline should not propagate this event downstream. Either the MFT will send the event downstream, or else the MFT will consume the event and not send it downstream. The MFT should only consume the event if the event should stop at this MFT and not travel any further downstream. But in most cases, the event should travel downstream.

To send the event downstream, the MFT adds the event to the collection object that is provided by the client in the pEvents member of the structure, when the client calls .

Events must be serialized with the samples that come before and after them. Attach the event to the output sample that follows the event. (The pipeline will process the event first, and then the sample.) If an MFT holds back one or more samples between calls to and ProcessOutput, the MFT should handle sending all events downstream, because in this situation the pipeline cannot correlate input samples with output samples.

If an MFT does not hold back samples and does not need to examine any events, it can return E_NOTIMPL.

If MFT_UNIQUE_METHOD_NAMES is defined before including mftransform.h, this method is renamed MFTProcessEvent. See Creating Hybrid DMO/MFT Objects.

-
- - ms695394 - HRESULT IMFTransform::ProcessEvent([In] unsigned int dwInputStreamID,[In, Optional] IMFMediaEvent* pEvent) - IMFTransform::ProcessEvent -
- - -

Sends a message to the Media Foundation transform (MFT).

-
-

The message to send, specified as a member of the enumeration.

-

Message parameter. The meaning of this parameter depends on the message type.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

Invalid stream number. Applies to the message.

The media type is not set on one or more streams.

?

- -

Before calling this method, set the media types on all input and output streams.

The MFT might ignore certain message types. If so, the method returns . An error code indicates that the transform handles this message type but was unable to process the message in this instance.

If MFT_UNIQUE_METHOD_NAMES is defined before including mftransform.h, this method is renamed MFTProcessMessage. See Creating Hybrid DMO/MFT Objects.

-
- - ms701863 - HRESULT IMFTransform::ProcessMessage([In] MFT_MESSAGE_TYPE eMessage,[In] ULONG_PTR ulParam) - IMFTransform::ProcessMessage -
- - -

Delivers data to an input stream on this Media Foundation transform (MFT).

-
-

Input stream identifier. To get the list of stream identifiers, call .

-

Pointer to the interface of the input sample. The sample must contain at least one media buffer that contains valid input data.

-

Reserved. Must be zero.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_INVALIDARG

Invalid argument.

Invalid stream identifier.

The input sample requires a valid sample duration. To set the duration, call .

Some MFTs require that input samples have valid durations. Some MFTs do not require sample durations.

The input sample requires a time stamp. To set the time stamp, call .

Some MFTs require that input samples have valid time stamps. Some MFTs do not require time stamps.

The transform cannot process more input at this time.

The media type is not set on one or more streams.

The media type is not supported for DirectX Video Acceleration (DXVA). A DXVA-enabled decoder might return this error code.

?

Note??If you are converting a DirectX Media Object (DMO) to an MFT, be aware that S_FALSE is not a valid return code for , unlike the method.?
- -

In most cases, if the method succeeds, the MFT stores the sample and holds a reference count on the reference. Do not re-use the sample until the MFT releases the sample. Instead of storing the sample, however, an MFT might copy the sample data into a new buffer. In that case, the MFT should set the flag in the method.

If the MFT already has enough input data to produce an output sample, it does not accept new input data, and ProcessInput returns . At that point, the client should clear the pending input data by doing one of the following:

  • Generate new output by calling .
  • Flush the input data by calling with the MFT_MESSAGE_COMMAND_FLUSH message.

An exception to this rule is the flag. When this flag is present, the transform will discard stored samples if you give it more input. For more information, see . A transform should never queue any more input data than is required to produce the correct output.

An MFT can process the input data in the ProcessInput method. However, most MFTs wait until the client calls ProcessOutput.

After the client has set valid media types on all of the streams, the MFT should always be in one of two states: Able to accept more input, or able to produce more output. It should never be in both states or neither state. An MFT should only accept as much input as it needs to generate at least one output sample, at which point ProcessInput returns . When ProcessInput returns , the client can assume that the MFT is ready to produce output.

If an MFT encounters a non-fatal error in the input data, it can simply drop the data and attempt to recover when it gets the more input data. To request more input data, the MFT returns from the method. If the MFT drops any data, it should set the attribute attribute on the next output sample, to notify the caller that there is a gap in the data stream.

If MFT_UNIQUE_METHOD_NAMES is defined before including mftransform.h, this method is renamed MFTProcessInput. See Creating Hybrid DMO/MFT Objects.

-
- - ms703131 - HRESULT IMFTransform::ProcessInput([In] unsigned int dwInputStreamID,[In] IMFSample* pSample,[In] unsigned int dwFlags) - IMFTransform::ProcessInput -
- - -

Generates output from the current input data.

-
-

Bitwise OR of zero or more flags from the _MFT_PROCESS_OUTPUT_FLAGS enumeration.

-

Number of elements in the pOutputSamples array. The value must be at least 1.

-

Pointer to an array of structures, allocated by the caller. The MFT uses this array to return output data to the caller.

-

Receives a bitwise OR of zero or more flags from the _MFT_PROCESS_OUTPUT_STATUS enumeration.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_UNEXPECTED

The ProcessOutput method was called on an asynchronous MFT that was not expecting this method call.

Invalid stream identifier in the dwStreamID member of one or more structures.

The transform cannot produce output data until it receives more input data.

The format has changed on an output stream, or there is a new preferred format, or there is a new output stream.

You must set the media type on one or more streams of the MFT.

?

Note??If you are converting a DirectX Media Object (DMO) to an MFT, be aware that S_FALSE is not a valid return code for , unlike the method.?
- -

The size of the pOutputSamples array must be equal to or greater than the number of selected output streams. The number of selected output streams equals the total number of output streams minus the number of deselected streams. A stream is deselected if it has the flag and the caller does not set a media type (or sets the media type to null). For more information, see _MFT_OUTPUT_STREAM_INFO_FLAGS enumeration.

This method generates output samples and can also generate events. If the method succeeds, at least one of the following conditions is true:

  • One or more samples in the pOutputSamples array contains output data.
  • One or more members of the pOutputSamples array contains a non-empty collection of events.

If MFT_UNIQUE_METHOD_NAMES is defined before including Mftransform.h, this method is renamed MFTProcessOutput. See Creating Hybrid DMO/MFT Objects.

-
- - ms704014 - HRESULT IMFTransform::ProcessOutput([In] _MFT_PROCESS_OUTPUT_FLAGS dwFlags,[In] unsigned int cOutputBufferCount,[In] MFT_OUTPUT_DATA_BUFFER* pOutputSamples,[Out] _MFT_PROCESS_OUTPUT_STATUS* pdwStatus) - IMFTransform::ProcessOutput -
- - - Initializes a new instance of the class. - - Guid of the Media Foundation Transform. - - - - Gets the stream identifiers for the input and output streams on this Media Foundation transform (MFT). - - An array allocated by the caller. The method fills the array with the input stream identifiers. The array size must be at least equal to the number of input streams. To get the number of input streams, call .If the caller passes an array that is larger than the number of input streams, the MFT must not write values into the extra array entries. - An array allocated by the caller. The method fills the array with the output stream identifiers. The array size must be at least equal to the number of output streams. To get the number of output streams, call .If the caller passes an array that is larger than the number of output streams, the MFT must not write values into the extra array entries. - true if Both streams IDs for input and output are valid, false otherwise - ms693988 - HRESULT IMFTransform::GetStreamIDs([In] unsigned int dwInputIDArraySize,[Out, Buffer] unsigned int* pdwInputIDs,[In] unsigned int dwOutputIDArraySize,[Out, Buffer] unsigned int* pdwOutputIDs) - IMFTransform::GetStreamIDs - - - - Gets an available media type for an output stream on this Media Foundation transform (MFT). - - Output stream identifier. To get the list of stream identifiers, call . - Index of the media type to retrieve. Media types are indexed from zero and returned in approximate order of preference. - Receives a pointer to the interface. The caller must release the interface. - true if A media type for an output stream is available, false otherwise - ms703812 - HRESULT IMFTransform::GetOutputAvailableType([In] unsigned int dwOutputStreamID,[In] unsigned int dwTypeIndex,[Out] IMFMediaType** ppType) - IMFTransform::GetOutputAvailableType - - - - Generates output from the current input data. - - Bitwise OR of zero or more flags from the enumeration. - Pointer to an array of structures, allocated by the caller. The MFT uses this array to return output data to the caller. - Receives a bitwise OR of zero or more flags from the enumeration. - true if the transform cannot produce output data until it receives more input data, false otherwise - ms704014 - HRESULT IMFTransform::ProcessOutput([In] _MFT_PROCESS_OUTPUT_FLAGS dwFlags,[In] unsigned int cOutputBufferCount,[In] MFT_OUTPUT_DATA_BUFFER* pOutputSamples,[Out] _MFT_PROCESS_OUTPUT_STATUS* pdwStatus) - IMFTransform::ProcessOutput - - - -

Implemented by components that provide input trust authorities (ITAs). This interface is used to get the ITA for each of the component's streams.

-
- - ms697279 - IMFTrustedInput - IMFTrustedInput -
- - - Initializes a new instance of the 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 input trust authority (ITA) for a specified stream.

-
-

The stream identifier for which the ITA is being requested.

-

The interface identifier (IID) of the interface being requested. Currently the only supported value is IID_IMFInputTrustAuthority.

-

Receives a reference to the ITA's interface. The caller must release the interface.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_NOINTERFACE

The ITA does not expose the requested interface.

?

- - bb970501 - HRESULT IMFTrustedInput::GetInputTrustAuthority([In] unsigned int dwStreamID,[In] const GUID& riid,[Out] IUnknown** ppunkObject) - IMFTrustedInput::GetInputTrustAuthority -
- - -

Implemented by components that provide output trust authorities (OTAs). Any Media Foundation transform (MFT) or media sink that is designed to work within the protected media path (PMP) and also sends protected content outside the Media Foundation pipeline must implement this interface.

The policy engine uses this interface to negotiate what type of content protection should be applied to the content. Applications do not use this interface directly.

-
- -

If an MFT supports , it must expose the interface through QueryInterface. The interface applies to all of the input streams on the MFT. (There is no mechanism to return a separate reference for each stream.) The MFT must apply the output policies to all of its input streams. If the MFT sends different streams to separate connectors, it must report all of the connector attributes.

-
- - ms694305 - IMFTrustedOutput - IMFTrustedOutput -
- - - Initializes a new instance of the 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 output trust authorities (OTAs) provided by this trusted output. Each OTA reports a single action.

-
- - bb970384 - GetOutputTrustAuthorityCount - GetOutputTrustAuthorityCount - HRESULT IMFTrustedOutput::GetOutputTrustAuthorityCount([Out] unsigned int* pcOutputTrustAuthorities) -
- - -

Queries whether this output is a policy sink, meaning it handles the rights and restrictions required by the input trust authority (ITA).

-
- -

A trusted output is generally considered to be a policy sink if it does not pass the media content that it receives anywhere else; or, if it does pass the media content elsewhere, either it protects the content using some proprietary method such as encryption, or it sufficiently devalues the content so as not to require protection.

-
- - bb970324 - IsFinal - IsFinal - HRESULT IMFTrustedOutput::IsFinal([Out] BOOL* pfIsFinal) -
- - -

Gets the number of output trust authorities (OTAs) provided by this trusted output. Each OTA reports a single action.

-
-

Receives the number of OTAs.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - bb970384 - HRESULT IMFTrustedOutput::GetOutputTrustAuthorityCount([Out] unsigned int* pcOutputTrustAuthorities) - IMFTrustedOutput::GetOutputTrustAuthorityCount -
- - -

Gets an output trust authority (OTA), specified by index.

-
-

Zero-based index of the OTA to retrieve. To get the number of OTAs provided by this object, call .

-

Receives a reference to the interface of the OTA. The caller must release the interface.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - bb970401 - HRESULT IMFTrustedOutput::GetOutputTrustAuthorityByIndex([In] unsigned int dwIndex,[Out] IMFOutputTrustAuthority** ppauthority) - IMFTrustedOutput::GetOutputTrustAuthorityByIndex -
- - -

Queries whether this output is a policy sink, meaning it handles the rights and restrictions required by the input trust authority (ITA).

-
-

Receives a Boolean value. If TRUE, this object is a policy sink. If , the policy must be enforced further downstream.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

A trusted output is generally considered to be a policy sink if it does not pass the media content that it receives anywhere else; or, if it does pass the media content elsewhere, either it protects the content using some proprietary method such as encryption, or it sufficiently devalues the content so as not to require protection.

-
- - bb970324 - HRESULT IMFTrustedOutput::IsFinal([Out] BOOL* pfIsFinal) - IMFTrustedOutput::IsFinal -
- - -

Limits the effective video resolution.

-
- -

This method limits the effective resolution of the video image. The actual resolution on the target device might be higher, due to stretching the image.

The EVR might call this method at any time if the method returns TRUE.

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

Limits the effective video resolution.

-
- -

This method limits the effective resolution of the video image. The actual resolution on the target device might be higher, due to stretching the image.

The EVR might call this method at any time if the method returns TRUE.

-
- - aa473833 - SetConstriction - SetConstriction - HRESULT IEVRTrustedVideoPlugin::SetConstriction([In] unsigned int dwKPix) -
- - -

Queries whether the plug-in has any transient vulnerabilities at this time.

-
-

Receives a Boolean value. If TRUE, the plug-in has no transient vulnerabilities at the moment and can receive protected content. If , the plug-in has a transient vulnerability. If the method fails, the EVR treats the value as (untrusted).

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

This method provides a way for the plug-in to report temporary conditions that would cause the input trust authority (ITA) to distrust the plug-in. For example, if an EVR presenter is in windowed mode, it is vulnerable to GDI screen captures.

To disable screen capture in Direct3D, the plug-in must do the following:

  • Create the Direct3D device in full-screen exlusive mode.

  • Specify the D3DCREATE_DISABLE_PRINTSCREEN flag when you create the device. For more information, see IDirect3D9::CreateDevice in the DirectX documentation.

In addition, the graphics adapter must support the Windows Vista Display Driver Model (WDDM) and the Direct3D extensions for Windows Vista (sometimes called D3D9Ex or D3D9L).

If these conditions are met, the presenter can return TRUE in the pYes parameter. Otherwise, it should return .

The EVR calls this method whenever the device changes. If the plug-in returns , the EVR treats this condition as if the plug-in had a new output connector of unknown type. The policy object can then allow or block playback, depending on the ITA's policy.

This method should be used only to report transient conditions. A plug-in that is never in a trusted state should not implement the interface at all.

-
- - aa473794 - HRESULT IEVRTrustedVideoPlugin::IsInTrustedVideoMode([In] BOOL* pYes) - IEVRTrustedVideoPlugin::IsInTrustedVideoMode -
- - -

Queries whether the plug-in can limit the effective video resolution.

-
-

Receives a Boolean value. If TRUE, the plug-in can limit the effective video resolution. Otherwise, the plug-in cannot limit the video resolution. If the method fails, the EVR treats the value as (not supported).

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

Constriction is a protection mechanism that limits the effective resolution of the video frame to a specified maximum number of pixels.

Video constriction can be implemented by either the mixer or the presenter.

If the method returns TRUE, the EVR might call at any time.

-
- - aa473782 - HRESULT IEVRTrustedVideoPlugin::CanConstrict([In] BOOL* pYes) - IEVRTrustedVideoPlugin::CanConstrict -
- - -

Limits the effective video resolution.

-
-

Maximum number of source pixels that may appear in the final video image, in thousands of pixels. If the value is zero, the video is disabled. If the value is MAXDWORD (0xFFFFFFFF), video constriction is removed and the video may be rendered at full resolution.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

This method limits the effective resolution of the video image. The actual resolution on the target device might be higher, due to stretching the image.

The EVR might call this method at any time if the method returns TRUE.

-
- - aa473833 - HRESULT IEVRTrustedVideoPlugin::SetConstriction([In] unsigned int dwKPix) - IEVRTrustedVideoPlugin::SetConstriction -
- - -

Enables or disables the ability of the plug-in to export the video image.

-
-

Boolean value. Specify TRUE to disable image exporting, or to enable it.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

An EVR plug-in might expose a way for the application to get a copy of the video frames. For example, the standard EVR presenter implements .

If the plug-in supports image exporting, this method enables or disables it. Before this method has been called for the first time, the EVR assumes that the mechanism is enabled.

If the plug-in does not support image exporting, this method should return and ignore the value of bDisable. If the method fails, the EVR treats it as a failure to enforce the policy, which will probably cause playback to stop.

While image exporting is disabled, any associated export method, such as GetCurrentImage, should return .

-
- - aa473830 - HRESULT IEVRTrustedVideoPlugin::DisableImageExport([In] BOOL bDisable) - IEVRTrustedVideoPlugin::DisableImageExport -
- - -

Returns the device identifier supported by a video renderer component. This interface is implemented by mixers and presenters for the enhanced video renderer (EVR). If you replace either of these components, the mixer and presenter must report the same device identifier.

-
- - ms703065 - IMFVideoDeviceID - IMFVideoDeviceID -
- - - Initializes a new instance of the 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 identifier of the video device supported by an EVR mixer or presenter.

-
- -

If a mixer or presenter uses Direct3D 9, it must return the value IID_IDirect3DDevice9 in pDeviceID. The EVR's default mixer and presenter both return this value. If you write a custom mixer or presenter, it can return some other value. However, the mixer and presenter must use matching device identifiers.

-
- - ms704630 - GetDeviceID - GetDeviceID - HRESULT IMFVideoDeviceID::GetDeviceID([Out] GUID* pDeviceID) -
- - -

Returns the identifier of the video device supported by an EVR mixer or presenter.

-
-

Receives the device identifier. Generally, the value is IID_IDirect3DDevice9.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The video renderer has been shut down.

?

- -

If a mixer or presenter uses Direct3D 9, it must return the value IID_IDirect3DDevice9 in pDeviceID. The EVR's default mixer and presenter both return this value. If you write a custom mixer or presenter, it can return some other value. However, the mixer and presenter must use matching device identifiers.

-
- - ms704630 - HRESULT IMFVideoDeviceID::GetDeviceID([Out] GUID* pDeviceID) - IMFVideoDeviceID::GetDeviceID -
- - -

Controls how the Enhanced Video Renderer (EVR) displays video.

The EVR presenter implements this interface. To get a reference to the interface, call . The service identifier is MR_VIDEO_RENDER_SERVICE. Call GetService on any of the following objects:

  • The Media Session, if the topology contains an instance of the EVR.
  • The EVR media sink.
  • The DirectShow EVR filter.
  • The EVR presenter.

If you implement a custom presenter for the EVR, the presenter can optionally expose this interface as a service.

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

Queries how the enhanced video renderer (EVR) handles the aspect ratio of the source video.

-
- - ms702253 - GetAspectRatioMode / SetAspectRatioMode - GetAspectRatioMode - HRESULT IMFVideoDisplayControl::GetAspectRatioMode([Out] unsigned int* pdwAspectRatioMode) -
- - -

Gets or sets the clipping window for the video.

-
- -

There is no default clipping window. The application must set the clipping window.

-
- - ms694138 - GetVideoWindow / SetVideoWindow - GetVideoWindow - HRESULT IMFVideoDisplayControl::GetVideoWindow([Out] HWND* phwndVideo) -
- - -

Gets or sets the border color for the video.

-
- -

The border color is used for areas where the enhanced video renderer (EVR) does not draw any video.

The border color is not used for letterboxing. To get the letterbox color, call IMFVideoProcessor::GetBackgroundColor.

-
- - ms694894 - GetBorderColor / SetBorderColor - GetBorderColor - HRESULT IMFVideoDisplayControl::GetBorderColor([Out] COLORREF* pClr) -
- - -

Gets or sets various video rendering settings.

-
- - ms701592 - GetRenderingPrefs / SetRenderingPrefs - GetRenderingPrefs - HRESULT IMFVideoDisplayControl::GetRenderingPrefs([Out] unsigned int* pdwRenderFlags) -
- - -

Queries whether the enhanced video renderer (EVR) is currently in full-screen mode.

-
- - ms704817 - GetFullscreen / SetFullscreen - GetFullscreen - HRESULT IMFVideoDisplayControl::GetFullscreen([Out] BOOL* pfFullscreen) -
- - -

Gets the size and aspect ratio of the video, prior to any stretching by the video renderer.

-
-

Receives the size of the native video rectangle. This parameter can be null.

-

Receives the aspect ratio of the video. This parameter can be null.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_POINTER

At least one of the parameters must be non-null.

The video renderer has been shut down.

?

- -

If no media types have been set on any video streams, the method succeeds but all parameters are set to zero.

You can set pszVideo or pszARVideo to null, but not both.

-
- - ms694294 - HRESULT IMFVideoDisplayControl::GetNativeVideoSize([InOut, Optional] SIZE* pszVideo,[InOut, Optional] SIZE* pszARVideo) - IMFVideoDisplayControl::GetNativeVideoSize -
- - -

Gets the range of sizes that the enhanced video renderer (EVR) can display without significantly degrading performance or image quality.

-
-

Receives the minimum ideal size. This parameter can be null.

-

Receives the maximum ideal size. This parameter can be null.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_POINTER

At least one parameter must be non-null.

The video renderer has been shut down.

?

- -

You can set pszMin or pszMax to null, but not both.

-
- - ms703076 - HRESULT IMFVideoDisplayControl::GetIdealVideoSize([InOut, Optional] SIZE* pszMin,[InOut, Optional] SIZE* pszMax) - IMFVideoDisplayControl::GetIdealVideoSize -
- - -

Sets the source and destination rectangles for the video.

-
-

Pointer to an structure that specifies the source rectangle. This parameter can be null. If this parameter is null, the source rectangle does not change.

-

Specifies the destination rectangle. This parameter can be null. If this parameter is null, the destination rectangle does not change.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_POINTER

At least one parameter must be non-null.

The video renderer has been shut down.

?

- -

The source rectangle defines which portion of the video is displayed. It is specified in normalized coordinates. For more information, see structure. To display the entire video image, set the source rectangle to {0, 0, 1, 1}. The default source rectangle is {0, 0, 1, 1}.

The destination rectangle defines a rectangle within the clipping window where the video appears. It is specified in pixels, relative to the client area of the window. To fill the entire window, set the destination rectangle to {0, 0, width, height}, where width and height are dimensions of the window client area. The default destination rectangle is {0, 0, 0, 0}.

To update just one of these rectangles, set the other parameter to null. You can set pnrcSource or prcDest to null, but not both.

Before setting the destination rectangle (prcDest), you must set the video window by calling . (For the Media Foundation version of the EVR, you can also provide the video window in the function.) If no video window was provided, SetVideoPosition returns E_POINTER.

-
- - ms697352 - HRESULT IMFVideoDisplayControl::SetVideoPosition([In, Optional] const MFVideoNormalizedRect* pnrcSource,[In, Optional] const RECT* prcDest) - IMFVideoDisplayControl::SetVideoPosition -
- - -

Gets the source and destination rectangles for the video.

-
-

Pointer to an structure that receives the source rectangle.

-

Receives the current destination rectangle.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_POINTER

One or more required parameters are null.

The video renderer has been shut down.

?

- - bb970409 - HRESULT IMFVideoDisplayControl::GetVideoPosition([Out] MFVideoNormalizedRect* pnrcSource,[Out] RECT* prcDest) - IMFVideoDisplayControl::GetVideoPosition -
- - -

Specifies how the enhanced video renderer (EVR) handles the aspect ratio of the source video.

-
-

Bitwise OR of one or more flags from the enumeration.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_INVALIDARG

Invalid flags.

The video renderer has been shut down.

?

- - ms704027 - HRESULT IMFVideoDisplayControl::SetAspectRatioMode([In] unsigned int dwAspectRatioMode) - IMFVideoDisplayControl::SetAspectRatioMode -
- - -

Queries how the enhanced video renderer (EVR) handles the aspect ratio of the source video.

-
-

Receives a bitwise OR of one or more flags from the enumeration.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The video renderer has been shut down.

?

- - ms702253 - HRESULT IMFVideoDisplayControl::GetAspectRatioMode([Out] unsigned int* pdwAspectRatioMode) - IMFVideoDisplayControl::GetAspectRatioMode -
- - -

Sets the source and destination rectangles for the video.

-
-

Pointer to an structure that specifies the source rectangle. This parameter can be null. If this parameter is null, the source rectangle does not change.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_POINTER

At least one parameter must be non-null.

The video renderer has been shut down.

?

- -

The source rectangle defines which portion of the video is displayed. It is specified in normalized coordinates. For more information, see structure. To display the entire video image, set the source rectangle to {0, 0, 1, 1}. The default source rectangle is {0, 0, 1, 1}.

The destination rectangle defines a rectangle within the clipping window where the video appears. It is specified in pixels, relative to the client area of the window. To fill the entire window, set the destination rectangle to {0, 0, width, height}, where width and height are dimensions of the window client area. The default destination rectangle is {0, 0, 0, 0}.

To update just one of these rectangles, set the other parameter to null. You can set pnrcSource or prcDest to null, but not both.

Before setting the destination rectangle (prcDest), you must set the video window by calling . (For the Media Foundation version of the EVR, you can also provide the video window in the function.) If no video window was provided, SetVideoPosition returns E_POINTER.

-
- - ms697352 - HRESULT IMFVideoDisplayControl::SetVideoWindow([In] HWND hwndVideo) - IMFVideoDisplayControl::SetVideoWindow -
- - -

Gets the clipping window for the video.

-
-

Receives a handle to the window where the enhanced video renderer (EVR) will draw the video.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The video renderer has been shut down.

?

- -

There is no default clipping window. The application must set the clipping window.

-
- - ms694138 - HRESULT IMFVideoDisplayControl::GetVideoWindow([Out] HWND* phwndVideo) - IMFVideoDisplayControl::GetVideoWindow -
- - -

Repaints the current video frame. Call this method whenever the application receives a WM_PAINT message.

-
-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The EVR cannot repaint the frame at this time. This error can occur while the EVR is switching between full-screen and windowed mode. The caller can safely ignore this error.

The video renderer has been shut down.

?

- - ms703113 - HRESULT IMFVideoDisplayControl::RepaintVideo() - IMFVideoDisplayControl::RepaintVideo -
- - -

Gets a copy of the current image being displayed by the video renderer.

-
-

Pointer to a structure that receives a description of the bitmap. Set the biSize member of the structure to sizeof() before calling the method.

-

Receives a reference to a buffer that contains a packed Windows device-independent bitmap (DIB). The caller must free the memory for the bitmap by calling CoTaskMemFree.

-

Receives the size of the buffer returned in pDib, in bytes.

-

Receives the time stamp of the captured image.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The content is protected and the license does not permit capturing the image.

The video renderer has been shut down.

?

- -

This method can be called at any time. However, calling the method too frequently degrades the video playback performance.

This method retrieves a copy of the final composited image, which includes any substreams, alpha-blended bitmap, aspect ratio correction, background color, and so forth.

In windowed mode, the bitmap is the size of the destination rectangle specified in . In full-screen mode, the bitmap is the size of the display.

-
- - ms695342 - HRESULT IMFVideoDisplayControl::GetCurrentImage([InOut] BITMAPINFOHEADER* pBih,[Buffer, Optional] unsigned char** pDib,[Out] unsigned int* pcbDib,[InOut, Optional] longlong* pTimeStamp) - IMFVideoDisplayControl::GetCurrentImage -
- - -

Sets the border color for the video.

-
-

Specifies the border color as a value.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The video renderer has been shut down.

?

- -

By default, if the video window straddles two monitors, the enhanced video renderer (EVR) clips the video to one monitor and draws the border color on the remaining portion of the window. (To change the clipping behavior, call .)

The border color is not used for letterboxing. To change the letterbox color, call IMFVideoProcessor::SetBackgroundColor.

-
- - ms697024 - HRESULT IMFVideoDisplayControl::SetBorderColor([In] COLORREF Clr) - IMFVideoDisplayControl::SetBorderColor -
- - -

Gets the border color for the video.

-
-

Receives the border color, as a value.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The video renderer has been shut down.

?

- -

The border color is used for areas where the enhanced video renderer (EVR) does not draw any video.

The border color is not used for letterboxing. To get the letterbox color, call IMFVideoProcessor::GetBackgroundColor.

-
- - ms694894 - HRESULT IMFVideoDisplayControl::GetBorderColor([Out] COLORREF* pClr) - IMFVideoDisplayControl::GetBorderColor -
- - -

Sets various preferences related to video rendering.

-
-

Bitwise OR of zero or more flags from the enumeration.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_INVALIDARG

Invalid flags.

The video renderer has been shut down.

?

- - ms698981 - HRESULT IMFVideoDisplayControl::SetRenderingPrefs([In] unsigned int dwRenderFlags) - IMFVideoDisplayControl::SetRenderingPrefs -
- - -

Gets various video rendering settings.

-
-

Receives a bitwise OR of zero or more flags from the enumeration.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The video renderer has been shut down.

?

- - ms701592 - HRESULT IMFVideoDisplayControl::GetRenderingPrefs([Out] unsigned int* pdwRenderFlags) - IMFVideoDisplayControl::GetRenderingPrefs -
- - -

[This API is not supported and may be altered or unavailable in the future. ]

Sets or unsets full-screen rendering mode.

To implement full-screen playback, an application should simply resize the video window to cover the entire area of the monitor. Also set the window to be a topmost window, so that the application receives all mouse-click messages. For more information about topmost windows, see the documentation for the SetWindowPos function.

-
- No documentation. -

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The video renderer has been shut down.

?

- -

The default EVR presenter implements full-screen mode using Direct3D exclusive mode.

If you use this method to switch to full-screen mode, set the application window to be a topmost window and resize the window to cover the entire monitor. This ensures that the application window receives all mouse-click messages. Also set the keyboard focus to the application window. When you switch out of full-screen mode, restore the window's original size and position.

By default, the cursor is still visible in full-screen mode. To hide the cursor, call ShowCursor.

The transition to and from full-screen mode occurs asynchronously. To get the current mode, call .

-
- - ms701561 - HRESULT IMFVideoDisplayControl::SetFullscreen([In] BOOL fFullscreen) - IMFVideoDisplayControl::SetFullscreen -
- - -

Queries whether the enhanced video renderer (EVR) is currently in full-screen mode.

-
-

Receives a Boolean value. If TRUE, the EVR is in full-screen mode. If , the EVR will display the video inside the application-provided clipping window.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The EVR is currently switching between full-screen and windowed mode.

?

- - ms704817 - HRESULT IMFVideoDisplayControl::GetFullscreen([Out] BOOL* pfFullscreen) - IMFVideoDisplayControl::GetFullscreen -
- - -

Represents a description of a video format.

-
- -

If the major type of a media type is , you can query the media type object for the interface.

Applications should avoid using this interface except when a method or function requires an reference as a parameter. You can get all of the format information from a video media type through the interface, which inherits.

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

Represents a description of a video format.

-
- -

If the major type of a media type is , you can query the media type object for the interface.

Applications should avoid using this interface except when a method or function requires an reference as a parameter. You can get all of the format information from a video media type through the interface, which inherits.

-
- - aa473814 - GetVideoFormat - GetVideoFormat - const MFVIDEOFORMAT* IMFVideoMediaType::GetVideoFormat() -
- - -

Represents a description of a video format.

-
- No documentation. - -

If the major type of a media type is , you can query the media type object for the interface.

Applications should avoid using this interface except when a method or function requires an reference as a parameter. You can get all of the format information from a video media type through the interface, which inherits.

-
- - aa473814 - const MFVIDEOFORMAT* IMFVideoMediaType::GetVideoFormat() - IMFVideoMediaType::GetVideoFormat -
- - -

[This API is not supported and may be altered or unavailable in the future. Instead, applications should set the attribute on the media type to specify the surface stride and then call .]

Retrieves an alternative representation of the media type.

-
- No documentation. - No documentation. - No documentation. -

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

This method is equivalent to but includes the lStride parameter.

Instead of calling this method, applications should set the attribute on the media type to specify the surface stride and then call .

-
- - bb970371 - HRESULT IMFVideoMediaType::GetVideoRepresentation([In] GUID guidRepresentation,[Out] void** ppvRepresentation,[In] int lStride) - IMFVideoMediaType::GetVideoRepresentation -
- - -

Controls how the Enhanced Video Renderer (EVR) mixes video substreams. Applications can use this interface to control video mixing during playback.

The EVR mixer implements this interface. To get a reference to the interface, call . The service identifier is MR_VIDEO_MIXER_SERVICE. Call GetService on any of the following objects:

  • The Media Session, if the topology contains an instance of the EVR.
  • The EVR media sink.
  • The DirectShow EVR filter.
  • The EVR mixer.

If you implement a custom mixer for the EVR, the mixer can optionally expose this interface as a service.

-
- - ms700190 - IMFVideoMixerControl - IMFVideoMixerControl -
- - - Initializes a new instance of the 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 z-order of a video stream.

-
-

Identifier of the stream. For the EVR media sink, the stream identifier is defined when the method is called. For the DirectShow EVR filter, the stream identifier corresponds to the pin index. The reference stream is always stream 0.

-

Z-order value. The z-order of the reference stream must be zero. The maximum z-order value is the number of streams minus one.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_INVALIDARG

The value of dwZ is larger than the maximum z-order value.

Invalid z-order for this stream. For the reference stream, dwZ must be zero. For all other streams, dwZ must be greater than zero.

Invalid stream identifier.

?

- -

The EVR draws the video streams in the order of their z-order values, starting with zero. The reference stream must be first in the z-order, and the remaining streams can be in any order.

-
- - ms697453 - HRESULT IMFVideoMixerControl::SetStreamZOrder([In] unsigned int dwStreamID,[In] unsigned int dwZ) - IMFVideoMixerControl::SetStreamZOrder -
- - -

Retrieves the z-order of a video stream.

-
-

Identifier of the stream. For the EVR media sink, the stream identifier is defined when the method is called. For the DirectShow EVR filter, the stream identifier corresponds to the pin index. The reference stream is always stream 0.

-

Receives the z-order value.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

Invalid stream identifier.

?

- - ms701614 - HRESULT IMFVideoMixerControl::GetStreamZOrder([In] unsigned int dwStreamID,[Out] unsigned int* pdwZ) - IMFVideoMixerControl::GetStreamZOrder -
- - -

Sets the position of a video stream within the composition rectangle.

-
-

Identifier of the stream. For the EVR media sink, the stream identifier is defined when the method is called. For the DirectShow EVR filter, the stream identifier corresponds to the pin index. The reference stream is always stream 0.

-

Pointer to an structure that defines the bounding rectangle for the video stream.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_INVALIDARG

The coordinates of the bounding rectangle given in pnrcOutput are not valid.

Invalid stream identifier.

?

- -

The mixer draws each video stream inside a bounding rectangle that is specified relative to the final video image. This bounding rectangle is given in normalized coordinates. For more information, see structure.

The coordinates of the bounding rectangle must fall within the range [0.0, 1.0]. Also, the X and Y coordinates of the upper-left corner cannot exceed the X and Y coordinates of the lower-right corner. In other words, the bounding rectangle must fit entirely within the composition rectangle and cannot be flipped vertically or horizontally.

The following diagram shows how the EVR mixes substreams.

The output rectangle for the stream is specified by calling SetStreamOutputRect. The source rectangle is specified by calling . The mixer applies the output rectangle first, when it mixes the streams into a single bounding rectangle. This bounding rectangle is called composition space. Then the presenter applies the source rectangle to the composited image.

-
- - ms698959 - HRESULT IMFVideoMixerControl::SetStreamOutputRect([In] unsigned int dwStreamID,[In] const MFVideoNormalizedRect* pnrcOutput) - IMFVideoMixerControl::SetStreamOutputRect -
- - -

Retrieves the position of a video stream within the composition rectangle.

-
-

The identifier of the stream. For the EVR media sink, the stream identifier is defined when the method is called. For the DirectShow EVR filter, the stream identifier corresponds to the pin index. The reference stream is always stream 0.

-

Pointer to an structure that receives the bounding rectangle, in normalized coordinates.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

Invalid stream identifier.

?

- - ms698911 - HRESULT IMFVideoMixerControl::GetStreamOutputRect([In] unsigned int dwStreamID,[Out] MFVideoNormalizedRect* pnrcOutput) - IMFVideoMixerControl::GetStreamOutputRect -
- - -

Controls preferences for video deinterlacing.

The default video mixer for the Enhanced Video Renderer (EVR) implements this interface.

To get a reference to the interface, call on any of the following objects, using the MR_VIDEO_MIXER_SERVICE service identifier:

  • The Media Session, if the topology contains an instance of the EVR.
  • The EVR media sink.
  • The DirectShow EVR filter.
  • The EVR mixer.
-
- - dd374894 - IMFVideoMixerControl2 - IMFVideoMixerControl2 -
- - - Initializes a new instance of the 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 or sets the current preferences for video deinterlacing.

-
- - dd374896 - GetMixingPrefs / SetMixingPrefs - GetMixingPrefs - HRESULT IMFVideoMixerControl2::GetMixingPrefs([Out] unsigned int* pdwMixFlags) -
- - -

Sets the preferences for video deinterlacing.

-
-

Bitwise OR of zero or more flags from the enumeration.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dd374898 - HRESULT IMFVideoMixerControl2::SetMixingPrefs([In] unsigned int dwMixFlags) - IMFVideoMixerControl2::SetMixingPrefs -
- - -

Gets the current preferences for video deinterlacing.

-
-

Receives a bitwise OR of zero or more flags from the enumeration.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dd374896 - HRESULT IMFVideoMixerControl2::GetMixingPrefs([Out] unsigned int* pdwMixFlags) - IMFVideoMixerControl2::GetMixingPrefs -
- - -

Maps a position on an input video stream to the corresponding position on an output video stream.

To obtain a reference to this interface, call on the renderer with the service MR_VIDEO_RENDER_SERVICE.

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

Maps output image coordinates to input image coordinates. This method provides the reverse transformation for components that map coordinates on the input image to different coordinates on the output image.

-
-

X-coordinate of the output image, normalized to the range [0...1].

-

Y-coordinate of the output image, normalized to the range [0...1].

-

Output stream index for the coordinate mapping.

-

Input stream index for the coordinate mapping.

-

Receives the mapped x-coordinate of the input image, normalized to the range [0...1].

-

Receives the mapped y-coordinate of the input image, normalized to the range [0...1].

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The video renderer has been shut down.

?

- -

In the following diagram, R(dest) is the destination rectangle for the video. You can obtain this rectangle by calling . The rectangle R1 is a substream within the video. The point P has pixel coordinates (x,y) relative to R(dest).

The position of P relative to R(dest) in normalized coordinates is calculated as follows:

float xn = float(x + 0.5) / widthDest; - float xy = float(y + 0.5) / heightDest; -

where widthDest and heightDest are the width and height of R(dest) in pixels.

To calculate the position of P relative to R1, call MapOutputCoordinateToInputStream as follows:

float x1 = 0, y1 = 0; - hr = pMap->MapOutputCoordinateToInputStream(xn, yn, 0, dwInputStreamIndex, &x1, &y1);

The values returned in x1 and y1 are normalized to the range [0...1]. To convert back to pixel coordinates, scale these values by the size of R1:

int scaledx = int(floor(x1 * widthR1)); - int scaledy = int(floor(xy * heightR1));

Note that x1 and y1 might fall outside the range [0...1] if P lies outside of R1.

-
- - ms703892 - HRESULT IMFVideoPositionMapper::MapOutputCoordinateToInputStream([In] float xOut,[In] float yOut,[In] unsigned int dwOutputStreamIndex,[In] unsigned int dwInputStreamIndex,[Out] float* pxIn,[Out] float* pyIn) - IMFVideoPositionMapper::MapOutputCoordinateToInputStream -
- - -

Represents a video presenter. A video presenter is an object that receives video frames, typically from a video mixer, and presents them in some way, typically by rendering them to the display. The enhanced video renderer (EVR) provides a default video presenter, and applications can implement custom presenters.

The video presenter receives video frames as soon as they are available from upstream. The video presenter is responsible for presenting frames at the correct time and for synchronizing with the presentation clock.

-
- - ms700214 - IMFVideoPresenter - IMFVideoPresenter -
- - - Retrieves the presenter's media type. - - Receives a pointer to the IMFVideoMediaType interface. The caller must release the interface. - - HRESULT IMFVideoPresenter::GetCurrentMediaType([out] IMFVideoMediaType **ppMediaType - - - - Sends a message to the video presenter. Messages are used to signal the presenter that it must perform some action, or that some event has occurred. - - Specifies the message as a member of the VpMessageType enumeration. - Message parameter. The meaning of this parameter depends on the message type. - - HRESULT IMFVideoPresenter::ProcessMessage([In] MFVP_MESSAGE_TYPE eMessage,[In] ULONG_PTR ulParam) - - - -

Configures the Video Processor MFT.

-
- -

This interface controls how the Video Processor MFT generates output frames.

-
- - hh448069 - IMFVideoProcessorControl - IMFVideoProcessorControl -
- - - Initializes a new instance of the 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 border color.

-
- - hh448070 - SetBorderColor - SetBorderColor - HRESULT IMFVideoProcessorControl::SetBorderColor([In, Optional] MFARGB* pBorderColor) -
- - -

Sets the source rectangle. The source rectangle is the portion of the input frame that is blitted to the destination surface.

-
- -

See Video Processor MFT for info regarding source and destination rectangles in the Video Processor MFT.

-
- - hh448075 - SetSourceRectangle - SetSourceRectangle - HRESULT IMFVideoProcessorControl::SetSourceRectangle([In, Optional] RECT* pSrcRect) -
- - -

Sets the destination rectangle. The destination rectangle is the portion of the output surface where the source rectangle is blitted.

-
- -

See Video Processor MFT for info regarding source and destination rectangles in the Video Processor MFT.

-
- - hh448072 - SetDestinationRectangle - SetDestinationRectangle - HRESULT IMFVideoProcessorControl::SetDestinationRectangle([In, Optional] RECT* pDstRect) -
- - -

Specifies whether to flip the video image.

-
- - hh448073 - SetMirror - SetMirror - HRESULT IMFVideoProcessorControl::SetMirror([In] MF_VIDEO_PROCESSOR_MIRROR eMirror) -
- - -

Specifies whether to rotate the video to the correct orientation.

-
- -

The original orientation of the video is specified by the attribute of the input media type.

If eRotation is , the video processor does not correct the orientation of the output video. If the original video is rotated, and eRotation is , the video processor corrects the orientation, so that the ouput video is not rotated. The video processor letterboxes the output as needed.

-
- - hh448074 - SetRotation - SetRotation - HRESULT IMFVideoProcessorControl::SetRotation([In] MF_VIDEO_PROCESSOR_ROTATION eRotation) -
- - -

Specifies the amount of downsampling to perform on the output.

-
- - hh448071 - SetConstrictionSize - SetConstrictionSize - HRESULT IMFVideoProcessorControl::SetConstrictionSize([In, Optional] SIZE* pConstrictionSize) -
- - -

Sets the border color.

-
-

A reference to an structure that specifies the border color as an ARGB (alpha, red, green, blue) value.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh448070 - HRESULT IMFVideoProcessorControl::SetBorderColor([In, Optional] MFARGB* pBorderColor) - IMFVideoProcessorControl::SetBorderColor -
- - -

Sets the source rectangle. The source rectangle is the portion of the input frame that is blitted to the destination surface.

-
-

A reference to a structure that specifies the source rectangle.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

See Video Processor MFT for info regarding source and destination rectangles in the Video Processor MFT.

-
- - hh448075 - HRESULT IMFVideoProcessorControl::SetSourceRectangle([In, Optional] RECT* pSrcRect) - IMFVideoProcessorControl::SetSourceRectangle -
- - -

Sets the destination rectangle. The destination rectangle is the portion of the output surface where the source rectangle is blitted.

-
-

A reference to a structure that specifies the destination rectangle.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

See Video Processor MFT for info regarding source and destination rectangles in the Video Processor MFT.

-
- - hh448072 - HRESULT IMFVideoProcessorControl::SetDestinationRectangle([In, Optional] RECT* pDstRect) - IMFVideoProcessorControl::SetDestinationRectangle -
- - -

Specifies whether to flip the video image.

-
-

An value that specifies whether to flip the video image, either horizontally or vertically.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh448073 - HRESULT IMFVideoProcessorControl::SetMirror([In] MF_VIDEO_PROCESSOR_MIRROR eMirror) - IMFVideoProcessorControl::SetMirror -
- - -

Specifies whether to rotate the video to the correct orientation.

-
-

A value that specifies whether to rotate the image.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

The original orientation of the video is specified by the attribute of the input media type.

If eRotation is , the video processor does not correct the orientation of the output video. If the original video is rotated, and eRotation is , the video processor corrects the orientation, so that the ouput video is not rotated. The video processor letterboxes the output as needed.

-
- - hh448074 - HRESULT IMFVideoProcessorControl::SetRotation([In] MF_VIDEO_PROCESSOR_ROTATION eRotation) - IMFVideoProcessorControl::SetRotation -
- - -

Specifies the amount of downsampling to perform on the output.

-
-

The sampling size. To disable constriction, set this parameter to null.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh448071 - HRESULT IMFVideoProcessorControl::SetConstrictionSize([In, Optional] SIZE* pConstrictionSize) - IMFVideoProcessorControl::SetConstrictionSize -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Configures the Video Processor MFT.

-
- -

This interface controls how the Video Processor MFT generates output frames.

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

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Overrides the rotation operation that is performed in the video processor.

-
- - dn800744 - SetRotationOverride - SetRotationOverride - HRESULT IMFVideoProcessorControl2::SetRotationOverride([In] unsigned int uiRotation) -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Returns the list of supported effects in the currently configured video processor.

-
- - dn800743 - GetSupportedHardwareEffects - GetSupportedHardwareEffects - HRESULT IMFVideoProcessorControl2::GetSupportedHardwareEffects([Out] unsigned int* puiSupport) -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Overrides the rotation operation that is performed in the video processor.

-
-

Rotation value in degrees. Typically, you can only use values from the enumeration.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn800744 - HRESULT IMFVideoProcessorControl2::SetRotationOverride([In] unsigned int uiRotation) - IMFVideoProcessorControl2::SetRotationOverride -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Enables effects that were implemented with IDirectXVideoProcessor::VideoProcessorBlt.

-
- No documentation. -

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn800742 - HRESULT IMFVideoProcessorControl2::EnableHardwareEffects([In] BOOL fEnabled) - IMFVideoProcessorControl2::EnableHardwareEffects -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Returns the list of supported effects in the currently configured video processor.

-
-

A combination of -typed values that are combined by using a bitwise OR operation. The resulting value specifies the list of suppported effect capabilities.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - dn800743 - HRESULT IMFVideoProcessorControl2::GetSupportedHardwareEffects([Out] unsigned int* puiSupport) - IMFVideoProcessorControl2::GetSupportedHardwareEffects -
- - -

Sets a new mixer or presenter for the Enhanced Video Renderer (EVR).

Both the EVR media sink and the DirectShow EVR filter implement this interface. To get a reference to the interface, call QueryInterface on the media sink or the filter. Do not use to get a reference to this interface.

-
- -

The EVR activation object returned by the function does not expose this interface. Instead, the activation object supports attributes that specify a custom mixer or presenter. For more information, see Enhanced Video Renderer Attributes.

-
- - ms698954 - IMFVideoRenderer - IMFVideoRenderer -
- - - Initializes a new instance of the 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 new mixer or presenter for the enhanced video renderer (EVR).

-
-

Pointer to the interface of the mixer to use. This parameter can be null. If this parameter is null, the EVR uses its default mixer.

-

Pointer to the interface of the presenter to use. This parameter can be null. If this parameter is null, the EVR uses its default presenter.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_INVALIDARG

Either the mixer or the presenter is invalid.

The mixer and presenter cannot be replaced in the current state. (EVR media sink.)

The video renderer has been shut down.

VFW_E_WRONG_STATE

One or more input pins are connected. (DirectShow EVR filter.)

?

- -

Call this method directly after creating the EVR, before you do any of the following:

  • Call on the EVR.

  • Call on the EVR.

  • Connect any pins on the EVR filter, or set any media types on EVR media sink.

The EVR filter returns VFW_E_WRONG_STATE if any of the filter's pins are connected. The EVR media sink returns if a media type is set on any of the streams, or the presentation clock is running or paused.

The device identifiers for the mixer and the presenter must match. The method returns the device identifier. If they do not match, the method returns E_INVALIDARG.

If the video renderer is in the protected media path (PMP), the mixer and presenter objects must be certified safe components and pass any trust authority verification that is being enforced. Otherwise, this method will fail.

-
- - ms704667 - HRESULT IMFVideoRenderer::InitializeRenderer([In, Optional] IMFTransform* pVideoMixer,[In, Optional] IMFVideoPresenter* pVideoPresenter) - IMFVideoRenderer::InitializeRenderer -
- - -

Allocates video samples for a video media sink.

The stream sinks on the enhanced video renderer (EVR) expose this interface as a service. To obtain a reference to the interface, call using the service identifier . Custom media sinks can also implement this interface. The Media Session uses this interface to allocate samples for the EVR, unless the upstream decoder supports DirectX Video Acceleration (DXVA).

-
- - aa473823 - IMFVideoSampleAllocator - IMFVideoSampleAllocator -
- - - Initializes a new instance of the 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 Direct3D device manager for the video media sink to use.

-
- -

The media sink uses the Direct3D device manager to obtain a reference to the Direct3D device, which it uses to allocate Direct3D surfaces. The device manager enables multiple objects in the pipeline (such as a video renderer and a video decoder) to share the same Direct3D device.

-
- - aa473819 - SetDirectXManager - SetDirectXManager - HRESULT IMFVideoSampleAllocator::SetDirectXManager([In] IUnknown* pManager) -
- - -

Specifies the Direct3D device manager for the video media sink to use.

-
-

Pointer to the interface of the Direct3D device manager. The media sink queries this reference for the IDirect3DDeviceManager9 interface.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

The media sink uses the Direct3D device manager to obtain a reference to the Direct3D device, which it uses to allocate Direct3D surfaces. The device manager enables multiple objects in the pipeline (such as a video renderer and a video decoder) to share the same Direct3D device.

-
- - aa473819 - HRESULT IMFVideoSampleAllocator::SetDirectXManager([In] IUnknown* pManager) - IMFVideoSampleAllocator::SetDirectXManager -
- - -

Releases all of the video samples that have been allocated.

-
-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - aa473807 - HRESULT IMFVideoSampleAllocator::UninitializeSampleAllocator() - IMFVideoSampleAllocator::UninitializeSampleAllocator -
- - -

Specifies the number of samples to allocate and the media type for the samples.

-
-

Number of samples to allocate.

-

Pointer to the interface of a media type that describes the video format.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

Invalid media type.

?

- - bb970496 - HRESULT IMFVideoSampleAllocator::InitializeSampleAllocator([In] unsigned int cRequestedFrames,[In] IMFMediaType* pMediaType) - IMFVideoSampleAllocator::InitializeSampleAllocator -
- - -

Gets a video sample from the allocator.

-
-

Receives a reference to the interface. The caller must release the interface.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The allocator was not initialized. Call or InitializeSampleAllocatorEx::InitializeSampleAllocatorEx.

No samples are available.

?

- - bb970553 - HRESULT IMFVideoSampleAllocator::AllocateSample([In] IMFSample** ppSample) - IMFVideoSampleAllocator::AllocateSample -
- - -

Enables an application to track video samples allocated by the enhanced video renderer (EVR).

The stream sinks on the EVR expose this interface as a service. To get a reference to the interface, call the method, using the service identifier.

-
- - dd374900 - IMFVideoSampleAllocatorCallback - IMFVideoSampleAllocatorCallback -
- - - Initializes a new instance of the 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 callback object that receives notification whenever a video sample is returned to the allocator.

-
- -

To get a video sample from the allocator, call the method. When the sample is released, it returns to the pool of available samples. When this happens, the allocator invokes the callback.

The allocator holds at most one callback reference. Calling this method again replaces the previous callback reference.

-
- - dd374904 - SetCallback - SetCallback - HRESULT IMFVideoSampleAllocatorCallback::SetCallback([In] IMFVideoSampleAllocatorNotify* pNotify) -
- - -

Sets the callback object that receives notification whenever a video sample is returned to the allocator.

-
-

A reference to the interface that receives notification, or null to remove the callback.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

To get a video sample from the allocator, call the method. When the sample is released, it returns to the pool of available samples. When this happens, the allocator invokes the callback.

The allocator holds at most one callback reference. Calling this method again replaces the previous callback reference.

-
- - dd374904 - HRESULT IMFVideoSampleAllocatorCallback::SetCallback([In] IMFVideoSampleAllocatorNotify* pNotify) - IMFVideoSampleAllocatorCallback::SetCallback -
- - -

Gets the number of video samples that are currently available for use.

-
-

Receives the number of available samples.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

To get a video sample from the allocator, call the method. The AllocateSample method removes a sample from the sample pool and returns it to the caller. When a sample is released, it returns to the pool. The GetFreeSampleCount method returns the count of samples that remain in the sample pool.

-
- - dd374902 - HRESULT IMFVideoSampleAllocatorCallback::GetFreeSampleCount([In] int* plSamples) - IMFVideoSampleAllocatorCallback::GetFreeSampleCount -
- - -

Allocates video samples that contain Microsoft Direct3D?11 texture surfaces.

-
- -

You can use this interface to allocateDirect3D?11 video samples, rather than allocate the texture surfaces and media samples directly. To get a reference to this interface, call the function.

To allocate video samples, perform the following steps:

  1. Obtain a reference to the interface. For a Media Foundation transform (MFT), this step occurs during the event.
  2. Call to create the allocator object and get a reference to the interface.
  3. Call on the allocator to set the reference on the allocator.
  4. Call to get a reference to the interface.
  5. Set the and attributes.
  6. Call IMFVideoSampleAllocator::InitializeSampleAllocatorEx.
-
- - hh448076 - IMFVideoSampleAllocatorEx - IMFVideoSampleAllocatorEx -
- - - Initializes a new instance of the 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 video sample allocator object.

-
-

The initial number of samples to allocate.

-

The maximum number of samples to allocate.

-

A reference to the interface. You can use this interface to configure the allocator. Currently, the following configuration attributes are defined:

  • MF_SA_D3D11_SHARED
  • MF_SA_D3D11_SHARED_WITHOUT_MUTEX
-

A reference to the interface of a media type that describes the video format.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - hh448077 - HRESULT IMFVideoSampleAllocatorEx::InitializeSampleAllocatorEx([In] unsigned int cInitialSamples,[In] unsigned int cMaximumSamples,[In, Optional] IMFAttributes* pAttributes,[In] IMFMediaType* pMediaType) - IMFVideoSampleAllocatorEx::InitializeSampleAllocatorEx -
- - -

The callback for the interface.

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

Called when a video sample is returned to the allocator.

-
-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

To get a video sample from the allocator, call the method. When the sample is released and then returned to the pool of available samples, the allocator invokes the NotifyRelease method.

-
- - dd374908 - HRESULT IMFVideoSampleAllocatorNotify::NotifyRelease() - IMFVideoSampleAllocatorNotify::NotifyRelease -
- - -

The callback for the interface.

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

Called when allocator samples are released for pruning by the allocator, or when the allocator is removed.

-
-

The sample to be pruned.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - mt627757 - HRESULT IMFVideoSampleAllocatorNotifyEx::NotifyPrune([In] IMFSample* __MIDL__IMFVideoSampleAllocatorNotifyEx0000) - IMFVideoSampleAllocatorNotifyEx::NotifyPrune -
- - -

Completes an asynchronous request to register the topology work queues with the Multimedia Class Scheduler Service (MMCSS).

-
- -

Call this method when the method completes asynchronously.

-
- - ms696983 - IMFWorkQueueServices - IMFWorkQueueServices -
- - - Initializes a new instance of the 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 the topology work queues with the Multimedia Class Scheduler Service (MMCSS).

-
-

A reference to the interface of a callback object. The caller must implement this interface.

-

A reference to the interface of a state object defined by the caller. This parameter can be null. You can use this object to hold state information. The object is returned to the caller when the callback is invoked.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

Each source node in the topology defines one branch of the topology. The branch includes every topology node that receives data from that node. An application can assign each branch of a topology its own work queue and then associate those work queues with MMCSS tasks.

To use this method, perform the following steps.

  1. Create the topology.
  2. Set the following attributes on the source nodes in the topology.
    • . Specifies an identifier for the work queue. The Media Session will allocate a new work queue.
    • . Specifies the MMCSS class.
    • . Specifies the MMCSS task identifier (optional). If this attribute is not set, MMCSS assigns a new task identifier.
  3. Queue the topology by calling .
  4. Wait for the event with the status.
  5. Call BeginRegisterTopologyWorkQueuesWithMMCSS. This method registers all of the topology work queues with MMCSS.

The BeginRegisterTopologyWorkQueuesWithMMCSS method is asynchronous. When the operation completes, the callback object's method is called. Within the callback method, call to complete the asynchronous request. After this operation completes, the Media Session automatically registers the work queues for every new topology that is queued on the Media Session. The application does not need to call the method again for new topologies.

To unregister the topology work queues from MMCSS, call .

-
- - ms697485 - HRESULT IMFWorkQueueServices::BeginRegisterTopologyWorkQueuesWithMMCSS([In] IMFAsyncCallback* pCallback,[In] IUnknown* pState) - IMFWorkQueueServices::BeginRegisterTopologyWorkQueuesWithMMCSS -
- - -

Completes an asynchronous request to register the topology work queues with the Multimedia Class Scheduler Service (MMCSS).

-
-

Pointer to the interface. Pass in the same reference that your callback object received in the method.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

Call this method when the method completes asynchronously.

-
- - ms696983 - HRESULT IMFWorkQueueServices::EndRegisterTopologyWorkQueuesWithMMCSS([In] IMFAsyncResult* pResult) - IMFWorkQueueServices::EndRegisterTopologyWorkQueuesWithMMCSS -
- - -

Unregisters the topology work queues from the Multimedia Class Scheduler Service (MMCSS).

-
-

Pointer to the interface of a callback object. The caller must implement this interface.

-

Pointer to the interface of a state object, defined by the caller. This parameter can be null. You can use this object to hold state information. The object is returned to the caller when the callback is invoked.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

This method is asynchronous. When the operation completes, the callback object's method is called. At that point, the application should call to complete the asynchronous request.

-
- - ms702139 - HRESULT IMFWorkQueueServices::BeginUnregisterTopologyWorkQueuesWithMMCSS([In] IMFAsyncCallback* pCallback,[In] IUnknown* pState) - IMFWorkQueueServices::BeginUnregisterTopologyWorkQueuesWithMMCSS -
- - -

Completes an asynchronous request to unregister the topology work queues from the Multimedia Class Scheduler Service (MMCSS).

-
-

Pointer to the interface. Pass in the same reference that your callback object received in the method.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

Call this method when the method completes asynchronously.

-
- - ms698872 - HRESULT IMFWorkQueueServices::EndUnregisterTopologyWorkQueuesWithMMCSS([In] IMFAsyncResult* pResult) - IMFWorkQueueServices::EndUnregisterTopologyWorkQueuesWithMMCSS -
- - -

Retrieves the Multimedia Class Scheduler Service (MMCSS) class for a specified branch of the current topology.

-
-

Identifies the work queue assigned to this topology branch. The application defines this value by setting the attribute on the source node for the branch.

-

Pointer to a buffer that receives the name of the MMCSS class. This parameter can be null.

-

On input, specifies the size of the pwszClass buffer, in characters. On output, receives the required size of the buffer, in characters. The size includes the terminating null character.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

E_INVALIDARG

There is no work queue with the specified identifier.

The pwszClass buffer is too small to receive the class name.

?

- - ms704762 - HRESULT IMFWorkQueueServices::GetTopologyWorkQueueMMCSSClass([In] unsigned int dwTopologyWorkQueueId,[Out, Buffer] wchar_t* pwszClass,[InOut] unsigned int* pcchClass) - IMFWorkQueueServices::GetTopologyWorkQueueMMCSSClass -
- - -

Retrieves the Multimedia Class Scheduler Service (MMCSS) task identifier for a specified branch of the current topology.

-
-

Identifies the work queue assigned to this topology branch. The application defines this value by setting the attribute on the source node for the branch.

-

Receives the task identifier.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - ms694202 - HRESULT IMFWorkQueueServices::GetTopologyWorkQueueMMCSSTaskId([In] unsigned int dwTopologyWorkQueueId,[Out] unsigned int* pdwTaskId) - IMFWorkQueueServices::GetTopologyWorkQueueMMCSSTaskId -
- - -

Associates a platform work queue with a Multimedia Class Scheduler Service (MMCSS) task.

-
-

The platform work queue to register with MMCSS. See Work Queue Identifiers. To register all of the standard work queues to the same MMCSS task, set this parameter to .

-

The name of the MMCSS task to be performed.

-

The unique task identifier. To obtain a new task identifier, set this value to zero.

-

A reference to the interface of a callback object. The caller must implement this interface.

-

A reference to the interface of a state object, defined by the caller. This parameter can be null. You can use this object to hold state information. The object is returned to the caller when the callback is invoked.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- -

This method is asynchronous. When the operation completes, the callback object's method is called. At that point, the application should call to complete the asynchronous request.

To unregister the work queue from the MMCSS class, call .

-
- - ms702114 - HRESULT IMFWorkQueueServices::BeginRegisterPlatformWorkQueueWithMMCSS([In] unsigned int dwPlatformWorkQueue,[In] const wchar_t* wszClass,[In] unsigned int dwTaskId,[In] IMFAsyncCallback* pCallback,[In] IUnknown* pState) - IMFWorkQueueServices::BeginRegisterPlatformWorkQueueWithMMCSS -
- - -

Completes an asynchronous request to associate a platform work queue with a Multimedia Class Scheduler Service (MMCSS) task.

-
-

Pointer to the interface. Pass in the same reference that your callback object received in the method.

-

The unique task identifier.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

Call this function when the method completes asynchronously.

To unregister the work queue from the MMCSS class, call .

-
- - ms702284 - HRESULT IMFWorkQueueServices::EndRegisterPlatformWorkQueueWithMMCSS([In] IMFAsyncResult* pResult,[Out] unsigned int* pdwTaskId) - IMFWorkQueueServices::EndRegisterPlatformWorkQueueWithMMCSS -
- - -

Unregisters a platform work queue from a Multimedia Class Scheduler Service (MMCSS) task.

-
-

Platform work queue to register with MMCSS. See .

-

Pointer to the interface of a callback object. The caller must implement this interface.

-

Pointer to the interface of a state object, defined by the caller. This parameter can be null. You can use this object to hold state information. The object is returned to the caller when the callback is invoked.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

This method is asynchronous. When the operation completes, the callback object's method is called. At that point, the application should call to complete the asynchronous request.

-
- - ms704603 - HRESULT IMFWorkQueueServices::BeginUnregisterPlatformWorkQueueWithMMCSS([In] unsigned int dwPlatformWorkQueue,[In] IMFAsyncCallback* pCallback,[In] IUnknown* pState) - IMFWorkQueueServices::BeginUnregisterPlatformWorkQueueWithMMCSS -
- - -

Completes an asynchronous request to unregister a platform work queue from a Multimedia Class Scheduler Service (MMCSS) task.

-
-

Pointer to the interface. Pass in the same reference that your callback object received in the method.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- -

Call this method when the method completes asynchronously.

-
- - ms704734 - HRESULT IMFWorkQueueServices::EndUnregisterPlatformWorkQueueWithMMCSS([In] IMFAsyncResult* pResult) - IMFWorkQueueServices::EndUnregisterPlatformWorkQueueWithMMCSS -
- - -

Retrieves the Multimedia Class Scheduler Service (MMCSS) class for a specified platform work queue.

-
-

Platform work queue to query. See .

-

Pointer to a buffer that receives the name of the MMCSS class. This parameter can be null.

-

On input, specifies the size of the pwszClass buffer, in characters. On output, receives the required size of the buffer, in characters. The size includes the terminating null character.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

The pwszClass buffer is too small to receive the class name.

?

- - ms705624 - HRESULT IMFWorkQueueServices::GetPlaftormWorkQueueMMCSSClass([In] unsigned int dwPlatformWorkQueueId,[Out, Buffer] wchar_t* pwszClass,[InOut] unsigned int* pcchClass) - IMFWorkQueueServices::GetPlaftormWorkQueueMMCSSClass -
- - -

Retrieves the Multimedia Class Scheduler Service (MMCSS) task identifier for a specified platform work queue.

-
-

Platform work queue to query. See .

-

Receives the task identifier.

-

The method returns an . Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.

?

- - ms700183 - HRESULT IMFWorkQueueServices::GetPlatformWorkQueueMMCSSTaskId([In] unsigned int dwPlatformWorkQueueId,[Out] unsigned int* pdwTaskId) - IMFWorkQueueServices::GetPlatformWorkQueueMMCSSTaskId -
- - -

Extends the interface.

-
- -

This interface allows applications to control - both platform and topology work queues.

The can be obtained from the session by querying for the service.

-
- - jj128325 - IMFWorkQueueServicesEx - IMFWorkQueueServicesEx -
- - - Initializes a new instance of the 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 Multimedia Class Scheduler Service (MMCSS) string associated with the given topology work queue.

-
-

The id of the topology work queue.

-

Pointer to the buffer the work queue's MMCSS task id will be copied to.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - jj128328 - HRESULT IMFWorkQueueServicesEx::GetTopologyWorkQueueMMCSSPriority([In] unsigned int dwTopologyWorkQueueId,[Out] int* plPriority) - IMFWorkQueueServicesEx::GetTopologyWorkQueueMMCSSPriority -
- - -

Registers a platform work queue with Multimedia Class Scheduler Service (MMCSS) using the specified class and task id.

-
-

The id of one of the standard platform work queues.

-

The MMCSS class which the work queue should be registered with.

-

The task id which the work queue should be registered with. If dwTaskId is 0, a new MMCSS bucket will be created.

-

The priority.

-

Standard callback used for async operations in Media Foundation.

-

Standard state used for async operations in Media Foundation.

-

If this method succeeds, it returns . Otherwise, it returns an error code.

- - jj128326 - HRESULT IMFWorkQueueServicesEx::BeginRegisterPlatformWorkQueueWithMMCSSEx([In] unsigned int dwPlatformWorkQueue,[In] const wchar_t* wszClass,[In] unsigned int dwTaskId,[In] int lPriority,[In] IMFAsyncCallback* pCallback,[In] IUnknown* pState) - IMFWorkQueueServicesEx::BeginRegisterPlatformWorkQueueWithMMCSSEx -
- - -

Gets the priority of the Multimedia Class Scheduler Service (MMCSS) priority associated with the specified platform work queue.

-
-

Topology work queue id for which the info will be returned.

-
-

Pointer to a buffer allocated by the caller that the work queue's MMCSS task id will be copied to.

- - jj128327 - HRESULT IMFWorkQueueServicesEx::GetPlatformWorkQueueMMCSSPriority([In] unsigned int dwPlatformWorkQueueId,[Out] int* plPriority) - IMFWorkQueueServicesEx::GetPlatformWorkQueueMMCSSPriority - - - -

Contains an image that is stored as metadata for a media source. This structure is used as the data item for the WM/Picture metadata attribute.

-
- -

The WM/Picture attribute is defined in the Windows Media Format SDK. The attribute contains a picture related to the content, such as album art.

To get this attribute from a media source, call , passing in the constant g_wszWMPicture for the pwszName parameter. The method retrieves a that contains a binary array (VT_BLOB). The layout of the array is as follows:

  • structure.
  • Null-terminated wide-character string that contains the MIME type.
  • Null-terminated wide-character string that contains a description.
  • Image data.

This format differs from the WM_PICTURE structure used in the Windows Media Format SDK. The WM_PICTURE structure contains internal references to two strings and the image data. If the structure is copied, these references become invalid. The structure does not contain internal references, so it is safe to copy the structure.

-
- - ms696178 - ASF_FLAT_PICTURE - ASF_FLAT_PICTURE -
- - - No documentation. - - - ms696178 - unsigned char bPictureType - unsigned char bPictureType - - - - No documentation. - - - ms696178 - unsigned int dwDataLen - unsigned int dwDataLen - - - -

Contains synchronized lyrics stored as metadata for a media source. This structure is used as the data item for the WM/Lyrics_Synchronised metadata attribute.

-
- -

The WM/Lyrics_Synchronised attribute is defined in the Windows Media Format SDK. The attribute contains lyrics synchronized to times in the source file.

To get this attribute from a media source, call , passing in the constant g_wszWMLyrics_Synchronised for the pwszName parameter. The method retrieves a that contains a binary array (VT_BLOB). The layout of the array is as follows:

  • structure.

  • Null-terminated wide-character string that contains a description.

  • Lyric data. The format of the lyric data is described in the Windows Media Format SDK documentation.

This format differs from the WM_SYNCHRONISED_LYRICS structure used in the Windows Media Format SDK. The WM_SYNCHRONISED_LYRICS structure contains internal references to two strings and the lyric data. If the structure is copied, these references become invalid. The structure does not contain internal references, so it is safe to copy the structure.

-
- - ms697057 - ASF_FLAT_SYNCHRONISED_LYRICS - ASF_FLAT_SYNCHRONISED_LYRICS -
- - -

Specifies the format of time stamps in the lyrics. This member is equivalent to the bTimeStampFormat member in the WM_SYNCHRONISED_LYRICS structure. The WM_SYNCHRONISED_LYRICS structure is documented in the Windows Media Format SDK.

-
- - ms697057 - unsigned char bTimeStampFormat - unsigned char bTimeStampFormat -
- - -

Specifies the type of synchronized strings that are in the lyric data. This member is equivalent to the bContentType member in the WM_SYNCHRONISED_LYRICS structure.

-
- - ms697057 - unsigned char bContentType - unsigned char bContentType -
- - -

Size, in bytes, of the lyric data.

-
- - ms697057 - unsigned int dwLyricsLen - unsigned int dwLyricsLen -
- - -

Describes the indexing configuration for a stream and type of index.

-
- - ms696174 - ASF_INDEX_DESCRIPTOR - ASF_INDEX_DESCRIPTOR -
- - -

structure that identifies the stream number and the type of index.

-
- - ms696174 - ASF_INDEX_IDENTIFIER Identifier - ASF_INDEX_IDENTIFIER Identifier -
- - -

Number of bytes used for each index entry. If the value is MFASFINDEXER_PER_ENTRY_BYTES_DYNAMIC, the index entries have variable size.

-
- - ms696174 - unsigned short cPerEntryBytes - unsigned short cPerEntryBytes -
- - -

Optional text description of the index.

-
- - ms696174 - wchar_t szDescription[32] - wchar_t szDescription -
- - -

Indexing interval. The units of this value depend on the index type. A value of MFASFINDEXER_NO_FIXED_INTERVAL indicates that there is no fixed indexing interval.

-
- - ms696174 - unsigned int dwInterval - unsigned int dwInterval -
- - -

Specifies an index for the ASF indexer object.

-
- -

The index object of an ASF file can contain a number of distinct indexes. Each index is identified by the type of index and the stream number. No ASF index object can contain more than one index for a particular combination of stream number and index type.

-
- - ms700100 - ASF_INDEX_IDENTIFIER - ASF_INDEX_IDENTIFIER -
- - -

The type of index. Currently this value must be GUID_NULL, which specifies time-based indexing.

-
- - ms700100 - GUID guidIndexType - GUID guidIndexType -
- - -

The stream number to which this structure applies.

-
- - ms700100 - unsigned short wStreamNumber - unsigned short wStreamNumber -
- - -

Contains statistics about the progress of the ASF multiplexer.

-
- -

Use to retrieve this structure.

-
- - ms696231 - ASF_MUX_STATISTICS - ASF_MUX_STATISTICS -
- - -

Number of frames written by the ASF multiplexer.

-
- - ms696231 - unsigned int cFramesWritten - unsigned int cFramesWritten -
- - -

Number of frames dropped by the ASF multiplexer.

-
- - ms696231 - unsigned int cFramesDropped - unsigned int cFramesDropped -
- - - No documentation. - - - MFAudioDecoderDegradationInfo - MFAudioDecoderDegradationInfo - - - - No documentation. - - - MFT_AUDIO_DECODER_DEGRADATION_REASON eDegradationReason - MFT_AUDIO_DECODER_DEGRADATION_REASON eDegradationReason - - - - No documentation. - - - MFT_AUDIO_DECODER_DEGRADATION_TYPE eType - MFT_AUDIO_DECODER_DEGRADATION_TYPE eType - - - -

Describes a 4:4:4:4 Y'Cb'Cr' sample.

-
- - ms701580 - MFAYUVSample - MFAYUVSample -
- - -

Cr (chroma difference) value.

-
- - ms701580 - unsigned char bCrValue - unsigned char bCrValue -
- - -

Cb (chroma difference) value.

-
- - ms701580 - unsigned char bCbValue - unsigned char bCbValue -
- - -

Y (luma) value.

-
- - ms701580 - unsigned char bYValue - unsigned char bYValue -
- - -

Alpha value.

-
- - ms701580 - unsigned char bSampleAlpha8 - unsigned char bSampleAlpha8 -
- - -

Specifies the buffering parameters for a network byte stream.

-
- - aa370446 - MFBYTESTREAM_BUFFERING_PARAMS - MFBYTESTREAM_BUFFERING_PARAMS -
- - -

Size of the file, in bytes. If the total size is unknown, set this member to -1.

-
- - aa370446 - unsigned longlong cbTotalFileSize - unsigned longlong cbTotalFileSize -
- - -

Size of the playable media data in the file, excluding any trailing data that is not useful for playback. If this value is unknown, set this member to -1.

-
- - aa370446 - unsigned longlong cbPlayableDataSize - unsigned longlong cbPlayableDataSize -
- - -

Pointer to an array of structures. Each member of the array gives the buffer window for a particular bit rate.

-
- - aa370446 - MF_LEAKY_BUCKET_PAIR* prgBuckets - MF_LEAKY_BUCKET_PAIR prgBuckets -
- - -

The number of elements in the prgBuckets array.

-
- - aa370446 - unsigned int cBuckets - unsigned int cBuckets -
- - -

Amount of data to buffer from the network, in 100-nanosecond units. This value is in addition to the buffer windows defined in the prgBuckets member.

-
- - aa370446 - unsigned longlong qwNetBufferingTime - unsigned longlong qwNetBufferingTime -
- - -

Amount of additional data to buffer when seeking, in 100-nanosecond units. This value reflects the fact that downloading must start from the previous key frame before the seek point. If the value is unknown, set this member to zero.

-
- - aa370446 - unsigned longlong qwExtraBufferingTimeDuringSeek - unsigned longlong qwExtraBufferingTimeDuringSeek -
- - -

The playback duration of the file, in 100-nanosecond units. If the duration is unknown, set this member to zero.

-
- - aa370446 - unsigned longlong qwPlayDuration - unsigned longlong qwPlayDuration -
- - -

Playback rate.

-
- - aa370446 - float dRate - float dRate -
- - -

Specifies a range of bytes.

-
- - hh162808 - MF_BYTE_STREAM_CACHE_RANGE - MF_BYTE_STREAM_CACHE_RANGE -
- - -

The offset, in bytes, of the start of the range.

-
- - hh162808 - unsigned longlong qwStartOffset - unsigned longlong qwStartOffset -
- - -

The offset, in bytes, of the end of the range.

-
- - hh162808 - unsigned longlong qwEndOffset - unsigned longlong qwEndOffset -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

A transform describing the location of a camera relative to other cameras or an established external reference.

-
- -

The Position value should be expressed in real-world coordinates in units of meters. The coordinate system of both position and orientation should be right-handed Cartesian as shown in the following diagram.

Important??

The position and orientation are expressed as transforms toward the reference frame or origin. For example, a Position value of {-5, 0, 0} means that the origin is 5 meters to the left of the sensor, and therefore the sensor is 5 meters to the right of the origin. A sensor that is positioned 2 meters above the origin should specify a Position of {0, -2, 0} because that is the translation from the sensor to the origin.

If the sensor is aligned with the origin, the rotation is the identity quaternion and the forward vector is along the -Z axis {0, 0, -1}. If the sensor is rotated +30 degrees around the Y axis from the origin, then the Orientation value should be a rotation of -30 degrees around the Y axis, because it represents the rotation from the sensor to the origin.

? -
- - mt740393 - MFCameraExtrinsic_CalibratedTransform - MFCameraExtrinsic_CalibratedTransform -
- - -

A reference identifying the calibration process for the data, allowing different consumers to identify calibration data from the same process.

-
- - mt740393 - GUID CalibrationId - GUID CalibrationId -
- - -

The transform position.

-
- - mt740393 - MF_FLOAT3 Position - MF_FLOAT3 Position -
- - -

The transform rotation.

-
- - mt740393 - MF_QUATERNION Orientation - MF_QUATERNION Orientation -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Describes the location of a camera relative to other cameras or an established external reference.

-
- - mt740392 - MFCameraExtrinsics - MFCameraExtrinsics -
- - -

The number of transforms in the CalibratedTransforms array.

-
- - mt740392 - unsigned int TransformCount - unsigned int TransformCount -
- - -

The array of transforms in the extrinsic data.

-
- - mt740392 - MFCameraExtrinsic_CalibratedTransform CalibratedTransforms[1] - MFCameraExtrinsic_CalibratedTransform CalibratedTransforms -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Represents a polynomial lens distortion model.

-
- - mt740394 - MFCameraIntrinsic_DistortionModel - MFCameraIntrinsic_DistortionModel -
- - -

The first radial distortion coefficient.

-
- - mt740394 - float Radial_k1 - float Radial_k1 -
- - -

The second radial distortion coefficient.

-
- - mt740394 - float Radial_k2 - float Radial_k2 -
- - -

The third radial distortion coefficient.

-
- - mt740394 - float Radial_k3 - float Radial_k3 -
- - -

The first tangential distortion coefficient.

-
- - mt740394 - float Tangential_p1 - float Tangential_p1 -
- - -

The second tangential distortion coefficient.

-
- - mt740394 - float Tangential_p2 - float Tangential_p2 -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Represents a pinhole camera model.

-
- -

For square pixels, the X and Y fields of the FocalLength should be the same.

The PrincipalPoint field is expressed in pixels, not in normalized coordinates. The origin [0,0] is the bottom, left corner of the image.

-
- - mt740395 - MFCameraIntrinsic_PinholeCameraModel - MFCameraIntrinsic_PinholeCameraModel -
- - -

The focal length of the camera.

-
- - mt740395 - MF_FLOAT2 FocalLength - MF_FLOAT2 FocalLength -
- - -

The principal point of the camera.

-
- - mt740395 - MF_FLOAT2 PrincipalPoint - MF_FLOAT2 PrincipalPoint -
- - -

This structure contains blob information for the EV compensation feedback for the photo captured.

-
- - dn897242 - CapturedMetadataExposureCompensation - CapturedMetadataExposureCompensation -
- - -

A KSCAMERA_EXTENDEDPROP_EVCOMP_XXX step flag.

-
- - dn897242 - unsigned longlong Flags - unsigned longlong Flags -
- - -

The EV compensation value in units of the step specified.

-
- - dn897242 - int Value - int Value -
- - -

The CapturedMetadataISOGains structure describes the blob format for MF_CAPTURE_METADATA_ISO_GAINS.

-
- -

The CapturedMetadataISOGains structure only describes the blob format for the MF_CAPTURE_METADATA_ISO_GAINS attribute. The metadata item structure for ISO gains (KSCAMERA_METADATA_ITEMHEADER + ISO gains metadata payload) is up to driver and must be 8-byte aligned.

-
- - dn927550 - CapturedMetadataISOGains - CapturedMetadataISOGains -
- - -
-
- - dn927550 - float AnalogGain - float AnalogGain -
- - -
-
- - dn927550 - float DigitalGain - float DigitalGain -
- - -

This structure describes the blob format for the MF_CAPTURE_METADATA_WHITEBALANCE_GAINS attribute.

-
- -

The MF_CAPTURE_METADATA_WHITEBALANCE_GAINS attribute contains the white balance gains applied to R, G, B by the sensor or ISP when the preview frame was captured. This is a unitless.

The CapturedMetadataWhiteBalanceGains structure only describes the blob format for the MF_CAPTURE_METADATA_WHITEBALANCE_GAINS attribute. The metadata item structure for white balance gains (KSCAMERA_METADATA_ITEMHEADER + white balance gains metadata payload) is up to driver and must be 8-byte aligned.

-
- - dn927556 - CapturedMetadataWhiteBalanceGains - CapturedMetadataWhiteBalanceGains -
- - -

The R value of the blob.

-
- - dn927556 - float R - float R -
- - -

The G value of the blob.

-
- - dn927556 - float G - float G -
- - -

The B value of the blob.

-
- - dn927556 - float B - float B -
- - -

Defines the properties of a clock.

-
- - ms695206 - MFCLOCK_PROPERTIES - MFCLOCK_PROPERTIES -
- - -

The interval at which the clock correlates its clock time with the system time, in 100-nanosecond units. If the value is zero, the correlation is made whenever the method is called.

-
- - ms695206 - unsigned longlong qwCorrelationRate - unsigned longlong qwCorrelationRate -
- - -

The unique identifier of the underlying device that provides the time. If two clocks have the same unique identifier, they are based on the same device. If the underlying device is not shared between two clocks, the value can be GUID_NULL.

-
- - ms695206 - GUID guidClockId - GUID guidClockId -
- - -

A bitwise OR of flags from the enumeration.

-
- - ms695206 - unsigned int dwClockFlags - unsigned int dwClockFlags -
- - -

The clock frequency in Hz. A value of MFCLOCK_FREQUENCY_HNS means that the clock has a frequency of 10 MHz (100-nanosecond ticks), which is the standard MFTIME time unit in Media Foundation. If the method returns the flag, the value of this field must be MFCLOCK_FREQUENCY_HNS.

-
- - ms695206 - unsigned longlong qwClockFrequency - unsigned longlong qwClockFrequency -
- - -

The amount of inaccuracy that may be present on the clock, in parts per billion (ppb). For example, an inaccuracy of 50 ppb means the clock might drift up to 50 seconds per billion seconds of real time. If the tolerance is not known, the value is MFCLOCK_TOLERANCE_UNKNOWN. This constant is equal to 50 parts per million (ppm).

-
- - ms695206 - unsigned int dwClockTolerance - unsigned int dwClockTolerance -
- - -

The amount of jitter that may be present, in 100-nanosecond units. Jitter is the variation in the frequency due to sampling the underlying clock. Jitter does not include inaccuracies caused by drift, which is reflected in the value of dwClockTolerance.

For clocks based on a single device, the minimum jitter is the length of the tick period (the inverse of the frequency). For example, if the frequency is 10 Hz, the jitter is 0.1 second, which is 1,000,000 in MFTIME units. This value reflects the fact that the clock might be sampled just before the next tick, resulting in a clock time that is one period less than the actual time. If the frequency is greater than 10 MHz, the jitter should be set to 1 (the minimum value).

If a clock's underlying hardware device does not directly time stamp the incoming data, the jitter also includes the time required to dispatch the driver's interrupt service routine (ISR). In that case, the expected jitter should include the following values:

ValueMeaning
MFCLOCK_JITTER_ISR

Jitter due to time stamping during the device driver's ISR.

MFCLOCK_JITTER_DPC

Jitter due to time stamping during the deferred procedure call (DPC) processing.

MFCLOCK_JITTER_PASSIVE

Jitter due to dropping to normal thread execution before time stamping.

?

-
- - ms695206 - unsigned int dwClockJitter - unsigned int dwClockJitter -
- - -

Contains information about the data that you want to provide as input to a protection system function.

-
- - mt219216 - MFCONTENTPROTECTIONDEVICE_INPUT_DATA - MFCONTENTPROTECTIONDEVICE_INPUT_DATA -
- - -

The identifier of the function that you need to run. This value is defined by the implementation of the protection system.

-
- - mt219216 - unsigned int HWProtectionFunctionID - unsigned int HWProtectionFunctionID -
- - -

The size of the private data that the implementation of the security processor implementation reserved. You can determine this value by calling the method.

-
- - mt219216 - unsigned int PrivateDataByteCount - unsigned int PrivateDataByteCount -
- - -

The size of the data provided as input to the protection system function that you want to run.

-
- - mt219216 - unsigned int HWProtectionDataByteCount - unsigned int HWProtectionDataByteCount -
- - -

Reserved.

-
- - mt219216 - unsigned int Reserved - unsigned int Reserved -
- - -

The data to provide as input to the protection system function.

If the value of the PrivateDataByteCount member is greater than 0, bytes 0 through PrivateDataByteCount - 1 are reserved for use by the independent hardware vendor (IHV). Bytes PrivateDataByteCount through HWProtectionDataByteCount + PrivateDataByteCount - 1 contain the input data for the protection system function.

The protection system specification defines the format and size of the DRM function.

-
- - mt219216 - unsigned char InputData[4] - unsigned char InputData -
- - -

Contains information about the data you received as output from a protection system function.

-
- - mt219217 - MFCONTENTPROTECTIONDEVICE_OUTPUT_DATA - MFCONTENTPROTECTIONDEVICE_OUTPUT_DATA -
- - -

The size of the private data that the implementation of the security processor reserves, in bytes. You can determine this value by calling the method.

-
- - mt219217 - unsigned int PrivateDataByteCount - unsigned int PrivateDataByteCount -
- - -

The maximum size of data that the independent hardware vendor (IHV) can return in the output buffer, in bytes.

-
- - mt219217 - unsigned int MaxHWProtectionDataByteCount - unsigned int MaxHWProtectionDataByteCount -
- - -

The size of the data that the IHV wrote to the output buffer, in bytes.

-
- - mt219217 - unsigned int HWProtectionDataByteCount - unsigned int HWProtectionDataByteCount -
- - -

The result of the protection system function.

-
- - mt219217 - HRESULT Status - HRESULT Status -
- - -

The number of 100 nanosecond units spent transporting the data.

-
- - mt219217 - longlong TransportTimeInHundredsOfNanoseconds - longlong TransportTimeInHundredsOfNanoseconds -
- - -

The number of 100 nanosecond units spent running the protection system function. -

-
- - mt219217 - longlong ExecutionTimeInHundredsOfNanoseconds - longlong ExecutionTimeInHundredsOfNanoseconds -
- - -

The output of the protection system function.

If the value of the PrivateDataByteCount member is greater than 0, bytes 0 through PrivateDataByteCount - 1 are reserved for IHV use. Bytes PrivateDataByteCount through MaxHWProtectionDataByteCount + PrivateDataByteCount - 1 contain the region of the array into which the driver should return the output data from the protection system function.

The protection system specification defines the format and size of the function.

-
- - mt219217 - unsigned char OutputData[4] - unsigned char OutputData -
- - -

Advises the secure processor of the Multimedia Class Scheduler service (MMCSS) parameters so that real-time tasks can be scheduled at the expected priority.

-
- - mt219218 - MFCONTENTPROTECTIONDEVICE_REALTIMECLIENT_DATA - MFCONTENTPROTECTIONDEVICE_REALTIMECLIENT_DATA -
- - -

The identifier for the MMCSS task.

-
- - mt219218 - unsigned int TaskIndex - unsigned int TaskIndex -
- - -

The name of the MMCSS task.

-
- - mt219218 - wchar_t ClassName[260] - wchar_t ClassName -
- - -

The base priority of the thread that runs the MMCSS task.

-
- - mt219218 - int BasePriority - int BasePriority -
- - - No documentation. - - - DIRTYRECT_INFO - DIRTYRECT_INFO - - - - No documentation. - - - unsigned int FrameNumber - unsigned int FrameNumber - - - - No documentation. - - - unsigned int NumDirtyRects - unsigned int NumDirtyRects - - - - No documentation. - - - RECT DirtyRects[1] - RECT DirtyRects - - - -

The structure describes the format of the data used by a stream in a Microsoft DirectX Media Object (DMO).

-
- -

This structure is identical to the DirectShow structure. The bFixedSizeSamples, bTemporalCompression, and lSampleSize members are for compatibility with DirectShow. Other DMO clients are not required to use them.

-
- - dd375504 - DMO_MEDIA_TYPE - DMO_MEDIA_TYPE -
- - -

Major type of the stream.

-
- - dd375504 - GUID majortype - GUID majortype -
- - -

Subtype of the stream.

-
- - dd375504 - GUID subtype - GUID subtype -
- - -

If TRUE, samples are of a fixed size. This field is informational only. For audio, it is generally set to TRUE. For video, it is usually TRUE for uncompressed video and for compressed video.

-
- - dd375504 - BOOL bFixedSizeSamples - BOOL bFixedSizeSamples -
- - -

If TRUE, samples are compressed using temporal (interframe) compression. (A value of TRUE indicates that not all frames are key frames.) This field is informational only.

-
- - dd375504 - BOOL bTemporalCompression - BOOL bTemporalCompression -
- - -

Size of the sample in bytes. For compressed data, the value can be zero.

-
- - dd375504 - unsigned int lSampleSize - unsigned int lSampleSize -
- - -

specifying the format type. The pbFormat member points to the corresponding format structure. Format types include the following.

Format typeFormat structure
FORMAT_DvInfo

DVINFO

FORMAT_MPEG2Video

FORMAT_MPEGVideo

FORMAT_None

None.

FORMAT_VideoInfo

FORMAT_VideoInfo2

FORMAT_WaveFormatEx

?

-
- - dd375504 - GUID formattype - GUID formattype -
- - -

Not used. Set to null.

-
- - dd375504 - IUnknown* pUnk - IUnknown pUnk -
- - -

Size of the format block of the media type.

-
- - dd375504 - unsigned int cbFormat - unsigned int cbFormat -
- - -

Pointer to the format structure. The structure type is specified by the formattype member. The format structure must be present, unless formattype is GUID_NULL or FORMAT_None.

-
- - dd375504 - unsigned char* pbFormat - unsigned char pbFormat -
- - - No documentation. - - - DMO_OUTPUT_DATA_BUFFER - DMO_OUTPUT_DATA_BUFFER - - - - No documentation. - - - IMediaBuffer* pBuffer - IMediaBuffer pBuffer - - - - No documentation. - - - unsigned int dwStatus - unsigned int dwStatus - - - - No documentation. - - - longlong rtTimestamp - longlong rtTimestamp - - - - No documentation. - - - longlong rtTimelength - longlong rtTimelength - - - -

The FaceCharacterization structure describes the blob format for the MF_CAPTURE_METADATA_FACEROICHARACTERIZATIONS attribute.

-
- -

The MF_CAPTURE_METADATA_FACEROICHARACTERIZATIONS attribute contains the blink and facial expression state for the face ROIs identified in MF_CAPTURE_METADATA_FACEROIS. For a device that does not support blink or facial expression detection, this attribute should be omitted.

The facial expressions that can be detected are defined as follows:

#define MF_METADATAFACIALEXPRESSION_SMILE             0x00000001

The FaceCharacterizationBlobHeader and FaceCharacterization structures only describe the blob format for the MF_CAPTURE_METADATA_FACEROICHARACTERIZATIONS attribute. The metadata item structure for the face characterizations (KSCAMERA_METADATA_ITEMHEADER + face characterizations metadata payload) is up to driver and must be 8-byte aligned.

-
- - dn927642 - FaceCharacterization - FaceCharacterization -
- - -

0 indicates no blink for the left eye, 100 indicates definite blink for the left eye (0 - 100).

-
- - dn927642 - unsigned int BlinkScoreLeft - unsigned int BlinkScoreLeft -
- - -

0 indicates no blink for the right eye, 100 indicates definite blink for the right eye (0 - 100).

-
- - dn927642 - unsigned int BlinkScoreRight - unsigned int BlinkScoreRight -
- - -

A defined facial expression value.

-
- - dn927642 - unsigned int FacialExpression - unsigned int FacialExpression -
- - -

0 indicates no such facial expression as identified, 100 indicates definite such facial expression as defined (0 - 100).

-
- - dn927642 - unsigned int FacialExpressionScore - unsigned int FacialExpressionScore -
- - -

The FaceCharacterizationBlobHeader structure describes the size and count information of the blob format for the MF_CAPTURE_METADATA_FACEROICHARACTERIZATIONS attribute.

-
- - dn927643 - FaceCharacterizationBlobHeader - FaceCharacterizationBlobHeader -
- - -

Size of this header + all following FaceCharacterization structures.

-
- - dn927643 - unsigned int Size - unsigned int Size -
- - -

Number of FaceCharacterization structures in the blob. Must match the number of FaceRectInfo structures in FaceRectInfoBlobHeader.

-
- - dn927643 - unsigned int Count - unsigned int Count -
- - -

The FaceRectInfo structure describes the blob format for the MF_CAPTURE_METADATA_FACEROIS attribute.

-
- -

The MF_CAPTURE_METADATA_FACEROIS attribute contains the face rectangle info detected by the driver. By default driver\MFT0 should provide the face information on preview stream. If the driver advertises the capability on other streams, driver\MFT must provide the face info on the corresponding streams if the application enables face detection on those streams. When video stabilization is enabled on the driver, the face information should be provided post-video stabilization. The dominate face must be the first FaceRectInfo in the blob.

The FaceRectInfoBlobHeader and FaceRectInfo structures only describe the blob format for the MF_CAPTURE_METADATA_FACEROIS attribute. The metadata item structure for face ROIs (KSCAMERA_METADATA_ITEMHEADER + face ROIs metadata payload) is up to driver and must be 8-byte aligned.

-
- - dn927644 - FaceRectInfo - FaceRectInfo -
- - -

Relative coordinates on the frame that face detection is running (Q31 format).

-
- - dn927644 - RECT Region - RECT Region -
- - -

Confidence level of the region being a face (0 - 100).

-
- - dn927644 - int confidenceLevel - int confidenceLevel -
- - -

The FaceRectInfoBlobHeader structure describes the size and count information of the blob format for the MF_CAPTURE_METADATA_FACEROIS attribute.

-
- - dn927645 - FaceRectInfoBlobHeader - FaceRectInfoBlobHeader -
- - -

Size of this header + all following FaceRectInfo structures.

-
- - dn927645 - unsigned int Size - unsigned int Size -
- - -

Number of FaceRectInfo structures in the blob.

-
- - dn927645 - unsigned int Count - unsigned int Count -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

A vector with two components.

-
- - mt740402 - MF_FLOAT2 - MF_FLOAT2 -
- - -

X component of the vector.

-
- - mt740402 - float x - float x -
- - -

Y component of the vector.

-
- - mt740402 - float y - float y -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

A vector with three components.

-
- - mt740403 - MF_FLOAT3 - MF_FLOAT3 -
- - -

X component of the vector.

-
- - mt740403 - float x - float x -
- - -

Y component of the vector.

-
- - mt740403 - float y - float y -
- - -

Z component of the vector.

-
- - mt740403 - float z - float z -
- - -

Contains coefficients used to transform multichannel audio into a smaller number of audio channels. This process is called fold-down.

-
- -

To specify this information in the media type, set the attribute.

The ASF media source supports fold-down from six channels (5.1 audio) to two channels (stereo). It gets the information from the g_wszFold6To2Channels3 attribute in the ASF header. This attribute is documented in the Windows Media Format SDK documentation.

-
- - aa369731 - MFFOLDDOWN_MATRIX - MFFOLDDOWN_MATRIX -
- - -

Size of the structure, in bytes.

-
- - aa369731 - unsigned int cbSize - unsigned int cbSize -
- - -

Number of source channels.

-
- - aa369731 - unsigned int cSrcChannels - unsigned int cSrcChannels -
- - -

Number of destination channels.

-
- - aa369731 - unsigned int cDstChannels - unsigned int cDstChannels -
- - -

Specifies the assignment of audio channels to speaker positions in the transformed audio. This member is a bitwise OR of flags that define the speaker positions. For a list of valid flags, see attribute.

-
- - aa369731 - unsigned int dwChannelMask - unsigned int dwChannelMask -
- - -

Array that contains the fold-down coefficients. The number of coefficients is cSrcChannels?cDstChannels. If the number of coefficients is less than the size of the array, the remaining elements in the array are ignored. For more information about how the coefficients are applied, see Windows Media Audio Professional Codec Features.

-
- - aa369731 - int Coeff[64] - int Coeff -
- - -

The HistogramBlobHeader structure describes the blob size and the number of histograms in the blob for the MF_CAPTURE_METADATA_HISTOGRAM attribute.

-
- - dn927646 - HistogramBlobHeader - HistogramBlobHeader -
- - -

Size of the entire histogram blob in bytes.

-
- - dn927646 - unsigned int Size - unsigned int Size -
- - -

Number of histograms in the blob. Each histogram is identified by a HistogramHeader.

-
- - dn927646 - unsigned int Histograms - unsigned int Histograms -
- - -

The HistogramDataHeader structure describes the blob format for the MF_CAPTURE_METADATA_HISTOGRAM attribute.

-
- - dn927647 - HistogramDataHeader - HistogramDataHeader -
- - -

Size in bytes of this header + all following histogram data.

-
- - dn927647 - unsigned int Size - unsigned int Size -
- - -

Mask of the color channel for the histogram data.

-
- - dn927647 - unsigned int ChannelMask - unsigned int ChannelMask -
- - -

1 if linear, 0 if nonlinear.

-
- - dn927647 - unsigned int Linear - unsigned int Linear -
- - -

The HistogramGrid structure describes the blob format for MF_CAPTURE_METADATA_HISTOGRAM.

-
- - dn927648 - HistogramGrid - HistogramGrid -
- - -

Width of the sensor output that histogram is collected from.

-
- - dn927648 - unsigned int Width - unsigned int Width -
- - -

Height of the sensor output that histogram is collected from.

-
- - dn927648 - unsigned int Height - unsigned int Height -
- - -

Absolute coordinates of the region on the sensor output that the histogram is collected for.

-
- - dn927648 - RECT Region - RECT Region -
- - -

The HistogramHeader structure describes the blob format for MF_CAPTURE_METADATA_HISTOGRAM.

-
- -

The MF_CAPTURE_METADATA_HISTOGRAM attribute contains a histogram when a preview frame is captured.

For the ChannelMasks field, the following bitmasks indicate the available channels in the histogram:

#define MF_HISTOGRAM_CHANNEL_Y  0x00000001	
-            #define MF_HISTOGRAM_CHANNEL_R  0x00000002	
-            #define MF_HISTOGRAM_CHANNEL_G  0x00000004	
-            #define MF_HISTOGRAM_CHANNEL_B  0x00000008	
-            #define MF_HISTOGRAM_CHANNEL_Cb 0x00000010	
-            #define MF_HISTOGRAM_CHANNEL_Cr 0x00000020

Each blob can contain multiple histograms collected from different regions or different color spaces of the same frame. Each histogram in the blob is identified by its own HistogramHeader. Each histogram has its own region and sensor output size associated. For full frame histogram, the region will match the sensor output size specified in HistogramGrid.

Histogram data for all available channels are grouped under one histogram. Histogram data for each channel is identified by a HistogramDataHeader immediate above the data. ChannelMasks indicate how many and what channels are having the histogram data, which is the bitwise OR of the supported MF_HISTOGRAM_CHANNEL_* bitmasks as defined above. ChannelMask indicates what channel the data is for, which is identified by any one of the MF_HISTOGRAM_CHANNEL_* bitmasks.

Histogram data is an array of ULONG with each entry representing the number of pixels falling under a set of tonal values as categorized by the bin. The data in the array should start from bin 0 to bin N-1, where N is the number of bins in the histogram, for example, HistogramBlobHeader.Bins.

For Windows?10, if KSPROPERTY_CAMERACONTROL_EXTENDED_HISTOGRAM is supported, at minimum a full frame histogram with Y channel must be provided which should be the first histogram in the histogram blob. - Note that HistogramBlobHeader, HistogramHeader, HistogramDataHeader and Histogram data only describe the blob format for the MF_CAPTURE_METADATA_HISTOGRAM attribute. The metadata item structure for the histogram (KSCAMERA_METADATA_ITEMHEADER + all histogram metadata payload) is up to driver and must be 8-byte aligned.

-
- - dn927649 - HistogramHeader - HistogramHeader -
- - -

Size of this header + (HistogramDataHeader + histogram data following) * number of channels available.

-
- - dn927649 - unsigned int Size - unsigned int Size -
- - -

Number of bins in the histogram.

-
- - dn927649 - unsigned int Bins - unsigned int Bins -
- - -

Color space that the histogram is collected from

-
- - dn927649 - unsigned int FourCC - unsigned int FourCC -
- - -

Masks of the color channels that the histogram is collected for.

-
- - dn927649 - unsigned int ChannelMasks - unsigned int ChannelMasks -
- - -

Grid that the histogram is collected from.

-
- - dn927649 - HistogramGrid Grid - HistogramGrid Grid -
- - -

Describes an action requested by an output trust authority (OTA). The request is sent to an input trust authority (ITA).

-
- - ms695312 - MFINPUTTRUSTAUTHORITY_ACCESS_ACTION - MFINPUTTRUSTAUTHORITY_ACCESS_ACTION -
- - -

Specifies the action as a member of the enumeration.

-
- - ms695312 - MFPOLICYMANAGER_ACTION Action - MFPOLICYMANAGER_ACTION Action -
- - -

Pointer to a buffer that contains a ticket object, provided by the OTA.

-
- - ms695312 - unsigned char* pbTicket - unsigned char pbTicket -
- - -

Size of the ticket object, in bytes.

-
- - ms695312 - unsigned int cbTicket - unsigned int cbTicket -
- - -

Contains parameters for the or method.

-
- - ms697403 - MFINPUTTRUSTAUTHORITY_ACCESS_PARAMS - MFINPUTTRUSTAUTHORITY_ACCESS_PARAMS -
- - - No documentation. - - - ms697403 - unsigned int dwSize - unsigned int dwSize - - - - No documentation. - - - ms697403 - unsigned int dwVer - unsigned int dwVer - - - - No documentation. - - - ms697403 - unsigned int cbSignatureOffset - unsigned int cbSignatureOffset - - - - No documentation. - - - ms697403 - unsigned int cbSignatureSize - unsigned int cbSignatureSize - - - - No documentation. - - - ms697403 - unsigned int cbExtensionOffset - unsigned int cbExtensionOffset - - - - No documentation. - - - ms697403 - unsigned int cbExtensionSize - unsigned int cbExtensionSize - - - - No documentation. - - - ms697403 - unsigned int cActions - unsigned int cActions - - - - No documentation. - - - ms697403 - MFINPUTTRUSTAUTHORITY_ACCESS_ACTION rgOutputActions[1] - MFINPUTTRUSTAUTHORITY_ACCESS_ACTION rgOutputActions - - - -

Specifies the buffering requirements of a file.

-
- -

This structure describes the buffering requirements for content encoded at the bit rate specified in the dwBitrate. The msBufferWindow member indicates how much data should be buffered before starting playback. The size of the buffer in bytes is msBufferWinow?dwBitrate / 8000.

-
- - aa371870 - MF_LEAKY_BUCKET_PAIR - MF_LEAKY_BUCKET_PAIR -
- - -

Bit rate, in bits per second.

-
- - aa371870 - unsigned int dwBitrate - unsigned int dwBitrate -
- - -

Size of the buffer window, in milliseconds.

-
- - aa371870 - unsigned int msBufferWindow - unsigned int msBufferWindow -
- - - No documentation. - - - MFMediaKeyStatus - MFMediaKeyStatus - - - - No documentation. - - - unsigned char* pbKeyId - unsigned char pbKeyId - - - - No documentation. - - - unsigned int cbKeyId - unsigned int cbKeyId - - - - No documentation. - - - MF_MEDIAKEY_STATUS eMediaKeyStatus - MF_MEDIAKEY_STATUS eMediaKeyStatus - - - -

The MetadataTimeStamps structure describes the blob format for the MF_CAPTURE_METADATA_FACEROITIMESTAMPS attribute.

-
- -

The MF_CAPTURE_METADATA_FACEROITIMESTAMPS attribute contains the time stamp information for the face ROIs identified in MF_CAPTURE_METADATA_FACEROIS. For a device that cannot provide the time stamp for face ROIs, this attribute should be omitted.

For the Flags field, the following bit flags indicate which time stamp is valid:

#define MF_METADATATIMESTAMPS_DEVICE        0x00000001	
-            #define MF_METADATATIMESTAMPS_PRESENTATION  0x00000002

MFT0 must set Flags to MF_METADATATIEMSTAMPS_DEVICE and the appropriate QPC time for Device, if the driver provides the timestamp metadata for the face ROIs.

The MetadataTimeStamps structure only describes the blob format for the MF_CAPTURE_METADATA_FACEROITIMESTAMPS attribute. The metadata item structure for timestamp (KSCAMERA_METADATA_ITEMHEADER + timestamp metadata payload) is up to driver and must be 8-byte aligned.

-
- - dn898736 - MetadataTimeStamps - MetadataTimeStamps -
- - -

Bitwise OR of the MF_METADATATIMESTAMPS_* flags.

-
- - dn898736 - unsigned int Flags - unsigned int Flags -
- - -

QPC time for the sample the face rectangle is derived from (in 100ns).

-
- - dn898736 - longlong Device - longlong Device -
- - -

PTS for the sample the face rectangle is derived from (in 100ns).

-
- - dn898736 - longlong Presentation - longlong Presentation -
- - -

Provides information on a screen-to-screen move and a dirty rectangle copy operation.

-
- - hh406478 - MOVE_RECT - MOVE_RECT -
- - -

A structure that describes the source (x, y) point where the source rectangle is copied from.

-
- - hh406478 - POINT SourcePoint - POINT SourcePoint -
- - -

A structure that contains the destination rectangle where the dirty rectangle is copied to.

-
- - hh406478 - RECT DestRect - RECT DestRect -
- - - No documentation. - - - MOVEREGION_INFO - MOVEREGION_INFO - - - - No documentation. - - - unsigned int FrameNumber - unsigned int FrameNumber - - - - No documentation. - - - unsigned int NumMoveRegions - unsigned int NumMoveRegions - - - - No documentation. - - - MOVE_RECT MoveRegions[1] - MOVE_RECT MoveRegions - - - -

Contains encoding statistics from the Digital Living Network Alliance (DLNA) media sink.

This structure is used with the attribute.

-
- - dd388511 - MFMPEG2DLNASINKSTATS - MFMPEG2DLNASINKSTATS -
- - - No documentation. - - - dd388511 - unsigned longlong cBytesWritten - unsigned longlong cBytesWritten - - - - No documentation. - - - dd388511 - BOOL fPAL - BOOL fPAL - - - - No documentation. - - - dd388511 - unsigned int fccVideo - unsigned int fccVideo - - - - No documentation. - - - dd388511 - unsigned int dwVideoWidth - unsigned int dwVideoWidth - - - - No documentation. - - - dd388511 - unsigned int dwVideoHeight - unsigned int dwVideoHeight - - - - No documentation. - - - dd388511 - unsigned longlong cVideoFramesReceived - unsigned longlong cVideoFramesReceived - - - - No documentation. - - - dd388511 - unsigned longlong cVideoFramesEncoded - unsigned longlong cVideoFramesEncoded - - - - No documentation. - - - dd388511 - unsigned longlong cVideoFramesSkipped - unsigned longlong cVideoFramesSkipped - - - - No documentation. - - - dd388511 - unsigned longlong cBlackVideoFramesEncoded - unsigned longlong cBlackVideoFramesEncoded - - - - No documentation. - - - dd388511 - unsigned longlong cVideoFramesDuplicated - unsigned longlong cVideoFramesDuplicated - - - - No documentation. - - - dd388511 - unsigned int cAudioSamplesPerSec - unsigned int cAudioSamplesPerSec - - - - No documentation. - - - dd388511 - unsigned int cAudioChannels - unsigned int cAudioChannels - - - - No documentation. - - - dd388511 - unsigned longlong cAudioBytesReceived - unsigned longlong cAudioBytesReceived - - - - No documentation. - - - dd388511 - unsigned longlong cAudioFramesEncoded - unsigned longlong cAudioFramesEncoded - - - -

Contains format data for a binary stream in an Advanced Streaming Format (ASF) file.

-
- -

This structure is used with the media type attribute.

This structure corresponds to the first 60 bytes of the Type-Specific Data field of the Stream Properties Object, in files where the stream type is ASF_Binary_Media. For more information, see the ASF specification.

The Format Data field of the Type-Specific Data field is contained in the attribute of the media type.

-
- - dd388931 - MT_ARBITRARY_HEADER - MT_ARBITRARY_HEADER -
- - -

Major media type. This value is the stored in the Major Media Type field of the Type-Specific Data field of the ASF file. It might not match the major type from the Media Foundation media type.

-
- - dd388931 - GUID majortype - GUID majortype -
- - -

Media subtype.

-
- - dd388931 - GUID subtype - GUID subtype -
- - -

If TRUE, samples have a fixed size in bytes. Otherwise, samples have variable size.

-
- - dd388931 - BOOL bFixedSizeSamples - BOOL bFixedSizeSamples -
- - -

If TRUE, the data in this stream uses temporal compression. Otherwise, samples are independent of each other.

-
- - dd388931 - BOOL bTemporalCompression - BOOL bTemporalCompression -
- - -

If bFixedSizeSamples is TRUE, this member specifies the sample size in bytes. Otherwise, the value is ignored and should be 0.

-
- - dd388931 - unsigned int lSampleSize - unsigned int lSampleSize -
- - -

Format type . This identifies the structure of the additional format data, which is stored in the attribute of the media type. If no additional format data is present, formattype equals GUID_NULL.

-
- - dd388931 - GUID formattype - GUID formattype -
- - -

Defines custom color primaries for a video source. The color primaries define how to convert colors from RGB color space to CIE XYZ color space.

-
- -

This structure is used with the attribute.

-
- - ms696187 - MT_CUSTOM_VIDEO_PRIMARIES - MT_CUSTOM_VIDEO_PRIMARIES -
- - -

Red x-coordinate.

-
- - ms696187 - float fRx - float fRx -
- - -

Red y-coordinate.

-
- - ms696187 - float fRy - float fRy -
- - -

Green x-coordinate.

-
- - ms696187 - float fGx - float fGx -
- - -

Green y-coordinate.

-
- - ms696187 - float fGy - float fGy -
- - -

Blue x-coordinate.

-
- - ms696187 - float fBx - float fBx -
- - -

Blue y-coordinate.

-
- - ms696187 - float fBy - float fBy -
- - -

White point x-coordinate.

-
- - ms696187 - float fWx - float fWx -
- - -

White point y-coordinate.

-
- - ms696187 - float fWy - float fWy -
- - -

Contains the authentication information for the credential manager.

-
- - ms701554 - MFNetCredentialManagerGetParam - MFNetCredentialManagerGetParam -
- - -

The response code of the authentication challenge. For example, NS_E_PROXY_ACCESSDENIED.

-
- - ms701554 - HRESULT hrOp - HRESULT hrOp -
- - -

Set this flag to TRUE if the currently logged on user's credentials should be used as the default credentials.

-
- - ms701554 - BOOL fAllowLoggedOnUser - BOOL fAllowLoggedOnUser -
- - -

If TRUE, the authentication package will send unencrypted credentials over the network. Otherwise, the authentication package encrypts the credentials.

-
- - ms701554 - BOOL fClearTextPackage - BOOL fClearTextPackage -
- - -

The original URL that requires authentication.

-
- - ms701554 - const wchar_t* pszUrl - wchar_t pszUrl -
- - -

The name of the site or proxy that requires authentication.

-
- - ms701554 - const wchar_t* pszSite - wchar_t pszSite -
- - -

The name of the realm for this authentication.

-
- - ms701554 - const wchar_t* pszRealm - wchar_t pszRealm -
- - -

The name of the authentication package. For example, "Digest" or "MBS_BASIC".

-
- - ms701554 - const wchar_t* pszPackage - wchar_t pszPackage -
- - -

The number of times that the credential manager should retry after authentication fails.

-
- - ms701554 - int nRetries - int nRetries -
- - -

Specifies an offset as a fixed-point real number.

-
- -

The value of the number is value + (fract / 65536.0f).

-
- - ms704775 - MFOffset - MFOffset -
- - -

The fractional part of the number.

-
- - ms704775 - unsigned short fract - unsigned short fract -
- - -

The integer part of the number.

-
- - ms704775 - short value - short value -
- - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Event structure for the event. This event is sent if the application plays a media file from a server that requires authentication. The application can respond by providing the user credentials.

-
- -

To get a reference to this structure, cast the pEventHeader parameter of the callback method. You can use the MFP_GET_ACQUIRE_USER_CREDENTIAL_EVENT macro for this purpose.

If the flags member contains the flag, the application should do the following:

  1. Prompt the user to enter a user name and password.
  2. Store the user name in the credentials object by calling on the pCredential reference.
  3. Store the password by calling on the pCredential reference.

To cancel authentication, set fProceedWithAuthentication equal to .

By default, MFPlay uses the network source's implementation of to manage credentials. An application can provide its own implementation of this interface as follows:

  1. Call QueryInterface on the reference to get the interface.
  2. Call IPropertyStore::SetValue to set the MFNETSOURCE_CREDENTIAL_MANAGER property.
-
- - dd375527 - MFP_ACQUIRE_USER_CREDENTIAL_EVENT - MFP_ACQUIRE_USER_CREDENTIAL_EVENT -
- - - No documentation. - - - dd375527 - MFP_EVENT_HEADER header - MFP_EVENT_HEADER header - - - - No documentation. - - - dd375527 - ULONG_PTR dwUserData - ULONG_PTR dwUserData - - - - No documentation. - - - dd375527 - BOOL fProceedWithAuthentication - BOOL fProceedWithAuthentication - - - - No documentation. - - - dd375527 - HRESULT hrAuthenticationStatus - HRESULT hrAuthenticationStatus - - - - No documentation. - - - dd375527 - const wchar_t* pwszURL - wchar_t pwszURL - - - - No documentation. - - - dd375527 - const wchar_t* pwszSite - wchar_t pwszSite - - - - No documentation. - - - dd375527 - const wchar_t* pwszRealm - wchar_t pwszRealm - - - - No documentation. - - - dd375527 - const wchar_t* pwszPackage - wchar_t pwszPackage - - - - No documentation. - - - dd375527 - int nRetries - int nRetries - - - - No documentation. - - - dd375527 - unsigned int flags - unsigned int flags - - - - No documentation. - - - dd375527 - IMFNetCredential* pCredential - IMFNetCredential pCredential - - - -

Contains one palette entry in a color table.

-
- -

This union can be used to represent both RGB palettes and Y'Cb'Cr' palettes. The video format that defines the palette determines which union member should be used.

-
- - ms698970 - MFPaletteEntry - MFPaletteEntry -
- - -

structure that contains an RGB color.

-
- - ms698970 - MFARGB ARGB - MFARGB ARGB -
- - -

structure that contains a Y'Cb'Cr' color.

-
- - ms698970 - MFAYUVSample AYCbCr - MFAYUVSample AYCbCr -
- - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Event structure for the event. This event is sent if an error occurs during playback.

-
- -

To get a reference to this structure, cast the pEventHeader parameter of the method. You can use the MFP_GET_ERROR_EVENT macro for this purpose.

This event is not used to signal the failure of an asynchronous method. If an asynchronous method fails, the error is reported in the standard event listed for that method. The event is used for errors that happen outside the context of an asynchronous method call.

-
- - dd375530 - MFP_ERROR_EVENT - MFP_ERROR_EVENT -
- - - No documentation. - - - dd375530 - MFP_EVENT_HEADER header - MFP_EVENT_HEADER header - - - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Contains information that is common to every type of MFPlay event.

-
- - dd375531 - MFP_EVENT_HEADER - MFP_EVENT_HEADER -
- - - No documentation. - - - dd375531 - MFP_EVENT_TYPE eEventType - MFP_EVENT_TYPE eEventType - - - - No documentation. - - - dd375531 - HRESULT hrEvent - HRESULT hrEvent - - - - No documentation. - - - dd375531 - IMFPMediaPlayer* pMediaPlayer - IMFPMediaPlayer pMediaPlayer - - - - No documentation. - - - dd375531 - MFP_MEDIAPLAYER_STATE eState - MFP_MEDIAPLAYER_STATE eState - - - - No documentation. - - - dd375531 - IPropertyStore* pPropertyStore - IPropertyStore pPropertyStore - - - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Event structure for the event. This event is sent when the method completes.

-
- -

To get a reference to this structure, cast the pEventHeader parameter of the method. You can use the MFP_GET_FRAME_STEP_EVENT macro for this purpose.

-
- - dd375533 - MFP_FRAME_STEP_EVENT - MFP_FRAME_STEP_EVENT -
- - - No documentation. - - - dd375533 - MFP_EVENT_HEADER header - MFP_EVENT_HEADER header - - - - No documentation. - - - dd375533 - IMFPMediaItem* pMediaItem - IMFPMediaItem pMediaItem - - - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Represents a pinhole camera intrinsic model for a specified resolution.

-
- - mt740397 - MFPinholeCameraIntrinsic_IntrinsicModel - MFPinholeCameraIntrinsic_IntrinsicModel -
- - -

The width for the pinhole camera intrinsic model.

-
- - mt740397 - unsigned int Width - unsigned int Width -
- - -

The height for the pinhole camera intrinsic model.

-
- - mt740397 - unsigned int Height - unsigned int Height -
- - -

The pinhole camera model.

-
- - mt740397 - MFCameraIntrinsic_PinholeCameraModel CameraModel - MFCameraIntrinsic_PinholeCameraModel CameraModel -
- - -

The lens distortion model.

-
- - mt740397 - MFCameraIntrinsic_DistortionModel DistortionModel - MFCameraIntrinsic_DistortionModel DistortionModel -
- - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Contains zero or 1 pinhole camera intrinsic models that describe how to project a 3D point in physical world onto the 2D image frame of a camera.

-
- - mt740396 - MFPinholeCameraIntrinsics - MFPinholeCameraIntrinsics -
- - -

The number of camera intrinsic models in the IntrinsicModels array.

-
- - mt740396 - unsigned int IntrinsicModelCount - unsigned int IntrinsicModelCount -
- - -

The array of camera intrinsic models in the intrinsic data.

-
- - mt740396 - MFPinholeCameraIntrinsic_IntrinsicModel IntrinsicModels[1] - MFPinholeCameraIntrinsic_IntrinsicModel IntrinsicModels -
- - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Event structure for the event. This event is sent when the method completes.

-
- -

To get a reference to this structure, cast the pEventHeader parameter of the method. You can use the MFP_GET_MEDIAITEM_CLEARED_EVENT macro for this purpose.

-
- - dd375549 - MFP_MEDIAITEM_CLEARED_EVENT - MFP_MEDIAITEM_CLEARED_EVENT -
- - - No documentation. - - - dd375549 - MFP_EVENT_HEADER header - MFP_EVENT_HEADER header - - - - No documentation. - - - dd375549 - IMFPMediaItem* pMediaItem - IMFPMediaItem pMediaItem - - - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Event structure for the event. This event is sent when the or method completes.

-
- -

To get a reference to this structure, cast the pEventHeader parameter of the method. You can use the MFP_GET_MEDIAITEM_CREATED_EVENT macro for this purpose.

Media items are created asynchronously. If multiple items are created, the operations can complete in any order, not necessarily in the same order as the method calls. You can use the dwUserData member to identify the items, if you have simultaneous requests pending.

-
- - dd375560 - MFP_MEDIAITEM_CREATED_EVENT - MFP_MEDIAITEM_CREATED_EVENT -
- - - No documentation. - - - dd375560 - MFP_EVENT_HEADER header - MFP_EVENT_HEADER header - - - - No documentation. - - - dd375560 - IMFPMediaItem* pMediaItem - IMFPMediaItem pMediaItem - - - - No documentation. - - - dd375560 - ULONG_PTR dwUserData - ULONG_PTR dwUserData - - - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Event structure for the event. This event is sent when the method completes.

-
- -

To get a reference to this structure, cast the pEventHeader parameter of the method. You can use the MFP_GET_MEDIAITEM_SET_EVENT macro for this purpose.

If one or more streams could not be connected to a media sink, the event property store contains the MFP_PKEY_StreamRenderingResults property. The value of the property is an array of values, indicating which streams were connected successfully. The event property store can be accessed through the header.pPropertyStore member.

-
- - dd375561 - MFP_MEDIAITEM_SET_EVENT - MFP_MEDIAITEM_SET_EVENT -
- - - No documentation. - - - dd375561 - MFP_EVENT_HEADER header - MFP_EVENT_HEADER header - - - - No documentation. - - - dd375561 - IMFPMediaItem* pMediaItem - IMFPMediaItem pMediaItem - - - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Event structure for the event. The MFPlay player object uses this event to forward certain events from the Media Foundation pipeline to the application.

-
- -

To get a reference to this structure, cast the pEventHeader parameter of the method. You can use the MFP_GET_MF_EVENT macro for this purpose.

If MFEventType is , the following property may be stored in the event property store, which can be accessed through the header.pPropertyStore member.

PropertyDescription
MFP_PKEY_StreamIndex The index of the stream whose format changed.

?

-
- - dd375563 - MFP_MF_EVENT - MFP_MF_EVENT -
- - - No documentation. - - - dd375563 - MFP_EVENT_HEADER header - MFP_EVENT_HEADER header - - - - No documentation. - - - dd375563 - unsigned int MFEventType - unsigned int MFEventType - - - - No documentation. - - - dd375563 - IMFMediaEvent* pMFMediaEvent - IMFMediaEvent pMFMediaEvent - - - - No documentation. - - - dd375563 - IMFPMediaItem* pMediaItem - IMFPMediaItem pMediaItem - - - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Event structure for the event. This event is sent when the method completes.

-
- -

To get a reference to this structure, cast the pEventHeader parameter of the method. You can use the MFP_GET_PAUSE_EVENT macro for this purpose.

-
- - dd375564 - MFP_PAUSE_EVENT - MFP_PAUSE_EVENT -
- - - No documentation. - - - dd375564 - MFP_EVENT_HEADER header - MFP_EVENT_HEADER header - - - - No documentation. - - - dd375564 - IMFPMediaItem* pMediaItem - IMFPMediaItem pMediaItem - - - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Event structure for the event. This event is sent when the current media item finishes playing.

-
- -

To get a reference to this structure, cast the pEventHeader parameter of the method. You can use the MFP_GET_PLAYBACK_ENDED_EVENT macro for this purpose.

-
- - dd375566 - MFP_PLAYBACK_ENDED_EVENT - MFP_PLAYBACK_ENDED_EVENT -
- - - No documentation. - - - dd375566 - MFP_EVENT_HEADER header - MFP_EVENT_HEADER header - - - - No documentation. - - - dd375566 - IMFPMediaItem* pMediaItem - IMFPMediaItem pMediaItem - - - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Event structure for the event. This event is sent when the method completes.

-
- -

To get a reference to this structure, cast the pEventHeader parameter of the method. You can use the MFP_GET_PLAY_EVENT macro for this purpose.

-
- - dd375567 - MFP_PLAY_EVENT - MFP_PLAY_EVENT -
- - - No documentation. - - - dd375567 - MFP_EVENT_HEADER header - MFP_EVENT_HEADER header - - - - No documentation. - - - dd375567 - IMFPMediaItem* pMediaItem - IMFPMediaItem pMediaItem - - - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Event structure for the event. This event is sent when the method completes.

-
- -

To get a reference to this structure, cast the pEventHeader parameter of the method. You can use the MFP_GET_POSITION_SET_EVENT macro for this purpose.

-
- - dd375568 - MFP_POSITION_SET_EVENT - MFP_POSITION_SET_EVENT -
- - - No documentation. - - - dd375568 - MFP_EVENT_HEADER header - MFP_EVENT_HEADER header - - - - No documentation. - - - dd375568 - IMFPMediaItem* pMediaItem - IMFPMediaItem pMediaItem - - - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Event structure for the event. This event is sent when the method completes.

-
- -

To get a reference to this structure, cast the pEventHeader parameter of the method. You can use the MFP_GET_RATE_SET_EVENT macro for this purpose.

-
- - dd375569 - MFP_RATE_SET_EVENT - MFP_RATE_SET_EVENT -
- - - No documentation. - - - dd375569 - MFP_EVENT_HEADER header - MFP_EVENT_HEADER header - - - - No documentation. - - - dd375569 - IMFPMediaItem* pMediaItem - IMFPMediaItem pMediaItem - - - - No documentation. - - - dd375569 - float flRate - float flRate - - - -

Important??Deprecated. This API may be removed from future releases of Windows. Applications should use the Media Session for playback.?

Event structure for the event. This event is sent when the method completes.

-
- -

To get a reference to this structure, cast the pEventHeader parameter of the method. You can use the MFP_GET_STOP_EVENT macro for this purpose.

-
- - dd375570 - MFP_STOP_EVENT - MFP_STOP_EVENT -
- - - No documentation. - - - dd375570 - MFP_EVENT_HEADER header - MFP_EVENT_HEADER header - - - - No documentation. - - - dd375570 - IMFPMediaItem* pMediaItem - IMFPMediaItem pMediaItem - - - -

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

A four dimensional vector, used to represent a rotation.

-
- - mt740404 - MF_QUATERNION - MF_QUATERNION -
- - -

X component of the vector.

-
- - mt740404 - float x - float x -
- - -

Y component of the vector.

-
- - mt740404 - float y - float y -
- - -

Z component of the vector.

-
- - mt740404 - float z - float z -
- - -

W component of the vector.

-
- - mt740404 - float w - float w -
- - -

Represents a ratio.

-
- - aa473788 - MFRatio - MFRatio -
- - -

Numerator of the ratio.

-
- - aa473788 - unsigned int Numerator - unsigned int Numerator -
- - -

Denominator of the ratio.

-
- - aa473788 - unsigned int Denominator - unsigned int Denominator -
- - -

Defines a regions of interest.

-
- - dn302212 - ROI_AREA - ROI_AREA -
- - -

The bounds of the region.

-
- - dn302212 - RECT rect - RECT rect -
- - -

Specifies the quantization parameter delta for the specified region from the rest of the frame.

-
- - dn302212 - int QPDelta - int QPDelta -
- - -

Contains information about a revoked component.

-
- - aa376487 - MFRR_COMPONENT_HASH_INFO - MFRR_COMPONENT_HASH_INFO -
- - -

Specifies the reason for the revocation. The following values are defined.

ValueMeaning
MF_BOOT_DRIVER_VERIFICATION_FAILED

A boot driver could not be verified.

MF_COMPONENT_CERT_REVOKED

A certificate in a trusted component's certificate chain was revoked.

MF_COMPONENT_HS_CERT_REVOKED

The high-security certificate for authenticating the protected environment (PE) was revoked.

The high-security certificate is typically used by ITAs that handle high-definition content and next-generation formats such as HD-DVD.

MF_COMPONENT_INVALID_EKU

A certificate's extended key usage (EKU) object is invalid.

MF_COMPONENT_INVALID_ROOT

The root certificate is not valid.

MF_COMPONENT_LS_CERT_REVOKED

The low-security certificate for authenticating the PE was revoked.

The low-security certificate is typically used by ITAs that handle standard-definition content and current-generation formats.

MF_COMPONENT_REVOKED

A trusted component was revoked.

MF_GRL_ABSENT

The GRL was not found.

MF_GRL_LOAD_FAILED

Could not load the global revocation list (GRL).

MF_INVALID_GRL_SIGNATURE

The GRL signature is invalid.

MF_MINCRYPT_FAILURE

A certificate chain was not well-formed, or a boot driver is unsigned or is signed with an untrusted certificate.

MF_TEST_SIGNED_COMPONENT_LOADING

A component was signed by a test certificate.

?

In addition, one of the following flags might be present, indicating the type of component that failed to load.

ValueMeaning
MF_USER_MODE_COMPONENT_LOAD

User-mode component.

MF_KERNEL_MODE_COMPONENT_LOAD

Kernel-mode component.

?

-
- - aa376487 - unsigned int ulReason - unsigned int ulReason -
- - -

Contains a hash of the file header.

-
- - aa376487 - wchar_t rgHeaderHash[43] - wchar_t rgHeaderHash -
- - -

Contains a hash of the public key in the component's certificate.

-
- - aa376487 - wchar_t rgPublicKeyHash[43] - wchar_t rgPublicKeyHash -
- - -

File name of the revoked component.

-
- - aa376487 - wchar_t wszName[260] - wchar_t wszName -
- - -

Contains information about one or more revoked components.

-
- - aa375568 - MFRR_COMPONENTS - MFRR_COMPONENTS -
- - -

Revocation information version.

-
- - aa375568 - unsigned int dwRRInfoVersion - unsigned int dwRRInfoVersion -
- - -

Number of elements in the pRRComponents array.

-
- - aa375568 - unsigned int dwRRComponents - unsigned int dwRRComponents -
- - -

Array of structures.

-
- - aa375568 - MFRR_COMPONENT_HASH_INFO* pRRComponents - MFRR_COMPONENT_HASH_INFO pRRComponents -
- - -

Contains statistics about the performance of the sink writer.

-
- - dd375769 - MF_SINK_WRITER_STATISTICS - MF_SINK_WRITER_STATISTICS -
- - -

The size of the structure, in bytes.

-
- - dd375769 - unsigned int cb - unsigned int cb -
- - -

The time stamp of the most recent sample given to the sink writer. The sink writer updates this value each time the application calls .

-
- - dd375769 - longlong llLastTimestampReceived - longlong llLastTimestampReceived -
- - -

The time stamp of the most recent sample to be encoded. The sink writer updates this value whenever it calls on the encoder.

-
- - dd375769 - longlong llLastTimestampEncoded - longlong llLastTimestampEncoded -
- - -

The time stamp of the most recent sample given to the media sink. The sink writer updates this value whenever it calls on the media sink.

-
- - dd375769 - longlong llLastTimestampProcessed - longlong llLastTimestampProcessed -
- - -

The time stamp of the most recent stream tick. The sink writer updates this value whenever the application calls .

-
- - dd375769 - longlong llLastStreamTickReceived - longlong llLastStreamTickReceived -
- - -

The system time of the most recent sample request from the media sink. The sink writer updates this value whenever it receives an event from the media sink. The value is the current system time.

-
- - dd375769 - longlong llLastSinkSampleRequest - longlong llLastSinkSampleRequest -
- - -

The number of samples received.

-
- - dd375769 - unsigned longlong qwNumSamplesReceived - unsigned longlong qwNumSamplesReceived -
- - -

The number of samples encoded.

-
- - dd375769 - unsigned longlong qwNumSamplesEncoded - unsigned longlong qwNumSamplesEncoded -
- - -

The number of samples given to the media sink.

-
- - dd375769 - unsigned longlong qwNumSamplesProcessed - unsigned longlong qwNumSamplesProcessed -
- - -

The number of stream ticks received.

-
- - dd375769 - unsigned longlong qwNumStreamTicksReceived - unsigned longlong qwNumStreamTicksReceived -
- - -

The amount of data, in bytes, currently waiting to be processed.

-
- - dd375769 - unsigned int dwByteCountQueued - unsigned int dwByteCountQueued -
- - -

The total amount of data, in bytes, that has been sent to the media sink.

-
- - dd375769 - unsigned longlong qwByteCountProcessed - unsigned longlong qwByteCountProcessed -
- - -

The number of pending sample requests.

-
- - dd375769 - unsigned int dwNumOutstandingSinkSampleRequests - unsigned int dwNumOutstandingSinkSampleRequests -
- - -

The average rate, in media samples per 100-nanoseconds, at which the application sent samples to the sink writer.

-
- - dd375769 - unsigned int dwAverageSampleRateReceived - unsigned int dwAverageSampleRateReceived -
- - -

The average rate, in media samples per 100-nanoseconds, at which the sink writer sent samples to the encoder.

-
- - dd375769 - unsigned int dwAverageSampleRateEncoded - unsigned int dwAverageSampleRateEncoded -
- - -

The average rate, in media samples per 100-nanoseconds, at which the sink writer sent samples to the media sink.

-
- - dd375769 - unsigned int dwAverageSampleRateProcessed - unsigned int dwAverageSampleRateProcessed -
- - -

Not for application use.

-
- -

This structure is used internally by the Microsoft Media Foundation AVStream proxy.

-
- - dd940437 - STREAM_MEDIUM - STREAM_MEDIUM -
- - -

Reserved.

-
- - dd940437 - GUID gidMedium - GUID gidMedium -
- - -

Reserved.

-
- - dd940437 - unsigned int unMediumInstance - unsigned int unMediumInstance -
- - -

Contains information about an input stream on a Media Foundation transform (MFT). To get these values, call .

-
- -

Before the media types are set, the only values that should be considered valid are the and flags in the dwFlags member.

  • The flag indicates that the stream can be deleted.

  • The flag indicates that the stream is optional and does not require a media type.

After you set a media type on all of the input and output streams (not including optional streams), all of the values returned by the GetInputStreamInfo method are valid. They might change if you set different media types.

-
- - ms704067 - MFT_INPUT_STREAM_INFO - MFT_INPUT_STREAM_INFO -
- - - No documentation. - - - ms704067 - longlong hnsMaxLatency - longlong hnsMaxLatency - - - - No documentation. - - - ms704067 - unsigned int dwFlags - unsigned int dwFlags - - - - No documentation. - - - ms704067 - unsigned int cbSize - unsigned int cbSize - - - - No documentation. - - - ms704067 - unsigned int cbMaxLookahead - unsigned int cbMaxLookahead - - - - No documentation. - - - ms704067 - unsigned int cbAlignment - unsigned int cbAlignment - - - -

Specifies a new attribute value for a topology node.

-
- -

Due to an error in the structure declaration, the u64 member is declared as a 32-bit integer, not a 64-bit integer. Therefore, any 64-bit value passed to the method is truncated to 32 bits.

-
- - aa371336 - MFTOPONODE_ATTRIBUTE_UPDATE - MFTOPONODE_ATTRIBUTE_UPDATE -
- - -

The identifier of the topology node to update. To get the identifier of a topology node, call .

-
- - aa371336 - unsigned longlong NodeId - unsigned longlong NodeId -
- - -

that specifies the attribute to update.

-
- - aa371336 - GUID guidAttributeKey - GUID guidAttributeKey -
- - -

Attribute type, specified as a member of the enumeration.

-
- - aa371336 - MF_ATTRIBUTE_TYPE attrType - MF_ATTRIBUTE_TYPE attrType -
- - -

Attribute value (unsigned 32-bit integer). This member is used when attrType equals .

-
- - aa371336 - unsigned int u32 - unsigned int u32 -
- - -

Attribute value (unsigned 32-bit integer). This member is used when attrType equals . See Remarks.

-
- - aa371336 - unsigned longlong u64 - unsigned longlong u64 -
- - -

Attribute value (floating point). This member is used when attrType equals .

-
- - aa371336 - double d - double d -
- - -

Contains information about an output buffer for a Media Foundation transform. This structure is used in the method.

-
- -

You must provide an structure for each selected output stream.

MFTs can support two different allocation models for output samples:

  • The MFT allocates the output sample.
  • The client allocates the output sample.

To find which model the MFT supports for a given output stream, call and check the value of dwFlags.

FlagAllocation Model
The MFT allocates the output samples for the stream. Set pSample to null for this stream.
The MFT supports both allocation models.
Neither (default)The client must allocate the output samples for the stream.

?

The behavior of ProcessOutput depends on the initial value of pSample and the value of the dwFlags parameter in the ProcessOutput method.

  • If pSample is null and dwFlags contains the flag, the MFT discards the output data.

    Restriction: This output stream must have the or flag. (To get the flags for the output stream, call the method.)

  • If pSample is null and dwFlags does not contain the , the MFT provides a sample for the output data. The MFT sets pSample to point to the sample that it provides. The MFT can either allocate a new sample or re-use an input sample.

    Restriction: This output stream must have the or flag.

  • If pSample is non-null, the MFT uses the sample provided by the caller.

    Restriction: This output stream must not have the flag.

Any other combinations are invalid and cause ProcessOutput to return E_INVALIDARG.

Each call to ProcessOutput can produce zero or more events and up to one sample per output stream.

-
- - ms697247 - MFT_OUTPUT_DATA_BUFFER - MFT_OUTPUT_DATA_BUFFER -
- - - No documentation. - - - ms697247 - unsigned int dwStreamID - unsigned int dwStreamID - - - - No documentation. - - - ms697247 - IMFSample* pSample - IMFSample pSample - - - - No documentation. - - - ms697247 - unsigned int dwStatus - unsigned int dwStatus - - - - No documentation. - - - ms697247 - IMFCollection* pEvents - IMFCollection pEvents - - - -

Contains information about an output stream on a Media Foundation transform (MFT). To get these values, call .

-
- -

Before the media types are set, the only values that should be considered valid is the flag in the dwFlags member. This flag indicates that the stream is optional and does not require a media type.

After you set a media type on all of the input and output streams (not including optional streams), all of the values returned by the GetOutputStreamInfo method are valid. They might change if you set different media types.

-
- - ms696974 - MFT_OUTPUT_STREAM_INFO - MFT_OUTPUT_STREAM_INFO -
- - - No documentation. - - - ms696974 - unsigned int dwFlags - unsigned int dwFlags - - - - No documentation. - - - ms696974 - unsigned int cbSize - unsigned int cbSize - - - - No documentation. - - - ms696974 - unsigned int cbAlignment - unsigned int cbAlignment - - - -

Contains information about the audio and video streams for the transcode sink activation object.

To get the information stored in this structure, call .

-
- -

The method assigns references to the pAudioMediaType and pVideoMediaType members of this structure. The method might set either member to null. If either member is non-null after the method returns, the caller must release the references.

-
- - dd388923 - MF_TRANSCODE_SINK_INFO - MF_TRANSCODE_SINK_INFO -
- - - No documentation. - - - dd388923 - unsigned int dwVideoStreamID - unsigned int dwVideoStreamID - - - - No documentation. - - - dd388923 - IMFMediaType* pVideoMediaType - IMFMediaType pVideoMediaType - - - - No documentation. - - - dd388923 - unsigned int dwAudioStreamID - unsigned int dwAudioStreamID - - - - No documentation. - - - dd388923 - IMFMediaType* pAudioMediaType - IMFMediaType pAudioMediaType - - - -

Contains media type information for registering a Media Foundation transform (MFT).

-
- - ms694919 - MFT_REGISTER_TYPE_INFO - MFT_REGISTER_TYPE_INFO -
- - -

The major media type. For a list of possible values, see Major Media Types.

-
- - ms694919 - GUID guidMajorType - GUID guidMajorType -
- - -

The media subtype. For a list of possible values, see the following topics:

  • Audio Subtype GUIDs
  • Video Subtype GUIDs
-
- - ms694919 - GUID guidSubtype - GUID guidSubtype -
- - -

Contains parameters for the method.

-
- - dd388673 - MFT_REGISTRATION_INFO - MFT_REGISTRATION_INFO -
- - - No documentation. - - - dd388673 - GUID clsid - GUID clsid - - - - No documentation. - - - dd388673 - GUID guidCategory - GUID guidCategory - - - - No documentation. - - - dd388673 - unsigned int uiFlags - unsigned int uiFlags - - - - No documentation. - - - dd388673 - const wchar_t* pszName - wchar_t pszName - - - - No documentation. - - - dd388673 - unsigned int cInTypes - unsigned int cInTypes - - - - No documentation. - - - dd388673 - MFT_REGISTER_TYPE_INFO* pInTypes - MFT_REGISTER_TYPE_INFO pInTypes - - - - No documentation. - - - dd388673 - unsigned int cOutTypes - unsigned int cOutTypes - - - - No documentation. - - - dd388673 - MFT_REGISTER_TYPE_INFO* pOutTypes - MFT_REGISTER_TYPE_INFO pOutTypes - - - - No documentation. - - - MFT_STREAM_STATE_PARAM - MFT_STREAM_STATE_PARAM - - - - No documentation. - - - unsigned int StreamId - unsigned int StreamId - - - - No documentation. - - - MF_STREAM_STATE State - MF_STREAM_STATE State - - - -

Specifies a rectangular area within a video frame.

-
- - ms703850 - MFVideoArea - MFVideoArea -
- - -

An structure that contains the x-coordinate of the upper-left corner of the rectangle. This coordinate might have a fractional value.

-
- - ms703850 - MFOffset OffsetX - MFOffset OffsetX -
- - -

An structure that contains the y-coordinate of the upper-left corner of the rectangle. This coordinate might have a fractional value.

-
- - ms703850 - MFOffset OffsetY - MFOffset OffsetY -
- - -

A structure that contains the width and height of the rectangle.

-
- - ms703850 - SIZE Area - SIZE Area -
- - -

Contains information about a video compression format. This structure is used in the structure.

-
- -

For uncompressed video formats, set the structure members to zero.

-
- - aa473839 - MFVideoCompressedInfo - MFVideoCompressedInfo -
- - - No documentation. - - - aa473839 - longlong AvgBitrate - longlong AvgBitrate - - - - No documentation. - - - aa473839 - longlong AvgBitErrorRate - longlong AvgBitErrorRate - - - - No documentation. - - - aa473839 - unsigned int MaxKeyFrameSpacing - unsigned int MaxKeyFrameSpacing - - - -

Describes a video format.

-
- -

Applications should avoid using this structure. Instead, it is recommended that applications use attributes to describe the video format. For a list of media type attributes, see Media Type Attributes. With attributes, you can set just the format information that you know, which is easier (and more likely to be accurate) than trying to fill in complete format information for the structure.

To initialize a media type object from an structure, call .

You can use the structure as the format block for a DirectShow media type. Set the format to FORMAT_MFVideoFormat.

-
- - aa473808 - MFVIDEOFORMAT - MFVIDEOFORMAT -
- - -

Size of the structure, in bytes. This value includes the size of the palette entries that may appear after the surfaceInfo member.

-
- - aa473808 - unsigned int dwSize - unsigned int dwSize -
- - -

structure. This structure contains information that applies to both compressed and uncompressed formats.

-
- - aa473808 - MFVideoInfo videoInfo - MFVideoInfo videoInfo -
- - -

Video subtype. See Video Subtype GUIDs.

-
- - aa473808 - GUID guidFormat - GUID guidFormat -
- - -

structure. This structure contains information that applies only to compressed formats.

-
- - aa473808 - MFVideoCompressedInfo compressedInfo - MFVideoCompressedInfo compressedInfo -
- - -

structure. This structure contains information that applies only to uncompressed formats.

-
- - aa473808 - MFVideoSurfaceInfo surfaceInfo - MFVideoSurfaceInfo surfaceInfo -
- - -

Contains video format information that applies to both compressed and uncompressed formats.

This structure is used in the structure.

-
- -

Developers are encouraged to use media type attributes instead of using the structure. The following table lists the attributes that correspond to the members of this structure.

Structure MemberMedia Type Attribute
dwWidth, dwHeight
PixelAspectRatio
SourceChromaSubsampling
InterlaceMode
TransferFunction
ColorPrimaries
TransferMatrix
SourceLighting
FramesPerSecond
NominalRange
GeometricAperture
MinimumDisplayAperture
PanScanAperture
VideoFlagsSee .

?

-
- - aa473804 - MFVideoInfo - MFVideoInfo -
- - - No documentation. - - - aa473804 - unsigned int dwWidth - unsigned int dwWidth - - - - No documentation. - - - aa473804 - unsigned int dwHeight - unsigned int dwHeight - - - - No documentation. - - - aa473804 - MFRatio PixelAspectRatio - MFRatio PixelAspectRatio - - - - No documentation. - - - aa473804 - MFVideoChromaSubsampling SourceChromaSubsampling - MFVideoChromaSubsampling SourceChromaSubsampling - - - - No documentation. - - - aa473804 - MFVideoInterlaceMode InterlaceMode - MFVideoInterlaceMode InterlaceMode - - - - No documentation. - - - aa473804 - MFVideoTransferFunction TransferFunction - MFVideoTransferFunction TransferFunction - - - - No documentation. - - - aa473804 - MFVideoPrimaries ColorPrimaries - MFVideoPrimaries ColorPrimaries - - - - No documentation. - - - aa473804 - MFVideoTransferMatrix TransferMatrix - MFVideoTransferMatrix TransferMatrix - - - - No documentation. - - - aa473804 - MFVideoLighting SourceLighting - MFVideoLighting SourceLighting - - - - No documentation. - - - aa473804 - MFRatio FramesPerSecond - MFRatio FramesPerSecond - - - - No documentation. - - - aa473804 - MFNominalRange NominalRange - MFNominalRange NominalRange - - - - No documentation. - - - aa473804 - MFVideoArea GeometricAperture - MFVideoArea GeometricAperture - - - - No documentation. - - - aa473804 - MFVideoArea MinimumDisplayAperture - MFVideoArea MinimumDisplayAperture - - - - No documentation. - - - aa473804 - MFVideoArea PanScanAperture - MFVideoArea PanScanAperture - - - - No documentation. - - - aa473804 - unsigned longlong VideoFlags - unsigned longlong VideoFlags - - - -

Defines a normalized rectangle, which is used to specify sub-rectangles in a video rectangle. When a rectangle N is normalized relative to some other rectangle R, it means the following:

  • The coordinate (0.0, 0.0) on N is mapped to the upper-left corner of R.

  • The coordinate (1.0, 1.0) on N is mapped to the lower-right corner of R.

Any coordinates of N that fall outside the range [0...1] are mapped to positions outside the rectangle R. A normalized rectangle can be used to specify a region within a video rectangle without knowing the resolution or even the aspect ratio of the video. For example, the upper-left quadrant is defined as {0.0, 0.0, 0.5, 0.5}.

-
- - ms703049 - MFVideoNormalizedRect - MFVideoNormalizedRect -
- - -

X-coordinate of the upper-left corner of the rectangle.

-
- - ms703049 - float left - float left -
- - -

Y-coordinate of the upper-left corner of the rectangle.

-
- - ms703049 - float top - float top -
- - -

X-coordinate of the lower-right corner of the rectangle.

-
- - ms703049 - float right - float right -
- - -

Y-coordinate of the lower-right corner of the rectangle.

-
- - ms703049 - float bottom - float bottom -
- - - No documentation. - - - MF_VIDEO_SPHERICAL_VIEWDIRECTION - MF_VIDEO_SPHERICAL_VIEWDIRECTION - - - - No documentation. - - - int iHeading - int iHeading - - - - No documentation. - - - int iPitch - int iPitch - - - - No documentation. - - - int iRoll - int iRoll - - - -

Contains information about an uncompressed video format. This structure is used in the structure.

-
- - aa473817 - MFVideoSurfaceInfo - MFVideoSurfaceInfo -
- - - No documentation. - - - aa473817 - unsigned int Format - unsigned int Format - - - - No documentation. - - - aa473817 - unsigned int PaletteEntries - unsigned int PaletteEntries - - - - No documentation. - - - aa473817 - MFPaletteEntry Palette[1] - MFPaletteEntry Palette - - - - Associate an attribute key with a type used to retrieve keys from a instance. - - - - - Initializes a new instance of the struct. - - The attribute GUID. - The attribute type. - - - - Initializes a new instance of the struct. - - The attribute GUID. - The attribute type. - The attribute name, useful for debugging. - - - - Gets the attribute GUID. - - - The attribute GUID. - - - - - Gets the attribute type. - - - The attribute type. - - - - - Gets the attribute name. - - - - - Generic version of . - - Type of the value of this key. - - - - Initializes a new instance of the class. - - The attribute GUID. - - - - Initializes a new instance of the class. - - The GUID. - The attribute name, useful for debugging. - - - - Initializes a new instance of the class. - - The GUID. - - - - Initializes a new instance of the class. - - The GUID. - /// The attribute name, useful for debugging. - - - - Delegate MediaEngineNotifyDelegate {CC2D43FA-BBC4-448A-9D0B-7B57ADF2655C} - - The media event. - The param1. - The param2. - - - - Attributes used when instantiating class. - - - - - Initializes a new instance of class. - - A native COM pointer to a MediaEngineAttributes - - - - Initializes a new instance of class. - - Size of the data to allocate - - - - Internal MediaEngineNotify Callback - - - - - Return a pointer to the unmanaged version of this callback. - - The callback. - A pointer to a shadow c++ callback - - - HRESULT IMFMediaEngineNotify::EventNotify([In] unsigned int event,[In] ULONG_PTR param1,[In] unsigned int param2) - - - -

Applies to: desktop apps | Metro style apps

Initializes Microsoft Media Foundation.

-
- If true, do not initialize the sockets library, else full initialization. Default is false - ms702238 - HRESULT MFStartup([In] unsigned int Version,[In] unsigned int dwFlags) - MFStartup - -

An application must call this function before using Media Foundation. Before your application quits, call once for every previous call to .

Do not call or from work queue threads. For more information about work queues, see Work Queues.

This function is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

    -
  • Windows?XP with Service Pack?2 (SP2) and later.
  • -
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
  • -
-
-
- - -

Applies to: desktop apps | Metro style apps

Shuts down the Microsoft Media Foundation platform. Call this function once for every call to . Do not call this function from work queue threads.

-
-

If this function succeeds, it returns . Otherwise, it returns an error code.

- -

This function is available on the following platforms if the Windows Media Format 11 SDK redistributable components are installed:

  • Windows?XP with Service Pack?2 (SP2) and later.
  • Windows?XP Media Center Edition?2005 with KB900325 (Windows?XP Media Center Edition?2005) and KB925766 (October 2006 Update Rollup for Windows?XP Media Center Edition) installed.
-
- ms694273 - HRESULT MFShutdown() - MFShutdown -
- - - Specialized callback for . This callback automatically starts the callback on the session, - handles on invoke, dispatch the asynchronous event to an external action to - be implemented by the client and stops the callback when the event is received. - - - - - Initializes a new instance of the class. - - The session. - The event callback. The object must be disposed by the callback when finished with it. - session or eventCallback - - - - The namespace provides a managed MediaFoundation API. - - - MediaFoundation - MediaFoundation - - - - The namespace provides a managed MediaFoundation for OPM API. - - - MediaFoundation - MediaFoundation - - - - Resource characteristics returned by . - - hh447939 - HRESULT IMFMediaEngineEx::GetResourceCharacteristics([Out] unsigned int* pCharacteristics) - IMFMediaEngineEx::GetResourceCharacteristics - - - - None flag. - - - - - The media resource represents a live data source, such as a video camera. If playback is stopped and then restarted, there will be a gap in the content. - - - - - The media resource supports seeking. To get the seekable range, call IMFMediaEngine::GetSeekable. - - - - - The media resource can be paused. - - - - - Seeking this resource can take a long time. For example, it might download through HTTP. - - - - - Return a pointer to the unmanaged version of this callback. - - The callback. - A pointer to a shadow c++ callback - - - HRESULT IMFSampleGrabberSinkCallback::OnSetPresentationClock([in] IMFPresentationClock *pPresentationClock); - - - HRESULT OnProcessSample([in] REFGUID guidMajorMediaType, [in] DWORD dwSampleFlags, [in] LONGLONG llSampleTime, [in] LONGLONG llSampleDuration, [in] const BYTE *pSampleBuffer, [in] DWORD dwSampleSize); - - - HRESULT IMFSampleGrabberSinkCallback::OnShutdown(); - - - - Return a pointer to the unmanaged version of this callback. - - The callback. - A pointer to a shadow c++ callback - - - - - Return a pointer to the unmanaged version of this callback. - - The callback. - A pointer to a shadow c++ callback - - - HRESULT IMFVideoPresenter::ProcessMessage([In] MFVP_MESSAGE_TYPE eMessage,[In] ULONG_PTR ulParam) - - - HRESULT GetCurrentMediaType([out] IMFVideoMediaType **ppMediaType) - - - - A Work Queue Identifier - - ms703102 - Work Queue Identifiers - Work Queue Identifiers - - - - The default queue associated to the . - - - - - The identifier. - - - - - Initializes a new instance of the struct. - - The id. - - - - Initializes a new instance of the struct. - - The id. - - - - Performs an implicit conversion from to . - - The id. - The result of the conversion. - - - - Performs an implicit conversion from to . - - The type. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The work queue Id. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The work queue Id. - The result of the conversion. - - - diff --git a/Tractor_VS/Game1/bin/Windows/x86/Debug/SharpDX.XAudio2.dll b/Tractor_VS/Game1/bin/Windows/x86/Debug/SharpDX.XAudio2.dll deleted file mode 100644 index c7f5155..0000000 Binary files a/Tractor_VS/Game1/bin/Windows/x86/Debug/SharpDX.XAudio2.dll and /dev/null differ diff --git a/Tractor_VS/Game1/bin/Windows/x86/Debug/SharpDX.XAudio2.xml b/Tractor_VS/Game1/bin/Windows/x86/Debug/SharpDX.XAudio2.xml deleted file mode 100644 index bec0487..0000000 --- a/Tractor_VS/Game1/bin/Windows/x86/Debug/SharpDX.XAudio2.xml +++ /dev/null @@ -1,5989 +0,0 @@ - - - - SharpDX.XAudio2 - - - - - The assembly provides managed and APIs. - - hh405049 - XAudio2 - XAudio2 - - - -

Represents an audio data buffer, used with .

-
- -

XAudio2 audio data is interleaved, data from each channel is adjacent for a particular sample number. For example if there was a 4 channel wave playing into an XAudio2 source voice, the audio data would be a sample of channel 0, a sample of channel 1, a sample of channel 2, a sample of channel 3, and then the next sample of channels 0, 1, 2, 3, etc.

The AudioBytes and pAudioData members of correspond to the size in bytes and contents of the 'data' RIFF chunk of the file being played. The contents of the chunk may need to be byte swapped when loading the file on Xbox 360.

Memory allocated to hold a or structure can be freed as soon as the call it is passed to returns. The data the structure points to (pAudioData and pDecodedPacketCumulativeBytes, respectively) can't be freed until the buffer completes (as signaled by the callback) or the voice is stopped or destroyed.

-
- - microsoft.directx_sdk.xaudio2.xaudio2_buffer - XAUDIO2_BUFFER - XAUDIO2_BUFFER -
- - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The stream to get the audio buffer from. - - - - Initializes a new instance of the class. - - The buffer to get the audio buffer from. - - - - Gets or sets the data stream associated to this audio buffer - - The stream. - - - Constant LoopInfinite. - XAUDIO2_LOOP_INFINITE - - - - No documentation. - - - microsoft.directx_sdk.xaudio2.xaudio2_buffer - XAUDIO2_BUFFER_FLAGS Flags - XAUDIO2_BUFFER_FLAGS Flags - - - - No documentation. - - - microsoft.directx_sdk.xaudio2.xaudio2_buffer - unsigned int AudioBytes - unsigned int AudioBytes - - - - No documentation. - - - microsoft.directx_sdk.xaudio2.xaudio2_buffer - const unsigned char* pAudioData - unsigned char pAudioData - - - - No documentation. - - - microsoft.directx_sdk.xaudio2.xaudio2_buffer - unsigned int PlayBegin - unsigned int PlayBegin - - - - No documentation. - - - microsoft.directx_sdk.xaudio2.xaudio2_buffer - unsigned int PlayLength - unsigned int PlayLength - - - - No documentation. - - - microsoft.directx_sdk.xaudio2.xaudio2_buffer - unsigned int LoopBegin - unsigned int LoopBegin - - - - No documentation. - - - microsoft.directx_sdk.xaudio2.xaudio2_buffer - unsigned int LoopLength - unsigned int LoopLength - - - - No documentation. - - - microsoft.directx_sdk.xaudio2.xaudio2_buffer - unsigned int LoopCount - unsigned int LoopCount - - - - No documentation. - - - microsoft.directx_sdk.xaudio2.xaudio2_buffer - void* pContext - void pContext - - - - Device role, only valid for XAudio27. - - - XAUDIO2_DEVICE_ROLE - XAUDIO2_DEVICE_ROLE - - - - No documentation. - - - NotDefaultDevice - NotDefaultDevice - - - - No documentation. - - - DefaultConsoleDevice - DefaultConsoleDevice - - - - No documentation. - - - DefaultMultimediaDevice - DefaultMultimediaDevice - - - - No documentation. - - - DefaultCommunicationsDevice - DefaultCommunicationsDevice - - - - No documentation. - - - DefaultGameDevice - DefaultGameDevice - - - - No documentation. - - - GlobalDefaultDevice - GlobalDefaultDevice - - - - No documentation. - - - InvalidDeviceRole - InvalidDeviceRole - - - - Details of the device, only valid for XAudio27. - - - XAUDIO2_DEVICE_DETAILS - XAUDIO2_DEVICE_DETAILS - - - - No documentation. - - - wchar_t DeviceID[256] - wchar_t DeviceID - - - - No documentation. - - - wchar_t DisplayName[256] - wchar_t DisplayName - - - - No documentation. - - - XAUDIO2_DEVICE_ROLE Role - XAUDIO2_DEVICE_ROLE Role - - - - No documentation. - - - WAVEFORMATEXTENSIBLE OutputFormat - WAVEFORMATEXTENSIBLE OutputFormat - - - -

Contains information about an XAPO for use in an effect chain.

-
- -

XAPO instances are passed to XAudio2 as interfaces and XAudio2 uses IXAPO::QueryInterface to acquire an interface and to detect whether the XAPO implements the interface.

For additional information on using XAPOs with XAudio2 see How to: Create an Effect Chain and How to: Use an XAPO in XAudio2.

-
- - microsoft.directx_sdk.xaudio2.xaudio2_effect_descriptor - XAUDIO2_EFFECT_DESCRIPTOR - XAUDIO2_EFFECT_DESCRIPTOR -
- - - Initializes a new instance of the class with a Stereo Effect. - - The effect. - - - - Initializes a new instance of the class. - - The effect. - The output channel count. - - - - Gets or sets the AudioProcessor. The AudioProcessor cannot be set more than one. - - The effect. - - - - No documentation. - - - microsoft.directx_sdk.xaudio2.xaudio2_effect_descriptor - IUnknown* pEffect - IUnknown pEffect - - - - No documentation. - - - microsoft.directx_sdk.xaudio2.xaudio2_effect_descriptor - BOOL InitialState - BOOL InitialState - - - - No documentation. - - - microsoft.directx_sdk.xaudio2.xaudio2_effect_descriptor - unsigned int OutputChannels - unsigned int OutputChannels - - - - The IXAudio2EngineCallback interface contains methods that notify the client when certain events happen in the engine. This interface should be implemented by the XAudio2 client. XAudio2 calls these methods via an interface pointer provided by the client, using either the {{XAudio2Create}} or method. Methods in this interface return void, rather than an HRESULT. - - IXAudio2EngineCallback - -

The interface contains methods that notify the client when certain events happen in the engine.

This interface should be implemented by the XAudio2 client. XAudio2 calls these methods via an interface reference provided by the client, using the XAudio2Create method. Methods in this interface return void, rather than an . -

See XAudio2 Callbacks for restrictions on callback implementation.

  • Methods
-
- - microsoft.directx_sdk.ixaudio2enginecallback.ixaudio2enginecallback - IXAudio2EngineCallback - IXAudio2EngineCallback -
- - - Called by XAudio2 just before an audio processing pass begins. - - void IXAudio2EngineCallback::OnProcessingPassStart() - - - - Called by XAudio2 just after an audio processing pass ends. - - void IXAudio2EngineCallback::OnProcessingPassEnd() - - - - Called if a critical system error occurs that requires XAudio2 to be closed down and restarted. - - Error code returned by XAudio2. - void IXAudio2EngineCallback::OnCriticalError([None] HRESULT Error) - - - - Internal EngineCallback Callback Implementation - - - - - Return a pointer to the unmanaged version of this callback. - - The callback. - A pointer to a shadow c++ callback - - - - Called by XAudio2 just after an audio processing pass ends. - - void IXAudio2EngineCallback::OnProcessingPassEnd() - - - - Called if a critical system error occurs that requires XAudio2 to be closed down and restarted. - - This pointer - Error code returned by XAudio2. - void IXAudio2EngineCallback::OnCriticalError([None] HRESULT Error) - - - - EventArgs used by . - - - - - Initializes a new instance of the class. - - The error code. - - - - Gets or sets the error code. - - The error code. - - - - A Reverb XAudio2 AudioProcessor. - - - Functions - - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - - - Constant MinWetDryMix. - XAUDIO2FX_REVERB_MIN_WET_DRY_MIX - - - Constant MinReflectionsDelay. - XAUDIO2FX_REVERB_MIN_REFLECTIONS_DELAY - - - Constant MinReverbDelay. - XAUDIO2FX_REVERB_MIN_REVERB_DELAY - - - Constant MinRearDelay. - XAUDIO2FX_REVERB_MIN_REAR_DELAY - - - Constant MinPosition. - XAUDIO2FX_REVERB_MIN_POSITION - - - Constant MinDiffusion. - XAUDIO2FX_REVERB_MIN_DIFFUSION - - - Constant MinLowEqGain. - XAUDIO2FX_REVERB_MIN_LOW_EQ_GAIN - - - Constant MinLowEqCutoff. - XAUDIO2FX_REVERB_MIN_LOW_EQ_CUTOFF - - - Constant MinHighEqGain. - XAUDIO2FX_REVERB_MIN_HIGH_EQ_GAIN - - - Constant MinHighEqCutoff. - XAUDIO2FX_REVERB_MIN_HIGH_EQ_CUTOFF - - - Constant MinRoomFilterFreq. - XAUDIO2FX_REVERB_MIN_ROOM_FILTER_FREQ - - - Constant MinRoomFilterMain. - XAUDIO2FX_REVERB_MIN_ROOM_FILTER_MAIN - - - Constant MinRoomFilterHf. - XAUDIO2FX_REVERB_MIN_ROOM_FILTER_HF - - - Constant MinReflectionsGain. - XAUDIO2FX_REVERB_MIN_REFLECTIONS_GAIN - - - Constant MinReverbGain. - XAUDIO2FX_REVERB_MIN_REVERB_GAIN - - - Constant MinDecayTime. - XAUDIO2FX_REVERB_MIN_DECAY_TIME - - - Constant MinDensity. - XAUDIO2FX_REVERB_MIN_DENSITY - - - Constant MinRoomSize. - XAUDIO2FX_REVERB_MIN_ROOM_SIZE - - - Constant MaxWetDryMix. - XAUDIO2FX_REVERB_MAX_WET_DRY_MIX - - - Constant MaxReflectionsDelay. - XAUDIO2FX_REVERB_MAX_REFLECTIONS_DELAY - - - Constant MaxReverbDelay. - XAUDIO2FX_REVERB_MAX_REVERB_DELAY - - - Constant MaxRearDelay. - XAUDIO2FX_REVERB_MAX_REAR_DELAY - - - Constant MaxPosition. - XAUDIO2FX_REVERB_MAX_POSITION - - - Constant MaxDiffusion. - XAUDIO2FX_REVERB_MAX_DIFFUSION - - - Constant MaxLowEqGain. - XAUDIO2FX_REVERB_MAX_LOW_EQ_GAIN - - - Constant MaxLowEqCutoff. - XAUDIO2FX_REVERB_MAX_LOW_EQ_CUTOFF - - - Constant MaxHighEqGain. - XAUDIO2FX_REVERB_MAX_HIGH_EQ_GAIN - - - Constant MaxHighEqCutoff. - XAUDIO2FX_REVERB_MAX_HIGH_EQ_CUTOFF - - - Constant MaxRoomFilterFreq. - XAUDIO2FX_REVERB_MAX_ROOM_FILTER_FREQ - - - Constant MaxRoomFilterMain. - XAUDIO2FX_REVERB_MAX_ROOM_FILTER_MAIN - - - Constant MaxRoomFilterHf. - XAUDIO2FX_REVERB_MAX_ROOM_FILTER_HF - - - Constant MaxReflectionsGain. - XAUDIO2FX_REVERB_MAX_REFLECTIONS_GAIN - - - Constant MaxReverbGain. - XAUDIO2FX_REVERB_MAX_REVERB_GAIN - - - Constant MaxDensity. - XAUDIO2FX_REVERB_MAX_DENSITY - - - Constant MaxRoomSize. - XAUDIO2FX_REVERB_MAX_ROOM_SIZE - - - Constant DefaultWetDryMix. - XAUDIO2FX_REVERB_DEFAULT_WET_DRY_MIX - - - Constant DefaultReflectionsDelay. - XAUDIO2FX_REVERB_DEFAULT_REFLECTIONS_DELAY - - - Constant DefaultReverbDelay. - XAUDIO2FX_REVERB_DEFAULT_REVERB_DELAY - - - Constant DefaultRearDelay. - XAUDIO2FX_REVERB_DEFAULT_REAR_DELAY - - - Constant DefaultPosition. - XAUDIO2FX_REVERB_DEFAULT_POSITION - - - Constant DefaultPositionMatrix. - XAUDIO2FX_REVERB_DEFAULT_POSITION_MATRIX - - - Constant DefaultEarlyDiffusion. - XAUDIO2FX_REVERB_DEFAULT_EARLY_DIFFUSION - - - Constant DefaultLateDiffusion. - XAUDIO2FX_REVERB_DEFAULT_LATE_DIFFUSION - - - Constant DefaultLowEqGain. - XAUDIO2FX_REVERB_DEFAULT_LOW_EQ_GAIN - - - Constant DefaultLowEqCutoff. - XAUDIO2FX_REVERB_DEFAULT_LOW_EQ_CUTOFF - - - Constant DefaultHighEqGain. - XAUDIO2FX_REVERB_DEFAULT_HIGH_EQ_GAIN - - - Constant DefaultHighEqCutoff. - XAUDIO2FX_REVERB_DEFAULT_HIGH_EQ_CUTOFF - - - Constant DefaultRoomFilterFreq. - XAUDIO2FX_REVERB_DEFAULT_ROOM_FILTER_FREQ - - - Constant DefaultRoomFilterMain. - XAUDIO2FX_REVERB_DEFAULT_ROOM_FILTER_MAIN - - - Constant DefaultRoomFilterHf. - XAUDIO2FX_REVERB_DEFAULT_ROOM_FILTER_HF - - - Constant DefaultReflectionsGain. - XAUDIO2FX_REVERB_DEFAULT_REFLECTIONS_GAIN - - - Constant DefaultReverbGain. - XAUDIO2FX_REVERB_DEFAULT_REVERB_GAIN - - - Constant DefaultDecayTime. - XAUDIO2FX_REVERB_DEFAULT_DECAY_TIME - - - Constant DefaultDensity. - XAUDIO2FX_REVERB_DEFAULT_DENSITY - - - Constant DefaultRoomSize. - XAUDIO2FX_REVERB_DEFAULT_ROOM_SIZE - - - -

Describes I3DL2 (Interactive 3D Audio Rendering Guidelines Level 2.0) parameters for use in the ReverbConvertI3DL2ToNative function.

-
- -

There are many preset values defined for the structure. For more information, see XAUDIO2FX_I3DL2_PRESET.

-
- - microsoft.directx_sdk.xaudio2.xaudio2fx_reverb_i3dl2_parameters - XAUDIO2FX_REVERB_I3DL2_PARAMETERS - XAUDIO2FX_REVERB_I3DL2_PARAMETERS -
- - - Standard I3DL2 reverb presets (100% wet). - - - - - No documentation. - - - microsoft.directx_sdk.xaudio2.xaudio2fx_reverb_i3dl2_parameters - float WetDryMix - float WetDryMix - - - - No documentation. - - - microsoft.directx_sdk.xaudio2.xaudio2fx_reverb_i3dl2_parameters - int Room - int Room - - - - No documentation. - - - microsoft.directx_sdk.xaudio2.xaudio2fx_reverb_i3dl2_parameters - int RoomHF - int RoomHF - - - - No documentation. - - - microsoft.directx_sdk.xaudio2.xaudio2fx_reverb_i3dl2_parameters - float RoomRolloffFactor - float RoomRolloffFactor - - - - No documentation. - - - microsoft.directx_sdk.xaudio2.xaudio2fx_reverb_i3dl2_parameters - float DecayTime - float DecayTime - - - - No documentation. - - - microsoft.directx_sdk.xaudio2.xaudio2fx_reverb_i3dl2_parameters - float DecayHFRatio - float DecayHFRatio - - - - No documentation. - - - microsoft.directx_sdk.xaudio2.xaudio2fx_reverb_i3dl2_parameters - int Reflections - int Reflections - - - - No documentation. - - - microsoft.directx_sdk.xaudio2.xaudio2fx_reverb_i3dl2_parameters - float ReflectionsDelay - float ReflectionsDelay - - - - No documentation. - - - microsoft.directx_sdk.xaudio2.xaudio2fx_reverb_i3dl2_parameters - int Reverb - int Reverb - - - - No documentation. - - - microsoft.directx_sdk.xaudio2.xaudio2fx_reverb_i3dl2_parameters - float ReverbDelay - float ReverbDelay - - - - No documentation. - - - microsoft.directx_sdk.xaudio2.xaudio2fx_reverb_i3dl2_parameters - float Diffusion - float Diffusion - - - - No documentation. - - - microsoft.directx_sdk.xaudio2.xaudio2fx_reverb_i3dl2_parameters - float Density - float Density - - - - No documentation. - - - microsoft.directx_sdk.xaudio2.xaudio2fx_reverb_i3dl2_parameters - float HFReference - float HFReference - - - -

Describes parameters for use in the reverb APO.

-
- -

All parameters related to sampling rate or time are relative to a 48kHz voice and must be scaled for use with other sampling rates. For example, setting ReflectionsDelay to 300ms gives a true 300ms delay when the reverb is hosted in a 48kHz voice, but becomes a 150ms delay when hosted in a 24kHz voice.

-
- - microsoft.directx_sdk.xaudio2.xaudio2fx_reverb_parameters - XAUDIO2FX_REVERB_PARAMETERS - XAUDIO2FX_REVERB_PARAMETERS -
- - - Defines an explicit conversion of a to . - - The value to convert. - A that represents the converted . - - The is converted to - using the same logic as the inline function "ReverbConvertI3DL2ToNative" from "XAudio2fx.h". - - - - -

Percentage of the output that will be reverb. Allowable values are from 0 to 100.

-
- - microsoft.directx_sdk.xaudio2.xaudio2fx_reverb_parameters - float WetDryMix - float WetDryMix -
- - -

The delay time of the first reflection relative to the direct path. Permitted range is from 0 to 300 milliseconds.

Note??All parameters related to sampling rate or time are relative to a 48kHz sampling rate and must be scaled for use with other sampling rates. See remarks section below for additional information. ?
-
- - microsoft.directx_sdk.xaudio2.xaudio2fx_reverb_parameters - unsigned int ReflectionsDelay - unsigned int ReflectionsDelay -
- - -

Delay of reverb relative to the first reflection. Permitted range is from 0 to 85 milliseconds.

Note??All parameters related to sampling rate or time are relative to a 48kHz sampling rate and must be scaled for use with other sampling rates. See remarks section below for additional information. ?
-
- - microsoft.directx_sdk.xaudio2.xaudio2fx_reverb_parameters - unsigned char ReverbDelay - unsigned char ReverbDelay -
- - -

Delay for the left rear output and right rear output. Permitted range is from 0 to 5 milliseconds.

Note??All parameters related to sampling rate or time are relative to a 48kHz sampling rate and must be scaled for use with other sampling rates. See remarks section below for additional information. ?
-
- - microsoft.directx_sdk.xaudio2.xaudio2fx_reverb_parameters - unsigned char RearDelay - unsigned char RearDelay -
- - -

Delay for the left side output and right side output. Permitted range is from 0 to 5 milliseconds.

Note??This value is supported beginning with Windows?10. ? Note??All parameters related to sampling rate or time are relative to a 48kHz sampling rate and must be scaled for use with other sampling rates. See remarks section below for additional information. ?
-
- - microsoft.directx_sdk.xaudio2.xaudio2fx_reverb_parameters - unsigned char SideDelay - unsigned char SideDelay -
- - -

Position of the left input within the simulated space relative to the listener. With PositionLeft set to the minimum value, the left input is placed close to the listener. In this position, early reflections are dominant, and the reverb decay is set back in the sound field and reduced in amplitude. With PositionLeft set to the maximum value, the left input is placed at a maximum distance from the listener within the simulated room. PositionLeft does not affect the reverb decay time (liveness of the room), only the apparent position of the source relative to the listener. Permitted range is from 0 to 30 (no units).

-
- - microsoft.directx_sdk.xaudio2.xaudio2fx_reverb_parameters - unsigned char PositionLeft - unsigned char PositionLeft -
- - -

Same as PositionLeft, but affecting only the right input. Permitted range is from 0 to 30 (no units).

Note??PositionRight is ignored in mono-in/mono-out mode. ?
-
- - microsoft.directx_sdk.xaudio2.xaudio2fx_reverb_parameters - unsigned char PositionRight - unsigned char PositionRight -
- - -

Gives a greater or lesser impression of distance from the source to the listener. Permitted range is from 0 to 30 (no units).

-
- - microsoft.directx_sdk.xaudio2.xaudio2fx_reverb_parameters - unsigned char PositionMatrixLeft - unsigned char PositionMatrixLeft -
- - -

Gives a greater or lesser impression of distance from the source to the listener. Permitted range is from 0 to 30 (no units).

Note??PositionMatrixRight is ignored in mono-in/mono-out mode. ?
-
- - microsoft.directx_sdk.xaudio2.xaudio2fx_reverb_parameters - unsigned char PositionMatrixRight - unsigned char PositionMatrixRight -
- - -

Controls the character of the individual wall reflections. Set to minimum value to simulate a hard flat surface and to maximum value to simulate a diffuse surface. Permitted range is from 0 to 15 (no units).

-
- - microsoft.directx_sdk.xaudio2.xaudio2fx_reverb_parameters - unsigned char EarlyDiffusion - unsigned char EarlyDiffusion -
- - -

Controls the character of the individual wall reverberations. Set to minimum value to simulate a hard flat surface and to maximum value to simulate a diffuse surface. Permitted range is from 0 to 15 (no units). -

-
- - microsoft.directx_sdk.xaudio2.xaudio2fx_reverb_parameters - unsigned char LateDiffusion - unsigned char LateDiffusion -
- - -

Adjusts the decay time of low frequencies relative to the decay time at 1 kHz. The values correspond to dB of gain as follows:

Value0123456789101112
Gain (dB)-8-7-6-5-4-3-2-10+1+2+3+4

?

Note??A LowEQGain value of 8 results in the decay time of low frequencies being equal to the decay time at 1 kHz. ?

Permitted range is from 0 to 12 (no units).

-
- - microsoft.directx_sdk.xaudio2.xaudio2fx_reverb_parameters - unsigned char LowEQGain - unsigned char LowEQGain -
- - -

Sets the corner frequency of the low pass filter that is controlled by the LowEQGain parameter. The values correspond to frequency in Hz as follows:

Value0123456789
Frequency (Hz)50100150200250300350400450500

?

Permitted range is from 0 to 9 (no units).

-
- - microsoft.directx_sdk.xaudio2.xaudio2fx_reverb_parameters - unsigned char LowEQCutoff - unsigned char LowEQCutoff -
- - -

Adjusts the decay time of high frequencies relative to the decay time at 1 kHz. When set to zero, high frequencies decay at the same rate as 1 kHz. When set to maximum value, high frequencies decay at a much faster rate than 1 kHz.

Value012345678
Gain (dB)-8-7-6-5-4-3-2-10

?

Permitted range is from 0 to 8 (no units).

-
- - microsoft.directx_sdk.xaudio2.xaudio2fx_reverb_parameters - unsigned char HighEQGain - unsigned char HighEQGain -
- - -

Sets the corner frequency of the high pass filter that is controlled by the HighEQGain parameter. The values correspond to frequency in kHz as follows:

Value01234567891011121314
Frequency (kHz)11.522.533.544.555.566.577.58

?

Permitted range is from 0 to 14 (no units).

-
- - microsoft.directx_sdk.xaudio2.xaudio2fx_reverb_parameters - unsigned char HighEQCutoff - unsigned char HighEQCutoff -
- - -

Sets the corner frequency of the low pass filter for the room effect. Permitted range is from 20 to 20,000 Hz.

Note??All parameters related to sampling rate or time are relative to a 48kHz sampling rate and must be scaled for use with other sampling rates. See remarks section below for additional information. ?
-
- - microsoft.directx_sdk.xaudio2.xaudio2fx_reverb_parameters - float RoomFilterFreq - float RoomFilterFreq -
- - -

Sets the pass band intensity level of the low-pass filter for both the early reflections and the late field reverberation. Permitted range is from -100 to 0 dB.

-
- - microsoft.directx_sdk.xaudio2.xaudio2fx_reverb_parameters - float RoomFilterMain - float RoomFilterMain -
- - -

Sets the intensity of the low-pass filter for both the early reflections and the late field reverberation at the corner frequency (RoomFilterFreq). Permitted range is from -100 to 0 dB.

-
- - microsoft.directx_sdk.xaudio2.xaudio2fx_reverb_parameters - float RoomFilterHF - float RoomFilterHF -
- - -

Adjusts the intensity of the early reflections. Permitted range is from -100 to 20 dB.

-
- - microsoft.directx_sdk.xaudio2.xaudio2fx_reverb_parameters - float ReflectionsGain - float ReflectionsGain -
- - -

Adjusts the intensity of the reverberations. Permitted range is from -100 to 20 dB.

-
- - microsoft.directx_sdk.xaudio2.xaudio2fx_reverb_parameters - float ReverbGain - float ReverbGain -
- - -

Reverberation decay time at 1 kHz. This is the time that a full scale input signal decays by 60 dB. Permitted range is from 0.1 to infinity seconds.

-
- - microsoft.directx_sdk.xaudio2.xaudio2fx_reverb_parameters - float DecayTime - float DecayTime -
- - -

Controls the modal density in the late field reverberation. For colorless spaces, Density should be set to the maximum value (100). As Density is decreased, the sound becomes hollow (comb filtered). This is an effect that can be useful if you are trying to model a silo. Permitted range as a percentage is from 0 to 100.

-
- - microsoft.directx_sdk.xaudio2.xaudio2fx_reverb_parameters - float Density - float Density -
- - -

The apparent size of the acoustic space. Permitted range is from 1 to 100 feet.

-
- - microsoft.directx_sdk.xaudio2.xaudio2fx_reverb_parameters - float RoomSize - float RoomSize -
- - -

If set to TRUE, disables late field reflection calculations. Disabling late field reflection calculations results in a significant CPU time savings.

Note??The DirectX SDK versions of XAUDIO2 don't support this member. ?
-
- - microsoft.directx_sdk.xaudio2.xaudio2fx_reverb_parameters - BOOL DisableLateField - BOOL DisableLateField -
- - - A VolumeMeter XAudio2 AudioProcessor. - - - - - Initializes a new instance of the class. - - The device. - - - - Initializes a new instance of the class. - - The device. - if set to true [is using debug]. - XAudio2 must be initialized before calling this constructor - - - - XAudio2FxContants Functions. - - - - Constant None. - - - Constant None. - - - Constant None. - - - Constant None. - - - -

Describes parameters for use with the volume meter APO.

-
- -

This structure is used with the XAudio2 method.

pPeakLevels and pRMSLevels are not returned by , the arrays are only filled out if they are present. If pPeakLevels and pRMSLevels are used they must be allocated by the application. The application is responsible for freeing the arrays when they are no longer needed.

ChannelCount must be set by the application to match the number of channels in the voice the effect is applied to.

-
- - microsoft.directx_sdk.xaudio2.xaudio2fx_volumemeter_levels - XAUDIO2FX_VOLUMEMETER_LEVELS - XAUDIO2FX_VOLUMEMETER_LEVELS -
- - -

Array that will be filled with the maximum absolute level for each channel during a processing pass. The array must be at least ChannelCount ? sizeof(float) bytes. pPeakLevels may be null if pRMSLevels is not null.

-
- - microsoft.directx_sdk.xaudio2.xaudio2fx_volumemeter_levels - float* pPeakLevels - float pPeakLevels -
- - -

Array that will be filled with root mean square level for each channel during a processing pass. The array must be at least ChannelCount ? sizeof(float) bytes. pRMSLevels may be null if pPeakLevels is not null.

-
- - microsoft.directx_sdk.xaudio2.xaudio2fx_volumemeter_levels - float* pRMSLevels - float pRMSLevels -
- - -

Number of channels being processed.

-
- - microsoft.directx_sdk.xaudio2.xaudio2fx_volumemeter_levels - unsigned int ChannelCount - unsigned int ChannelCount -
- - -

Represents an audio data buffer, used with .

-
- -

XAudio2 audio data is interleaved, data from each channel is adjacent for a particular sample number. For example if there was a 4 channel wave playing into an XAudio2 source voice, the audio data would be a sample of channel 0, a sample of channel 1, a sample of channel 2, a sample of channel 3, and then the next sample of channels 0, 1, 2, 3, etc.

The AudioBytes and pAudioData members of correspond to the size in bytes and contents of the 'data' RIFF chunk of the file being played. The contents of the chunk may need to be byte swapped when loading the file on Xbox 360.

Memory allocated to hold a or structure can be freed as soon as the call it is passed to returns. The data the structure points to (pAudioData and pDecodedPacketCumulativeBytes, respectively) can't be freed until the buffer completes (as signaled by the callback) or the voice is stopped or destroyed.

-
- - microsoft.directx_sdk.xaudio2.xaudio2_buffer - XAUDIO2_BUFFER_FLAGS - XAUDIO2_BUFFER_FLAGS -
- - - No documentation. - - - microsoft.directx_sdk.xaudio2.xaudio2_buffer - XAUDIO2_END_OF_STREAM - XAUDIO2_END_OF_STREAM - - - - None. - - - None - None - - - -

Indicates the filter type.

-
- - Note??Note that the DirectX SDK versions of XAUDIO2 do not support the LowPassOnePoleFilter or the HighPassOnePoleFilter.? - - - microsoft.directx_sdk.xaudio2.xaudio2_filter_type - XAUDIO2_FILTER_TYPE - XAUDIO2_FILTER_TYPE -
- - -

Attenuates (reduces) frequencies above the cutoff frequency.

-
- - microsoft.directx_sdk.xaudio2.xaudio2_filter_type - LowPassFilter - LowPassFilter -
- - -

Attenuates frequencies outside a given range.

-
- - microsoft.directx_sdk.xaudio2.xaudio2_filter_type - BandPassFilter - BandPassFilter -
- - -

Attenuates frequencies below the cutoff frequency.

-
- - microsoft.directx_sdk.xaudio2.xaudio2_filter_type - HighPassFilter - HighPassFilter -
- - -

Attenuates frequencies inside a given range.

-
- - microsoft.directx_sdk.xaudio2.xaudio2_filter_type - NotchFilter - NotchFilter -
- - -

Attenuates frequencies above the cutoff frequency. This is a one-pole filter, and .OneOverQ has no effect.

-
- - microsoft.directx_sdk.xaudio2.xaudio2_filter_type - LowPassOnePoleFilter - LowPassOnePoleFilter -
- - -

Attenuates frequencies below the cutoff frequency. This is a one-pole filter, and .OneOverQ has no effect.

-
- - microsoft.directx_sdk.xaudio2.xaudio2_filter_type - HighPassOnePoleFilter - HighPassOnePoleFilter -
- - - No documentation. - - - XAUDIO2_LOG_TYPE - XAUDIO2_LOG_TYPE - - - - No documentation. - - - XAUDIO2_LOG_ERRORS - XAUDIO2_LOG_ERRORS - - - - No documentation. - - - XAUDIO2_LOG_WARNINGS - XAUDIO2_LOG_WARNINGS - - - - No documentation. - - - XAUDIO2_LOG_INFO - XAUDIO2_LOG_INFO - - - - No documentation. - - - XAUDIO2_LOG_DETAIL - XAUDIO2_LOG_DETAIL - - - - No documentation. - - - XAUDIO2_LOG_API_CALLS - XAUDIO2_LOG_API_CALLS - - - - No documentation. - - - XAUDIO2_LOG_FUNC_CALLS - XAUDIO2_LOG_FUNC_CALLS - - - - No documentation. - - - XAUDIO2_LOG_TIMING - XAUDIO2_LOG_TIMING - - - - No documentation. - - - XAUDIO2_LOG_LOCKS - XAUDIO2_LOG_LOCKS - - - - No documentation. - - - XAUDIO2_LOG_MEMORY - XAUDIO2_LOG_MEMORY - - - - No documentation. - - - XAUDIO2_LOG_STREAMING - XAUDIO2_LOG_STREAMING - - - - No documentation. - - - XAUDIO2_PLAY_FLAGS - XAUDIO2_PLAY_FLAGS - - - - No documentation. - - - XAUDIO2_PLAY_TAILS - XAUDIO2_PLAY_TAILS - - - - None. - - - None - None - - - - No documentation. - - - XAUDIO2_WINDOWS_PROCESSOR_SPECIFIER - XAUDIO2_WINDOWS_PROCESSOR_SPECIFIER - - - - No documentation. - - - Processor1 - Processor1 - - - - No documentation. - - - Processor2 - Processor2 - - - - No documentation. - - - Processor3 - Processor3 - - - - No documentation. - - - Processor4 - Processor4 - - - - No documentation. - - - Processor5 - Processor5 - - - - No documentation. - - - Processor6 - Processor6 - - - - No documentation. - - - Processor7 - Processor7 - - - - No documentation. - - - Processor8 - Processor8 - - - - No documentation. - - - Processor9 - Processor9 - - - - No documentation. - - - Processor10 - Processor10 - - - - No documentation. - - - Processor11 - Processor11 - - - - No documentation. - - - Processor12 - Processor12 - - - - No documentation. - - - Processor13 - Processor13 - - - - No documentation. - - - Processor14 - Processor14 - - - - No documentation. - - - Processor15 - Processor15 - - - - No documentation. - - - Processor16 - Processor16 - - - - No documentation. - - - Processor17 - Processor17 - - - - No documentation. - - - Processor18 - Processor18 - - - - No documentation. - - - Processor19 - Processor19 - - - - No documentation. - - - Processor20 - Processor20 - - - - No documentation. - - - Processor21 - Processor21 - - - - No documentation. - - - Processor22 - Processor22 - - - - No documentation. - - - Processor23 - Processor23 - - - - No documentation. - - - Processor24 - Processor24 - - - - No documentation. - - - Processor25 - Processor25 - - - - No documentation. - - - Processor26 - Processor26 - - - - No documentation. - - - Processor27 - Processor27 - - - - No documentation. - - - Processor28 - Processor28 - - - - No documentation. - - - Processor29 - Processor29 - - - - No documentation. - - - Processor30 - Processor30 - - - - No documentation. - - - Processor31 - Processor31 - - - - No documentation. - - - Processor32 - Processor32 - - - - No documentation. - - - XAUDIO2_ANY_PROCESSOR - XAUDIO2_ANY_PROCESSOR - - - - No documentation. - - - XAUDIO2_DEFAULT_PROCESSOR - XAUDIO2_DEFAULT_PROCESSOR - - - -

Contains information about the creation flags, input channels, and sample rate of a voice.

-
- -

Note the DirectX SDK versions of XAUDIO2 do not support the ActiveFlags member.

-
- - microsoft.directx_sdk.xaudio2.xaudio2_voice_details - XAUDIO2_VOICE_FLAGS - XAUDIO2_VOICE_FLAGS -
- - -

Flags used to create the voice; see the individual voice interfaces for more information.

-
- - microsoft.directx_sdk.xaudio2.xaudio2_voice_details - XAUDIO2_VOICE_NOPITCH - XAUDIO2_VOICE_NOPITCH -
- - -

Flags that are currently set on the voice.

-
- - microsoft.directx_sdk.xaudio2.xaudio2_voice_details - XAUDIO2_VOICE_NOSRC - XAUDIO2_VOICE_NOSRC -
- - -

The number of input channels the voice expects.

-
- - microsoft.directx_sdk.xaudio2.xaudio2_voice_details - XAUDIO2_VOICE_USEFILTER - XAUDIO2_VOICE_USEFILTER -
- - -

The input sample rate the voice expects.

-
- - microsoft.directx_sdk.xaudio2.xaudio2_voice_details - XAUDIO2_VOICE_NOSAMPLESPLAYED - XAUDIO2_VOICE_NOSAMPLESPLAYED -
- - - None. - - - None - None - - - - No documentation. - - - XAUDIO2_VOICE_SEND_FLAGS - XAUDIO2_VOICE_SEND_FLAGS - - - - No documentation. - - - XAUDIO2_SEND_USEFILTER - XAUDIO2_SEND_USEFILTER - - - - None. - - - None - None - - - -

XAudio2 constants that specify default parameters, maximum values, and flags.

XAudio2 boundary values

-
- - ee419230 - XAUDIO2_FLAGS - XAUDIO2_FLAGS -
- - - No documentation. - - - ee419230 - XAUDIO2_DEBUG_ENGINE - XAUDIO2_DEBUG_ENGINE - - - - None. - - - None - None - - - - Functions - - - - - Constant InvalidCall. - XAUDIO2_E_INVALID_CALL - - - Constant XmaDecoderError. - XAUDIO2_E_XMA_DECODER_ERROR - - - Constant XapoCreationFailed. - XAUDIO2_E_XAPO_CREATION_FAILED - - - Constant DeviceInvalidated. - XAUDIO2_E_DEVICE_INVALIDATED - - - - Functions - - - - - -

A mastering voice is used to represent the audio output device.

Data buffers cannot be submitted directly to mastering voices, but data submitted to other types of voices must be directed to a mastering voice to be heard. -

inherits directly from , but does not implement methods specific to mastering voices. The interface type exists solely because some of the base class methods are implemented differently for mastering voices. Having a separate type for these voices helps client code to distinguish the different voice types and to benefit from C++ type safety.

-
- - microsoft.directx_sdk.ixaudio2masteringvoice.ixaudio2masteringvoice - IXAudio2MasteringVoice - IXAudio2MasteringVoice -
- - - Initializes a new instance of the 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 channel mask for this voice.

-
-

Returns the channel mask for this voice. This corresponds to the dwChannelMask member of the structure.

-

This method does not return a value.

- -

The pChannelMask argument is a bit-mask of the various channels in the speaker geometry reported by the audio system. This information is needed for the X3DAudioInitialize SpeakerChannelMask parameter.

The X3DAUDIO.H header declares a number of SPEAKER_ positional defines to decode these channels masks.

Examples include:

 //  (0x1) |  (0x2)   //  (0x1) |  (0x2) // |  (0x4) // |  (0x8) // |  (0x10) |  (0x20)
Note??For the DirectX SDK versions of XAUDIO, the channel mask for the output device was obtained via the IXAudio2::GetDeviceDetails method, which doesn't exist in Windows?8 and later.? -
- - microsoft.directx_sdk.ixaudio2masteringvoice.ixaudio2masteringvoice.getchannelmask - HRESULT IXAudio2MasteringVoice::GetChannelMask([Out] unsigned int* pChannelmask) - IXAudio2MasteringVoice::GetChannelMask -
- - - Creates and configures a mastering voice. - - an instance of - [in] Number of channels the mastering voice expects in its input audio. InputChannels must be less than or equal to XAUDIO2_MAX_AUDIO_CHANNELS. InputChannels can be set to XAUDIO2_DEFAULT_CHANNELS, with the default being determined by the current platform. Windows Attempts to detect the system speaker configuration setup. Xbox 360 Defaults to 5.1 surround. - [in] Sample rate of the input audio data of the mastering voice. This rate must be a multiple of XAUDIO2_QUANTUM_DENOMINATOR. InputSampleRate must be between XAUDIO2_MIN_SAMPLE_RATE and XAUDIO2_MAX_SAMPLE_RATE. InputSampleRate can be set to XAUDIO2_DEFAULT_SAMPLERATE, with the default being determined by the current platform. Windows Windows XP defaults to 44100. Windows Vista and Windows 7 default to the setting specified in the Sound Control Panel. The default for this setting is 44100 (or 48000 if required by the driver). Xbox 360 Defaults to 48000. - [in] Index of the output device that will be sent input by the mastering voice. Specifying the default value of 0 causes XAudio2 to select the global default audio device. - HRESULT IXAudio2::CreateMasteringVoice([Out] IXAudio2MasteringVoice** ppMasteringVoice,[None] UINT32 InputChannels,[None] UINT32 InputSampleRate,[None] UINT32 Flags,[None] UINT32 DeviceIndex,[In, Optional] const XAUDIO2_EFFECT_CHAIN* pEffectChain) - - - - Creates and configures a mastering voice (Valid only for XAudio2.8) - - an instance of - [in] Number of channels the mastering voice expects in its input audio. InputChannels must be less than or equal to XAUDIO2_MAX_AUDIO_CHANNELS. InputChannels can be set to XAUDIO2_DEFAULT_CHANNELS, with the default being determined by the current platform. Windows Attempts to detect the system speaker configuration setup. Xbox 360 Defaults to 5.1 surround. - [in] Sample rate of the input audio data of the mastering voice. This rate must be a multiple of XAUDIO2_QUANTUM_DENOMINATOR. InputSampleRate must be between XAUDIO2_MIN_SAMPLE_RATE and XAUDIO2_MAX_SAMPLE_RATE. InputSampleRate can be set to XAUDIO2_DEFAULT_SAMPLERATE, with the default being determined by the current platform. Windows Windows XP defaults to 44100. Windows Vista and Windows 7 default to the setting specified in the Sound Control Panel. The default for this setting is 44100 (or 48000 if required by the driver). Xbox 360 Defaults to 48000. - [in] Index of the output device that will be sent input by the mastering voice. Specifying the default value of 0 causes XAudio2 to select the global default audio device. - HRESULT IXAudio2::CreateMasteringVoice([Out] IXAudio2MasteringVoice** ppMasteringVoice,[None] UINT32 InputChannels,[None] UINT32 InputSampleRate,[None] UINT32 Flags,[None] UINT32 DeviceIndex,[In, Optional] const XAUDIO2_EFFECT_CHAIN* pEffectChain) - - - - Creates and configures a mastering voice (Valid only for XAudio2.7) - - an instance of - [in] Number of channels the mastering voice expects in its input audio. InputChannels must be less than or equal to XAUDIO2_MAX_AUDIO_CHANNELS. InputChannels can be set to XAUDIO2_DEFAULT_CHANNELS, with the default being determined by the current platform. Windows Attempts to detect the system speaker configuration setup. Xbox 360 Defaults to 5.1 surround. - [in] Sample rate of the input audio data of the mastering voice. This rate must be a multiple of XAUDIO2_QUANTUM_DENOMINATOR. InputSampleRate must be between XAUDIO2_MIN_SAMPLE_RATE and XAUDIO2_MAX_SAMPLE_RATE. InputSampleRate can be set to XAUDIO2_DEFAULT_SAMPLERATE, with the default being determined by the current platform. Windows Windows XP defaults to 44100. Windows Vista and Windows 7 default to the setting specified in the Sound Control Panel. The default for this setting is 44100 (or 48000 if required by the driver). Xbox 360 Defaults to 48000. - Index of the device. - HRESULT IXAudio2::CreateMasteringVoice([Out] IXAudio2MasteringVoice** ppMasteringVoice,[None] UINT32 InputChannels,[None] UINT32 InputSampleRate,[None] UINT32 Flags,[None] UINT32 DeviceIndex,[In, Optional] const XAUDIO2_EFFECT_CHAIN* pEffectChain) - - - -

Returns the channel mask for this voice. (Only valid for XAudio 2.8, returns 0 otherwise)

-
- -

The pChannelMask argument is a bit-mask of the various channels in the speaker geometry reported by the audio system. This information is needed for the SpeakerChannelMask parameter.

The X3DAUDIO.H header declares a number of SPEAKER_ positional defines to decode these channels masks.

Examples include:

 //  (0x1) |  (0x2)   //  (0x1) |  (0x2) // |  (0x4) // |  (0x8) // |  (0x10) |  (0x20)

Note??For the DirectX SDK versions of XAUDIO, the channel mask for the output device was obtained via the IXAudio2::GetDeviceDetails method, which doesn't exist in Windows?8 and later.

-
- - microsoft.directx_sdk.ixaudio2masteringvoice.ixaudio2masteringvoice.getchannelmask - GetChannelMask - GetChannelMask - HRESULT IXAudio2MasteringVoice::GetChannelMask([Out] unsigned int* pChannelmask) -
- - -

Use a source voice to submit audio data to the XAudio2 processing pipeline.You must send voice data to a mastering voice to be heard, either directly or through intermediate submix voices. -

-
- - microsoft.directx_sdk.ixaudio2sourcevoice.ixaudio2sourcevoice - IXAudio2SourceVoice - IXAudio2SourceVoice -
- - - Initializes a new instance of the 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 frequency adjustment ratio of the voice.

-
- -

GetFrequencyRatio always returns the voice's actual current frequency ratio. However, this may not match the ratio set by the most recent call: the actual ratio is only changed the next time the audio engine runs after the call (or after the corresponding call, if was called with a deferred operation ID).

For information on frequency ratios, see . -

-
- - microsoft.directx_sdk.ixaudio2sourcevoice.ixaudio2sourcevoice.getfrequencyratio - GetFrequencyRatio - GetFrequencyRatio - void IXAudio2SourceVoice::GetFrequencyRatio([Out] float* pRatio) -
- - -

Reconfigures the voice to consume source data at a different sample rate than the rate specified when the voice was created.

-
- -

The SetSourceSampleRate method supports reuse of XAudio2 voices by allowing a voice to play sounds with a variety of sample rates. To use SetSourceSampleRate the voice must have been created without the or flags and must not have any buffers currently queued.

The typical use of SetSourceSampleRate is to support voice pooling. For example to support voice pooling an application would precreate all the voices it expects to use. Whenever a new sound will be played the application chooses an inactive voice or ,if all voices are busy, picks the least important voice and calls SetSourceSampleRate on the voice with the new sound's sample rate. After SetSourceSampleRate has been called on the voice, the application can immediately start submitting and playing buffers with the new sample rate. This allows the application to avoid the overhead of creating and destroying voices frequently during gameplay. -

-
- - microsoft.directx_sdk.ixaudio2sourcevoice.ixaudio2sourcevoice.setsourcesamplerate - SetSourceSampleRate - SetSourceSampleRate - HRESULT IXAudio2SourceVoice::SetSourceSampleRate([In] unsigned int NewSourceSampleRate) -
- - -

Starts consumption and processing of audio by the voice. Delivers the result to any connected submix or mastering voices, or to the output device.

-
-

Flags that control how the voice is started. Must be 0.

-

Identifies this call as part of a deferred batch. See the XAudio2 Operation Sets overview for more information.

-

Returns if successful, an error code otherwise. See XAudio2 Error Codes for descriptions of XAudio2 specific error codes.

- -

If the XAudio2 engine is stopped, the voice stops running. However, it remains in the started state, so that it starts running again as soon as the engine starts.

When first created, source voices are in the stopped state. Submix and mastering voices are in the started state.

After Start is called it has no further effect if called again before is called. In addition multiple calls to Start without matching calls to will result in warning messages in debug builds.

-
- - microsoft.directx_sdk.ixaudio2sourcevoice.ixaudio2sourcevoice.start - HRESULT IXAudio2SourceVoice::Start([In] unsigned int Flags,[In] unsigned int OperationSet) - IXAudio2SourceVoice::Start -
- - -

Stops consumption of audio by the current voice.

-
-

Flags that control how the voice is stopped. Can be 0 or the following:

ValueDescription
Continue emitting effect output after the voice is stopped.?

?

-

Identifies this call as part of a deferred batch. See the XAudio2 Operation Sets overview for more information.

-

Returns if successful, an error code otherwise. See XAudio2 Error Codes for descriptions of XAudio2 specific error codes.

- -

All source buffers that are queued on the voice and the current cursor position are preserved. This allows the voice to continue from where it left off, when it is restarted. The method can be used to flush queued source buffers.

By default, any pending output from voice effects?for example, reverb tails?is not played. Instead, the voice is immediately rendered silent. The flag can be used to continue emitting effect output after the voice stops running.

A voice stopped with the flag stops consuming source buffers, but continues to process its effects and send audio to its destination voices. A voice in this state can later be stopped completely by calling Stop again with the Flags argument set to 0. This enables stopping a voice with , waiting sufficient time for any audio being produced by its effects to finish, and then fully stopping the voice by calling Stop again without . This technique allows voices with effects to be stopped gracefully while ensuring idle voices will not continue to be processed after they have finished producing audio.

Stop is always asynchronous, even if called within a callback.

Note??XAudio2 never calls any voice callbacks for a voice if the voice is stopped (even if it was stopped with ).? -
- - microsoft.directx_sdk.ixaudio2sourcevoice.ixaudio2sourcevoice.stop - HRESULT IXAudio2SourceVoice::Stop([In] XAUDIO2_PLAY_FLAGS Flags,[In] unsigned int OperationSet) - IXAudio2SourceVoice::Stop -
- - -

Adds a new audio buffer to the voice queue.

-
-

Pointer to an structure to queue.

-

Pointer to an additional structure used when submitting WMA data.

-

Returns if successful, an error code otherwise. See XAudio2 Error Codes for descriptions of XAudio2 specific error codes.

- -

The voice processes and plays back the buffers in its queue in the order that they were submitted.

The structure includes details about the audio buffer's location and size, the part of the buffer that should actually be played, the loop region (if any) and loop count, the context reference to be used in any callbacks relating to this buffer, and an optional flag that indicates that it is the last buffer of a contiguous sound.

If the voice is started and has no buffers queued, the new buffer will start playing immediately. If the voice is stopped, the buffer is added to the voice's queue and will be played when the voice starts.

If only part of the given buffer should be played, the PlayBegin and PlayLength fields in the can be used to specify the region to be played. A PlayLength value of 0 means to play the entire buffer (and in this case PlayBegin must be 0 as well).

If all or part of the buffer should be played in a continuous loop, the LoopBegin, LoopLength and LoopCount fields in can be used to specify the characteristics of the loop region. A LoopBegin value of means that no looping should be performed, and in this case LoopLength and LoopCount must be given as 0. If a loop region is specified, it must be non-empty (LoopLength > 0), and the loop count must be between 1 and inclusive (or to specify an endless loop which will only end when is called). A loop count of N means to skip backwards N times, i.e. to play the loop region N+1 times.

If an explicit play region is specified, it must begin and end within the given audio buffer (or, in the compressed case, within the set of samples that the buffer will decode to). In addition, the loop region cannot end past the end of the play region.

Xbox 360
For certain audio formats, there may be additional restrictions on the valid endpoints of any play or loop regions; e.g. for XMA buffers, the regions can only begin or end at 128-sample boundaries in the decoded audio. -

?

The pBuffer reference can be reused or freed immediately after calling this method, but the actual audio data referenced by pBuffer must remain valid until the buffer has been fully consumed by XAudio2 (which is indicated by the callback).

Up to buffers can be queued on a voice at any one time.

SubmitSourceBuffer takes effect immediately when called from an XAudio2 callback with an OperationSet of . -

Xbox 360
This method can be called from an Xbox system thread (most other XAudio2 methods cannot). However, a maximum of two source buffers can be submitted from a system thread at a time.

?

-
- - microsoft.directx_sdk.ixaudio2sourcevoice.ixaudio2sourcevoice.submitsourcebuffer - HRESULT IXAudio2SourceVoice::SubmitSourceBuffer([In] const XAUDIO2_BUFFER* pBuffer,[In] const void* pBufferWMA) - IXAudio2SourceVoice::SubmitSourceBuffer -
- - -

Removes all pending audio buffers from the voice queue.

-
-

Returns if successful, an error code otherwise.

- -

If the voice is started, the buffer that is currently playing is not removed from the queue.

FlushSourceBuffers can be called regardless of whether the voice is currently started or stopped.

For every buffer removed, an OnBufferEnd callback will be made, but none of the other per-buffer callbacks (OnBufferStart, OnStreamEnd or OnLoopEnd) will be made.

FlushSourceBuffers does not change a the voice's running state, so if the voice was playing a buffer prior to the call, it will continue to do so, and will deliver all the callbacks for the buffer normally. This means that the OnBufferEnd callback for this buffer will take place after the OnBufferEnd callbacks for the buffers that were removed. Thus, an XAudio2 client that calls FlushSourceBuffers cannot expect to receive OnBufferEnd callbacks in the order in which the buffers were submitted.

No warnings for starvation of the buffer queue will be emitted when the currently playing buffer completes; it is assumed that the client has intentionally removed the buffers that followed it. However, there may be an audio pop if this buffer does not end at a zero crossing. If the application must ensure that the flush operation takes place while a specific buffer is playing?perhaps because the buffer ends with a zero crossing?it must call FlushSourceBuffers from a callback, so that it executes synchronously.

Calling FlushSourceBuffers after a voice is stopped and then submitting new data to the voice resets all of the voice's internal counters.

A voice's state is not considered reset after calling FlushSourceBuffers until the OnBufferEnd callback occurs (if a buffer was previously submitted) or returns with . BuffersQueued == 0. For example, if you stop a voice and call FlushSourceBuffers, it's still not legal to immediately call (which requires the voice to not have any buffers currently queued), until either of the previously mentioned conditions are met.

-
- - microsoft.directx_sdk.ixaudio2sourcevoice.ixaudio2sourcevoice.flushsourcebuffers - HRESULT IXAudio2SourceVoice::FlushSourceBuffers() - IXAudio2SourceVoice::FlushSourceBuffers -
- - -

Notifies an XAudio2 voice that no more buffers are coming after the last one that is currently in its queue.

-
-

Returns if successful, an error code otherwise.

- -

Discontinuity suppresses the warnings that normally occur in the debug build of XAudio2 when a voice runs out of audio buffers to play. It is preferable to mark the final buffer of a stream by tagging it with the flag, but in some cases the client may not know that a buffer is the end of a stream until after the buffer has been submitted.

Because calling Discontinuity is equivalent to applying the flag retroactively to the last buffer submitted, an OnStreamEnd callback will be made when this buffer completes. -

Note??XAudio2 may consume its entire buffer queue and emit a warning before the Discontinuity call takes effect, so Discontinuity is not guaranteed to suppress the warnings.? -
- - microsoft.directx_sdk.ixaudio2sourcevoice.ixaudio2sourcevoice.discontinuity - HRESULT IXAudio2SourceVoice::Discontinuity() - IXAudio2SourceVoice::Discontinuity -
- - -

Stops looping the voice when it reaches the end of the current loop region.

-
-

Identifies this call as part of a deferred batch. See the XAudio2 Operation Sets overview for more information.

-

Returns if successful, an error code otherwise. See XAudio2 Error Codes for descriptions of XAudio2 specific error codes.

- -

If the cursor for the voice is not in a loop region, ExitLoop does nothing.

-
- - microsoft.directx_sdk.ixaudio2sourcevoice.ixaudio2sourcevoice.exitloop - HRESULT IXAudio2SourceVoice::ExitLoop([In] unsigned int OperationSet) - IXAudio2SourceVoice::ExitLoop -
- - -

Returns the voice's current state and cursor position data.

-
-

Number of audio buffers currently queued on the voice, including the one that is processed currently.

- -

For all encoded formats, including constant bit rate (CBR) formats such as adaptive differential pulse code modulation (ADPCM), SamplesPlayed is expressed in terms of decoded samples. For pulse code modulation (PCM) formats, SamplesPlayed is expressed in terms of either input or output samples. There is a one-to-one mapping from input to output for PCM formats.

If a client needs to get the correlated positions of several voices?that is, to know exactly which sample of a particular voice is playing when a specified sample of another voice is playing?it must make the calls in an XAudio2 engine callback. Doing this ensures that none of the voices advance while the calls are made.

-
- - microsoft.directx_sdk.xaudio2.xaudio2_voice_state - void IXAudio2SourceVoice::GetState([Out] XAUDIO2_VOICE_STATE* pVoiceState,[In] unsigned int Flags) - IXAudio2SourceVoice::GetState -
- - -

Sets the frequency adjustment ratio of the voice.

-
-

Frequency adjustment ratio. This value must be between and the MaxFrequencyRatio parameter specified when the voice was created (see ). currently is 0.0005, which allows pitch to be lowered by up to 11 octaves.

-

Identifies this call as part of a deferred batch. See the XAudio2 Operation Sets overview for more information.

-

Returns if successful, an error code otherwise. See XAudio2 Error Codes for descriptions of error codes.

- -

Frequency adjustment is expressed as source frequency / target frequency. Changing the frequency ratio changes the rate audio is played on the voice. A ratio greater than 1.0 will cause the audio to play faster and a ratio less than 1.0 will cause the audio to play slower. Additionally, the frequency ratio affects the pitch of audio on the voice. As an example, a value of 1.0 has no effect on the audio, whereas a value of 2.0 raises pitch by one octave and 0.5 lowers it by one octave.

If SetFrequencyRatio is called specifying a Ratio value outside the valid range, the method will set the frequency ratio to the nearest valid value. A warning also will be generated for debug builds.

Note?? always returns the voice's actual current frequency ratio. However, this may not match the ratio set by the most recent call: the actual ratio is only changed the next time the audio engine runs after the call (or after the corresponding call, if was called with a deferred operation ID).? -
- - microsoft.directx_sdk.ixaudio2sourcevoice.ixaudio2sourcevoice.setfrequencyratio - HRESULT IXAudio2SourceVoice::SetFrequencyRatio([In] float Ratio,[In] unsigned int OperationSet) - IXAudio2SourceVoice::SetFrequencyRatio -
- - -

Returns the frequency adjustment ratio of the voice.

-
-

Returns the current frequency adjustment ratio if successful.

- -

GetFrequencyRatio always returns the voice's actual current frequency ratio. However, this may not match the ratio set by the most recent call: the actual ratio is only changed the next time the audio engine runs after the call (or after the corresponding call, if was called with a deferred operation ID).

For information on frequency ratios, see . -

-
- - microsoft.directx_sdk.ixaudio2sourcevoice.ixaudio2sourcevoice.getfrequencyratio - void IXAudio2SourceVoice::GetFrequencyRatio([Out] float* pRatio) - IXAudio2SourceVoice::GetFrequencyRatio -
- - -

Reconfigures the voice to consume source data at a different sample rate than the rate specified when the voice was created.

-
-

The new sample rate the voice should process submitted data at. Valid sample rates are 1kHz to 200kHz.

-

Returns if successful, an error code otherwise. See XAudio2 Error Codes for descriptions of error codes.

- -

The SetSourceSampleRate method supports reuse of XAudio2 voices by allowing a voice to play sounds with a variety of sample rates. To use SetSourceSampleRate the voice must have been created without the or flags and must not have any buffers currently queued.

The typical use of SetSourceSampleRate is to support voice pooling. For example to support voice pooling an application would precreate all the voices it expects to use. Whenever a new sound will be played the application chooses an inactive voice or ,if all voices are busy, picks the least important voice and calls SetSourceSampleRate on the voice with the new sound's sample rate. After SetSourceSampleRate has been called on the voice, the application can immediately start submitting and playing buffers with the new sample rate. This allows the application to avoid the overhead of creating and destroying voices frequently during gameplay. -

-
- - microsoft.directx_sdk.ixaudio2sourcevoice.ixaudio2sourcevoice.setsourcesamplerate - HRESULT IXAudio2SourceVoice::SetSourceSampleRate([In] unsigned int NewSourceSampleRate) - IXAudio2SourceVoice::SetSourceSampleRate -
- - - Creates and configures a source voice. - - an instance of - [in] Pointer to a structure. This structure contains the expected format for all audio buffers submitted to the source voice. XAudio2 supports voice types of PCM, xWMA, ADPCM (Windows only), and XMA (Xbox 360 only). XAudio2 supports the following PCM formats. 8-bit (unsigned) integer PCM 16-bit integer PCM (Optimal format for XAudio2) 20-bit integer PCM (either in 24 or 32 bit containers) 24-bit integer PCM (either in 24 or 32 bit containers) 32-bit integer PCM 32-bit float PCM (Preferred format after 16-bit integer) The number of channels in a source voice must be less than or equal to XAUDIO2_MAX_AUDIO_CHANNELS. The sample rate of a source voice must be between XAUDIO2_MIN_SAMPLE_RATE and XAUDIO2_MAX_SAMPLE_RATE. Note Data formats such as XMA, {{ADPCM}}, and {{xWMA}} that require more information than provided by have a structure as the first member in their format structure. When creating a source voice with one of those formats cast the format's structure as a structure and use it as the value for pSourceFormat. - No documentation. - HRESULT IXAudio2::CreateSourceVoice([Out] IXAudio2SourceVoice** ppSourceVoice,[In] const WAVEFORMATEX* pSourceFormat,[None] UINT32 Flags,[None] float MaxFrequencyRatio,[In, Optional] IXAudio2VoiceCallback* pCallback,[In, Optional] const XAUDIO2_VOICE_SENDS* pSendList,[In, Optional] const XAUDIO2_EFFECT_CHAIN* pEffectChain) - - - - Creates and configures a source voice. - - an instance of - [in] Pointer to a structure. This structure contains the expected format for all audio buffers submitted to the source voice. XAudio2 supports voice types of PCM, xWMA, ADPCM (Windows only), and XMA (Xbox 360 only). XAudio2 supports the following PCM formats. 8-bit (unsigned) integer PCM 16-bit integer PCM (Optimal format for XAudio2) 20-bit integer PCM (either in 24 or 32 bit containers) 24-bit integer PCM (either in 24 or 32 bit containers) 32-bit integer PCM 32-bit float PCM (Preferred format after 16-bit integer) The number of channels in a source voice must be less than or equal to XAUDIO2_MAX_AUDIO_CHANNELS. The sample rate of a source voice must be between XAUDIO2_MIN_SAMPLE_RATE and XAUDIO2_MAX_SAMPLE_RATE. Note Data formats such as XMA, {{ADPCM}}, and {{xWMA}} that require more information than provided by have a structure as the first member in their format structure. When creating a source voice with one of those formats cast the format's structure as a structure and use it as the value for pSourceFormat. - True to enable delegate callbacks on this instance. Default is false - No documentation. - HRESULT IXAudio2::CreateSourceVoice([Out] IXAudio2SourceVoice** ppSourceVoice,[In] const WAVEFORMATEX* pSourceFormat,[None] UINT32 Flags,[None] float MaxFrequencyRatio,[In, Optional] IXAudio2VoiceCallback* pCallback,[In, Optional] const XAUDIO2_VOICE_SENDS* pSendList,[In, Optional] const XAUDIO2_EFFECT_CHAIN* pEffectChain) - - - - Creates and configures a source voice. - - an instance of - [in] Pointer to a structure. This structure contains the expected format for all audio buffers submitted to the source voice. XAudio2 supports voice types of PCM, xWMA, ADPCM (Windows only), and XMA (Xbox 360 only). XAudio2 supports the following PCM formats. 8-bit (unsigned) integer PCM 16-bit integer PCM (Optimal format for XAudio2) 20-bit integer PCM (either in 24 or 32 bit containers) 24-bit integer PCM (either in 24 or 32 bit containers) 32-bit integer PCM 32-bit float PCM (Preferred format after 16-bit integer) The number of channels in a source voice must be less than or equal to XAUDIO2_MAX_AUDIO_CHANNELS. The sample rate of a source voice must be between XAUDIO2_MIN_SAMPLE_RATE and XAUDIO2_MAX_SAMPLE_RATE. Note Data formats such as XMA, {{ADPCM}}, and {{xWMA}} that require more information than provided by have a structure as the first member in their format structure. When creating a source voice with one of those formats cast the format's structure as a structure and use it as the value for pSourceFormat. - [in] Flags that specify the behavior of the source voice. A flag can be 0 or a combination of one or more of the following: ValueDescriptionXAUDIO2_VOICE_NOPITCHNo pitch control is available on the voice.?XAUDIO2_VOICE_NOSRCNo sample rate conversion is available on the voice, the voice's outputs must have the same sample rate.Note The XAUDIO2_VOICE_NOSRC flag causes the voice to behave as though the XAUDIO2_VOICE_NOPITCH flag also is specified. ?XAUDIO2_VOICE_USEFILTERThe filter effect should be available on this voice.?XAUDIO2_VOICE_MUSICThe voice is used to play background music. The system automatically can replace the voice with music selected by the user.? - No documentation. - HRESULT IXAudio2::CreateSourceVoice([Out] IXAudio2SourceVoice** ppSourceVoice,[In] const WAVEFORMATEX* pSourceFormat,[None] UINT32 Flags,[None] float MaxFrequencyRatio,[In, Optional] IXAudio2VoiceCallback* pCallback,[In, Optional] const XAUDIO2_VOICE_SENDS* pSendList,[In, Optional] const XAUDIO2_EFFECT_CHAIN* pEffectChain) - - - - Creates and configures a source voice. - - an instance of - [in] Pointer to a structure. This structure contains the expected format for all audio buffers submitted to the source voice. XAudio2 supports voice types of PCM, xWMA, ADPCM (Windows only), and XMA (Xbox 360 only). XAudio2 supports the following PCM formats. 8-bit (unsigned) integer PCM 16-bit integer PCM (Optimal format for XAudio2) 20-bit integer PCM (either in 24 or 32 bit containers) 24-bit integer PCM (either in 24 or 32 bit containers) 32-bit integer PCM 32-bit float PCM (Preferred format after 16-bit integer) The number of channels in a source voice must be less than or equal to XAUDIO2_MAX_AUDIO_CHANNELS. The sample rate of a source voice must be between XAUDIO2_MIN_SAMPLE_RATE and XAUDIO2_MAX_SAMPLE_RATE. Note Data formats such as XMA, {{ADPCM}}, and {{xWMA}} that require more information than provided by have a structure as the first member in their format structure. When creating a source voice with one of those formats cast the format's structure as a structure and use it as the value for pSourceFormat. - [in] Flags that specify the behavior of the source voice. A flag can be 0 or a combination of one or more of the following: ValueDescriptionXAUDIO2_VOICE_NOPITCHNo pitch control is available on the voice.?XAUDIO2_VOICE_NOSRCNo sample rate conversion is available on the voice, the voice's outputs must have the same sample rate.Note The XAUDIO2_VOICE_NOSRC flag causes the voice to behave as though the XAUDIO2_VOICE_NOPITCH flag also is specified. ?XAUDIO2_VOICE_USEFILTERThe filter effect should be available on this voice.?XAUDIO2_VOICE_MUSICThe voice is used to play background music. The system automatically can replace the voice with music selected by the user.? - True to enable delegate callbacks on this instance. Default is false - No documentation. - HRESULT IXAudio2::CreateSourceVoice([Out] IXAudio2SourceVoice** ppSourceVoice,[In] const WAVEFORMATEX* pSourceFormat,[None] UINT32 Flags,[None] float MaxFrequencyRatio,[In, Optional] IXAudio2VoiceCallback* pCallback,[In, Optional] const XAUDIO2_VOICE_SENDS* pSendList,[In, Optional] const XAUDIO2_EFFECT_CHAIN* pEffectChain) - - - - Creates and configures a source voice. - - an instance of - [in] Pointer to a structure. This structure contains the expected format for all audio buffers submitted to the source voice. XAudio2 supports voice types of PCM, xWMA, ADPCM (Windows only), and XMA (Xbox 360 only). XAudio2 supports the following PCM formats. 8-bit (unsigned) integer PCM 16-bit integer PCM (Optimal format for XAudio2) 20-bit integer PCM (either in 24 or 32 bit containers) 24-bit integer PCM (either in 24 or 32 bit containers) 32-bit integer PCM 32-bit float PCM (Preferred format after 16-bit integer) The number of channels in a source voice must be less than or equal to XAUDIO2_MAX_AUDIO_CHANNELS. The sample rate of a source voice must be between XAUDIO2_MIN_SAMPLE_RATE and XAUDIO2_MAX_SAMPLE_RATE. Note Data formats such as XMA, {{ADPCM}}, and {{xWMA}} that require more information than provided by have a structure as the first member in their format structure. When creating a source voice with one of those formats cast the format's structure as a structure and use it as the value for pSourceFormat. - [in] Flags that specify the behavior of the source voice. A flag can be 0 or a combination of one or more of the following: ValueDescriptionXAUDIO2_VOICE_NOPITCHNo pitch control is available on the voice.?XAUDIO2_VOICE_NOSRCNo sample rate conversion is available on the voice, the voice's outputs must have the same sample rate.Note The XAUDIO2_VOICE_NOSRC flag causes the voice to behave as though the XAUDIO2_VOICE_NOPITCH flag also is specified. ?XAUDIO2_VOICE_USEFILTERThe filter effect should be available on this voice.?XAUDIO2_VOICE_MUSICThe voice is used to play background music. The system automatically can replace the voice with music selected by the user.? - [in] Highest allowable frequency ratio that can be set on this voice. The value for this argument must be between XAUDIO2_MIN_FREQ_RATIO and XAUDIO2_MAX_FREQ_RATIO. Subsequent calls to are clamped between XAUDIO2_MIN_FREQ_RATIO and MaxFrequencyRatio. The maximum value for this argument is defined as XAUDIO2_MAX_FREQ_RATIO, which allows pitch to be raised by up to 10 octaves. If MaxFrequencyRatio is less than 1.0, the voice will use that ratio immediately after being created (rather than the default of 1.0). Xbox 360 For XMA voices there is an additional restriction on the MaxFrequencyRatio argument and the voice's sample rate. The product of these two numbers cannot exceed XAUDIO2_MAX_RATIO_TIMES_RATE_XMA_MONO for one-channel voices or XAUDIO2_MAX_RATIO_TIMES_RATE_XMA_MULTICHANNEL for voices with any other number of channels. If the value specified for MaxFrequencyRatio is too high for the specified format, the call to CreateSourceVoice fails and produces a debug message. Note XAudio2's memory usage can be reduced by using the lowest possible MaxFrequencyRatio value. - No documentation. - HRESULT IXAudio2::CreateSourceVoice([Out] IXAudio2SourceVoice** ppSourceVoice,[In] const WAVEFORMATEX* pSourceFormat,[None] UINT32 Flags,[None] float MaxFrequencyRatio,[In, Optional] IXAudio2VoiceCallback* pCallback,[In, Optional] const XAUDIO2_VOICE_SENDS* pSendList,[In, Optional] const XAUDIO2_EFFECT_CHAIN* pEffectChain) - - - - Creates and configures a source voice. - - an instance of - [in] Pointer to a structure. This structure contains the expected format for all audio buffers submitted to the source voice. XAudio2 supports voice types of PCM, xWMA, ADPCM (Windows only), and XMA (Xbox 360 only). XAudio2 supports the following PCM formats. 8-bit (unsigned) integer PCM 16-bit integer PCM (Optimal format for XAudio2) 20-bit integer PCM (either in 24 or 32 bit containers) 24-bit integer PCM (either in 24 or 32 bit containers) 32-bit integer PCM 32-bit float PCM (Preferred format after 16-bit integer) The number of channels in a source voice must be less than or equal to XAUDIO2_MAX_AUDIO_CHANNELS. The sample rate of a source voice must be between XAUDIO2_MIN_SAMPLE_RATE and XAUDIO2_MAX_SAMPLE_RATE. Note Data formats such as XMA, {{ADPCM}}, and {{xWMA}} that require more information than provided by have a structure as the first member in their format structure. When creating a source voice with one of those formats cast the format's structure as a structure and use it as the value for pSourceFormat. - [in] Flags that specify the behavior of the source voice. A flag can be 0 or a combination of one or more of the following: ValueDescriptionXAUDIO2_VOICE_NOPITCHNo pitch control is available on the voice.?XAUDIO2_VOICE_NOSRCNo sample rate conversion is available on the voice, the voice's outputs must have the same sample rate.Note The XAUDIO2_VOICE_NOSRC flag causes the voice to behave as though the XAUDIO2_VOICE_NOPITCH flag also is specified. ?XAUDIO2_VOICE_USEFILTERThe filter effect should be available on this voice.?XAUDIO2_VOICE_MUSICThe voice is used to play background music. The system automatically can replace the voice with music selected by the user.? - [in] Highest allowable frequency ratio that can be set on this voice. The value for this argument must be between XAUDIO2_MIN_FREQ_RATIO and XAUDIO2_MAX_FREQ_RATIO. Subsequent calls to are clamped between XAUDIO2_MIN_FREQ_RATIO and MaxFrequencyRatio. The maximum value for this argument is defined as XAUDIO2_MAX_FREQ_RATIO, which allows pitch to be raised by up to 10 octaves. If MaxFrequencyRatio is less than 1.0, the voice will use that ratio immediately after being created (rather than the default of 1.0). Xbox 360 For XMA voices there is an additional restriction on the MaxFrequencyRatio argument and the voice's sample rate. The product of these two numbers cannot exceed XAUDIO2_MAX_RATIO_TIMES_RATE_XMA_MONO for one-channel voices or XAUDIO2_MAX_RATIO_TIMES_RATE_XMA_MULTICHANNEL for voices with any other number of channels. If the value specified for MaxFrequencyRatio is too high for the specified format, the call to CreateSourceVoice fails and produces a debug message. Note XAudio2's memory usage can be reduced by using the lowest possible MaxFrequencyRatio value. - [in, optional] Pointer to a client-provided callback interface, . - No documentation. - HRESULT IXAudio2::CreateSourceVoice([Out] IXAudio2SourceVoice** ppSourceVoice,[In] const WAVEFORMATEX* pSourceFormat,[None] UINT32 Flags,[None] float MaxFrequencyRatio,[In, Optional] IXAudio2VoiceCallback* pCallback,[In, Optional] const XAUDIO2_VOICE_SENDS* pSendList,[In, Optional] const XAUDIO2_EFFECT_CHAIN* pEffectChain) - - - - Creates and configures a source voice with callback through delegates. - - an instance of - [in] Pointer to a structure. This structure contains the expected format for all audio buffers submitted to the source voice. XAudio2 supports voice types of PCM, xWMA, ADPCM (Windows only), and XMA (Xbox 360 only). XAudio2 supports the following PCM formats. 8-bit (unsigned) integer PCM 16-bit integer PCM (Optimal format for XAudio2) 20-bit integer PCM (either in 24 or 32 bit containers) 24-bit integer PCM (either in 24 or 32 bit containers) 32-bit integer PCM 32-bit float PCM (Preferred format after 16-bit integer) The number of channels in a source voice must be less than or equal to XAUDIO2_MAX_AUDIO_CHANNELS. The sample rate of a source voice must be between XAUDIO2_MIN_SAMPLE_RATE and XAUDIO2_MAX_SAMPLE_RATE. Note Data formats such as XMA, {{ADPCM}}, and {{xWMA}} that require more information than provided by have a structure as the first member in their format structure. When creating a source voice with one of those formats cast the format's structure as a structure and use it as the value for pSourceFormat. - [in] Flags that specify the behavior of the source voice. A flag can be 0 or a combination of one or more of the following: ValueDescriptionXAUDIO2_VOICE_NOPITCHNo pitch control is available on the voice.?XAUDIO2_VOICE_NOSRCNo sample rate conversion is available on the voice, the voice's outputs must have the same sample rate.Note The XAUDIO2_VOICE_NOSRC flag causes the voice to behave as though the XAUDIO2_VOICE_NOPITCH flag also is specified. ?XAUDIO2_VOICE_USEFILTERThe filter effect should be available on this voice.?XAUDIO2_VOICE_MUSICThe voice is used to play background music. The system automatically can replace the voice with music selected by the user.? - [in] Highest allowable frequency ratio that can be set on this voice. The value for this argument must be between XAUDIO2_MIN_FREQ_RATIO and XAUDIO2_MAX_FREQ_RATIO. Subsequent calls to are clamped between XAUDIO2_MIN_FREQ_RATIO and MaxFrequencyRatio. The maximum value for this argument is defined as XAUDIO2_MAX_FREQ_RATIO, which allows pitch to be raised by up to 10 octaves. If MaxFrequencyRatio is less than 1.0, the voice will use that ratio immediately after being created (rather than the default of 1.0). Xbox 360 For XMA voices there is an additional restriction on the MaxFrequencyRatio argument and the voice's sample rate. The product of these two numbers cannot exceed XAUDIO2_MAX_RATIO_TIMES_RATE_XMA_MONO for one-channel voices or XAUDIO2_MAX_RATIO_TIMES_RATE_XMA_MULTICHANNEL for voices with any other number of channels. If the value specified for MaxFrequencyRatio is too high for the specified format, the call to CreateSourceVoice fails and produces a debug message. Note XAudio2's memory usage can be reduced by using the lowest possible MaxFrequencyRatio value. - if set to true [enable callback events]. - No enableCallbackEvents. - HRESULT IXAudio2::CreateSourceVoice([Out] IXAudio2SourceVoice** ppSourceVoice,[In] const WAVEFORMATEX* pSourceFormat,[None] UINT32 Flags,[None] float MaxFrequencyRatio,[In, Optional] IXAudio2VoiceCallback* pCallback,[In, Optional] const XAUDIO2_VOICE_SENDS* pSendList,[In, Optional] const XAUDIO2_EFFECT_CHAIN* pEffectChain) - - - - Creates and configures a source voice. - - an instance of - [in] Pointer to a structure. This structure contains the expected format for all audio buffers submitted to the source voice. XAudio2 supports voice types of PCM, xWMA, ADPCM (Windows only), and XMA (Xbox 360 only). XAudio2 supports the following PCM formats. 8-bit (unsigned) integer PCM 16-bit integer PCM (Optimal format for XAudio2) 20-bit integer PCM (either in 24 or 32 bit containers) 24-bit integer PCM (either in 24 or 32 bit containers) 32-bit integer PCM 32-bit float PCM (Preferred format after 16-bit integer) The number of channels in a source voice must be less than or equal to XAUDIO2_MAX_AUDIO_CHANNELS. The sample rate of a source voice must be between XAUDIO2_MIN_SAMPLE_RATE and XAUDIO2_MAX_SAMPLE_RATE. Note Data formats such as XMA, {{ADPCM}}, and {{xWMA}} that require more information than provided by have a structure as the first member in their format structure. When creating a source voice with one of those formats cast the format's structure as a structure and use it as the value for pSourceFormat. - [in] Flags that specify the behavior of the source voice. A flag can be 0 or a combination of one or more of the following: ValueDescriptionXAUDIO2_VOICE_NOPITCHNo pitch control is available on the voice.?XAUDIO2_VOICE_NOSRCNo sample rate conversion is available on the voice, the voice's outputs must have the same sample rate.Note The XAUDIO2_VOICE_NOSRC flag causes the voice to behave as though the XAUDIO2_VOICE_NOPITCH flag also is specified. ?XAUDIO2_VOICE_USEFILTERThe filter effect should be available on this voice.?XAUDIO2_VOICE_MUSICThe voice is used to play background music. The system automatically can replace the voice with music selected by the user.? - [in] Highest allowable frequency ratio that can be set on this voice. The value for this argument must be between XAUDIO2_MIN_FREQ_RATIO and XAUDIO2_MAX_FREQ_RATIO. Subsequent calls to are clamped between XAUDIO2_MIN_FREQ_RATIO and MaxFrequencyRatio. The maximum value for this argument is defined as XAUDIO2_MAX_FREQ_RATIO, which allows pitch to be raised by up to 10 octaves. If MaxFrequencyRatio is less than 1.0, the voice will use that ratio immediately after being created (rather than the default of 1.0). Xbox 360 For XMA voices there is an additional restriction on the MaxFrequencyRatio argument and the voice's sample rate. The product of these two numbers cannot exceed XAUDIO2_MAX_RATIO_TIMES_RATE_XMA_MONO for one-channel voices or XAUDIO2_MAX_RATIO_TIMES_RATE_XMA_MULTICHANNEL for voices with any other number of channels. If the value specified for MaxFrequencyRatio is too high for the specified format, the call to CreateSourceVoice fails and produces a debug message. Note XAudio2's memory usage can be reduced by using the lowest possible MaxFrequencyRatio value. - [in, optional] Pointer to a client-provided callback interface, . - [in, optional] Pointer to a list of XAUDIO2_EFFECT_CHAIN structures that describe an effect chain to use in the source voice. - No documentation. - HRESULT IXAudio2::CreateSourceVoice([Out] IXAudio2SourceVoice** ppSourceVoice,[In] const WAVEFORMATEX* pSourceFormat,[None] UINT32 Flags,[None] float MaxFrequencyRatio,[In, Optional] IXAudio2VoiceCallback* pCallback,[In, Optional] const XAUDIO2_VOICE_SENDS* pSendList,[In, Optional] const XAUDIO2_EFFECT_CHAIN* pEffectChain) - - - - Creates and configures a source voice with callback through delegates. - - an instance of - [in] Pointer to a structure. This structure contains the expected format for all audio buffers submitted to the source voice. XAudio2 supports voice types of PCM, xWMA, ADPCM (Windows only), and XMA (Xbox 360 only). XAudio2 supports the following PCM formats. 8-bit (unsigned) integer PCM 16-bit integer PCM (Optimal format for XAudio2) 20-bit integer PCM (either in 24 or 32 bit containers) 24-bit integer PCM (either in 24 or 32 bit containers) 32-bit integer PCM 32-bit float PCM (Preferred format after 16-bit integer) The number of channels in a source voice must be less than or equal to XAUDIO2_MAX_AUDIO_CHANNELS. The sample rate of a source voice must be between XAUDIO2_MIN_SAMPLE_RATE and XAUDIO2_MAX_SAMPLE_RATE. Note Data formats such as XMA, {{ADPCM}}, and {{xWMA}} that require more information than provided by have a structure as the first member in their format structure. When creating a source voice with one of those formats cast the format's structure as a structure and use it as the value for pSourceFormat. - [in] Flags that specify the behavior of the source voice. A flag can be 0 or a combination of one or more of the following: ValueDescriptionXAUDIO2_VOICE_NOPITCHNo pitch control is available on the voice.?XAUDIO2_VOICE_NOSRCNo sample rate conversion is available on the voice, the voice's outputs must have the same sample rate.Note The XAUDIO2_VOICE_NOSRC flag causes the voice to behave as though the XAUDIO2_VOICE_NOPITCH flag also is specified. ?XAUDIO2_VOICE_USEFILTERThe filter effect should be available on this voice.?XAUDIO2_VOICE_MUSICThe voice is used to play background music. The system automatically can replace the voice with music selected by the user.? - [in] Highest allowable frequency ratio that can be set on this voice. The value for this argument must be between XAUDIO2_MIN_FREQ_RATIO and XAUDIO2_MAX_FREQ_RATIO. Subsequent calls to are clamped between XAUDIO2_MIN_FREQ_RATIO and MaxFrequencyRatio. The maximum value for this argument is defined as XAUDIO2_MAX_FREQ_RATIO, which allows pitch to be raised by up to 10 octaves. If MaxFrequencyRatio is less than 1.0, the voice will use that ratio immediately after being created (rather than the default of 1.0). Xbox 360 For XMA voices there is an additional restriction on the MaxFrequencyRatio argument and the voice's sample rate. The product of these two numbers cannot exceed XAUDIO2_MAX_RATIO_TIMES_RATE_XMA_MONO for one-channel voices or XAUDIO2_MAX_RATIO_TIMES_RATE_XMA_MULTICHANNEL for voices with any other number of channels. If the value specified for MaxFrequencyRatio is too high for the specified format, the call to CreateSourceVoice fails and produces a debug message. Note XAudio2's memory usage can be reduced by using the lowest possible MaxFrequencyRatio value. - if set to true [enable callback events]. - [in, optional] Pointer to a list of XAUDIO2_EFFECT_CHAIN structures that describe an effect chain to use in the source voice. - No enableCallbackEvents. - HRESULT IXAudio2::CreateSourceVoice([Out] IXAudio2SourceVoice** ppSourceVoice,[In] const WAVEFORMATEX* pSourceFormat,[None] UINT32 Flags,[None] float MaxFrequencyRatio,[In, Optional] IXAudio2VoiceCallback* pCallback,[In, Optional] const XAUDIO2_VOICE_SENDS* pSendList,[In, Optional] const XAUDIO2_EFFECT_CHAIN* pEffectChain) - - - - Starts consumption and processing of audio by the voice. Delivers the result to any connected submix or mastering voices, or to the output device, with CommitNow changes. - - No documentation. - HRESULT IXAudio2SourceVoice::Start([None] UINT32 Flags,[None] UINT32 OperationSet) - - - - Gets the state. - - - - - Sets the frequency ratio. - - The ratio. - - - - - Starts consumption and processing of audio by the voice. Delivers the result to any connected submix or mastering voices, or to the output device. - - [in] Identifies this call as part of a deferred batch. See the {{XAudio2 Operation Sets}} overview for more information. - No documentation. - HRESULT IXAudio2SourceVoice::Start([None] UINT32 Flags,[None] UINT32 OperationSet) - - - - No documentation. - - No documentation. - No documentation. - No documentation. - - HRESULT IXAudio2SourceVoice::SubmitSourceBuffer([In] const XAUDIO2_BUFFER* pBuffer,[In, Optional] const XAUDIO2_BUFFER_WMA* pBufferWMA) - - - - Occurs just before the processing pass for the voice begins. - - - In order to use this delegate, this instance must have been initialized with events delegate support. - - - - - Occurs just after the processing pass for the voice ends. - - - In order to use this delegate, this instance must have been initialized with events delegate support. - - - - - Occurs when the voice has just finished playing a contiguous audio stream. - - - In order to use this delegate, this instance must have been initialized with events delegate support. - - - - - Occurs when the voice is about to start processing a new audio buffer. - - - In order to use this delegate, this instance must have been initialized with events delegate support. - - - - - Occurs when the voice finishes processing a buffer. - - - In order to use this delegate, this instance must have been initialized with events delegate support. - - - - - Occurs when a critical error occurs during voice processing. - - - In order to use this delegate, this instance must have been initialized with events delegate support. - - - - - Occurs when [voice error]. - - - In order to use this delegate, this instance must have been initialized with events delegate support. - - - - -

A submix voice is used primarily for performance improvements and effects processing.

-
- -

Data buffers cannot be submitted directly to submix voices and will not be audible unless submitted to a mastering voice. A submix voice can be used to ensure that a particular set of voice data is converted to the same format and/or to have a particular effect chain processed on the collective result. -

inherits directly from , but does not implement methods specific to submix voices. The interface type exists solely because some of the base class methods are implemented differently for submix voices. Having a separate type for these voices helps client code to distinguish the different voice types and to benefit from C++ type safety.

-
- - microsoft.directx_sdk.ixaudio2submixvoice.ixaudio2submixvoice - IXAudio2SubmixVoice - IXAudio2SubmixVoice -
- - - Initializes a new instance of the 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 and configures a submix voice on the default audio device, with stereo channels at 44100Hz. - - an instance of - HRESULT IXAudio2::CreateSubmixVoice([Out] IXAudio2SubmixVoice** ppSubmixVoice,[None] UINT32 InputChannels,[None] UINT32 InputSampleRate,[None] UINT32 Flags,[None] UINT32 DeviceIndex,[In, Optional] const XAUDIO2_EFFECT_CHAIN* pEffectChain) - - - - Creates and configures a submix voice on the default audio device and 44100Hz. - - an instance of - [in] Number of channels the mastering voice expects in its input audio. InputChannels must be less than or equal to XAUDIO2_MAX_AUDIO_CHANNELS. InputChannels can be set to XAUDIO2_DEFAULT_CHANNELS, with the default being determined by the current platform. Windows Attempts to detect the system speaker configuration setup. Xbox 360 Defaults to 5.1 surround. - HRESULT IXAudio2::CreateSubmixVoice([Out] IXAudio2SubmixVoice** ppSubmixVoice,[None] UINT32 InputChannels,[None] UINT32 InputSampleRate,[None] UINT32 Flags,[None] UINT32 DeviceIndex,[In, Optional] const XAUDIO2_EFFECT_CHAIN* pEffectChain) - - - - Creates and configures a submix voice on the default audio device. - - an instance of - [in] Number of channels the mastering voice expects in its input audio. InputChannels must be less than or equal to XAUDIO2_MAX_AUDIO_CHANNELS. InputChannels can be set to XAUDIO2_DEFAULT_CHANNELS, with the default being determined by the current platform. Windows Attempts to detect the system speaker configuration setup. Xbox 360 Defaults to 5.1 surround. - [in] Sample rate of the input audio data of the mastering voice. This rate must be a multiple of XAUDIO2_QUANTUM_DENOMINATOR. InputSampleRate must be between XAUDIO2_MIN_SAMPLE_RATE and XAUDIO2_MAX_SAMPLE_RATE. InputSampleRate can be set to XAUDIO2_DEFAULT_SAMPLERATE, with the default being determined by the current platform. Windows Windows XP defaults to 44100. Windows Vista and Windows 7 default to the setting specified in the Sound Control Panel. The default for this setting is 44100 (or 48000 if required by the driver). Xbox 360 Defaults to 48000. - HRESULT IXAudio2::CreateSubmixVoice([Out] IXAudio2SubmixVoice** ppSubmixVoice,[None] UINT32 InputChannels,[None] UINT32 InputSampleRate,[None] UINT32 Flags,[None] UINT32 DeviceIndex,[In, Optional] const XAUDIO2_EFFECT_CHAIN* pEffectChain) - - - - Creates and configures a submix voice. - - an instance of - [in] Number of channels in the input audio data of the submix voice. InputChannels must be less than or equal to XAUDIO2_MAX_AUDIO_CHANNELS. - [in] Sample rate of the input audio data of submix voice. This rate must be a multiple of XAUDIO2_QUANTUM_DENOMINATOR. InputSampleRate must be between XAUDIO2_MIN_SAMPLE_RATE and XAUDIO2_MAX_SAMPLE_RATE. - [in] Flags that specify the behavior of the submix voice. Can be 0 or the following: ValueDescriptionXAUDIO2_VOICE_USEFILTERThe filter effect should be available on this voice.? - [in] An arbitrary number that specifies when this voice is processed with respect to other submix voices, if the XAudio2 engine is running other submix voices. The voice is processed after all other voices that include a smaller ProcessingStage value, and before all other voices that include a larger ProcessingStage value. Voices that include the same ProcessingStage value are processed in any order. A submix voice cannot send to another submix voice with a lower or equal ProcessingStage value; this prevents audio being lost due to a submix cycle. - No documentation. - HRESULT IXAudio2::CreateSubmixVoice([Out] IXAudio2SubmixVoice** ppSubmixVoice,[None] UINT32 InputChannels,[None] UINT32 InputSampleRate,[None] UINT32 Flags,[None] UINT32 ProcessingStage,[In, Optional] const XAUDIO2_VOICE_SENDS* pSendList,[In, Optional] const XAUDIO2_EFFECT_CHAIN* pEffectChain) - - - - Creates and configures a submix voice with an effect chain. - - an instance of - [in] Number of channels in the input audio data of the submix voice. InputChannels must be less than or equal to XAUDIO2_MAX_AUDIO_CHANNELS. - [in] Sample rate of the input audio data of submix voice. This rate must be a multiple of XAUDIO2_QUANTUM_DENOMINATOR. InputSampleRate must be between XAUDIO2_MIN_SAMPLE_RATE and XAUDIO2_MAX_SAMPLE_RATE. - [in] Flags that specify the behavior of the submix voice. Can be 0 or the following: ValueDescriptionXAUDIO2_VOICE_USEFILTERThe filter effect should be available on this voice.? - [in] An arbitrary number that specifies when this voice is processed with respect to other submix voices, if the XAudio2 engine is running other submix voices. The voice is processed after all other voices that include a smaller ProcessingStage value, and before all other voices that include a larger ProcessingStage value. Voices that include the same ProcessingStage value are processed in any order. A submix voice cannot send to another submix voice with a lower or equal ProcessingStage value; this prevents audio being lost due to a submix cycle. - [in, optional] Pointer to a list of XAUDIO2_EFFECT_CHAIN structures that describe an effect chain to use in the submix voice. - No documentation. - HRESULT IXAudio2::CreateSubmixVoice([Out] IXAudio2SubmixVoice** ppSubmixVoice,[None] UINT32 InputChannels,[None] UINT32 InputSampleRate,[None] UINT32 Flags,[None] UINT32 ProcessingStage,[In, Optional] const XAUDIO2_VOICE_SENDS* pSendList,[In, Optional] const XAUDIO2_EFFECT_CHAIN* pEffectChain) - - - -

represents the base interface from which , and are derived. The methods listed below are common to all voice subclasses.

  • Methods
-
- - microsoft.directx_sdk.ixaudio2voice.ixaudio2voice - IXAudio2Voice - IXAudio2Voice -
- - - Initializes a new instance of the class. - - The native pointer. - - - - Performs an explicit conversion from to . (This method is a shortcut to ) - - The native pointer. - - The result of the conversion. - - - - -

Designates a new set of submix or mastering voices to receive the output of the voice.

-
- -

This method is only valid for source and submix voices. Mastering voices can not send audio to another voice.

After calling SetOutputVoices a voice's current send levels will be replaced by a default send matrix. The method must be called to set a custom matrix for the new sendlist.

It is invalid to call SetOutputVoices from within a callback (that is, or ). If SetOutputVoices is called within a callback, it returns .

Note??Calling SetOutputVoices invalidates any send matrices previously set with .? -
- - microsoft.directx_sdk.ixaudio2voice.ixaudio2voice.setoutputvoices - SetOutputVoices - SetOutputVoices - HRESULT IXAudio2Voice::SetOutputVoices([In, Optional] const XAUDIO2_VOICE_SENDS* pSendList) -
- - -

Gets the voice's filter parameters.

-
- -

GetFilterParameters will fail if the voice was not created with the flag.

GetFilterParameters always returns this voice's actual current filter parameters. However, these may not match the parameters set by the most recent call: the actual parameters are only changed the next time the audio engine runs after the call (or after the corresponding call, if was called with a deferred operation ID).

Note??GetFilterParameters is usable only on source and submix voices and has no effect on mastering voices.? -
- - microsoft.directx_sdk.ixaudio2voice.ixaudio2voice.getfilterparameters - GetFilterParameters - GetFilterParameters - void IXAudio2Voice::GetFilterParameters([Out] XAUDIO2_FILTER_PARAMETERS* pParameters) -
- - -

Sets the overall volume level for the voice.

-
- -

SetVolume controls a voice's master input volume level. The master volume level is applied at different times depending on the type of voice. For submix and mastering voices the volume level is applied just before the voice's built in filter and effect chain is applied. For source voices the master volume level is applied after the voice's filter and effect chain is applied.

Volume levels are expressed as floating-point amplitude multipliers between - and (-2?? to 2??), with a maximum gain of 144.5 dB. A volume level of 1.0 means there is no attenuation or gain and 0 means silence. Negative levels can be used to invert the audio's phase. See XAudio2 Volume and Pitch Control for additional information on volume control.

Note?? always returns the volume most recently set by . However, it may not actually be in effect yet: it only takes effect the next time the audio engine runs after the call (or after the corresponding call, if was called with a deferred operation ID).? -
- - microsoft.directx_sdk.ixaudio2voice.ixaudio2voice.setvolume - GetVolume - GetVolume - void IXAudio2Voice::GetVolume([Out] float* pVolume) -
- - -

Returns information about the creation flags, input channels, and sample rate of a voice.

-
-

structure containing information about the voice.

- - microsoft.directx_sdk.ixaudio2voice.ixaudio2voice.getvoicedetails - void IXAudio2Voice::GetVoiceDetails([Out] XAUDIO2_VOICE_DETAILS* pVoiceDetails) - IXAudio2Voice::GetVoiceDetails -
- - -

Designates a new set of submix or mastering voices to receive the output of the voice.

-
-

Array of structure references to destination voices. If pSendList is null, the voice will send its output to the current mastering voice. To set the voice to not send its output anywhere set the OutputCount member of to 0. All of the voices in a send list must have the same input sample rate, see XAudio2 Sample Rate Conversions for additional information.

-

Returns if successful, an error code otherwise. See XAudio2 Error Codes for descriptions of XAudio2 specific error codes.

- -

This method is only valid for source and submix voices. Mastering voices can not send audio to another voice.

After calling SetOutputVoices a voice's current send levels will be replaced by a default send matrix. The method must be called to set a custom matrix for the new sendlist.

It is invalid to call SetOutputVoices from within a callback (that is, or ). If SetOutputVoices is called within a callback, it returns .

Note??Calling SetOutputVoices invalidates any send matrices previously set with .? -
- - microsoft.directx_sdk.ixaudio2voice.ixaudio2voice.setoutputvoices - HRESULT IXAudio2Voice::SetOutputVoices([In, Optional] const XAUDIO2_VOICE_SENDS* pSendList) - IXAudio2Voice::SetOutputVoices -
- - -

Replaces the effect chain of the voice.

-
-

Pointer to an structure that describes the new effect chain to use. If null is passed, the current effect chain is removed.

Note??If pEffectChain is non-null, the structure that it points to must specify at least one effect. ?
-

Returns if successful; otherwise, an error code.

See XAudio2 Error Codes for descriptions of XAudio2 specific error codes.

- -

The number of output channels allowed for a voice's effect chain is locked at creation of the voice. If you create the voice with an effect chain, any new effect chain passed to SetEffectChain must have the same number of input and output channels as the original effect chain. If you create the voice without an effect chain, the number of output channels allowed for the effect chain will default to the number of input channels for the voice. If any part of effect chain creation fails, none of it is applied.

After you attach an effect to an XAudio2 voice, XAudio2 takes control of the effect, and the client should not make any further calls to it. The simplest way to ensure this is to release all references to the effect.

It is invalid to call SetEffectChain from within a callback (that is, or ). If you call SetEffectChain within a callback, it returns .

The that is passed in as the pEffectChain argument and any information contained within it are no longer needed after SetEffectChain successfully completes, and may be deleted immediately after SetEffectChain is called.

-
- - microsoft.directx_sdk.ixaudio2voice.ixaudio2voice.seteffectchain - HRESULT IXAudio2Voice::SetEffectChain([In, Optional] const XAUDIO2_EFFECT_CHAIN* pEffectChain) - IXAudio2Voice::SetEffectChain -
- - -

Enables the effect at a given position in the effect chain of the voice.

-
-

Zero-based index of an effect in the effect chain of the voice.

-

Identifies this call as part of a deferred batch. See the XAudio2 Operation Sets overview for more information.

-

Returns if successful; otherwise, an error code. See XAudio2 Error Codes for descriptions of error codes.

- -

Be careful when you enable an effect while the voice that hosts it is running. Such an action can result in a problem if the effect significantly changes the audio's pitch or volume.

The effects in a given XAudio2 voice's effect chain must consume and produce audio at that voice's processing sample rate. The only aspect of the audio format they can change is the channel count. For example a reverb effect can convert mono data to 5.1. The client can use the structure's OutputChannels field to specify the number of channels it wants each effect to produce. Each effect in an effect chain must produce a number of channels that the next effect can consume. Any calls to or that would make the effect chain stop fulfilling these requirements will fail.

EnableEffect takes effect immediately when you call it from an XAudio2 callback with an OperationSet of .

-
- - microsoft.directx_sdk.ixaudio2voice.ixaudio2voice.enableeffect - HRESULT IXAudio2Voice::EnableEffect([In] unsigned int EffectIndex,[In] unsigned int OperationSet) - IXAudio2Voice::EnableEffect -
- - -

Disables the effect at a given position in the effect chain of the voice.

-
-

Zero-based index of an effect in the effect chain of the voice.

-

Identifies this call as part of a deferred batch. See the XAudio2 Operation Sets overview for more information.

-

Returns if successful; otherwise, an error code. See XAudio2 Error Codes for descriptions of valid error codes.

- -

The effects in a given XAudio2 voice's effect chain must consume and produce audio at that voice's processing sample rate. The only aspect of the audio format they can change is the channel count. For example a reverb effect can convert mono data to 5.1. The client can use the structure's OutputChannels field to specify the number of channels it wants each effect to produce. Each effect in an effect chain must produce a number of channels that the next effect can consume. Any calls to or that would make the effect chain stop fulfilling these requirements will fail.

Disabling an effect immediately removes it from the processing graph. Any pending audio in the effect?such as a reverb tail?is not played. Be careful disabling an effect while the voice that hosts it is running. This can result in an audible artifact if the effect significantly changes the audio's pitch or volume.

DisableEffect takes effect immediately when called from an XAudio2 callback with an OperationSet of .

-
- - microsoft.directx_sdk.ixaudio2voice.ixaudio2voice.disableeffect - HRESULT IXAudio2Voice::DisableEffect([In] unsigned int EffectIndex,[In] unsigned int OperationSet) - IXAudio2Voice::DisableEffect -
- - -

Returns the running state of the effect at a specified position in the effect chain of the voice.

-
-

Zero-based index of an effect in the effect chain of the voice.

- -

GetEffectState always returns the effect's actual current state. However, this may not be the state set by the most recent or call: the actual state is only changed the next time the audio engine runs after the or call (or after the corresponding call, if EnableEffect/DisableEffect was called with a deferred operation ID).

-
- - microsoft.directx_sdk.ixaudio2voice.ixaudio2voice.geteffectstate - void IXAudio2Voice::GetEffectState([In] unsigned int EffectIndex,[Out] BOOL* pEnabled) - IXAudio2Voice::GetEffectState -
- - -

Sets parameters for a given effect in the voice's effect chain.

-
-

Zero-based index of an effect within the voice's effect chain.

-

Returns the current values of the effect-specific parameters.

-

Size of the pParameters array in bytes.

-

Identifies this call as part of a deferred batch. See the XAudio2 Operation Sets overview for more information.

-

Returns if successful; otherwise, an error code. See XAudio2 Error Codes for descriptions of error codes.

Fails with E_NOTIMPL if the effect does not support a generic parameter control interface.

- -

The specific effect being used determines the valid size and format of the pParameters buffer. The call will fail if pParameters is invalid or if ParametersByteSize is not exactly the size that the effect expects. The client must take care to direct the SetEffectParameters call to the right effect. If this call is directed to a different effect that happens to accept the same parameter block size, the parameters will be interpreted differently. This may lead to unexpected results.

The memory pointed to by pParameters must not be freed immediately, because XAudio2 will need to refer to it later when the parameters actually are applied to the effect. This happens during the next audio processing pass if the OperationSet argument is . Otherwise, the parameters are applied to the effect later, during the first processing pass after the function is called with the same OperationSet argument.

SetEffectParameters takes effect immediately when called from an XAudio2 callback with an OperationSet of . -

Note?? always returns the effect's actual current parameters. However, these may not match the parameters set by the most recent call to . The actual parameters are only changed the next time the audio engine runs after the call (or after the corresponding call, if was called with a deferred operation ID).? -
- - microsoft.directx_sdk.ixaudio2voice.ixaudio2voice.seteffectparameters - HRESULT IXAudio2Voice::SetEffectParameters([In] unsigned int EffectIndex,[In, Buffer] const void* pParameters,[In] unsigned int ParametersByteSize,[In] unsigned int OperationSet) - IXAudio2Voice::SetEffectParameters -
- - -

Returns the current effect-specific parameters of a given effect in the voice's effect chain.

-
-

Zero-based index of an effect within the voice's effect chain.

-

Returns the current values of the effect-specific parameters.

-

Size, in bytes, of the pParameters array.

-

Returns if successful, an error code otherwise. See XAudio2 Error Codes for descriptions of error codes.

Fails with E_NOTIMPL if the effect does not support a generic parameter control interface.

- -

GetEffectParameters always returns the effect's actual current parameters. However, these may not match the parameters set by the most recent call to : the actual parameters are only changed the next time the audio engine runs after the call (or after the corresponding call, if was called with a deferred operation ID).

-
- - microsoft.directx_sdk.ixaudio2voice.ixaudio2voice.geteffectparameters - HRESULT IXAudio2Voice::GetEffectParameters([In] unsigned int EffectIndex,[Out, Buffer] void* pParameters,[In] unsigned int ParametersByteSize) - IXAudio2Voice::GetEffectParameters -
- - -

Sets the voice's filter parameters.

-
-

Pointer to an structure containing the filter information.

-

Identifies this call as part of a deferred batch. See the XAudio2 Operation Sets overview for more information.

-

Returns if successful, an error code otherwise. See XAudio2 Error Codes for descriptions of error codes.

- -

SetFilterParameters will fail if the voice was not created with the flag.

This method is usable only on source and submix voices and has no effect on mastering voices.

Note?? always returns this voice's actual current filter parameters. However, these may not match the parameters set by the most recent call: the actual parameters are only changed the next time the audio engine runs after the call (or after the corresponding call, if was called with a deferred operation ID).? -
- - microsoft.directx_sdk.ixaudio2voice.ixaudio2voice.setfilterparameters - HRESULT IXAudio2Voice::SetFilterParameters([In] const XAUDIO2_FILTER_PARAMETERS* pParameters,[In] unsigned int OperationSet) - IXAudio2Voice::SetFilterParameters -
- - -

Gets the voice's filter parameters.

-
-

Pointer to an structure containing the filter information.

- -

GetFilterParameters will fail if the voice was not created with the flag.

GetFilterParameters always returns this voice's actual current filter parameters. However, these may not match the parameters set by the most recent call: the actual parameters are only changed the next time the audio engine runs after the call (or after the corresponding call, if was called with a deferred operation ID).

Note??GetFilterParameters is usable only on source and submix voices and has no effect on mastering voices.? -
- - microsoft.directx_sdk.ixaudio2voice.ixaudio2voice.getfilterparameters - void IXAudio2Voice::GetFilterParameters([Out] XAUDIO2_FILTER_PARAMETERS* pParameters) - IXAudio2Voice::GetFilterParameters -
- - -

Sets the filter parameters on one of this voice's sends.

-
-

reference to the destination voice of the send whose filter parameters will be set.

-

Pointer to an structure containing the filter information.

-

Identifies this call as part of a deferred batch. See the XAudio2 Operation Sets overview for more information.

-

Returns if successful, an error code otherwise. See XAudio2 Error Codes for descriptions of error codes.

- -

SetOutputFilterParameters will fail if the send was not created with the flag. This method is usable only on sends belonging to source and submix voices and has no effect on a mastering voice's sends. -

Note?? always returns this send?s actual current filter parameters. However, these may not match the parameters set by the most recent call: the actual parameters are only changed the next time the audio engine runs after the call (or after the corresponding call, if was called with a deferred operation ID).? -
- - microsoft.directx_sdk.ixaudio2voice.ixaudio2voice.setoutputfilterparameters - HRESULT IXAudio2Voice::SetOutputFilterParameters([In, Optional] IXAudio2Voice* pDestinationVoice,[In] const XAUDIO2_FILTER_PARAMETERS* pParameters,[In] unsigned int OperationSet) - IXAudio2Voice::SetOutputFilterParameters -
- - -

Returns the filter parameters from one of this voice's sends.

-
-

reference to the destination voice of the send whose filter parameters will be read.

-

Pointer to an structure containing the filter information.

- -

GetOutputFilterParameters will fail if the send was not created with the flag. This method is usable only on sends belonging to source and submix voices and has no effect on mastering voices? sends.

Note?? always returns this send?s actual current filter parameters. However, these may not match the parameters set by the most recent call: the actual parameters are only changed the next time the audio engine runs after the call (or after the corresponding call, if was called with a deferred operation ID).? -
- - microsoft.directx_sdk.ixaudio2voice.ixaudio2voice.getoutputfilterparameters - void IXAudio2Voice::GetOutputFilterParameters([In, Optional] IXAudio2Voice* pDestinationVoice,[Out] XAUDIO2_FILTER_PARAMETERS* pParameters) - IXAudio2Voice::GetOutputFilterParameters -
- - -

Sets the overall volume level for the voice.

-
-

Overall volume level to use. See Remarks for more information on volume levels.

-

Identifies this call as part of a deferred batch. See the XAudio2 Operation Sets overview for more information.

-

Returns if successful, an error code otherwise. See XAudio2 Error Codes for descriptions of error codes.

- -

SetVolume controls a voice's master input volume level. The master volume level is applied at different times depending on the type of voice. For submix and mastering voices the volume level is applied just before the voice's built in filter and effect chain is applied. For source voices the master volume level is applied after the voice's filter and effect chain is applied.

Volume levels are expressed as floating-point amplitude multipliers between - and (-2?? to 2??), with a maximum gain of 144.5 dB. A volume level of 1.0 means there is no attenuation or gain and 0 means silence. Negative levels can be used to invert the audio's phase. See XAudio2 Volume and Pitch Control for additional information on volume control.

Note?? always returns the volume most recently set by . However, it may not actually be in effect yet: it only takes effect the next time the audio engine runs after the call (or after the corresponding call, if was called with a deferred operation ID).? -
- - microsoft.directx_sdk.ixaudio2voice.ixaudio2voice.setvolume - HRESULT IXAudio2Voice::SetVolume([In] float Volume,[In] unsigned int OperationSet) - IXAudio2Voice::SetVolume -
- - -

Sets the overall volume level for the voice.

-
-

Overall volume level to use. See Remarks for more information on volume levels.

- -

SetVolume controls a voice's master input volume level. The master volume level is applied at different times depending on the type of voice. For submix and mastering voices the volume level is applied just before the voice's built in filter and effect chain is applied. For source voices the master volume level is applied after the voice's filter and effect chain is applied.

Volume levels are expressed as floating-point amplitude multipliers between - and (-2?? to 2??), with a maximum gain of 144.5 dB. A volume level of 1.0 means there is no attenuation or gain and 0 means silence. Negative levels can be used to invert the audio's phase. See XAudio2 Volume and Pitch Control for additional information on volume control.

Note?? always returns the volume most recently set by . However, it may not actually be in effect yet: it only takes effect the next time the audio engine runs after the call (or after the corresponding call, if was called with a deferred operation ID).? -
- - microsoft.directx_sdk.ixaudio2voice.ixaudio2voice.setvolume - void IXAudio2Voice::GetVolume([Out] float* pVolume) - IXAudio2Voice::GetVolume -
- - -

Sets the volume levels for the voice, per channel.

-
-

Number of channels in the voice.

-

Array containing the new volumes of each channel in the voice. The array must have Channels elements. See Remarks for more information on volume levels.

-

Identifies this call as part of a deferred batch. See the XAudio2 Operation Sets overview for more information.

-

Returns if successful, an error code otherwise. See XAudio2 Error Codes for descriptions of XAudio2 specific error codes.

- -

SetChannelVolumes controls a voice's per-channel output levels and is applied just after the voice's final SRC and before its sends.

This method is valid only for source and submix voices, because mastering voices do not specify volume per channel.

Volume levels are expressed as floating-point amplitude multipliers between - and (-2?? to 2??), with a maximum gain of 144.5 dB. A volume of 1 means there is no attenuation or gain and 0 means silence. Negative levels can be used to invert the audio's phase. See XAudio2 Volume and Pitch Control for additional information on volume control.

Note?? always returns the volume levels most recently set by . However, those values may not actually be in effect yet: they only take effect the next time the audio engine runs after the call (or after the corresponding call, if was called with a deferred operation ID).? -
- - microsoft.directx_sdk.ixaudio2voice.ixaudio2voice.setchannelvolumes - HRESULT IXAudio2Voice::SetChannelVolumes([In] unsigned int Channels,[In, Buffer] const float* pVolumes,[In] unsigned int OperationSet) - IXAudio2Voice::SetChannelVolumes -
- - -

Returns the volume levels for the voice, per channel.

-
-

Confirms the channel count of the voice.

-

Returns the current volume level of each channel in the voice. The array must have at least Channels elements. See Remarks for more information on volume levels.

- -

These settings are applied after the effect chain is applied. This method is valid only for source and submix voices, because mastering voices do not specify volume per channel.

Volume levels are expressed as floating-point amplitude multipliers between -2?? to 2??, with a maximum gain of 144.5 dB. A volume of 1 means there is no attenuation or gain, 0 means silence, and negative levels can be used to invert the audio's phase. See XAudio2 Volume and Pitch Control for additional information on volume control.

Note??GetChannelVolumes always returns the volume levels most recently set by . However, those values may not actually be in effect yet: they only take effect the next time the audio engine runs after the call (or after the corresponding call, if was called with a deferred operation ID).? -
- - microsoft.directx_sdk.ixaudio2voice.ixaudio2voice.getchannelvolumes - void IXAudio2Voice::GetChannelVolumes([In] unsigned int Channels,[Out, Buffer] float* pVolumes) - IXAudio2Voice::GetChannelVolumes -
- - -

Sets the volume level of each channel of the final output for the voice. These channels are mapped to the input channels of a specified destination voice.

-
-

Pointer to a destination for which to set volume levels.

Note??If the voice sends to a single target voice then specifying null will cause SetOutputMatrix to operate on that target voice. ?
-

Confirms the output channel count of the voice. This is the number of channels that are produced by the last effect in the chain.

-

Confirms the input channel count of the destination voice.

-

Array of [SourceChannels ? DestinationChannels] volume levels sent to the destination voice. The level sent from source channel S to destination channel D is specified in the form pLevelMatrix[SourceChannels ? D + S].

For example, when rendering two-channel stereo input into 5.1 output that is weighted toward the front channels?but is absent from the center and low-frequency channels?the matrix might have the values shown in the following table.

OutputLeft Input [Array Index]Right Input [Array Index]
Left1.0 [0]0.0 [1]
Right0.0 [2]1.0 [3]
Front Center0.0 [4]0.0 [5]
LFE0.0 [6]0.0 [7]
Rear Left0.8 [8]0.0 [9]
Rear Right0.0 [10]0.8 [11]

?

Note??The left and right input are fully mapped to the output left and right channels; 80 percent of the left and right input is mapped to the rear left and right channels. ?

See Remarks for more information on volume levels.

-

Identifies this call as part of a deferred batch. See the XAudio2 Operation Sets overview for more information.

-

Returns if successful, an error code otherwise. See XAudio2 Error Codes for descriptions of error codes.

- -

This method is valid only for source and submix voices, because mastering voices write directly to the device with no matrix mixing.

Volume levels are expressed as floating-point amplitude multipliers between - and (-2?? to 2??), with a maximum gain of 144.5 dB. A volume level of 1.0 means there is no attenuation or gain and 0 means silence. Negative levels can be used to invert the audio's phase. See XAudio2 Volume and Pitch Control for additional information on volume control.

The X3DAudio function X3DAudioCalculate can produce an output matrix for use with SetOutputMatrix based on a sound's position and a listener's position.

Note?? always returns the levels most recently set by . However, they may not actually be in effect yet: they only take effect the next time the audio engine runs after the call (or after the corresponding call, if was called with a deferred operation ID).? -
- - microsoft.directx_sdk.ixaudio2voice.ixaudio2voice.setoutputmatrix - HRESULT IXAudio2Voice::SetOutputMatrix([In, Optional] IXAudio2Voice* pDestinationVoice,[In] unsigned int SourceChannels,[In] unsigned int DestinationChannels,[In, Buffer] const float* pLevelMatrix,[In] unsigned int OperationSet) - IXAudio2Voice::SetOutputMatrix -
- - -

Gets the volume level of each channel of the final output for the voice. These channels are mapped to the input channels of a specified destination voice.

-
-

Pointer specifying the destination to retrieve the output matrix for.

Note??If the voice sends to a single target voice then specifying null will cause GetOutputMatrix to operate on that target voice. ?
-

Confirms the output channel count of the voice. This is the number of channels that are produced by the last effect in the chain.

-

Confirms the input channel count of the destination voice.

-

Array of [SourceChannels * DestinationChannels] volume levels sent to the destination voice. The level sent from source channel S to destination channel D is returned in the form pLevelMatrix[DestinationChannels ? S + D]. See Remarks for more information on volume levels.

- -

This method applies only to source and submix voices, because mastering voices write directly to the device with no matrix mixing. Volume levels are expressed as floating-point amplitude multipliers between -2?? to 2??, with a maximum gain of 144.5 dB. A volume level of 1 means there is no attenuation or gain and 0 means silence. Negative levels can be used to invert the audio's phase. See XAudio2 Volume and Pitch Control for additional information on volume control.

See for information on standard channel ordering.

Note??GetOutputMatrix always returns the levels most recently set by . However, they may not actually be in effect yet: they only take effect the next time the audio engine runs after the call (or after the corresponding call, if was called with a deferred operation ID).? -
- - microsoft.directx_sdk.ixaudio2voice.ixaudio2voice.getoutputmatrix - void IXAudio2Voice::GetOutputMatrix([In, Optional] IXAudio2Voice* pDestinationVoice,[In] unsigned int SourceChannels,[In] unsigned int DestinationChannels,[Out, Buffer] float* pLevelMatrix) - IXAudio2Voice::GetOutputMatrix -
- - -

Destroys the voice. If necessary, stops the voice and removes it from the XAudio2 graph.

-
- -

If any other voice is currently sending audio to this voice, the method fails.

DestroyVoice waits for the audio processing thread to be idle, so it can take a little while (typically no more than a couple of milliseconds). This is necessary to guarantee that the voice will no longer make any callbacks or read any audio data, so the application can safely free up these resources as soon as the call returns.

To avoid title thread interruptions from a blocking DestroyVoice call, the application can destroy voices on a separate non-critical thread, or the application can use voice pooling strategies to reuse voices rather than destroying them. Note that voices can only be reused with audio that has the same data format and the same number of channels the voice was created with. A voice can play audio data with different sample rates than that of the voice by calling with an appropriate ratio parameter.

It is invalid to call DestroyVoice from within a callback (that is, or ).

-
- - microsoft.directx_sdk.ixaudio2voice.ixaudio2voice.destroyvoice - void IXAudio2Voice::DestroyVoice() - IXAudio2Voice::DestroyVoice -
- - -

Returns information about the creation flags, input channels, and sample rate of a voice.

-
- - microsoft.directx_sdk.ixaudio2voice.ixaudio2voice.getvoicedetails - GetVoiceDetails - GetVoiceDetails - void IXAudio2Voice::GetVoiceDetails([Out] XAUDIO2_VOICE_DETAILS* pVoiceDetails) -
- - - Enables the effect at a given position in the effect chain of the voice. - - [in] Zero-based index of an effect in the effect chain of the voice. - No documentation. - HRESULT IXAudio2Voice::EnableEffect([None] UINT32 EffectIndex,[None] UINT32 OperationSet) - - - - Disables the effect at a given position in the effect chain of the voice. - - [in] Zero-based index of an effect in the effect chain of the voice. - No documentation. - HRESULT IXAudio2Voice::DisableEffect([None] UINT32 EffectIndex,[None] UINT32 OperationSet) - - - - Sets parameters for a given effect in the voice's effect chain. - - [in] Zero-based index of an effect within the voice's effect chain. - Returns the current values of the effect-specific parameters. - HRESULT IXAudio2Voice::SetEffectParameters([None] UINT32 EffectIndex,[In, Buffer] const void* pParameters,[None] UINT32 ParametersByteSize,[None] UINT32 OperationSet) - - - - Returns the current effect-specific parameters of a given effect in the voice's effect chain. - - [in] Zero-based index of an effect within the voice's effect chain. - [out] Returns the current values of the effect-specific parameters. - No documentation. - HRESULT IXAudio2Voice::GetEffectParameters([None] UINT32 EffectIndex,[Out, Buffer] void* pParameters,[None] UINT32 ParametersByteSize) - - - - Sets parameters for a given effect in the voice's effect chain. - - [in] Zero-based index of an effect within the voice's effect chain. - [in] Returns the current values of the effect-specific parameters. - No documentation. - HRESULT IXAudio2Voice::SetEffectParameters([None] UINT32 EffectIndex,[In, Buffer] const void* pParameters,[None] UINT32 ParametersByteSize,[None] UINT32 OperationSet) - - - - Sets parameters for a given effect in the voice's effect chain. - - [in] Zero-based index of an effect within the voice's effect chain. - [in] Returns the current values of the effect-specific parameters. - [in] Identifies this call as part of a deferred batch. See the {{XAudio2 Operation Sets}} overview for more information. - No documentation. - HRESULT IXAudio2Voice::SetEffectParameters([None] UINT32 EffectIndex,[In, Buffer] const void* pParameters,[None] UINT32 ParametersByteSize,[None] UINT32 OperationSet) - - - - Sets parameters for a given effect in the voice's effect chain. - - [in] Zero-based index of an effect within the voice's effect chain. - [in] Returns the current values of the effect-specific parameters. - No documentation. - HRESULT IXAudio2Voice::SetEffectParameters([None] UINT32 EffectIndex,[In, Buffer] const void* pParameters,[None] UINT32 ParametersByteSize,[None] UINT32 OperationSet) - - - - Sets parameters for a given effect in the voice's effect chain. - - [in] Zero-based index of an effect within the voice's effect chain. - [in] Returns the current values of the effect-specific parameters. - [in] Identifies this call as part of a deferred batch. See the {{XAudio2 Operation Sets}} overview for more information. - No documentation. - HRESULT IXAudio2Voice::SetEffectParameters([None] UINT32 EffectIndex,[In, Buffer] const void* pParameters,[None] UINT32 ParametersByteSize,[None] UINT32 OperationSet) - - - - Replaces the effect chain of the voice. - - [in, optional] an array of structure that describes the new effect chain to use. If NULL is passed, the current effect chain is removed. If array is non null, its length must be at least of 1. - No documentation. - HRESULT IXAudio2Voice::SetEffectChain([In, Optional] const XAUDIO2_EFFECT_CHAIN* pEffectChain) - - - - Designates a new set of submix or mastering voices to receive the output of the voice. - - [in] Array of structure pointers to destination voices. If outputVoices is NULL, the voice will send its output to the current mastering voice. To set the voice to not send its output anywhere set an array of length 0. All of the voices in a send list must have the same input sample rate, see {{XAudio2 Sample Rate Conversions}} for additional information. - No documentation. - HRESULT IXAudio2Voice::SetOutputVoices([In, Optional] const XAUDIO2_VOICE_SENDS* pSendList) - - - - Sets the volume level of each channel of the final output for the voice. These channels are mapped to the input channels of a specified destination voice. - - [in] Confirms the output channel count of the voice. This is the number of channels that are produced by the last effect in the chain. - [in] Confirms the input channel count of the destination voice. - [in] Array of [SourceChannels ? DestinationChannels] volume levels sent to the destination voice. The level sent from source channel S to destination channel D is specified in the form pLevelMatrix[SourceChannels ? D + S]. For example, when rendering two-channel stereo input into 5.1 output that is weighted toward the front channels?but is absent from the center and low-frequency channels?the matrix might have the values shown in the following table. OutputLeft InputRight Input Left1.00.0 Right0.01.0 Front Center0.00.0 LFE0.00.0 Rear Left0.80.0 Rear Right0.00.8 Note that the left and right input are fully mapped to the output left and right channels; 80 percent of the left and right input is mapped to the rear left and right channels. See Remarks for more information on volume levels. - No documentation. - HRESULT IXAudio2Voice::SetOutputMatrix([In, Optional] IXAudio2Voice* pDestinationVoice,[None] UINT32 SourceChannels,[None] UINT32 DestinationChannels,[In, Buffer] const float* pLevelMatrix,[None] UINT32 OperationSet) - - - - Sets the volume level of each channel of the final output for the voice. These channels are mapped to the input channels of a specified destination voice. - - [in] Pointer to a destination for which to set volume levels. Note If the voice sends to a single target voice then specifying NULL will cause SetOutputMatrix to operate on that target voice. - [in] Confirms the output channel count of the voice. This is the number of channels that are produced by the last effect in the chain. - [in] Confirms the input channel count of the destination voice. - [in] Array of [SourceChannels ? DestinationChannels] volume levels sent to the destination voice. The level sent from source channel S to destination channel D is specified in the form pLevelMatrix[SourceChannels ? D + S]. For example, when rendering two-channel stereo input into 5.1 output that is weighted toward the front channels?but is absent from the center and low-frequency channels?the matrix might have the values shown in the following table. OutputLeft InputRight Input Left1.00.0 Right0.01.0 Front Center0.00.0 LFE0.00.0 Rear Left0.80.0 Rear Right0.00.8 Note that the left and right input are fully mapped to the output left and right channels; 80 percent of the left and right input is mapped to the rear left and right channels. See Remarks for more information on volume levels. - No documentation. - HRESULT IXAudio2Voice::SetOutputMatrix([In, Optional] IXAudio2Voice* pDestinationVoice,[None] UINT32 SourceChannels,[None] UINT32 DestinationChannels,[In, Buffer] const float* pLevelMatrix,[None] UINT32 OperationSet) - - - - Sets the volume level of each channel of the final output for the voice. These channels are mapped to the input channels of a specified destination voice. - - [in] Confirms the output channel count of the voice. This is the number of channels that are produced by the last effect in the chain. - [in] Confirms the input channel count of the destination voice. - [in] Array of [SourceChannels ? DestinationChannels] volume levels sent to the destination voice. The level sent from source channel S to destination channel D is specified in the form pLevelMatrix[SourceChannels ? D + S]. For example, when rendering two-channel stereo input into 5.1 output that is weighted toward the front channels?but is absent from the center and low-frequency channels?the matrix might have the values shown in the following table. OutputLeft InputRight Input Left1.00.0 Right0.01.0 Front Center0.00.0 LFE0.00.0 Rear Left0.80.0 Rear Right0.00.8 Note that the left and right input are fully mapped to the output left and right channels; 80 percent of the left and right input is mapped to the rear left and right channels. See Remarks for more information on volume levels. - [in] Identifies this call as part of a deferred batch. See the {{XAudio2 Operation Sets}} overview for more information. - No documentation. - HRESULT IXAudio2Voice::SetOutputMatrix([In, Optional] IXAudio2Voice* pDestinationVoice,[None] UINT32 SourceChannels,[None] UINT32 DestinationChannels,[In, Buffer] const float* pLevelMatrix,[None] UINT32 OperationSet) - - - -

The interface contains methods that notify the client when certain events happen in a given .

This interface should be implemented by the XAudio2 client. XAudio2 calls these methods through an interface reference provided by the client in the method. Methods in this interface return void, rather than an . -

See the XAudio2 Callbacks topic for restrictions on callback implementation.

  • Methods
-
- - microsoft.directx_sdk.ixaudio2voicecallback.ixaudio2voicecallback - IXAudio2VoiceCallback - IXAudio2VoiceCallback -
- - - Called during each processing pass for each voice, just before XAudio2 reads data from the voice's buffer queue. - - The number of bytes that must be submitted immediately to avoid starvation. This allows the implementation of just-in-time streaming scenarios; the client can keep the absolute minimum data queued on the voice at all times, and pass it fresh data just before the data is required. This model provides the lowest possible latency attainable with XAudio2. For xWMA and XMA data BytesRequired will always be zero, since the concept of a frame of xWMA or XMA data is meaningless. Note In a situation where there is always plenty of data available on the source voice, BytesRequired should always report zero, because it doesn't need any samples immediately to avoid glitching. - void IXAudio2VoiceCallback::OnVoiceProcessingPassStart([None] UINT32 BytesRequired) - - - - Called just after the processing pass for the voice ends. - - void IXAudio2VoiceCallback::OnVoiceProcessingPassEnd() - - - - Called when the voice has just finished playing a contiguous audio stream. - - void IXAudio2VoiceCallback::OnStreamEnd() - - - - Called when the voice is about to start processing a new audio buffer. - - Context pointer that was assigned to the pContext member of the structure when the buffer was submitted. - void IXAudio2VoiceCallback::OnBufferStart([None] void* pBufferContext) - - - - Called when the voice finishes processing a buffer. - - Context pointer assigned to the pContext member of the structure when the buffer was submitted. - void IXAudio2VoiceCallback::OnBufferEnd([None] void* pBufferContext) - - - - Called when the voice reaches the end position of a loop. - - Context pointer that was assigned to the pContext member of the structure when the buffer was submitted. - void IXAudio2VoiceCallback::OnLoopEnd([None] void* pBufferContext) - - - - Called when a critical error occurs during voice processing. - - Context pointer that was assigned to the pContext member of the structure when the buffer was submitted. - The HRESULT code of the error encountered. - void IXAudio2VoiceCallback::OnVoiceError([None] void* pBufferContext,[None] HRESULT Error) - - - -

is the interface for the XAudio2 object that manages all audio engine states, the audio processing thread, the voice graph, and so forth.

This is the only XAudio2 interface that is derived from the COM interface. It controls the lifetime of the XAudio2 object using two methods derived from : IXAudio2::AddRef and IXAudio2::Release. No other XAudio2 objects are reference-counted; their lifetimes are explicitly controlled using create and destroy calls, and are bounded by the lifetime of the XAudio2 object that owns them.

-
- -

The DirectX SDK versions of XAUDIO2 included three member functions that are not present in the Windows 8 version: GetDeviceCount, GetDeviceDetails, and Initialize. These enumeration methods are no longer provided and standard Windows Audio APIs should be used for device enumeration instead.

-
- - microsoft.directx_sdk.ixaudio2.ixaudio2 - IXAudio2 - IXAudio2 -
- - - Initializes a new instance of the 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 MaximumBufferBytes. - XAUDIO2_MAX_BUFFER_BYTES - - - Constant MaximumQueuedBuffers. - XAUDIO2_MAX_QUEUED_BUFFERS - - - Constant MaximumAudioChannels. - XAUDIO2_MAX_AUDIO_CHANNELS - - - Constant MinimumSampleRate. - XAUDIO2_MIN_SAMPLE_RATE - - - Constant MaximumSampleRate. - XAUDIO2_MAX_SAMPLE_RATE - - - Constant MaximumVolumeLevel. - XAUDIO2_MAX_VOLUME_LEVEL - - - Constant MinimumFrequencyRatio. - XAUDIO2_MIN_FREQ_RATIO - - - Constant MaximumFrequencyRatio. - XAUDIO2_MAX_FREQ_RATIO - - - Constant DefaultFrequencyRatio. - XAUDIO2_DEFAULT_FREQ_RATIO - - - Constant MaximumFilterOneOverQ. - XAUDIO2_MAX_FILTER_ONEOVERQ - - - Constant MaximumFilterFrequency. - XAUDIO2_MAX_FILTER_FREQUENCY - - - Constant MaximumLoopCount. - XAUDIO2_MAX_LOOP_COUNT - - - Constant CommitNow. - XAUDIO2_COMMIT_NOW - - - Constant CommitAll. - XAUDIO2_COMMIT_ALL - - - Constant NoLoopRegion. - XAUDIO2_NO_LOOP_REGION - - - Constant DefaultChannels. - XAUDIO2_DEFAULT_CHANNELS - - - Constant DefaultSampleRate. - XAUDIO2_DEFAULT_SAMPLERATE - - - -

Returns current resource usage details, such as available memory or CPU usage.

-
- -

For specific information on the statistics returned by GetPerformanceData, see the structure reference.

-
- - microsoft.directx_sdk.ixaudio2.ixaudio2.getperformancedata - GetPerformanceData - GetPerformanceData - void IXAudio2::GetPerformanceData([Out] XAUDIO2_PERFORMANCE_DATA* pPerfData) -
- - -

Adds an reference to the XAudio2 engine callback list.

-
- No documentation. -

Returns if successful, an error code otherwise. See XAudio2 Error Codes for descriptions of XAudio2 specific error codes.

- -

This method can be called multiple times, allowing different components or layers of the same application to manage their own engine callback implementations separately.

It is invalid to call RegisterForCallbacks from within a callback (that is, or ). If RegisterForCallbacks is called within a callback, it returns .

-
- - microsoft.directx_sdk.ixaudio2.ixaudio2.registerforcallbacks - HRESULT IXAudio2::RegisterForCallbacks([In] IXAudio2EngineCallback* pCallback) - IXAudio2::RegisterForCallbacks -
- - -

Removes an reference from the XAudio2 engine callback list.

-
- No documentation. - -

It is invalid to call UnregisterForCallbacks from within a callback (that is, or ).

-
- - microsoft.directx_sdk.ixaudio2.ixaudio2.unregisterforcallbacks - void IXAudio2::UnregisterForCallbacks([In] IXAudio2EngineCallback* pCallback) - IXAudio2::UnregisterForCallbacks -
- - -

Creates and configures a source voice.

-
-

If successful, returns a reference to the new object.

-

Pointer to a one of the structures in the table below. This structure contains the expected format for all audio buffers submitted to the source voice. XAudio2 supports PCM and ADPCM voice types.

Format tagWave format structureSize (in bytes)
(0x0001) PCMWAVEFORMAT 16
-or- 18
(0x0003) [32-bit] PCMWAVEFORMAT 18
(0x0002) [MS-ADPCM] ADPCMWAVEFORMAT 50
(0xFFFE) 40

?

XAudio2 supports the following PCM formats.

  • 8-bit (unsigned) integer PCM
  • 16-bit integer PCM (optimal format for XAudio2)
  • 20-bit integer PCM (either in 24 or 32 bit containers)
  • 24-bit integer PCM (either in 24 or 32 bit containers)
  • 32-bit integer PCM
  • 32-bit float PCM (preferred format after 16-bit integer)

The number of channels in a source voice must be less than or equal to . The sample rate of a source voice must be between and .

Note??PCM data formats such as PCMWAVEFORMAT and ADPCMWAVEFORMAT that require more information than provided by have a structure as the first member in their format structures. When you create a source voice with one of those formats, cast the format's structure as a structure and use it as the value for pSourceFormat. ?
-

Flags that specify the behavior of the source voice. A flag can be 0 or a combination of one or more of the following:

ValueDescription
No pitch control is available on the voice.?
No sample rate conversion is available on the voice. The voice's outputs must have the same sample rate.Note??The flag causes the voice to behave as though the flag also is specified. ?
The filter effect should be available on this voice.?

?

Note??The XAUDIO2_VOICE_MUSIC flag is not supported on Windows. ?
-

Highest allowable frequency ratio that can be set on this voice. The value for this argument must be between and . Subsequent calls to are clamped between and MaxFrequencyRatio. The maximum value for this argument is defined as , which allows pitch to be raised by up to 10 octaves.

If MaxFrequencyRatio is less than 1.0, the voice will use that ratio immediately after being created (rather than the default of 1.0).

Xbox 360
For XMA voices, there is one more restriction on the MaxFrequencyRatio argument and the voice's sample rate. The product of these two numbers cannot exceed XAUDIO2_MAX_RATIO_TIMES_RATE_XMA_MONO for one-channel voices or XAUDIO2_MAX_RATIO_TIMES_RATE_XMA_MULTICHANNEL for voices with any other number of channels. If the value specified for MaxFrequencyRatio is too high for the specified format, the call to CreateSourceVoice fails and produces a debug message.

?

Note??You can use the lowest possible MaxFrequencyRatio value to reduce XAudio2's memory usage. ?
-

Pointer to a client-provided callback interface, .

-

Pointer to a list of structures that describe the set of destination voices for the source voice. If pSendList is null, the send list defaults to a single output to the first mastering voice created.

-

Pointer to a list of structures that describe an effect chain to use in the source voice.

-

Returns if successful; otherwise, an error code.

See XAudio2 Error Codes for descriptions of XAudio2-specific error codes.

- -

Source voices read audio data from the client. They process the data and send it to the XAudio2 processing graph.

A source voice includes a variable-rate sample rate conversion, to convert data from the source format sample rate to the output rate required for the voice send list. If you use a null send list, the target sample rate will be the mastering voice's input sample rate. If you provide a single voice in pSendList, that voice's input sample rate is the target rate. If you provide multiple voices in the pSendList, all the source voice's output voices must be running at the same input sample rate.

You cannot create any source or submix voices until a mastering voice exists, and you cannot destory a mastering voice if any source or submix voices still exist.

Source voices are always processed before any submix or mastering voices. This means that you do not need a ProcessingStage parameter to control the processing order.

When first created, source voices are in the stopped state.

XAudio2 uses an internal memory pooler for voices with the same format. This means memory allocation for voices will occur less frequently as more voices are created and then destroyed. To minimize just-in-time allocations, a title can create the anticipated maximum number of voices needed up front, and then delete them as necessary. Voices will then be reused from the XAudio2 pool. The memory pool is tied to an XAudio2 engine instance. You can reclaim all the memory used by an instance of the XAudio2 engine by destroying the XAudio2 object and recreating it as necessary (forcing the memory pool to grow via preallocation would have to be reapplied as needed).

It is invalid to call CreateSourceVoice from within a callback (that is, or ). If you call CreateSourceVoice within a callback, it returns .

The that is passed in as the pEffectChain argument and any information contained within it are no longer needed after CreateSourceVoice successfully completes, and may be deleted immediately after CreateSourceVoice is called. -

-
- - microsoft.directx_sdk.ixaudio2.ixaudio2.createsourcevoice - HRESULT IXAudio2::CreateSourceVoice([Out, Fast] IXAudio2SourceVoice** ppSourceVoice,[In] const void* pSourceFormat,[In] XAUDIO2_VOICE_FLAGS Flags,[In] float MaxFrequencyRatio,[In, Optional] IXAudio2VoiceCallback* pCallback,[In, Optional] const XAUDIO2_VOICE_SENDS* pSendList,[In, Optional] const XAUDIO2_EFFECT_CHAIN* pEffectChain) - IXAudio2::CreateSourceVoice -
- - -

Creates and configures a submix voice.

-
-

On success, returns a reference to the new object.

-

Number of channels in the input audio data of the submix voice. InputChannels must be less than or equal to .

-

Sample rate of the input audio data of submix voice. This rate must be a multiple of XAUDIO2_QUANTUM_DENOMINATOR. InputSampleRate must be between and .

-

Flags that specify the behavior of the submix voice. It can be 0 or the following:

ValueDescription
The filter effect should be available on this voice.

?

-

An arbitrary number that specifies when this voice is processed with respect to other submix voices, if the XAudio2 engine is running other submix voices. The voice is processed after all other voices that include a smaller ProcessingStage value and before all other voices that include a larger ProcessingStage value. Voices that include the same ProcessingStage value are processed in any order. A submix voice cannot send to another submix voice with a lower or equal ProcessingStage value. This prevents audio being lost due to a submix cycle.

-

Pointer to a list of structures that describe the set of destination voices for the submix voice. If pSendList is null, the send list will default to a single output to the first mastering voice created.

-

Pointer to a list of structures that describe an effect chain to use in the submix voice.

-

Returns if successful; otherwise, an error code.

See XAudio2 Error Codes for descriptions of XAudio2 specific error codes.

- -

Submix voices receive the output of one or more source or submix voices. They process the output, and then send it to another submix voice or to a mastering voice.

A submix voice performs a sample rate conversion from the input sample rate to the input rate of its output voices in pSendList. If you specify multiple voice sends, they must all have the input same sample rate.

You cannot create any source or submix voices until a mastering voice exists, and you cannot destroy a mastering voice if any source or submix voices still exist.

When first created, submix voices are in the started state.

XAudio2 uses an internal memory pooler for voices with the same format. This means that memory allocation for voices will occur less frequently as more voices are created and then destroyed. To minimize just-in-time allocations, a title can create the anticipated maximum number of voices needed up front, and then delete them as necessary. Voices will then be reused from the XAudio2 pool. The memory pool is tied to an XAudio2 engine instance. You can reclaim all the memory used by an instance of the XAudio2 engine by destroying the XAudio2 object and recreating it as necessary (forcing the memory pool to grow via preallocation would have to be reapplied as needed).

It is invalid to call CreateSubmixVoice from within a callback (that is, or ). If you call CreateSubmixVoice within a callback, it returns .

The that is passed in as the pEffectChain argument and any information contained within it are no longer needed after CreateSubmixVoice successfully completes, and may be deleted immediately after CreateSubmixVoice is called.

-
- - microsoft.directx_sdk.ixaudio2.ixaudio2.createsubmixvoice - HRESULT IXAudio2::CreateSubmixVoice([Out, Fast] IXAudio2SubmixVoice** ppSubmixVoice,[In] unsigned int InputChannels,[In] unsigned int InputSampleRate,[In] unsigned int Flags,[In] unsigned int ProcessingStage,[In, Optional] const XAUDIO2_VOICE_SENDS* pSendList,[In, Optional] const XAUDIO2_EFFECT_CHAIN* pEffectChain) - IXAudio2::CreateSubmixVoice -
- - -

Creates and configures a mastering voice.

-
-

If successful, returns a reference to the new object.

-

Number of channels the mastering voice expects in its input audio. InputChannels must be less than or equal to .

You can set InputChannels to , which causes XAudio2 to try to detect the system speaker configuration setup.

-

Sample rate of the input audio data of the mastering voice. This rate must be a multiple of XAUDIO2_QUANTUM_DENOMINATOR. InputSampleRate must be between and .

You can set InputSampleRate to , with the default being determined by the current platform.

Windows XP defaults to 44100.

Windows Vista and Windows 7 default to the setting specified in the Sound Control Panel. The default for this setting is 44100 (or 48000 if required by the driver). Flags

-

Flags that specify the behavior of the mastering voice. Must be 0.

-

Identifier of the device to receive the output audio. Specifying the default value of null causes XAudio2 to select the global default audio device.

-

Pointer to an structure that describes an effect chain to use in the mastering voice, or null to use no effects.

-

The audio stream category to use for this mastering voice.

-

Returns if successful; otherwise, an error code. Returns if no default audio device exists and null is passed in as the szDeviceId parameter.

See XAudio2 Error Codes for descriptions of XAudio2 specific error codes.

- -

Mastering voices receive the output of one or more source or submix voices. They process the data, and send it to the audio output device.

Typically, you should create a mastering voice with an input sample rate that will be used by the majority of the title's audio content. The mastering voice performs a sample rate conversion from this input sample rate to the actual device output rate.

You cannot create a source or submix voices until a mastering voice exists. You cannot destroy a mastering voice if any source or submix voices still exist.

Mastering voices are always processed after all source and submix voices. This means that you need not specify a ProcessingStage parameter to control the processing order.

XAudio2 only allows one mastering voice to exist at once. If you attempt to create more than one voice, is returned. If an additional mastering voice is needed, for example for an output device with a different audio category set, you will need to create an additional XAudio2 instance.

When first created, mastering voices are in the started state.

It is invalid to call CreateMasteringVoice from within a callback (that is, or ). If you call CreateMasteringVoice within a callback, it returns .

The that is passed in as the pEffectChain argument and any information contained within it are no longer needed after CreateMasteringVoice successfully completes, and may be deleted immediately after CreateMasteringVoice is called.

Note that the DirectX SDK XAUDIO2 version of CreateMasteringVoice took a DeviceIndex argument instead of a szDeviceId and a StreamCategory argument. This reflects the changes needed for the standard Windows device enumeration model.

-
- - hh405048 - HRESULT IXAudio2::CreateMasteringVoice([Out, Fast] IXAudio2MasteringVoice** ppMasteringVoice,[In] unsigned int InputChannels,[In] unsigned int InputSampleRate,[In] unsigned int Flags,[In, Optional] const wchar_t* szDeviceId,[In, Optional] const XAUDIO2_EFFECT_CHAIN* pEffectChain,[In] AUDIO_STREAM_CATEGORY StreamCategory) - IXAudio2::CreateMasteringVoice -
- - -

Starts the audio processing thread.

-
-

Returns if successful, an error code otherwise. See XAudio2 Error Codes for descriptions of XAudio2 specific error codes.

- -

After StartEngine is called, all started voices begin to consume audio. All enabled effects start running, and the resulting audio is sent to any connected output devices. When XAudio2 is first initialized, the engine is already in the started state.

It is invalid to call StartEngine from within a callback (that is, or ). If StartEngine is called within a callback, it returns .

-
- - microsoft.directx_sdk.ixaudio2.ixaudio2.startengine - HRESULT IXAudio2::StartEngine() - IXAudio2::StartEngine -
- - -

Stops the audio processing thread.

-
- -

When StopEngine is called, all output is stopped immediately. However, the audio graph is left untouched, preserving effect parameters, effect histories (for example, the data stored by a reverb effect in order to emit echoes of a previous sound), voice states, pending source buffers, cursor positions, and so forth. When the engine is restarted, the resulting audio output will be identical?apart from a period of silence?to the output that would have been produced if the engine had never been stopped.

It is invalid to call StopEngine from within a callback (that is, or ).

-
- - microsoft.directx_sdk.ixaudio2.ixaudio2.stopengine - void IXAudio2::StopEngine() - IXAudio2::StopEngine -
- - -

Atomically applies a set of operations that are tagged with a given identifier.

-
-

Identifier of the set of operations to be applied. To commit all pending operations, pass .

-

Returns if successful; returns an error code otherwise. See XAudio2 Error Codes for descriptions of XAudio2 specific error codes.

- -

CommitChanges does nothing if no operations are tagged with the given identifier.

See the XAudio2 Operation Sets overview about working with CommitChanges and XAudio2 interface methods that may be deferred. -

-
- - microsoft.directx_sdk.ixaudio2.ixaudio2.commitchanges - HRESULT IXAudio2::CommitChanges([In] unsigned int OperationSet) - IXAudio2::CommitChanges -
- - -

Returns current resource usage details, such as available memory or CPU usage.

-
-

On success, reference to an structure that is returned.

- -

For specific information on the statistics returned by GetPerformanceData, see the structure reference.

-
- - microsoft.directx_sdk.ixaudio2.ixaudio2.getperformancedata - void IXAudio2::GetPerformanceData([Out] XAUDIO2_PERFORMANCE_DATA* pPerfData) - IXAudio2::GetPerformanceData -
- - -

Changes global debug logging options for XAudio2.

-
-

Pointer to a structure that contains the new debug configuration.

-

This parameter is reserved and must be null.

- -

SetDebugConfiguration sets the debug configuration for the given instance of XAudio2 engine. See Structure for supported debug options. By default, XAudio2 does not log debug output or break on errors.

-
- - microsoft.directx_sdk.ixaudio2.ixaudio2.setdebugconfiguration - void IXAudio2::SetDebugConfiguration([In, Value] const XAUDIO2_DEBUG_CONFIGURATION* pDebugConfiguration,[In] void* pReserved) - IXAudio2::SetDebugConfiguration -
- - - Called by XAudio2 just before an audio processing pass begins. - - - - - Called by XAudio2 just after an audio processing pass ends. - - - - - Called if a critical system error occurs that requires XAudio2 to be closed down and restarted. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The requested version. - - - - Initializes a new instance of the class. - - Specify a Debug or Normal XAudio2 instance. - The processor specifier. - The requestedVersion to use (auto, 2.7 or 2.8). - XAudio2 requestedVersion [ + requestedVersion + ] is not installed - - - - Gets the requestedVersion of this XAudio2 instance, once a device has been instanciated. - - The requestedVersion. - - - - Setups the VTBL for XAudio 2.7. The 2.7 verions had 3 methods starting at VTBL[3]: - - GetDeviceCount - - GetDeviceDetails - - Initialize - - - - - No documentation. - - - GetDeviceCount - GetDeviceCount - HRESULT IXAudio2::GetDeviceCount([Out] unsigned int* pCount) - - - - No documentation. - - No documentation. - No documentation. - - HRESULT IXAudio2::GetDeviceCount([Out] unsigned int* pCount) - IXAudio2::GetDeviceCount - - - - Returns information about an audio output device. - - [in] Index of the device to be queried. This value must be less than the count returned by . - On success, pointer to an structure that is returned. - HRESULT IXAudio2::GetDeviceDetails([None] UINT32 Index,[Out] XAUDIO2_DEVICE_DETAILS* pDeviceDetails) - - - - Calculate a decibel from a volume. - - The volume. - a dB value - - - - Calculate radians from a cutoffs frequency. - - The cutoff frequency. - The sample rate. - radian - - - - Calculate a cutoff frequency from a radian. - - The radians. - The sample rate. - cutoff frequency - - - - Calculate a volume from a decibel - - a dB value - an amplitude value - - - - Calculate semitones from a Frequency ratio - - The frequency ratio. - semitones - - - - Calculate frequency from semitones. - - The semitones. - the frequency - - - - Atomically applies a set of operations for all pending operations. - - HRESULT IXAudio2::CommitChanges([None] UINT32 OperationSet) - - - -

Used with when submitting xWMA data.

-
- -

When streaming an xWMA file a few packets at a time, should be specified on the last packet. Alternatively, the application may call after submitting the last packet.

In addition, when streaming an xWMA file a few packets at a time, the application should subtract pDecodedPacketCumulativeBytes[PacketCount-1] of the previous packet from all the entries of the currently submitted packet.

The members of correspond to values contained in the 'dpds' RIFF chunk of the xWMA file being played. PacketCount will correspond to the size in UINT32s of the chunk. pDecodedPacketCumulativeBytes will correspond to a UINT32 buffer containing the contents of the chunk. The contents of the buffer will need to be byte swapped when loading the buffer on Xbox 360.

Memory allocated to hold a or structure can be freed as soon as the call it is passed to returns. The data the structure points to (pAudioData and pDecodedPacketCumulativeBytes, respectively) can't be freed until the buffer completes (as signaled by the callback) or the voice is stopped and destroyed.

XAUDIO 2.8 in Windows 8.x does not support xWMA decoding. Use Windows Media Foundation APIs to perform the decoding from WMA to PCM instead. This functionality is available in the DirectX SDK versions of XAUDIO and in XAUDIO 2.9 in Windows?10.

-
- - microsoft.directx_sdk.xaudio2.xaudio2_buffer_wma - XAUDIO2_BUFFER_WMA - XAUDIO2_BUFFER_WMA -
- - - No documentation. - - - microsoft.directx_sdk.xaudio2.xaudio2_buffer_wma - const unsigned int* pDecodedPacketCumulativeBytes - unsigned int pDecodedPacketCumulativeBytes - - - - No documentation. - - - microsoft.directx_sdk.xaudio2.xaudio2_buffer_wma - unsigned int PacketCount - unsigned int PacketCount - - - -

Contains the new global debug configuration for XAudio2. Used with the SetDebugConfiguration function.

-
- -

Debugging messages can be completely turned off by initializing to all zeroes.

Note??For this version of XAudio2, only the value is supported on TraceMask or BreakMask. All other members and values are ignored.? -
- - microsoft.directx_sdk.xaudio2.xaudio2_debug_configuration - XAUDIO2_DEBUG_CONFIGURATION - XAUDIO2_DEBUG_CONFIGURATION -
- - - No documentation. - - - microsoft.directx_sdk.xaudio2.xaudio2_debug_configuration - unsigned int TraceMask - unsigned int TraceMask - - - - No documentation. - - - microsoft.directx_sdk.xaudio2.xaudio2_debug_configuration - unsigned int BreakMask - unsigned int BreakMask - - - - No documentation. - - - microsoft.directx_sdk.xaudio2.xaudio2_debug_configuration - BOOL LogThreadID - BOOL LogThreadID - - - - No documentation. - - - microsoft.directx_sdk.xaudio2.xaudio2_debug_configuration - BOOL LogFileline - BOOL LogFileline - - - - No documentation. - - - microsoft.directx_sdk.xaudio2.xaudio2_debug_configuration - BOOL LogFunctionName - BOOL LogFunctionName - - - - No documentation. - - - microsoft.directx_sdk.xaudio2.xaudio2_debug_configuration - BOOL LogTiming - BOOL LogTiming - - - -

Defines an effect chain.

-
- - microsoft.directx_sdk.xaudio2.xaudio2_effect_chain - XAUDIO2_EFFECT_CHAIN - XAUDIO2_EFFECT_CHAIN -
- - -

Number of effects in the effect chain for the voice.

-
- - microsoft.directx_sdk.xaudio2.xaudio2_effect_chain - unsigned int EffectCount - unsigned int EffectCount -
- - -

Array of structures containing references to XAPO instances.

-
- - microsoft.directx_sdk.xaudio2.xaudio2_effect_chain - XAUDIO2_EFFECT_DESCRIPTOR* pEffectDescriptors - XAUDIO2_EFFECT_DESCRIPTOR pEffectDescriptors -
- - -

Defines filter parameters for a source voice.

-
- -

Setting with the following values is acoustically equivalent to the filter being fully bypassed.

 FilterParams;	
-            FilterParams.Frequency = 1.0f;    	
-            FilterParams.OneOverQ = 1.0f;	
-            FilterParams.Type = LowPassFilter;	
-            

The following formulas show the relationship between the members of and the per-voice filter.

Yl( n ) = F1 yb( n ) + yl( n - 1 )	
-            Yb( n ) = F1 yh( n ) + yb( n - 1 )	
-            Yh( n ) = x( n ) - yl( n ) - OneOverQ(yb( n - 1 )	
-            Yn( n ) = Yl(n) + Yh(n) 

Where:

Yl = lowpass output	
-            Yb = bandpass output	
-            Yh = highpass output	
-            Yn = notch output	
-            F1 = .Frequency	
-            OneOverQ = .OneOverQ
-
- - microsoft.directx_sdk.xaudio2.xaudio2_filter_parameters - XAUDIO2_FILTER_PARAMETERS - XAUDIO2_FILTER_PARAMETERS -
- - -

The .

-
- - microsoft.directx_sdk.xaudio2.xaudio2_filter_parameters - XAUDIO2_FILTER_TYPE Type - XAUDIO2_FILTER_TYPE Type -
- - -

Filter radian frequency calculated as (2 * sin(pi * (desired filter cutoff frequency) / sampleRate)). The frequency must be greater than or equal to 0 and less than or equal to . The maximum frequency allowable is equal to the source sound's sample rate divided by six which corresponds to the maximum filter radian frequency of 1. For example, if a sound's sample rate is 48000 and the desired cutoff frequency is the maximum allowable value for that sample rate, 8000, the value for Frequency will be 1. - If XAUDIO2_HELPER_FUNCTIONS is defined, XAudio2.h will include the XAudio2RadiansToCutoffFrequency and XAudio2CutoffFrequencyToRadians helper functions for converting between hertz and radian frequencies. Defining XAUDIO2_HELPER_FUNCTIONS will also include XAudio2CutoffFrequencyToOnePoleCoefficient for converting between hertz and a one-pole coefficient suitable for use with the LowPassOnePoleFilter and HighPassOnePoleFilter.

-
- - microsoft.directx_sdk.xaudio2.xaudio2_filter_parameters - float Frequency - float Frequency -
- - -

Reciprocal of Q factor. Controls how quickly frequencies beyond Frequency are dampened. Larger values result in quicker dampening while smaller values cause dampening to occur more gradually. Must be greater than 0 and less than or equal to .

-
- - microsoft.directx_sdk.xaudio2.xaudio2_filter_parameters - float OneOverQ - float OneOverQ -
- - -

Contains performance information.

-
- -

CPU cycles are recorded using . Use to convert these values.

-
- - microsoft.directx_sdk.xaudio2.xaudio2_performance_data - XAUDIO2_PERFORMANCE_DATA - XAUDIO2_PERFORMANCE_DATA -
- - -

CPU cycles spent on audio processing since the last call to the or function.

-
- - microsoft.directx_sdk.xaudio2.xaudio2_performance_data - unsigned longlong AudioCyclesSinceLastQuery - unsigned longlong AudioCyclesSinceLastQuery -
- - -

Total CPU cycles elapsed since the last call.

Note??This only counts cycles on the CPU on which XAudio2 is running. ?
-
- - microsoft.directx_sdk.xaudio2.xaudio2_performance_data - unsigned longlong TotalCyclesSinceLastQuery - unsigned longlong TotalCyclesSinceLastQuery -
- - -

Fewest CPU cycles spent on processing any single audio quantum since the last call.

-
- - microsoft.directx_sdk.xaudio2.xaudio2_performance_data - unsigned int MinimumCyclesPerQuantum - unsigned int MinimumCyclesPerQuantum -
- - -

Most CPU cycles spent on processing any single audio quantum since the last call.

-
- - microsoft.directx_sdk.xaudio2.xaudio2_performance_data - unsigned int MaximumCyclesPerQuantum - unsigned int MaximumCyclesPerQuantum -
- - -

Total memory currently in use.

-
- - microsoft.directx_sdk.xaudio2.xaudio2_performance_data - unsigned int MemoryUsageInBytes - unsigned int MemoryUsageInBytes -
- - -

Minimum delay that occurs between the time a sample is read from a source buffer and the time it reaches the speakers.

Windows
The delay reported is a variable value equal to the rough distance between the last sample submitted to the driver by XAudio2 and the sample currently playing. The following factors can affect the delay: playing multichannel audio on a hardware-accelerated device; the type of audio device (WavePci, WaveCyclic, or WaveRT); and, to a lesser extent, audio hardware implementation. -

?

Xbox 360
The delay reported is a fixed value, which is normally 1,024 samples (21.333 ms at 48 kHz). If XOverrideSpeakerConfig has been called using the XAUDIOSPEAKERCONFIG_LOW_LATENCY flag, the delay reported is 512 samples (10.667 ms at 48 kHz). -

?

-
- - microsoft.directx_sdk.xaudio2.xaudio2_performance_data - unsigned int CurrentLatencyInSamples - unsigned int CurrentLatencyInSamples -
- - -

Total audio dropouts since the engine started.

-
- - microsoft.directx_sdk.xaudio2.xaudio2_performance_data - unsigned int GlitchesSinceEngineStarted - unsigned int GlitchesSinceEngineStarted -
- - -

Number of source voices currently playing.

-
- - microsoft.directx_sdk.xaudio2.xaudio2_performance_data - unsigned int ActiveSourceVoiceCount - unsigned int ActiveSourceVoiceCount -
- - -

Total number of source voices currently in existence.

-
- - microsoft.directx_sdk.xaudio2.xaudio2_performance_data - unsigned int TotalSourceVoiceCount - unsigned int TotalSourceVoiceCount -
- - -

Number of submix voices currently playing.

-
- - microsoft.directx_sdk.xaudio2.xaudio2_performance_data - unsigned int ActiveSubmixVoiceCount - unsigned int ActiveSubmixVoiceCount -
- - -

Number of resampler xAPOs currently active.

-
- - microsoft.directx_sdk.xaudio2.xaudio2_performance_data - unsigned int ActiveResamplerCount - unsigned int ActiveResamplerCount -
- - -

Number of matrix mix xAPOs currently active.

-
- - microsoft.directx_sdk.xaudio2.xaudio2_performance_data - unsigned int ActiveMatrixMixCount - unsigned int ActiveMatrixMixCount -
- - -
Windows
Unsupported.

?

Xbox 360
Number of source voices decoding XMA data.

?

-
- - microsoft.directx_sdk.xaudio2.xaudio2_performance_data - unsigned int ActiveXmaSourceVoices - unsigned int ActiveXmaSourceVoices -
- - -
Windows
Unsupported.

?

Xbox 360
A voice can use more than one XMA stream.

?

-
- - microsoft.directx_sdk.xaudio2.xaudio2_performance_data - unsigned int ActiveXmaStreams - unsigned int ActiveXmaStreams -
- - -

Contains information about the creation flags, input channels, and sample rate of a voice.

-
- -

Note the DirectX SDK versions of XAUDIO2 do not support the ActiveFlags member.

-
- - microsoft.directx_sdk.xaudio2.xaudio2_voice_details - XAUDIO2_VOICE_DETAILS - XAUDIO2_VOICE_DETAILS -
- - -

Flags used to create the voice; see the individual voice interfaces for more information.

-
- - microsoft.directx_sdk.xaudio2.xaudio2_voice_details - XAUDIO2_VOICE_FLAGS CreationFlags - XAUDIO2_VOICE_FLAGS CreationFlags -
- - -

Flags that are currently set on the voice.

-
- - microsoft.directx_sdk.xaudio2.xaudio2_voice_details - unsigned int ActiveFlags - unsigned int ActiveFlags -
- - -

The number of input channels the voice expects.

-
- - microsoft.directx_sdk.xaudio2.xaudio2_voice_details - unsigned int InputChannels - unsigned int InputChannels -
- - -

The input sample rate the voice expects.

-
- - microsoft.directx_sdk.xaudio2.xaudio2_voice_details - unsigned int InputSampleRate - unsigned int InputSampleRate -
- - -

Defines a destination voice that is the target of a send from another voice and specifies whether a filter should be used.

-
- - microsoft.directx_sdk.xaudio2.xaudio2_send_descriptor - XAUDIO2_SEND_DESCRIPTOR - XAUDIO2_SEND_DESCRIPTOR -
- - -

Indicates whether a filter should be used on data sent to the voice pointed to by pOutputVoice. Flags can be 0 or .

-
- - microsoft.directx_sdk.xaudio2.xaudio2_send_descriptor - XAUDIO2_VOICE_SEND_FLAGS Flags - XAUDIO2_VOICE_SEND_FLAGS Flags -
- - -

A reference to an that will be the target of the send. The pOutputVoice member cannot be null.

-
- - microsoft.directx_sdk.xaudio2.xaudio2_send_descriptor - IXAudio2Voice* pOutputVoice - IXAudio2Voice pOutputVoice -
- - - Initializes a new instance of the struct. - - The output voice. - - - - Initializes a new instance of the struct. - - The send flags. - The output voice. - - - - Gets or sets the output voice. This parameter cannot be null. - - The output voice. - - - -

Defines a set of voices to receive data from a single output voice.

-
- -

If pSends is not null all of its elements must be non-null. To send output to the default mastering voice call with the pSendList argument set to null.

Setting SendCount to 0 is useful for certain effects such as volume meters or file writers that don't generate any audio output to pass on to another voice.

If needed, a voice will perform a single sample rate conversion, from the voice's input sample rate to the input sample rate of the voice's output voices. Because only one sample rate conversion will be performed, all the voice's output voices must have the same input sample rate. If the input sample rates of the voice and its output voices are the same, no sample rate conversion is performed. -

-
- - microsoft.directx_sdk.xaudio2.xaudio2_voice_sends - XAUDIO2_VOICE_SENDS - XAUDIO2_VOICE_SENDS -
- - -

Number of voices to receive the output of the voice. An OutputCount value of 0 indicates the voice should not send output to any voices.

-
- - microsoft.directx_sdk.xaudio2.xaudio2_voice_sends - unsigned int SendCount - unsigned int SendCount -
- - -

Array of structures describing destination voices and the filters that should be used when sending to the voices. This array should contain SendCount elements. If SendCount is 0 pSends should be null. Note that pSends cannot contain the same voice more than once.

-
- - microsoft.directx_sdk.xaudio2.xaudio2_voice_sends - XAUDIO2_SEND_DESCRIPTOR* pSends - XAUDIO2_SEND_DESCRIPTOR pSends -
- - -

Returns the voice's current state and cursor position data.

-
- -

For all encoded formats, including constant bit rate (CBR) formats such as adaptive differential pulse code modulation (ADPCM), SamplesPlayed is expressed in terms of decoded samples. For pulse code modulation (PCM) formats, SamplesPlayed is expressed in terms of either input or output samples. There is a one-to-one mapping from input to output for PCM formats.

If a client needs to get the correlated positions of several voices?that is, to know exactly which sample of a particular voice is playing when a specified sample of another voice is playing?it must make the calls in an XAudio2 engine callback. Doing this ensures that none of the voices advance while the calls are made.

-
- - microsoft.directx_sdk.xaudio2.xaudio2_voice_state - XAUDIO2_VOICE_STATE - XAUDIO2_VOICE_STATE -
- - -

Pointer to a buffer context provided in the that is processed currently, or, if the voice is stopped currently, to the next buffer due to be processed. pCurrentBufferContext is null if there are no buffers in the queue.

-
- - microsoft.directx_sdk.xaudio2.xaudio2_voice_state - void* pCurrentBufferContext - void pCurrentBufferContext -
- - -

Number of audio buffers currently queued on the voice, including the one that is processed currently.

-
- - microsoft.directx_sdk.xaudio2.xaudio2_voice_state - unsigned int BuffersQueued - unsigned int BuffersQueued -
- - -

Total number of samples processed by this voice since it last started, or since the last audio stream ended (as marked with the flag). This total includes samples played multiple times due to looping. Theoretically, if all audio emitted by the voice up to this time is captured, this parameter would be the length of the audio stream in samples. If you specify when you call , this member won't be calculated, and its value is unspecified on return from . takes about one-third as much time to complete when you specify .

-
- - microsoft.directx_sdk.xaudio2.xaudio2_voice_state - unsigned longlong SamplesPlayed - unsigned longlong SamplesPlayed -
- - - Internal class used to initialize this assembly. - - - - - Initializes this assembly. - - - This method is called when the assembly is loaded. - - - - - The namespace provides a managed XAudio2 API. - - hh405049 - XAudio2 - XAudio2 - - - - No documentation. - - - - - - No documentation. - - - XAUDIO2_VOICE_USEFILTER - XAUDIO2_VOICE_USEFILTER - - - - None. - - - None - None - - - - Internal VoiceCallback callback Implementation - - - - - Return a pointer to the unmanaged version of this callback. - - The callback. - A pointer to a shadow c++ callback - - - - Functions - - - - - -

Creates a new XAudio2 object and returns a reference to its interface.

-
- No documentation. - No documentation. - No documentation. -

Returns if successful, an error code otherwise. See XAudio2 Error Codes for descriptions of XAudio2 specific error codes.

- -

The DirectX SDK versions of XAUDIO2 supported a flag to select between the release and 'checked' version. This flag is not supported or defined in the Windows 8 version of XAUDIO2.

Note??No versions of the DirectX SDK contain the xaudio2.lib import library. DirectX SDK versions use COM to create a new XAudio2 object.

-
- - microsoft.directx_sdk.xaudio2.xaudio2create - HRESULT XAudio2Create([Out, Fast] IXAudio2** ppXAudio2,[In] unsigned int Flags,[In] unsigned int XAudio2Processor) - XAudio2Create -
- - -

Creates a new reverb audio processing object (APO), and returns a reference to it.

-
-

Contains a reference to the reverb APO that is created.

-

If this function succeeds, it returns . Otherwise, it returns an error code.

- -

XAudio2CreateReverb creates an effect performing Princeton Digital Reverb. The XAPO effect library (XAPOFX) includes an alternate reverb effect. Use CreateFX to create this alternate effect.

The reverb APO supports has the following restrictions:

  • Input audio data must be FLOAT32.
  • Framerate must be within XAUDIO2FX_REVERB_MIN_FRAMERATE (20,000 Hz) and XAUDIO2FX_REVERB_MAX_FRAMERATE (48,000 Hz).
  • The input and output channels must be one of the following combinations.
    • Mono input and mono output
    • Mono input and 5.1 output
    • Stereo input and stereo output
    • Stereo input and 5.1 output
The reverb APO maintains internal state information between processing samples. You can only use an instance of the APO with one source of audio data at a time. Multiple voices that require reverb effects would each need to create a separate reverb effect withXAudio2CreateReverb.

For information about creating new effects for use with XAudio2, see the XAPO Overview.

Windows

Because XAudio2CreateReverb calls CoCreateInstance on Windows, the application must have called the CoInitializeEx method before calling XAudio2CreateReverb. has the same requirement, which means CoInitializeEx typically will be called long before XAudio2CreateReverb is called.

A typical calling pattern on Windows would be as follows:

#ifndef _XBOX	
-            CoInitializeEx(null, COINIT_MULTITHREADED);	
-            #endif	
-            * pXAudio2 = null;	
-             hr;	
-            if ( FAILED(hr = ( &pXAudio2, 0,  ) ) ) return hr;	
-            ...	
-             * pReverbAPO;	
-            XAudio2CreateReverb(&pReverbAPO);	
-            

?

The xaudio2fx.h header defines the AudioReverb class as a cross-platform audio processing object (XAPO).

class __declspec(uuid("C2633B16-471B-4498-B8C5-4F0959E2EC09")) AudioReverb; -

XAudio2CreateReverb returns this object as a reference to a reference to in the ppApo parameter. Although you can query the and interfaces from this , you typically never use these interfaces directly. Instead, you use them when you create a voice to add them as part of the effects chain.

The reverb uses the parameter structure that you access via the .

Note??XAudio2CreateReverb is an inline function in xaudio2fx.h that calls CreateAudioReverb:

XAUDIO2FX_STDAPI CreateAudioReverb(_Outptr_ ** ppApo); - __inline XAudio2CreateReverb(_Outptr_ ** ppApo, UINT32 /*Flags*/ DEFAULT(0)) - { return CreateAudioReverb(ppApo); - } - -
- - microsoft.directx_sdk.xaudio2.xaudio2createreverb - HRESULT CreateAudioReverb([Out, Fast] IUnknown** ppApo) - CreateAudioReverb -
- - -

Creates a new volume meter audio processing object (APO) and returns a reference to it.

-
-

Contains the created volume meter APO.

-

If this function succeeds, it returns . Otherwise, it returns an error code.

- -

For information on creating new effects for use with XAudio2, see the XAPO Overview.

Windows

Because XAudio2CreateVolumeMeter calls CoCreateInstance on Windows, the application must have called the CoInitializeEx method before calling XAudio2CreateVolumeMeter. has the same requirement, which means CoInitializeEx typically will be called long before XAudio2CreateVolumeMeter is called.

A typical calling pattern on Windows would be as follows:

#ifndef _XBOX	
-            CoInitializeEx(null, COINIT_MULTITHREADED);	
-            #endif	
-            * pXAudio2 = null;	
-             hr;	
-            if ( FAILED(hr = ( &pXAudio2, 0,  ) ) ) return hr;	
-            ...	
-             * pVolumeMeterAPO;	
-            XAudio2CreateVolumeMeter(&pVolumeMeterAPO);	
-            

?

The xaudio2fx.h header defines the AudioVolumeMeter class as a cross-platform audio processing object (XAPO).

class __declspec(uuid("4FC3B166-972A-40CF-BC37-7DB03DB2FBA3")) AudioVolumeMeter; -

XAudio2CreateVolumeMeter returns this object as a reference to a reference to in the ppApo parameter. Although you can query the and interfaces from this , you typically never use these interfaces directly. Instead, you use them when you create a voice to add them as part of the effects chain.

The volume meter uses the parameter structure that you access via the method when the XAPO is bound to the audio graph.

Note??XAudio2CreateVolumeMeter is an inline function in xaudio2fx.h that calls CreateAudioVolumeMeter:

XAUDIO2FX_STDAPI CreateAudioVolumeMeter(_Outptr_ ** ppApo); - __inline XAudio2CreateVolumeMeter(_Outptr_ ** ppApo, UINT32 /*Flags*/ DEFAULT(0)) - { return CreateAudioVolumeMeter(ppApo); - } - -
- - microsoft.directx_sdk.xaudio2.xaudio2createvolumemeter - HRESULT CreateAudioVolumeMeter([Out, Fast] IUnknown** ppApo) - CreateAudioVolumeMeter -
- - - An enum to select the XAudio version to load. - - - - - The default version (2.7 if it is installed, otherwise 2.8 or 2.9) - - - - - The XAudio2.7 version. - - - - - The XAudio2.8 version. - - - - - The XAudio2.9 version. - - - - - No documentation. - - - X3DAudioCalculateFlags - X3DAudioCalculateFlags - - - - No documentation. - - - X3DAUDIO_CALCULATE_MATRIX - X3DAUDIO_CALCULATE_MATRIX - - - - No documentation. - - - X3DAUDIO_CALCULATE_DELAY - X3DAUDIO_CALCULATE_DELAY - - - - No documentation. - - - X3DAUDIO_CALCULATE_LPF_DIRECT - X3DAUDIO_CALCULATE_LPF_DIRECT - - - - No documentation. - - - X3DAUDIO_CALCULATE_LPF_REVERB - X3DAUDIO_CALCULATE_LPF_REVERB - - - - No documentation. - - - X3DAUDIO_CALCULATE_REVERB - X3DAUDIO_CALCULATE_REVERB - - - - No documentation. - - - X3DAUDIO_CALCULATE_DOPPLER - X3DAUDIO_CALCULATE_DOPPLER - - - - No documentation. - - - X3DAUDIO_CALCULATE_EMITTER_ANGLE - X3DAUDIO_CALCULATE_EMITTER_ANGLE - - - - No documentation. - - - X3DAUDIO_CALCULATE_ZEROCENTER - X3DAUDIO_CALCULATE_ZEROCENTER - - - - No documentation. - - - X3DAUDIO_CALCULATE_REDIRECT_TO_LFE - X3DAUDIO_CALCULATE_REDIRECT_TO_LFE - - - - Functions - - - - - - Speed of sound in the air. - - - - - Initializes a new instance of the class. - - The speakers config. - microsoft.directx_sdk.x3daudio.x3daudioinitialize - void X3DAudioInitialize([In] SPEAKER_FLAGS SpeakerChannelMask,[In] float SpeedOfSound,[Out] X3DAUDIOHANDLE* Instance) - X3DAudioInitialize - - - - Initializes a new instance of the class. - - The speakers config. - The requestVersion. - microsoft.directx_sdk.x3daudio.x3daudioinitialize - void X3DAudioInitialize([In] SPEAKER_FLAGS SpeakerChannelMask,[In] float SpeedOfSound,[Out] X3DAUDIOHANDLE* Instance) - X3DAudioInitialize - - - - Initializes a new instance of the class. - - The speakers config. - The speed of sound. - The request requestVersion. - - microsoft.directx_sdk.x3daudio.x3daudioinitialize - - void X3DAudioInitialize([In] SPEAKER_FLAGS SpeakerChannelMask,[In] float SpeedOfSound,[Out] X3DAUDIOHANDLE* Instance) - - X3DAudioInitialize - - - - Gets the requestVersion of X3DAudio used. - - The requestVersion. - - - - Calculates DSP settings for the specified listener and emitter. - - The listener. - The emitter. - The flags. - The source channel count. - The destination channel count. - DSP settings - ee419052 - void X3DAudioCalculate([In] const X3DAUDIOHANDLE* Instance,[In] const X3DAUDIO_LISTENER* pListener,[In] const X3DAUDIO_EMITTER* pEmitter,[In] X3DAudioCalculateFlags Flags,[In] void* pDSPSettings) - X3DAudioCalculate - - - - Calculates DSP settings for the specified listener and emitter. See remarks. - - The listener. - The emitter. - The flags. - The settings. - The source and destination channel count must be set on before calling this method. - ee419052 - void X3DAudioCalculate([In] const X3DAUDIOHANDLE* Instance,[In] const X3DAUDIO_LISTENER* pListener,[In] const X3DAUDIO_EMITTER* pEmitter,[In] X3DAudioCalculateFlags Flags,[In] void* pDSPSettings) - X3DAudioCalculate - - - -

Specifies directionality for a single-channel non-LFE emitter by scaling DSP behavior with respect to the emitter's orientation.

-
- -

For a detailed explanation of sound cones see Sound Cones.

-
- - microsoft.directx_sdk.x3daudio.x3daudio_cone - X3DAUDIO_CONE - X3DAUDIO_CONE -
- - -

Inner cone angle in radians. This value must be within 0.0f to X3DAUDIO_2PI.

-
- - microsoft.directx_sdk.x3daudio.x3daudio_cone - float InnerAngle - float InnerAngle -
- - -

Outer cone angle in radians. This value must be within InnerAngle to X3DAUDIO_2PI.

-
- - microsoft.directx_sdk.x3daudio.x3daudio_cone - float OuterAngle - float OuterAngle -
- - -

Volume scaler on/within inner cone. This value must be within 0.0f to 2.0f.

-
- - microsoft.directx_sdk.x3daudio.x3daudio_cone - float InnerVolume - float InnerVolume -
- - -

Volume scaler on/beyond outer cone. This value must be within 0.0f to 2.0f.

-
- - microsoft.directx_sdk.x3daudio.x3daudio_cone - float OuterVolume - float OuterVolume -
- - -

LPF direct-path or reverb-path coefficient scaler on/within inner cone. This value is only used for LPF calculations and must be within 0.0f to 1.0f.

-
- - microsoft.directx_sdk.x3daudio.x3daudio_cone - float InnerLPF - float InnerLPF -
- - -

LPF direct-path or reverb-path coefficient scaler on or beyond outer cone. This value is only used for LPF calculations and must be within 0.0f to 1.0f.

-
- - microsoft.directx_sdk.x3daudio.x3daudio_cone - float OuterLPF - float OuterLPF -
- - -

Reverb send level scaler on or within inner cone. This must be within 0.0f to 2.0f.

-
- - microsoft.directx_sdk.x3daudio.x3daudio_cone - float InnerReverb - float InnerReverb -
- - -

Reverb send level scaler on/beyond outer cone. This must be within 0.0f to 2.0f. -

-
- - microsoft.directx_sdk.x3daudio.x3daudio_cone - float OuterReverb - float OuterReverb -
- - -

Defines a DSP setting at a given normalized distance.

-
- - microsoft.directx_sdk.x3daudio.x3daudio_distance_curve_point - X3DAUDIO_DISTANCE_CURVE_POINT - X3DAUDIO_DISTANCE_CURVE_POINT -
- - -

Normalized distance. This must be within 0.0f to 1.0f.

-
- - microsoft.directx_sdk.x3daudio.x3daudio_distance_curve_point - float Distance - float Distance -
- - -

DSP control setting.

-
- - microsoft.directx_sdk.x3daudio.x3daudio_distance_curve_point - float DSPSetting - float DSPSetting -
- - -

Defines an explicit piecewise curve made up of linear segments, directly defining DSP behavior with respect to normalized distance.

-
- - microsoft.directx_sdk.x3daudio.x3daudio_distance_curve - X3DAUDIO_DISTANCE_CURVE - X3DAUDIO_DISTANCE_CURVE -
- - -

array. The array must have no duplicates and be sorted in ascending order with respect to distance.

-
- - microsoft.directx_sdk.x3daudio.x3daudio_distance_curve - X3DAUDIO_DISTANCE_CURVE_POINT* pPoints - X3DAUDIO_DISTANCE_CURVE_POINT pPoints -
- - -

Number of distance curve points. There must be two or more points since all curves must have at least two endpoints defining values at 0.0f and 1.0f normalized distance, respectively.

-
- - microsoft.directx_sdk.x3daudio.x3daudio_distance_curve - unsigned int PointCount - unsigned int PointCount -
- - -

Receives the results from a call to X3DAudioCalculate.

-
- -

The following members must be initialized before passing this structure to the X3DAudioCalculate function:

  • pMatrixCoefficients
  • pDelayTimes
  • SrcChannelCount
  • DstChannelCount

The following members are returned by passing this structure to the X3DAudioCalculate function:

  • pMatrixCoefficients
  • pDelayTimes
  • LPFDirectCoefficient
  • LPFReverbCoefficient
  • ReverbLevel
  • DopplerFactor
  • EmitterToListenerAngle
  • EmitterToListenerDistance
  • EmitterVelocityComponent
  • ListenerVelocityComponent
Note??For pMatrixCoefficients and pDelayTimes, X3DAudioCalculate does not allocate additional memory. X3DAudioCalculate merely modifies the values at the memory locations allocated for these references.? -
- - microsoft.directx_sdk.x3daudio.x3daudio_dsp_settings - X3DAUDIO_DSP_SETTINGS - X3DAUDIO_DSP_SETTINGS - - No documentation. - - - X3DAUDIO_DSP_SETTINGS -
- - - No documentation. - - - microsoft.directx_sdk.x3daudio.x3daudio_dsp_settings - float* pMatrixCoefficients - float pMatrixCoefficients - - - - No documentation. - - - microsoft.directx_sdk.x3daudio.x3daudio_dsp_settings - float* pDelayTimes - float pDelayTimes - - - - No documentation. - - - microsoft.directx_sdk.x3daudio.x3daudio_dsp_settings - unsigned int SrcChannelCount - unsigned int SrcChannelCount - - - - No documentation. - - - microsoft.directx_sdk.x3daudio.x3daudio_dsp_settings - unsigned int DstChannelCount - unsigned int DstChannelCount - - - - No documentation. - - - microsoft.directx_sdk.x3daudio.x3daudio_dsp_settings - float LPFDirectCoefficient - float LPFDirectCoefficient - - - - No documentation. - - - microsoft.directx_sdk.x3daudio.x3daudio_dsp_settings - float LPFReverbCoefficient - float LPFReverbCoefficient - - - - No documentation. - - - microsoft.directx_sdk.x3daudio.x3daudio_dsp_settings - float ReverbLevel - float ReverbLevel - - - - No documentation. - - - microsoft.directx_sdk.x3daudio.x3daudio_dsp_settings - float DopplerFactor - float DopplerFactor - - - - No documentation. - - - microsoft.directx_sdk.x3daudio.x3daudio_dsp_settings - float EmitterToListenerAngle - float EmitterToListenerAngle - - - - No documentation. - - - microsoft.directx_sdk.x3daudio.x3daudio_dsp_settings - float EmitterToListenerDistance - float EmitterToListenerDistance - - - - No documentation. - - - microsoft.directx_sdk.x3daudio.x3daudio_dsp_settings - float EmitterVelocityComponent - float EmitterVelocityComponent - - - - No documentation. - - - microsoft.directx_sdk.x3daudio.x3daudio_dsp_settings - float ListenerVelocityComponent - float ListenerVelocityComponent - - - - Initializes a new instance of the class. - - The source channel count. - The destination channel count. - - - - The matrix coefficients - - - - - The delay times - - - - -

Defines a single-point or multiple-point 3D audio source that is used with an arbitrary number of sound channels.

-
- -

only supports a cone in a single-point emitter. Multi-point emitters are a convenient and efficient way to manage a related group of sound sources. Many properties are shared among all channel points, such as Doppler?the same Doppler shift is applied to all channels in the emitter. Thus, the Doppler value need only be calculated once, not per-point as would be needed with multiple separate single-point emitters. Because only has one orientation vector, a multi-point emitter cone would be of limited usefulness, forcing all channels to behave as if they were facing the same direction. If multiple independent cones are needed, multiple single-point emitters should be used, each with its own orientation.

The parameter type is typed to DirectX::XMFLOAT3, to provide x , y , and z floating-point values.

X3DAudio uses a left-handed Cartesian coordinate system, with values on the x-axis increasing from left to right, on the y-axis from bottom to top, and on the z-axis from near to far. Azimuths are measured clockwise from a given reference direction. To use X3DAudio with right-handed coordinates, you must negate the .z element of OrientFront, OrientTop, Position, and Velocity.

For user-defined distance curves, the distance field of the first point must be 0.0f and the distance field of the last point must be 1.0f.

If an emitter moves beyond a distance of (CurveDistanceScaler ? 1.0f), the last point on the curve is used to compute the volume output level. The last point is determined by the following: -

.pPoints[PointCount-1].DSPSetting)
-
- - microsoft.directx_sdk.x3daudio.x3daudio_emitter - X3DAUDIO_EMITTER - X3DAUDIO_EMITTER - - No documentation. - - - X3DAUDIO_EMITTER -
- - -

Pointer to a sound cone. Used only with single-channel emitters for matrix, LPF (both direct and reverb paths), and reverb calculations. null specifies the emitter is omnidirectional.

-
- - microsoft.directx_sdk.x3daudio.x3daudio_emitter - X3DAUDIO_CONE* pCone - X3DAUDIO_CONE pCone -
- - -

Orientation of the front direction. This value must be orthonormal with OrientTop. OrientFront must be normalized when used. For single-channel emitters without cones OrientFront is only used for emitter angle calculations. For multi channel emitters or single-channel with cones OrientFront is used for matrix, LPF (both direct and reverb paths), and reverb calculations.

-
- - microsoft.directx_sdk.x3daudio.x3daudio_emitter - X3DAUDIO_VECTOR OrientFront - X3DAUDIO_VECTOR OrientFront -
- - -

Orientation of the top direction. This value must be orthonormal with OrientFront. OrientTop is only used with multi-channel emitters for matrix calculations.

-
- - microsoft.directx_sdk.x3daudio.x3daudio_emitter - X3DAUDIO_VECTOR OrientTop - X3DAUDIO_VECTOR OrientTop -
- - -

Position in user-defined world units. This value does not affect Velocity.

-
- - microsoft.directx_sdk.x3daudio.x3daudio_emitter - X3DAUDIO_VECTOR Position - X3DAUDIO_VECTOR Position -
- - -

Velocity vector in user-defined world units/second. This value is used only for doppler calculations. It does not affect Position. -

-
- - microsoft.directx_sdk.x3daudio.x3daudio_emitter - X3DAUDIO_VECTOR Velocity - X3DAUDIO_VECTOR Velocity -
- - -

Value to be used for the inner radius calculations. If InnerRadius is 0, then no inner radius is used, but InnerRadiusAngle may still be used. This value must be between 0.0f and MAX_FLT. -

-
- - microsoft.directx_sdk.x3daudio.x3daudio_emitter - float InnerRadius - float InnerRadius -
- - -

Value to be used for the inner radius angle calculations. This value must be between 0.0f and X3DAUDIO_PI/4.0.

-
- - microsoft.directx_sdk.x3daudio.x3daudio_emitter - float InnerRadiusAngle - float InnerRadiusAngle -
- - -

Number of emitters defined by the structure. Must be greater than 0.

-
- - microsoft.directx_sdk.x3daudio.x3daudio_emitter - unsigned int ChannelCount - unsigned int ChannelCount -
- - -

Distance from Position that channels will be placed if ChannelCount is greater than 1. ChannelRadius is only used with multi-channel emitters for matrix calculations. Must be greater than or equal to 0.0f.

-
- - microsoft.directx_sdk.x3daudio.x3daudio_emitter - float ChannelRadius - float ChannelRadius -
- - -

Table of channel positions, expressed as an azimuth in radians along the channel radius with respect to the front orientation vector in the plane orthogonal to the top orientation vector. An azimuth of X3DAUDIO_2PI specifies a channel is a low-frequency effects (LFE) channel. LFE channels are positioned at the emitter base and are calculated with respect to pLFECurve only, never pVolumeCurve. pChannelAzimuths must have at least ChannelCount elements, but can be null if ChannelCount = 1. The table values must be within 0.0f to X3DAUDIO_2PI. pChannelAzimuths is used with multi-channel emitters for matrix calculations.

-
- - microsoft.directx_sdk.x3daudio.x3daudio_emitter - float* pChannelAzimuths - float pChannelAzimuths -
- - -

Volume-level distance curve, which is used only for matrix calculations. null specifies a specialized default curve that conforms to the inverse square law, such that when distance is between 0.0f and CurveDistanceScaler ? 1.0f, no attenuation is applied. - When distance is greater than CurveDistanceScaler ? 1.0f, the amplification factor is (CurveDistanceScaler ? 1.0f)/distance. At a distance of CurveDistanceScaler ? 2.0f, the sound will be at half volume or -6 dB, at a distance of CurveDistanceScaler ? 4.0f, the sound will be at one quarter volume or -12 dB, and so on. pVolumeCurve and pLFECurve are independent of each other. pVolumeCurve does not affect LFE channel volume.

-
- - microsoft.directx_sdk.x3daudio.x3daudio_emitter - X3DAUDIO_DISTANCE_CURVE* pVolumeCurve - X3DAUDIO_DISTANCE_CURVE pVolumeCurve -
- - -

LFE roll-off distance curve, or null to use default curve: [0.0f, CurveDistanceScaler ?1.0f], [CurveDistanceScaler ?1.0f, 0.0f]. A null value for pLFECurve specifies a default curve that conforms to the inverse square law with distances <= CurveDistanceScaler clamped to no attenuation. - pVolumeCurve and pLFECurve are independent of each other. pLFECurve does not affect non LFE channel volume.

-
- - microsoft.directx_sdk.x3daudio.x3daudio_emitter - X3DAUDIO_DISTANCE_CURVE* pLFECurve - X3DAUDIO_DISTANCE_CURVE pLFECurve -
- - -

Low-pass filter (LPF) direct-path coefficient distance curve, or null to use the default curve: [0.0f, 1.0f], [1.0f, 0.75f]. pLPFDirectCurve is only used for LPF direct-path calculations. -

-
- - microsoft.directx_sdk.x3daudio.x3daudio_emitter - X3DAUDIO_DISTANCE_CURVE* pLPFDirectCurve - X3DAUDIO_DISTANCE_CURVE pLPFDirectCurve -
- - -

LPF reverb-path coefficient distance curve, or null to use default curve: [0.0f, 0.75f], [1.0f, 0.75f]. pLPFReverbCurve is only used for LPF reverb path calculations.

-
- - microsoft.directx_sdk.x3daudio.x3daudio_emitter - X3DAUDIO_DISTANCE_CURVE* pLPFReverbCurve - X3DAUDIO_DISTANCE_CURVE pLPFReverbCurve -
- - -

Reverb send level distance curve, or null to use default curve: [0.0f, 1.0f], [1.0f, 0.0f].

-
- - microsoft.directx_sdk.x3daudio.x3daudio_emitter - X3DAUDIO_DISTANCE_CURVE* pReverbCurve - X3DAUDIO_DISTANCE_CURVE pReverbCurve -
- - -

Curve distance scaler that is used to scale normalized distance curves to user-defined world units, and/or to exaggerate their effect. This does not affect any other calculations. The value must be within the range FLT_MIN to FLT_MAX. CurveDistanceScaler is only used for matrix, LPF (both direct and reverb paths), and reverb calculations.

-
- - microsoft.directx_sdk.x3daudio.x3daudio_emitter - float CurveDistanceScaler - float CurveDistanceScaler -
- - -

Doppler shift scaler that is used to exaggerate Doppler shift effect. DopplerScaler is only used for Doppler calculations and does not affect any other calculations. The value must be within the range 0.0f to FLT_MAX.

-
- - microsoft.directx_sdk.x3daudio.x3daudio_emitter - float DopplerScaler - float DopplerScaler -
- - - Reference to Cone data. - - X3DAUDIO_CONE* pCone - - - disabled as it is not used - - - -

Defines a point of 3D audio reception.

-
- -

X3DAudio uses a left-handed Cartesian coordinate system, with values on the x-axis increasing from left to right, on the y-axis from bottom to top, and on the z-axis from near to far. Azimuths are measured clockwise from a given reference direction. To use X3DAudio with right-handed coordinates, you must negate the .z element of OrientFront, OrientTop, Position, and Velocity.

The parameter type is typed to DirectX::XMFLOAT3, to provide x, y and z floating-point values.

A listener's front and top vectors must be orthonormal. To be considered orthonormal, a pair of vectors must have a magnitude of 1 +- 1x10-5 and a dot product of 0 +- 1x10-5.

-
- - microsoft.directx_sdk.x3daudio.x3daudio_listener - X3DAUDIO_LISTENER - X3DAUDIO_LISTENER - - No documentation. - - - X3DAUDIO_LISTENER -
- - -

Orientation of front direction. When pCone is null OrientFront is used only for matrix and delay calculations. When pCone is not null OrientFront is used for matrix, LPF (both direct and reverb paths), and reverb calculations. This value must be orthonormal with OrientTop when used.

-
- - microsoft.directx_sdk.x3daudio.x3daudio_listener - X3DAUDIO_VECTOR OrientFront - X3DAUDIO_VECTOR OrientFront -
- - -

Orientation of top direction, used only for matrix and delay calculations. This value must be orthonormal with OrientFront when used.

-
- - microsoft.directx_sdk.x3daudio.x3daudio_listener - X3DAUDIO_VECTOR OrientTop - X3DAUDIO_VECTOR OrientTop -
- - -

Position in user-defined world units. This value does not affect Velocity.

-
- - microsoft.directx_sdk.x3daudio.x3daudio_listener - X3DAUDIO_VECTOR Position - X3DAUDIO_VECTOR Position -
- - -

Velocity vector in user-defined world units per second, used only for doppler calculations. This value does not affect Position.

-
- - microsoft.directx_sdk.x3daudio.x3daudio_listener - X3DAUDIO_VECTOR Velocity - X3DAUDIO_VECTOR Velocity -
- - -

Pointer to an structure for this listener. Providing a listener cone will specify that additional calculations are performed when determining the volume and filter DSP parameters for individual sound sources. A null pCone value specifies an omnidirectional sound and no cone processing is applied. pCone is only used for matrix, LPF (both direct and reverb paths), and reverb calculations.

-
- - microsoft.directx_sdk.x3daudio.x3daudio_listener - X3DAUDIO_CONE* pCone - X3DAUDIO_CONE pCone -
- - - Reference to Cone data. - - X3DAUDIO_CONE* pCone - - - Disabled as it is not used - - - - The namespace provides a managed X3DAudio API. - - ee415714 - X3DAudio - X3DAudio - - - - Functions - - - - - -

Calculates DSP settings with respect to 3D parameters.

-
-

3D audio instance handle. Call to get this handle.

-

Pointer to an representing the point of reception.

-

Pointer to an representing the sound source.

-
ValueDescription
Enables matrix coefficient table calculation.?
Enables delay time array calculation (stereo only).?
Enables low pass filter (LPF) direct-path coefficient calculation.?
Enables LPF reverb-path coefficient calculation.?
Enables reverb send level calculation.?
Enables Doppler shift factor calculation.?
Enables emitter-to-listener interior angle calculation.?
Fills the center channel with silence. This flag allows you to keep a 6-channel matrix so you do not have to remap the channels, but the center channel will be silent. This flag is only valid if you also set .?
Applies an equal mix of all source channels to a low frequency effect (LFE) destination channel. It only applies to matrix calculations with a source that does not have an LFE channel and a destination that does have an LFE channel. This flag is only valid if you also set .?

?

-

Pointer to an structure that receives the calculation results.

- -

You typically call once for each pair of emitting objects and listeners in the scene. After each call, to apply the 3D effects, the app manually applies the calculation results at pDSPSettings to the XAUDIO2 graph. For more info, see How to: Integrate X3DAudio with XAudio2.

Important?? The listener and emitter values must be valid. Floating-point specials (NaN, QNaN, +INF, -INF) can cause the entire audio output to go silent if introduced into a running audio graph.

-
- - microsoft.directx_sdk.x3daudio.x3daudiocalculate - void X3DAudioCalculate([In] const X3DAUDIOHANDLE* Instance,[In] const X3DAUDIO_LISTENER* pListener,[In] const X3DAUDIO_EMITTER* pEmitter,[In] X3DAudioCalculateFlags Flags,[In] void* pDSPSettings) - X3DAudioCalculate -
- - -

Sets all global 3D audio constants.

-
-

Assignment of channels to speaker positions. This value must not be zero. The only permissible value on Xbox 360 is SPEAKER_XBOX.

-

Speed of sound, in user-defined world units per second. Use this value only for doppler calculations. It must be greater than or equal to FLT_MIN.

-

3D audio instance handle. Use this handle when you call .

-

This function does not return a value.

- -

X3DAUDIO_HANDLE is an opaque data structure. Because the operating system doesn't allocate any additional storage for the 3D audio instance handle, you don't need to free or close it.

-
- - microsoft.directx_sdk.x3daudio.x3daudioinitialize - HRESULT X3DAudioInitialize([In] SPEAKER_FLAGS SpeakerChannelMask,[In] float SpeedOfSound,[Out] X3DAUDIOHANDLE* Instance) - X3DAudioInitialize -
- - - Functions - - - - - -

Calculates DSP settings with respect to 3D parameters.

-
-

3D audio instance handle. Call to get this handle.

-

Pointer to an representing the point of reception.

-

Pointer to an representing the sound source.

-
ValueDescription
Enables matrix coefficient table calculation.?
Enables delay time array calculation (stereo only).?
Enables low pass filter (LPF) direct-path coefficient calculation.?
Enables LPF reverb-path coefficient calculation.?
Enables reverb send level calculation.?
Enables Doppler shift factor calculation.?
Enables emitter-to-listener interior angle calculation.?
Fills the center channel with silence. This flag allows you to keep a 6-channel matrix so you do not have to remap the channels, but the center channel will be silent. This flag is only valid if you also set .?
Applies an equal mix of all source channels to a low frequency effect (LFE) destination channel. It only applies to matrix calculations with a source that does not have an LFE channel and a destination that does have an LFE channel. This flag is only valid if you also set .?

?

-

Pointer to an structure that receives the calculation results.

- -

You typically call once for each pair of emitting objects and listeners in the scene. After each call, to apply the 3D effects, the app manually applies the calculation results at pDSPSettings to the XAUDIO2 graph. For more info, see How to: Integrate X3DAudio with XAudio2.

Important?? The listener and emitter values must be valid. Floating-point specials (NaN, QNaN, +INF, -INF) can cause the entire audio output to go silent if introduced into a running audio graph.

-
- - microsoft.directx_sdk.x3daudio.x3daudiocalculate - void X3DAudioCalculate([In] const X3DAUDIOHANDLE* Instance,[In] const X3DAUDIO_LISTENER* pListener,[In] const X3DAUDIO_EMITTER* pEmitter,[In] X3DAudioCalculateFlags Flags,[In] void* pDSPSettings) - X3DAudioCalculate -
- - -

Sets all global 3D audio constants.

-
-

Assignment of channels to speaker positions. This value must not be zero. The only permissible value on Xbox 360 is SPEAKER_XBOX.

-

Speed of sound, in user-defined world units per second. Use this value only for doppler calculations. It must be greater than or equal to FLT_MIN.

-

3D audio instance handle. Use this handle when you call .

-

This function does not return a value.

- -

X3DAUDIO_HANDLE is an opaque data structure. Because the operating system doesn't allocate any additional storage for the 3D audio instance handle, you don't need to free or close it.

-
- - microsoft.directx_sdk.x3daudio.x3daudioinitialize - HRESULT X3DAudioInitialize([In] SPEAKER_FLAGS SpeakerChannelMask,[In] float SpeedOfSound,[Out] X3DAUDIOHANDLE* Instance) - X3DAudioInitialize -
- - - An enum to select the XAudio version to load. - - - - - The default version (X3DAudio1_7.dll if it is installed, otherwise XAudio2_8.dll or from XAudio2_9.dll) - - - - - The X3DAudio1.7 version (X3DAudio1_7.dll). - - - - - From the XAudio2.8 version (XAudio2_8.dll). - - - - - From the XAudio2.9 version (XAudio2_9.dll). - - - - -

Describes the contents of a stream buffer.

-
- -

This metadata can be used to implement optimizations that require knowledge of a stream buffer's contents. For example, XAPOs that always produce silent output from silent input can check the flag on the input stream buffer to determine if any signal processing is necessary. If silent, the XAPO can simply set the flag on the output stream buffer to silent and return, thus averting the work of processing silent data.

Likewise, XAPOs that receive valid input data, but generate silence (for any reason), may set the output stream buffer's flag accordingly, rather than writing silent samples to the buffer.

These flags represent what should be assumed is in the respective buffer. The flags may not reflect what is actually stored in memory. For example, the indicates that silent data should be assumed, however the respective memory may be uninitialized

-
- - microsoft.directx_sdk.xapo.xapo_buffer_flags - XAPO_BUFFER_FLAGS - XAPO_BUFFER_FLAGS -
- - -

Stream buffer contains only silent samples.

-
- - microsoft.directx_sdk.xapo.xapo_buffer_flags - XAPO_BUFFER_SILENT - XAPO_BUFFER_SILENT -
- - -

Stream buffer contains audio data to be processed.

-
- - microsoft.directx_sdk.xapo.xapo_buffer_flags - XAPO_BUFFER_VALID - XAPO_BUFFER_VALID -
- - - None. - - - None - None - - - - No documentation. - - - XAPO_PROPERTY_TYPE - XAPO_PROPERTY_TYPE - - - - No documentation. - - - XAPO_FLAG_CHANNELS_MUST_MATCH - XAPO_FLAG_CHANNELS_MUST_MATCH - - - - No documentation. - - - XAPO_FLAG_FRAMERATE_MUST_MATCH - XAPO_FLAG_FRAMERATE_MUST_MATCH - - - - No documentation. - - - XAPO_FLAG_BITSPERSAMPLE_MUST_MATCH - XAPO_FLAG_BITSPERSAMPLE_MUST_MATCH - - - - No documentation. - - - XAPO_FLAG_BUFFERCOUNT_MUST_MATCH - XAPO_FLAG_BUFFERCOUNT_MUST_MATCH - - - - No documentation. - - - XAPO_FLAG_INPLACE_REQUIRED - XAPO_FLAG_INPLACE_REQUIRED - - - - No documentation. - - - XAPO_FLAG_INPLACE_SUPPORTED - XAPO_FLAG_INPLACE_SUPPORTED - - - - No documentation. - - - XAPO_FLAG_DEFAULT - XAPO_FLAG_DEFAULT - - - - Functions - - - - An Echo XAPO AudioProcessor - - - - Constant MinimumWetdrymix. - FXECHO_MIN_WETDRYMIX - - - Constant MaximumWetdrymix. - FXECHO_MAX_WETDRYMIX - - - Constant DefaultWetdrymix. - FXECHO_DEFAULT_WETDRYMIX - - - Constant MinimumFeedback. - FXECHO_MIN_FEEDBACK - - - Constant MaximumFeedback. - FXECHO_MAX_FEEDBACK - - - Constant DefaultFeedback. - FXECHO_DEFAULT_FEEDBACK - - - Constant MinimumDelay. - FXECHO_MIN_DELAY - - - Constant MaximumDelay. - FXECHO_MAX_DELAY - - - Constant DefaultDelay. - FXECHO_DEFAULT_DELAY - - - - Initializes a new instance of the class. - - - - - Functions - - - - A Equalizer XAPO AudioProcessor - - - - Constant MinimumFrameRate. - FXEQ_MIN_FRAMERATE - - - Constant MaximumFrameRate. - FXEQ_MAX_FRAMERATE - - - Constant MinimumFrequencyCenter. - FXEQ_MIN_FREQUENCY_CENTER - - - Constant MaximumFrequencyCenter. - FXEQ_MAX_FREQUENCY_CENTER - - - Constant DefaultFrequencyCenter0. - FXEQ_DEFAULT_FREQUENCY_CENTER_0 - - - Constant DefaultFrequencyCenter1. - FXEQ_DEFAULT_FREQUENCY_CENTER_1 - - - Constant DefaultFrequencyCenter2. - FXEQ_DEFAULT_FREQUENCY_CENTER_2 - - - Constant DefaultFrequencyCenter3. - FXEQ_DEFAULT_FREQUENCY_CENTER_3 - - - Constant MinimumGain. - FXEQ_MIN_GAIN - - - Constant MaximumGain. - FXEQ_MAX_GAIN - - - Constant DefaultGain. - FXEQ_DEFAULT_GAIN - - - Constant MinimumBandwidth. - FXEQ_MIN_BANDWIDTH - - - Constant MaximumBandwidth. - FXEQ_MAX_BANDWIDTH - - - Constant DefaultBandwidth. - FXEQ_DEFAULT_BANDWIDTH - - - - Initializes a new instance of the class. - - - - - Functions - - - - A MateringLimiter XAPO AudioProcessor - - - - Constant MinimumRelease. - FXMASTERINGLIMITER_MIN_RELEASE - - - Constant MaximumRelease. - FXMASTERINGLIMITER_MAX_RELEASE - - - Constant DefaultRelease. - FXMASTERINGLIMITER_DEFAULT_RELEASE - - - Constant MinimumLoudness. - FXMASTERINGLIMITER_MIN_LOUDNESS - - - Constant MaximumLoudness. - FXMASTERINGLIMITER_MAX_LOUDNESS - - - Constant DefaultLoudness. - FXMASTERINGLIMITER_DEFAULT_LOUDNESS - - - - Initializes a new instance of the class. - - - - - Functions - - - - A Reverb XAPO AudioProcessor - - - - Constant MinimumDiffusion. - FXREVERB_MIN_DIFFUSION - - - Constant MaximumDiffusion. - FXREVERB_MAX_DIFFUSION - - - Constant DefaultDiffusion. - FXREVERB_DEFAULT_DIFFUSION - - - Constant MinimumRoomsize. - FXREVERB_MIN_ROOMSIZE - - - Constant MaximumRoomsize. - FXREVERB_MAX_ROOMSIZE - - - Constant DefaultRoomsize. - FXREVERB_DEFAULT_ROOMSIZE - - - - Initializes a new instance of the class. - - - - - Functions - - - - Functions - - - - - Constant None. - - - Constant None. - - - Constant None. - - - Constant None. - - - -

Initialization parameters for use with the FXECHO XAPOFX.

-
- -

Use of this structure is optional. The default MaxDelay is .

Note??The DirectX SDK versions of XAUDIO2 don't support this functionality.? -
- - microsoft.directx_sdk.xapofx.fxecho_initdata - FXECHO_INITDATA - FXECHO_INITDATA -
- - - No documentation. - - - microsoft.directx_sdk.xapofx.fxecho_initdata - float MaxDelay - float MaxDelay - - - -

Parameters for use with the FXECHO XAPOFX.

-
- -

Echo only supports FLOAT32 audio formats.

-
- - microsoft.directx_sdk.xapofx.fxecho_parameters - FXECHO_PARAMETERS - FXECHO_PARAMETERS -
- - - No documentation. - - - microsoft.directx_sdk.xapofx.fxecho_parameters - float WetDryMix - float WetDryMix - - - - No documentation. - - - microsoft.directx_sdk.xapofx.fxecho_parameters - float Feedback - float Feedback - - - - No documentation. - - - microsoft.directx_sdk.xapofx.fxecho_parameters - float Delay - float Delay - - - -

Parameters for use with the FXEQ XAPO.

-
- -

Each band ranges from FrequencyCenterN - (BandwidthN / 2) to FrequencyCenterN + (BandwidthN / 2).

-
- - microsoft.directx_sdk.xapofx.fxeq_parameters - FXEQ_PARAMETERS - FXEQ_PARAMETERS -
- - -

Center frequency in Hz for band 0. Must be between and .

-
- - microsoft.directx_sdk.xapofx.fxeq_parameters - float FrequencyCenter0 - float FrequencyCenter0 -
- - -

The boost or decrease to frequencies in band 0. Must be between and

-
- - microsoft.directx_sdk.xapofx.fxeq_parameters - float Gain0 - float Gain0 -
- - -

Width of band 0. Must be between and .

-
- - microsoft.directx_sdk.xapofx.fxeq_parameters - float Bandwidth0 - float Bandwidth0 -
- - -

Center frequency in Hz for band 1. Must be between and .

-
- - microsoft.directx_sdk.xapofx.fxeq_parameters - float FrequencyCenter1 - float FrequencyCenter1 -
- - -

The boost or decrease to frequencies in band 1. Must be between and

-
- - microsoft.directx_sdk.xapofx.fxeq_parameters - float Gain1 - float Gain1 -
- - -

Width of band 1. Must be between and .

-
- - microsoft.directx_sdk.xapofx.fxeq_parameters - float Bandwidth1 - float Bandwidth1 -
- - -

Center frequency in Hz for band 2. Must be between and .

-
- - microsoft.directx_sdk.xapofx.fxeq_parameters - float FrequencyCenter2 - float FrequencyCenter2 -
- - -

The boost or decrease to frequencies in band 2. Must be between and

-
- - microsoft.directx_sdk.xapofx.fxeq_parameters - float Gain2 - float Gain2 -
- - -

Width of band 2. Must be between and .

-
- - microsoft.directx_sdk.xapofx.fxeq_parameters - float Bandwidth2 - float Bandwidth2 -
- - -

Center frequency in Hz for band 3. Must be between and .

-
- - microsoft.directx_sdk.xapofx.fxeq_parameters - float FrequencyCenter3 - float FrequencyCenter3 -
- - -

The boost or decrease to frequencies in band 3. Must be between and

-
- - microsoft.directx_sdk.xapofx.fxeq_parameters - float Gain3 - float Gain3 -
- - -

Width of band 3. Must be between and .

-
- - microsoft.directx_sdk.xapofx.fxeq_parameters - float Bandwidth3 - float Bandwidth3 -
- - -

Parameters for use with the FXMasteringLimiter XAPO.

-
- - microsoft.directx_sdk.xapofx.fxmasteringlimiter_parameters - FXMASTERINGLIMITER_PARAMETERS - FXMASTERINGLIMITER_PARAMETERS -
- - - No documentation. - - - microsoft.directx_sdk.xapofx.fxmasteringlimiter_parameters - unsigned int Release - unsigned int Release - - - - No documentation. - - - microsoft.directx_sdk.xapofx.fxmasteringlimiter_parameters - unsigned int Loudness - unsigned int Loudness - - - -

Parameters for use with the FXReverb XAPO.

-
- - microsoft.directx_sdk.xapofx.fxreverb_parameters - FXREVERB_PARAMETERS - FXREVERB_PARAMETERS -
- - -

Controls the character of the individual wall reflections. Set to minimum value to simulate a hard flat surface and to maximum value to simulate a diffuse surface.Value must be between and .

-
- - microsoft.directx_sdk.xapofx.fxreverb_parameters - float Diffusion - float Diffusion -
- - -

Size of the room. Value must be between and . Note that physical meaning of RoomSize is subjective and not tied to any particular units. A smaller value will result in reflections reaching the listener more quickly while reflections will take longer with larger values for RoomSize.

-
- - microsoft.directx_sdk.xapofx.fxreverb_parameters - float RoomSize - float RoomSize -
- - -

The interface for an Audio Processing Object which be used in an XAudio2 effect chain.

-
- - microsoft.directx_sdk.ixapo.ixapo - IXAPO - IXAPO -
- - - Returns the registration properties of an XAPO. - - a structure containing the registration properties the XAPO was created with; use XAPOFree to free the structure. - HRESULT IXAPO::GetRegistrationProperties([Out] XAPO_REGISTRATION_PROPERTIES** ppRegistrationProperties) - - - - Queries if a specific input format is supported for a given output format. - - Output format. - Input format to check for being supported. - If not NULL, and the input format is not supported for the given output format, ppSupportedInputFormat returns a pointer to the closest input format that is supported. Use {{XAPOFree}} to free the returned structure. - No documentation. - HRESULT IXAPO::IsInputFormatSupported([None] const WAVEFORMATEX* pOutputFormat,[None] const WAVEFORMATEX* pRequestedInputFormat,[Out, Optional] WAVEFORMATEX** ppSupportedInputFormat) - - - - Queries if a specific output format is supported for a given input format. - - [in] Input format. - [in] Output format to check for being supported. - [out] If not NULL and the output format is not supported for the given input format, ppSupportedOutputFormat returns a pointer to the closest output format that is supported. Use {{XAPOFree}} to free the returned structure. - No documentation. - HRESULT IXAPO::IsOutputFormatSupported([None] const WAVEFORMATEX* pInputFormat,[None] const WAVEFORMATEX* pRequestedOutputFormat,[Out, Optional] WAVEFORMATEX** ppSupportedOutputFormat) - - - - Performs any effect-specific initialization. - - Effect-specific initialization parameters, may be NULL if DataByteSize is 0. - No documentation. - HRESULT IXAPO::Initialize([In, Buffer, Optional] const void* pData,[None] UINT32 DataByteSize) - - - - Resets variables dependent on frame history. - - void IXAPO::Reset() - - - - Called by XAudio2 to lock the input and output configurations of an XAPO allowing it to - do any final initialization before {{Process}} is called on the realtime thread. - - Array of input structures.pInputLockedParameters may be NULL if InputLockedParameterCount is 0, otherwise it must have InputLockedParameterCount elements. - Array of output structures.pOutputLockedParameters may be NULL if OutputLockedParameterCount is 0, otherwise it must have OutputLockedParameterCount elements. - No documentation. - HRESULT IXAPO::LockForProcess([None] UINT32 InputLockedParameterCount,[In, Buffer, Optional] const XAPO_LOCKFORPROCESS_BUFFER_PARAMETERS* pInputLockedParameters,[None] UINT32 OutputLockedParameterCount,[In, Buffer, Optional] const XAPO_LOCKFORPROCESS_BUFFER_PARAMETERS* pOutputLockedParameters) - - - - Deallocates variables that were allocated with the {{LockForProcess}} method. - - void IXAPO::UnlockForProcess() - - - - Runs the XAPO's digital signal processing (DSP) code on the given input and output buffers. - - [in] Input array of structures. - [in, out] Output array of structures. On input, the value of .ValidFrameCount indicates the number of frames that the XAPO should write to the output buffer. On output, the value of .ValidFrameCount indicates the actual number of frames written. - TRUE to process normally; FALSE to process thru. See Remarks for additional information. - void IXAPO::Process([None] UINT32 InputProcessParameterCount,[In, Buffer, Optional] const XAPO_PROCESS_BUFFER_PARAMETERS* pInputProcessParameters,[None] UINT32 OutputProcessParameterCount,[InOut, Buffer, Optional] XAPO_PROCESS_BUFFER_PARAMETERS* pOutputProcessParameters,[None] BOOL IsEnabled) - - - - Returns the number of input frames required to generate the given number of output frames. - - The number of output frames desired. - No documentation. - UINT32 IXAPO::CalcInputFrames([None] UINT32 OutputFrameCount) - - - - Returns the number of output frames that will be generated from a given number of input frames. - - The number of input frames. - No documentation. - UINT32 IXAPO::CalcOutputFrames([None] UINT32 InputFrameCount) - - - -

The interface for an Audio Processing Object which be used in an XAudio2 effect chain.

-
- - microsoft.directx_sdk.ixapo.ixapo - IXAPO - IXAPO - - Native Accessor to an existing AudioProcessor 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. - - - - -

Returns the registration properties of an XAPO.

-
-

Receives a reference to a structure containing the registration properties the XAPO was created with; use XAPOFree to free the structure.

-

Returns if successful; returns an error code otherwise.

- - microsoft.directx_sdk.ixapo.ixapo.getregistrationproperties - HRESULT IXAPO::GetRegistrationProperties([Out] XAPO_REGISTRATION_PROPERTIES** ppRegistrationProperties) - IXAPO::GetRegistrationProperties -
- - -

Queries if a specific input format is supported for a given output format.

-
-

Output format.

-

Input format to check for being supported.

-

If not null, and the input format is not supported for the given output format, ppSupportedInputFormat returns a reference to the closest input format that is supported. Use XAPOFree to free the returned structure.

-

Returns if the format pair is supported. Returns XAPO_E_FORMAT_UNSUPPORTED if the format pair is not supported.

- -

The and IsInputFormatSupported methods allow an XAPO to indicate which audio formats it is capable of processing. If a requested format is not supported, the XAPO should return the closest format that it does support. The closest format should be determined based on frame rate, bit depth, and channel count, in that order of importance. The behavior of IsInputFormatSupported is allowed to change, based on the internal state of the XAPO, but its behavior should remain constant between calls to the and methods.

-
- - microsoft.directx_sdk.ixapo.ixapo.isinputformatsupported - HRESULT IXAPO::IsInputFormatSupported([In] const WAVEFORMATEX* pOutputFormat,[In] const WAVEFORMATEX* pRequestedInputFormat,[Out, Optional] WAVEFORMATEX** ppSupportedInputFormat) - IXAPO::IsInputFormatSupported -
- - -

Queries if a specific output format is supported for a given input format.

-
-

Input format.

-

Output format to check for being supported.

-

If not null and the output format is not supported for the given input format, ppSupportedOutputFormat returns a reference to the closest output format that is supported. Use XAPOFree to free the returned structure.

-

Returns if the format pair is supported. Returns XAPO_E_FORMAT_UNSUPPORTED if the format pair is not supported.

- -

The and IsOutputFormatSupported methods allow an XAPO to indicate which audio formats it is capable of processing. If a requested format is not supported, the XAPO should return the closest format that it does support. The closest format should be determined based on frame rate, bit depth, and channel count, in that order of importance. The behavior of IsOutputFormatSupported is allowed to change, based on the internal state of the XAPO, but its behavior should remain constant between calls to the and methods.

-
- - microsoft.directx_sdk.ixapo.ixapo.isoutputformatsupported - HRESULT IXAPO::IsOutputFormatSupported([In] const WAVEFORMATEX* pInputFormat,[In] const WAVEFORMATEX* pRequestedOutputFormat,[Out, Optional] WAVEFORMATEX** ppSupportedOutputFormat) - IXAPO::IsOutputFormatSupported -
- - -

Performs any effect-specific initialization.

-
-

Effect-specific initialization parameters, may be null if DataByteSize is 0.

-

Size of pData in bytes, may be 0 if pData is null.

-

Returns if successful, an error code otherwise.

- -

The contents of pData are defined by a given XAPO. Immutable parameters (constant for the lifetime of the XAPO) should be set in this method. Once initialized, an XAPO cannot be initialized again. An XAPO should be initialized before passing it to XAudio2 as part of an effect chain.

Note??XAudio2 does not call this method, it should be called by the client before passing the XAPO to XAudio2.? -
- - microsoft.directx_sdk.ixapo.ixapo.initialize - HRESULT IXAPO::Initialize([In, Buffer, Optional] const void* pData,[In] unsigned int DataByteSize) - IXAPO::Initialize -
- - -

Resets variables dependent on frame history.

-
- -

Constant and locked parameters such as the input and output formats remain unchanged. Variables set by remain unchanged.

For example, an effect with delay should zero out its delay line during this method, but should not reallocate anything as the XAPO remains locked with a constant input and output configuration.

XAudio2 only calls this method if the XAPO is locked.

This method is called from the realtime thread and should not block. -

-
- - microsoft.directx_sdk.ixapo.ixapo.reset - void IXAPO::Reset() - IXAPO::Reset -
- - -

Called by XAudio2 to lock the input and output configurations of an XAPO allowing it to do any final initialization before Process is called on the realtime thread.

-
- No documentation. - No documentation. - No documentation. - No documentation. -

Returns if successful, an error code otherwise.

- -

Once locked, the input and output configuration and any other locked parameters remain constant until UnLockForProcess is called. After an XAPO is locked, further calls to LockForProcess have no effect until the UnLockForProcess function is called.

An XAPO indicates what specific formats it supports through its implementation of the IsInputFormatSupported and IsOutputFormatSupported methods. An XAPO should assert the input and output configurations are supported and that any required effect-specific initialization is complete. The IsInputFormatSupported, IsOutputFormatSupported, and Initialize methods should be used as necessary before calling this method.

Because Process is a nonblocking method, all internal memory buffers required for Process should be allocated in LockForProcess.

Process is never called before LockForProcess returns successfully.

LockForProcess is called directly by XAudio2 and should not be called by the client code.

-
- - microsoft.directx_sdk.ixapo.ixapo.lockforprocess - HRESULT IXAPO::LockForProcess([In] unsigned int InputLockedParameterCount,[In, Buffer] const XAPO_LOCKFORPROCESS_BUFFER_PARAMETERS* pInputLockedParameters,[In] unsigned int OutputLockedParameterCount,[In, Buffer] const XAPO_LOCKFORPROCESS_BUFFER_PARAMETERS* pOutputLockedParameters) - IXAPO::LockForProcess -
- - -

Deallocates variables that were allocated with the LockForProcess method.

-
- -

Unlocking an XAPO instance allows it to be reused with different input and output formats.

-
- - microsoft.directx_sdk.ixapo.ixapo.unlockforprocess - void IXAPO::UnlockForProcess() - IXAPO::UnlockForProcess -
- - -

Runs the XAPO's digital signal processing (DSP) code on the given input and output buffers.

-
-

Number of elements in pInputProcessParameters.

Note??XAudio2 currently supports only one input stream and one output stream. ?
-

Input array of structures.

-

Number of elements in pOutputProcessParameters.

Note??XAudio2 currently supports only one input stream and one output stream. ?
-

Output array of structures. On input, the value of . ValidFrameCount indicates the number of frames that the XAPO should write to the output buffer. On output, the value of . ValidFrameCount indicates the actual number of frames written.

-

TRUE to process normally; to process thru. See Remarks for additional information.

- -

Implementations of this function should not block, as the function is called from the realtime audio processing thread.

All code that could cause a delay, such as format validation and memory allocation, should be put in the method, which is not called from the realtime audio processing thread.

For in-place processing, the pInputProcessParameters parameter will not necessarily be the same as pOutputProcessParameters. Rather, their pBuffer members will point to the same memory.

Multiple input and output buffers may be used with in-place XAPOs, though the input buffer count must equal the output buffer count. For in-place processing when multiple input and output buffers are used, the XAPO may assume the number of input buffers equals the number of output buffers.

In addition to writing to the output buffer, as appropriate, an XAPO is responsible for setting the output stream's buffer flags and valid frame count.

When IsEnabled is , the XAPO should not apply its normal processing to the given input/output buffers during. It should instead pass data from input to output with as little modification possible. Effects that perform format conversion should continue to do so. Effects must ensure transitions between normal and thru processing do not introduce discontinuities into the signal.

When writing a Process method, it is important to note XAudio2 audio data is interleaved, which means data from each channel is adjacent for a particular sample number. For example, if there was a 4-channel wave playing into an XAudio2 source voice, the audio data would be a sample of channel 0, a sample of channel 1, a sample of channel 2, a sample of channel 3, and then the next sample of channels 0, 1, 2, 3, and so on. -

-
- - microsoft.directx_sdk.ixapo.ixapo.process - void IXAPO::Process([In] unsigned int InputProcessParameterCount,[In, Buffer, Optional] const XAPO_PROCESS_BUFFER_PARAMETERS* pInputProcessParameters,[In] unsigned int OutputProcessParameterCount,[In, Buffer] XAPO_PROCESS_BUFFER_PARAMETERS* pOutputProcessParameters,[In] BOOL IsEnabled) - IXAPO::Process -
- - -

Returns the number of input frames required to generate the given number of output frames.

-
-

The number of output frames desired.

-

Returns the number of input frames required.

- -

XAudio2 calls this method to determine what size input buffer an XAPO requires to generate the given number of output frames. This method only needs to be called once while an XAPO is locked. CalcInputFrames is only called by XAudio2 if the XAPO is locked.

This function should not block, because it may be called from the realtime audio processing thread.

-
- - microsoft.directx_sdk.ixapo.ixapo.calcinputframes - unsigned int IXAPO::CalcInputFrames([In] unsigned int OutputFrameCount) - IXAPO::CalcInputFrames -
- - -

Returns the number of output frames that will be generated from a given number of input frames.

-
-

The number of input frames.

-

Returns the number of output frames that will be produced.

- -

XAudio2 calls this method to determine how large of an output buffer an XAPO will require for a certain number of input frames. CalcOutputFrames is only called by XAudio2 if the XAPO is locked.

This function should not block, because it may be called from the realtime audio processing thread.

-
- - microsoft.directx_sdk.ixapo.ixapo.calcoutputframes - unsigned int IXAPO::CalcOutputFrames([In] unsigned int InputFrameCount) - IXAPO::CalcOutputFrames -
- - - Returns the registration properties of an XAPO. - - a structure containing the registration properties the XAPO was created with; use XAPOFree to free the structure. - HRESULT IXAPO::GetRegistrationProperties([Out] XAPO_REGISTRATION_PROPERTIES** ppRegistrationProperties) - - - - Queries if a specific input format is supported for a given output format. - - Output format. - Input format to check for being supported. - If not NULL, and the input format is not supported for the given output format, ppSupportedInputFormat returns a pointer to the closest input format that is supported. Use {{XAPOFree}} to free the returned structure. - No documentation. - HRESULT IXAPO::IsInputFormatSupported([None] const WAVEFORMATEX* pOutputFormat,[None] const WAVEFORMATEX* pRequestedInputFormat,[Out, Optional] WAVEFORMATEX** ppSupportedInputFormat) - - - - Queries if a specific output format is supported for a given input format. - - [in] Input format. - [in] Output format to check for being supported. - [out] If not NULL and the output format is not supported for the given input format, ppSupportedOutputFormat returns a pointer to the closest output format that is supported. Use {{XAPOFree}} to free the returned structure. - No documentation. - HRESULT IXAPO::IsOutputFormatSupported([None] const WAVEFORMATEX* pInputFormat,[None] const WAVEFORMATEX* pRequestedOutputFormat,[Out, Optional] WAVEFORMATEX** ppSupportedOutputFormat) - - - - Performs any effect-specific initialization. - - Effect-specific initialization parameters, may be NULL if DataByteSize is 0. - No documentation. - HRESULT IXAPO::Initialize([In, Buffer, Optional] const void* pData,[None] UINT32 DataByteSize) - - - - Resets variables dependent on frame history. - - void IXAPO::Reset() - - - - Called by XAudio2 to lock the input and output configurations of an XAPO allowing it to - do any final initialization before {{Process}} is called on the realtime thread. - - Array of input structures.pInputLockedParameters may be NULL if InputLockedParameterCount is 0, otherwise it must have InputLockedParameterCount elements. - Array of output structures.pOutputLockedParameters may be NULL if OutputLockedParameterCount is 0, otherwise it must have OutputLockedParameterCount elements. - No documentation. - HRESULT IXAPO::LockForProcess([None] UINT32 InputLockedParameterCount,[In, Buffer, Optional] const XAPO_LOCKFORPROCESS_BUFFER_PARAMETERS* pInputLockedParameters,[None] UINT32 OutputLockedParameterCount,[In, Buffer, Optional] const XAPO_LOCKFORPROCESS_BUFFER_PARAMETERS* pOutputLockedParameters) - - - - Deallocates variables that were allocated with the {{LockForProcess}} method. - - void IXAPO::UnlockForProcess() - - - - Runs the XAPO's digital signal processing (DSP) code on the given input and output buffers. - - [in] Input array of structures. - [in, out] Output array of structures. On input, the value of .ValidFrameCount indicates the number of frames that the XAPO should write to the output buffer. On output, the value of .ValidFrameCount indicates the actual number of frames written. - TRUE to process normally; FALSE to process thru. See Remarks for additional information. - void IXAPO::Process([None] UINT32 InputProcessParameterCount,[In, Buffer, Optional] const XAPO_PROCESS_BUFFER_PARAMETERS* pInputProcessParameters,[None] UINT32 OutputProcessParameterCount,[InOut, Buffer, Optional] XAPO_PROCESS_BUFFER_PARAMETERS* pOutputProcessParameters,[None] BOOL IsEnabled) - - - - Returns the number of input frames required to generate the given number of output frames. - - The number of output frames desired. - No documentation. - UINT32 IXAPO::CalcInputFrames([None] UINT32 OutputFrameCount) - - - - Returns the number of output frames that will be generated from a given number of input frames. - - The number of input frames. - No documentation. - UINT32 IXAPO::CalcOutputFrames([None] UINT32 InputFrameCount) - - - -

An optional interface that allows an XAPO to use effect-specific parameters.

-
- - microsoft.directx_sdk.ixapoparameters.ixapoparameters - IXAPOParameters - IXAPOParameters -
- - - Sets effect-specific parameters. - - Effect-specific parameter block. - void IXAPOParameters::SetParameters([In, Buffer] const void* pParameters,[None] UINT32 ParameterByteSize) - - - - Gets the current values for any effect-specific parameters. - - [in, out] Receives an effect-specific parameter block. - void IXAPOParameters::GetParameters([Out, Buffer] void* pParameters,[None] UINT32 ParameterByteSize) - - - -

An optional interface that allows an XAPO to use effect-specific parameters.

-
- - microsoft.directx_sdk.ixapoparameters.ixapoparameters - IXAPOParameters - IXAPOParameters -
- - - Initializes a new instance of the 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 effect-specific parameters.

-
-

Effect-specific parameter block.

-

Size of pParameters, in bytes.

- -

The data in pParameters is completely effect-specific and determined by the implementation of the function. The data passed to SetParameters can be used to set the state of the XAPO and control the behavior of the function.

SetParameters can only be called on the real-time audio processing thread; no synchronization between SetParameters and the method is necessary. However, the method may be called from any thread as it adds in the required synchronization to deliver a copy (asynchronously) of the parameters to SetParameters on the real-time thread; no synchronization between and the method is necessary.

-
- - microsoft.directx_sdk.ixapoparameters.ixapoparameters.setparameters - void IXAPOParameters::SetParameters([In, Buffer] const void* pParameters,[In] unsigned int ParameterByteSize) - IXAPOParameters::SetParameters -
- - -

Gets the current values for any effect-specific parameters.

-
-

Receives an effect-specific parameter block.

-

Size of pParameters, in bytes.

- -

The data in pParameters is completely effect-specific and determined by the implementation of the function. The data returned in pParameters can be used to provide information about the current state of the XAPO.

Unlike SetParameters, XAudio2 does not call this method on the realtime audio processing thread. Thus, the XAPO must protect variables shared with or using appropriate synchronization. The CXAPOParametersBase class is an implementation of and its implementation of GetParameters efficiently handles this synchronization for the user.

XAudio2 calls this method from the method.

This method may block and should never be called from the realtime audio processing thread instead get the current parameters from CXAPOParametersBase::BeginProcess.

-
- - microsoft.directx_sdk.ixapoparameters.ixapoparameters.getparameters - void IXAPOParameters::GetParameters([Out, Buffer] void* pParameters,[In] unsigned int ParameterByteSize) - IXAPOParameters::GetParameters -
- - -

Defines stream buffer parameters that may change from one call to the next. Used with the Process method.

-
- -

Although the format and maximum size values of a particular stream buffer are constant, as defined by the structure, the actual memory address of the stream buffer is permitted to change. For constant-bit-rate (CBR) XAPOs, ValidFrameCount is constant and is always equal to the corresponding .MaxFrameCount for this buffer.

Note??Only constant-bit-rate XAPOs are currently supported.? -
- - microsoft.directx_sdk.xapo.xapo_process_buffer_parameters - XAPO_PROCESS_BUFFER_PARAMETERS - XAPO_PROCESS_BUFFER_PARAMETERS -
- - - No documentation. - - - microsoft.directx_sdk.xapo.xapo_process_buffer_parameters - void* pBuffer - void pBuffer - - - - No documentation. - - - microsoft.directx_sdk.xapo.xapo_process_buffer_parameters - XAPO_BUFFER_FLAGS BufferFlags - XAPO_BUFFER_FLAGS BufferFlags - - - - No documentation. - - - microsoft.directx_sdk.xapo.xapo_process_buffer_parameters - unsigned int ValidFrameCount - unsigned int ValidFrameCount - - - -

Defines stream buffer parameters that remain constant while an XAPO is locked. Used with the method.

-
- -

The byte size of the respective stream buffer must be at least MaxFrameCount ? (pFormat->nBlockAlign) bytes.

-
- - microsoft.directx_sdk.xapo.xapo_lockforprocess_parameters - XAPO_LOCKFORPROCESS_BUFFER_PARAMETERS - XAPO_LOCKFORPROCESS_BUFFER_PARAMETERS -
- - - No documentation. - - - microsoft.directx_sdk.xapo.xapo_lockforprocess_parameters - const WAVEFORMATEX* pFormat - WAVEFORMATEX pFormat - - - - No documentation. - - - microsoft.directx_sdk.xapo.xapo_lockforprocess_parameters - unsigned int MaxFrameCount - unsigned int MaxFrameCount - - - - Gets or sets the waveformat. - - The format. - - - -

Describes general characteristics of an XAPO. Used with , CXAPOParametersBase::CXAPOParametersBase, and CXAPOBase::CXAPOBase.

-
- - microsoft.directx_sdk.xapo.xapo_registration_properties - XAPO_REGISTRATION_PROPERTIES - XAPO_REGISTRATION_PROPERTIES -
- - - No documentation. - - - microsoft.directx_sdk.xapo.xapo_registration_properties - GUID clsid - GUID clsid - - - - No documentation. - - - microsoft.directx_sdk.xapo.xapo_registration_properties - wchar_t FriendlyName[256] - wchar_t FriendlyName - - - - No documentation. - - - microsoft.directx_sdk.xapo.xapo_registration_properties - wchar_t CopyrightInfo[256] - wchar_t CopyrightInfo - - - - No documentation. - - - microsoft.directx_sdk.xapo.xapo_registration_properties - unsigned int MajorVersion - unsigned int MajorVersion - - - - No documentation. - - - microsoft.directx_sdk.xapo.xapo_registration_properties - unsigned int MinorVersion - unsigned int MinorVersion - - - - No documentation. - - - microsoft.directx_sdk.xapo.xapo_registration_properties - XAPO_PROPERTY_TYPE Flags - XAPO_PROPERTY_TYPE Flags - - - - No documentation. - - - microsoft.directx_sdk.xapo.xapo_registration_properties - unsigned int MinInputBufferCount - unsigned int MinInputBufferCount - - - - No documentation. - - - microsoft.directx_sdk.xapo.xapo_registration_properties - unsigned int MaxInputBufferCount - unsigned int MaxInputBufferCount - - - - No documentation. - - - microsoft.directx_sdk.xapo.xapo_registration_properties - unsigned int MinOutputBufferCount - unsigned int MinOutputBufferCount - - - - No documentation. - - - microsoft.directx_sdk.xapo.xapo_registration_properties - unsigned int MaxOutputBufferCount - unsigned int MaxOutputBufferCount - - - - AudioProcessor interface for XAudio27. - - - - - Base AudioProcessor class that implements methods from . This class is - also providing its parameter through a generic. - - type of the parameter for this AudioProcessor - - - - Return parameters - - - - - Gets the input format locked. - - The input format locked. - - - - Gets the output format locked. - - The output format locked. - - - - Gets the max frame count locked. - - The max frame count locked. - - - - Returns the registration properties of an XAPO. - - a structure containing the registration properties the XAPO was created with; use XAPOFree to free the structure. - HRESULT IXAPO::GetRegistrationProperties([Out] XAPO_REGISTRATION_PROPERTIES** ppRegistrationProperties) - - - - Queries if a specific input format is supported for a given output format. - - Output format. - Input format to check for being supported. - If not NULL, and the input format is not supported for the given output format, ppSupportedInputFormat returns a pointer to the closest input format that is supported. Use {{XAPOFree}} to free the returned structure. - No documentation. - HRESULT IXAPO::IsInputFormatSupported([None] const WAVEFORMATEX* pOutputFormat,[None] const WAVEFORMATEX* pRequestedInputFormat,[Out, Optional] WAVEFORMATEX** ppSupportedInputFormat) - - - - Queries if a specific output format is supported for a given input format. - - [in] Input format. - [in] Output format to check for being supported. - [out] If not NULL and the output format is not supported for the given input format, ppSupportedOutputFormat returns a pointer to the closest output format that is supported. Use {{XAPOFree}} to free the returned structure. - No documentation. - HRESULT IXAPO::IsOutputFormatSupported([None] const WAVEFORMATEX* pInputFormat,[None] const WAVEFORMATEX* pRequestedOutputFormat,[Out, Optional] WAVEFORMATEX** ppSupportedOutputFormat) - - - - Performs any effect-specific initialization. - - Effect-specific initialization parameters, may be NULL if DataByteSize is 0. - No documentation. - HRESULT IXAPO::Initialize([In, Buffer, Optional] const void* pData,[None] UINT32 DataByteSize) - - - - Resets variables dependent on frame history. - - void IXAPO::Reset() - - - - Called by XAudio2 to lock the input and output configurations of an XAPO allowing it to - do any final initialization before {{Process}} is called on the realtime thread. - - Array of input structures.pInputLockedParameters may be NULL if InputLockedParameterCount is 0, otherwise it must have InputLockedParameterCount elements. - Array of output structures.pOutputLockedParameters may be NULL if OutputLockedParameterCount is 0, otherwise it must have OutputLockedParameterCount elements. - No documentation. - HRESULT IXAPO::LockForProcess([None] UINT32 InputLockedParameterCount,[In, Buffer, Optional] const XAPO_LOCKFORPROCESS_BUFFER_PARAMETERS* pInputLockedParameters,[None] UINT32 OutputLockedParameterCount,[In, Buffer, Optional] const XAPO_LOCKFORPROCESS_BUFFER_PARAMETERS* pOutputLockedParameters) - - - - Deallocates variables that were allocated with the {{LockForProcess}} method. - - void IXAPO::UnlockForProcess() - - - - Runs the XAPO's digital signal processing (DSP) code on the given input and output buffers. - - [in] Input array of structures. - [in, out] Output array of structures. On input, the value of .ValidFrameCount indicates the number of frames that the XAPO should write to the output buffer. On output, the value of .ValidFrameCount indicates the actual number of frames written. - TRUE to process normally; FALSE to process thru. See Remarks for additional information. - void IXAPO::Process([None] UINT32 InputProcessParameterCount,[In, Buffer, Optional] const XAPO_PROCESS_BUFFER_PARAMETERS* pInputProcessParameters,[None] UINT32 OutputProcessParameterCount,[InOut, Buffer, Optional] XAPO_PROCESS_BUFFER_PARAMETERS* pOutputProcessParameters,[None] BOOL IsEnabled) - - - - Returns the number of input frames required to generate the given number of output frames. - - The number of output frames desired. - No documentation. - UINT32 IXAPO::CalcInputFrames([None] UINT32 OutputFrameCount) - - - - Returns the number of output frames that will be generated from a given number of input frames. - - The number of input frames. - No documentation. - UINT32 IXAPO::CalcOutputFrames([None] UINT32 InputFrameCount) - - - - Sets effect-specific parameters. - - Effect-specific parameter block. - void IXAPOParameters::SetParameters([In, Buffer] const void* pParameters,[None] UINT32 ParameterByteSize) - - - - Gets the current values for any effect-specific parameters. - - [in, out] Receives an effect-specific parameter block. - void IXAPOParameters::GetParameters([Out, Buffer] void* pParameters,[None] UINT32 ParameterByteSize) - - - - Implements this class to call an existing unmanaged AudioProcessor which supports parameter. - - the parameter type of this AudioProcessor - - - - Initializes a new instance of the class. - - The device. - - - - Update the Native Pointer. Rebuild ParameterProviderNative. - - - - - Get or Set the parameters for this AudioProcessor - - - - - Internal AudioProcessorShadow - - IXAPO GUID - - - - Return a pointer to the unmanaged version of this callback. - - The callback. - A pointer to a shadow c++ callback - - - HRESULT IXAPO::GetRegistrationProperties([Out] XAPO_REGISTRATION_PROPERTIES** ppRegistrationProperties) - - - HRESULT IXAPO::IsInputFormatSupported([None] const WAVEFORMATEX* pOutputFormat,[None] const WAVEFORMATEX* pRequestedInputFormat,[Out, Optional] WAVEFORMATEX** ppSupportedInputFormat) - - - HRESULT IXAPO::IsOutputFormatSupported([None] const WAVEFORMATEX* pInputFormat,[None] const WAVEFORMATEX* pRequestedOutputFormat,[Out, Optional] WAVEFORMATEX** ppSupportedOutputFormat) - - - HRESULT IXAPO::Initialize([In, Buffer, Optional] const void* pData,[None] UINT32 DataByteSize) - - - void IXAPO::Reset() - - - HRESULT IXAPO::LockForProcess([None] UINT32 InputLockedParameterCount,[In, Buffer, Optional] const XAPO_LOCKFORPROCESS_BUFFER_PARAMETERS* pInputLockedParameters,[None] UINT32 OutputLockedParameterCount,[In, Buffer, Optional] const XAPO_LOCKFORPROCESS_BUFFER_PARAMETERS* pOutputLockedParameters) - - - - Deallocates variables that were allocated with the {{LockForProcess}} method. - - void IXAPO::UnlockForProcess() - - - void IXAPO::Process([None] UINT32 InputProcessParameterCount,[In, Buffer, Optional] const XAPO_PROCESS_BUFFER_PARAMETERS* pInputProcessParameters,[None] UINT32 OutputProcessParameterCount,[InOut, Buffer, Optional] XAPO_PROCESS_BUFFER_PARAMETERS* pOutputProcessParameters,[None] BOOL IsEnabled) - - - - Returns the number of input frames required to generate the given number of output frames. - - This pointer - The number of output frames desired. - No documentation. - UINT32 IXAPO::CalcInputFrames([None] UINT32 OutputFrameCount) - - - - Returns the number of output frames that will be generated from a given number of input frames. - - This Pointer - The number of input frames. - No documentation. - UINT32 IXAPO::CalcOutputFrames([None] UINT32 InputFrameCount) - - - - AudioProcessor interface for XAudio27. - - - - - Internal AudioProcessorShadow - - IXAPOParameters - - - - Return a pointer to the unmanaged version of this callback. - - The callback. - A pointer to a shadow c++ callback - - - - Sets effect-specific parameters. - - This pointer - Effect-specific parameter block. - size of the parameters - void IXAPOParameters::SetParameters([In, Buffer] const void* pParameters,[None] UINT32 ParameterByteSize) - - - - Gets the current values for any effect-specific parameters. - - This pointer - [in, out] Receives an effect-specific parameter block. - size of the parameters - void IXAPOParameters::GetParameters([Out, Buffer] void* pParameters,[None] UINT32 ParameterByteSize) - -
-
diff --git a/Tractor_VS/Game1/bin/Windows/x86/Debug/SharpDX.XInput.dll b/Tractor_VS/Game1/bin/Windows/x86/Debug/SharpDX.XInput.dll deleted file mode 100644 index ef5ba30..0000000 Binary files a/Tractor_VS/Game1/bin/Windows/x86/Debug/SharpDX.XInput.dll and /dev/null differ diff --git a/Tractor_VS/Game1/bin/Windows/x86/Debug/SharpDX.XInput.xml b/Tractor_VS/Game1/bin/Windows/x86/Debug/SharpDX.XInput.xml deleted file mode 100644 index 952e142..0000000 --- a/Tractor_VS/Game1/bin/Windows/x86/Debug/SharpDX.XInput.xml +++ /dev/null @@ -1,1356 +0,0 @@ - - - - SharpDX.XInput - - - - - The assembly provides managed XInput API. - - hh405053 - XInput - XInput - - - - A XInput controller. - - - - - Initializes a new instance of the class. - - Index of the user. - - - - Gets the associated with this controller. - - The index of the user. - - - - Gets the battery information. - - Type of the battery device. - - unsigned int XInputGetBatteryInformation([In] XUSER_INDEX dwUserIndex,[In] BATTERY_DEVTYPE devType,[Out] XINPUT_BATTERY_INFORMATION* pBatteryInformation) - - - - Gets the capabilities. - - Type of the device query. - - unsigned int XInputGetCapabilities([In] XUSER_INDEX dwUserIndex,[In] XINPUT_DEVQUERYTYPE dwFlags,[Out] XINPUT_CAPABILITIES* pCapabilities) - - - - Gets the capabilities. - - Type of the device query. - The capabilities of this controller. - true if the controller is connected, false otherwise. - - - - Gets the keystroke. - - The flag. - The keystroke. - - unsigned int XInputGetKeystroke([In] XUSER_INDEX dwUserIndex,[In] unsigned int dwReserved,[Out] XINPUT_KEYSTROKE* pKeystroke) - - - - Gets the state. - - The state of this controller. - - - - Gets the state. - - The state of this controller. - true if the controller is connected, false otherwise. - - - - Sets the reporting. - - if set to true [enable reporting]. - - - - Sets the vibration. - - The vibration. - - - - - Gets a value indicating whether this instance is connected. - - - true if this instance is connected; otherwise, false. - - - - -

Describes the current state of the Xbox 360 Controller.

-
- -

This structure is used by the structure when polling for changes in the state of the controller.

The specific mapping of button to game function varies depending on the game type.

The constant XINPUT_GAMEPAD_TRIGGER_THRESHOLD may be used as the value which bLeftTrigger and bRightTrigger must be greater than to register as pressed. This is optional, but often desirable. Xbox 360 Controller buttons do not manifest crosstalk. -

-
- - microsoft.directx_sdk.reference.xinput_gamepad - XINPUT_GAMEPAD - XINPUT_GAMEPAD -
- - Constant TriggerThreshold. - XINPUT_GAMEPAD_TRIGGER_THRESHOLD - - - Constant LeftThumbDeadZone. - XINPUT_GAMEPAD_LEFT_THUMB_DEADZONE - - - Constant RightThumbDeadZone. - XINPUT_GAMEPAD_RIGHT_THUMB_DEADZONE - - - -

Bitmask of the device digital buttons, as follows. A set bit indicates that the corresponding button is pressed.

Device buttonBitmask
0x0001
0x0002
0x0004
0x0008
0x0010
0x0020
0x0040
0x0080
0x0100
0x0200
0x1000
0x2000
0x4000
0x8000

?

Bits that are set but not defined above are reserved, and their state is undefined.

-
- - microsoft.directx_sdk.reference.xinput_gamepad - XINPUT_GAMEPAD_BUTTON_FLAGS wButtons - XINPUT_GAMEPAD_BUTTON_FLAGS wButtons -
- - -

The current value of the left trigger analog control. The value is between 0 and 255.

-
- - microsoft.directx_sdk.reference.xinput_gamepad - unsigned char bLeftTrigger - unsigned char bLeftTrigger -
- - -

The current value of the right trigger analog control. The value is between 0 and 255.

-
- - microsoft.directx_sdk.reference.xinput_gamepad - unsigned char bRightTrigger - unsigned char bRightTrigger -
- - -

Left thumbstick x-axis value. Each of the thumbstick axis members is a signed value between -32768 and 32767 describing the position of the thumbstick. A value of 0 is centered. Negative values signify down or to the left. Positive values signify up or to the right. The constants or can be used as a positive and negative value to filter a thumbstick input. -

-
- - microsoft.directx_sdk.reference.xinput_gamepad - short sThumbLX - short sThumbLX -
- - -

Left thumbstick y-axis value. The value is between -32768 and 32767.

-
- - microsoft.directx_sdk.reference.xinput_gamepad - short sThumbLY - short sThumbLY -
- - -

Right thumbstick x-axis value. The value is between -32768 and 32767.

-
- - microsoft.directx_sdk.reference.xinput_gamepad - short sThumbRX - short sThumbRX -
- - -

Right thumbstick y-axis value. The value is between -32768 and 32767.

-
- - microsoft.directx_sdk.reference.xinput_gamepad - short sThumbRY - short sThumbRY -
- - -

Retrieves the battery type and charge status of a wireless controller.

-
- - microsoft.directx_sdk.reference.xinputgetbatteryinformation - BATTERY_DEVTYPE - BATTERY_DEVTYPE -
- - -

Index of the signed-in gamer associated with the device. Can be a value in the range 0?XUSER_MAX_COUNT ? 1.

-
- - microsoft.directx_sdk.reference.xinputgetbatteryinformation - BATTERY_DEVTYPE_GAMEPAD - BATTERY_DEVTYPE_GAMEPAD -
- - -

Specifies which device associated with this user index should be queried. Must be or .

-
- - microsoft.directx_sdk.reference.xinputgetbatteryinformation - BATTERY_DEVTYPE_HEADSET - BATTERY_DEVTYPE_HEADSET -
- - - No documentation. - - - BATTERY_LEVEL - BATTERY_LEVEL - - - - No documentation. - - - BATTERY_LEVEL_EMPTY - BATTERY_LEVEL_EMPTY - - - - No documentation. - - - BATTERY_LEVEL_LOW - BATTERY_LEVEL_LOW - - - - No documentation. - - - BATTERY_LEVEL_MEDIUM - BATTERY_LEVEL_MEDIUM - - - - No documentation. - - - BATTERY_LEVEL_FULL - BATTERY_LEVEL_FULL - - - -

Contains information on battery type and charge state.

-
- - microsoft.directx_sdk.reference.xinput_battery_information - BATTERY_TYPE - BATTERY_TYPE -
- - -

The type of battery. BatteryType will be one of the following values.

ValueDescription
The device is not connected.?
The device is a wired device and does not have a battery.?
The device has an alkaline battery.?
The device has a nickel metal hydride battery.?
The device has an unknown battery type.?

?

-
- - microsoft.directx_sdk.reference.xinput_battery_information - BATTERY_TYPE_DISCONNECTED - BATTERY_TYPE_DISCONNECTED -
- - -

The charge state of the battery. This value is only valid for wireless devices with a known battery type. BatteryLevel will be one of the following values.

Value

?

-
- - microsoft.directx_sdk.reference.xinput_battery_information - BATTERY_TYPE_WIRED - BATTERY_TYPE_WIRED -
- - - No documentation. - - - microsoft.directx_sdk.reference.xinput_battery_information - BATTERY_TYPE_ALKALINE - BATTERY_TYPE_ALKALINE - - - - No documentation. - - - microsoft.directx_sdk.reference.xinput_battery_information - BATTERY_TYPE_NIMH - BATTERY_TYPE_NIMH - - - - No documentation. - - - microsoft.directx_sdk.reference.xinput_battery_information - BATTERY_TYPE_UNKNOWN - BATTERY_TYPE_UNKNOWN - - - - No documentation. - - - XINPUT_CAPS_FLAGS - XINPUT_CAPS_FLAGS - - - - No documentation. - - - XINPUT_CAPS_VOICE_SUPPORTED - XINPUT_CAPS_VOICE_SUPPORTED - - - - No documentation. - - - XINPUT_CAPS_FFB_SUPPORTED - XINPUT_CAPS_FFB_SUPPORTED - - - - No documentation. - - - XINPUT_CAPS_WIRELESS - XINPUT_CAPS_WIRELESS - - - - No documentation. - - - XINPUT_CAPS_PMD_SUPPORTED - XINPUT_CAPS_PMD_SUPPORTED - - - - No documentation. - - - XINPUT_CAPS_NO_NAVIGATION - XINPUT_CAPS_NO_NAVIGATION - - - - None. - - - None - None - - - - No documentation. - - - XINPUT_DEVQUERYTYPE - XINPUT_DEVQUERYTYPE - - - - No documentation. - - - XINPUT_FLAG_GAMEPAD - XINPUT_FLAG_GAMEPAD - - - - No documentation. - - - XINPUT_FLAG_ANY - XINPUT_FLAG_ANY - - - -

A table of controller subtypes available in XInput.

-
- - hh405050 - XINPUT_DEVSUBTYPE - XINPUT_DEVSUBTYPE -
- - - No documentation. - - - hh405050 - XINPUT_DEVSUBTYPE_GAMEPAD - XINPUT_DEVSUBTYPE_GAMEPAD - - - - No documentation. - - - hh405050 - XINPUT_DEVSUBTYPE_UNKNOWN - XINPUT_DEVSUBTYPE_UNKNOWN - - - - No documentation. - - - hh405050 - XINPUT_DEVSUBTYPE_WHEEL - XINPUT_DEVSUBTYPE_WHEEL - - - - No documentation. - - - hh405050 - XINPUT_DEVSUBTYPE_ARCADE_STICK - XINPUT_DEVSUBTYPE_ARCADE_STICK - - - - No documentation. - - - hh405050 - XINPUT_DEVSUBTYPE_FLIGHT_STICK - XINPUT_DEVSUBTYPE_FLIGHT_STICK - - - - No documentation. - - - hh405050 - XINPUT_DEVSUBTYPE_DANCE_PAD - XINPUT_DEVSUBTYPE_DANCE_PAD - - - - No documentation. - - - hh405050 - XINPUT_DEVSUBTYPE_GUITAR - XINPUT_DEVSUBTYPE_GUITAR - - - - No documentation. - - - hh405050 - XINPUT_DEVSUBTYPE_GUITAR_ALTERNATE - XINPUT_DEVSUBTYPE_GUITAR_ALTERNATE - - - - No documentation. - - - hh405050 - XINPUT_DEVSUBTYPE_DRUM_KIT - XINPUT_DEVSUBTYPE_DRUM_KIT - - - - No documentation. - - - hh405050 - XINPUT_DEVSUBTYPE_GUITAR_BASS - XINPUT_DEVSUBTYPE_GUITAR_BASS - - - - No documentation. - - - hh405050 - XINPUT_DEVSUBTYPE_ARCADE_PAD - XINPUT_DEVSUBTYPE_ARCADE_PAD - - - -

Describes the capabilities of a connected controller. The function returns .

-
- -

returns to indicate the characteristics and available functionality of a specified controller.

sets the structure members to indicate which inputs the device supports. For binary state controls, such as digital buttons, the corresponding bit reflects whether or not the control is supported by the device. For proportional controls, such as thumbsticks, the value indicates the resolution for that control. Some number of the least significant bits may not be set, indicating that the control does not provide resolution to that level.

The SubType member indicates the specific subtype of controller present. Games may detect the controller subtype and tune their handling of controller input or output based on subtypes that are well suited to their game genre. For example, a car racing game might check for the presence of a wheel controller to provide finer control of the car being driven. However, titles must not disable or ignore a device based on its subtype. Subtypes not recognized by the game or for which the game is not specifically tuned should be treated as a standard Xbox 360 Controller ().

Older XUSB Windows drivers report incomplete capabilities information, particularly for wireless devices. The latest XUSB Windows driver provides full support for wired and wireless devices, and more complete and accurate capabilties flags.

-
- - microsoft.directx_sdk.reference.xinput_capabilities - XINPUT_DEVTYPE - XINPUT_DEVTYPE -
- - - No documentation. - - - microsoft.directx_sdk.reference.xinput_capabilities - XINPUT_DEVTYPE_GAMEPAD - XINPUT_DEVTYPE_GAMEPAD - - - - No documentation. - - - XINPUT_GAMEPAD_BUTTON_FLAGS - XINPUT_GAMEPAD_BUTTON_FLAGS - - - - No documentation. - - - XINPUT_GAMEPAD_DPAD_UP - XINPUT_GAMEPAD_DPAD_UP - - - - No documentation. - - - XINPUT_GAMEPAD_DPAD_DOWN - XINPUT_GAMEPAD_DPAD_DOWN - - - - No documentation. - - - XINPUT_GAMEPAD_DPAD_LEFT - XINPUT_GAMEPAD_DPAD_LEFT - - - - No documentation. - - - XINPUT_GAMEPAD_DPAD_RIGHT - XINPUT_GAMEPAD_DPAD_RIGHT - - - - No documentation. - - - XINPUT_GAMEPAD_START - XINPUT_GAMEPAD_START - - - - No documentation. - - - XINPUT_GAMEPAD_BACK - XINPUT_GAMEPAD_BACK - - - - No documentation. - - - XINPUT_GAMEPAD_LEFT_THUMB - XINPUT_GAMEPAD_LEFT_THUMB - - - - No documentation. - - - XINPUT_GAMEPAD_RIGHT_THUMB - XINPUT_GAMEPAD_RIGHT_THUMB - - - - No documentation. - - - XINPUT_GAMEPAD_LEFT_SHOULDER - XINPUT_GAMEPAD_LEFT_SHOULDER - - - - No documentation. - - - XINPUT_GAMEPAD_RIGHT_SHOULDER - XINPUT_GAMEPAD_RIGHT_SHOULDER - - - - No documentation. - - - XINPUT_GAMEPAD_A - XINPUT_GAMEPAD_A - - - - No documentation. - - - XINPUT_GAMEPAD_B - XINPUT_GAMEPAD_B - - - - No documentation. - - - XINPUT_GAMEPAD_X - XINPUT_GAMEPAD_X - - - - No documentation. - - - XINPUT_GAMEPAD_Y - XINPUT_GAMEPAD_Y - - - - None. - - - None - None - - - - No documentation. - - - XINPUT_GAMEPAD_KEY_CODE - XINPUT_GAMEPAD_KEY_CODE - - - - No documentation. - - - VK_PAD_A - VK_PAD_A - - - - No documentation. - - - VK_PAD_B - VK_PAD_B - - - - No documentation. - - - VK_PAD_X - VK_PAD_X - - - - No documentation. - - - VK_PAD_Y - VK_PAD_Y - - - - No documentation. - - - VK_PAD_RSHOULDER - VK_PAD_RSHOULDER - - - - No documentation. - - - VK_PAD_LSHOULDER - VK_PAD_LSHOULDER - - - - No documentation. - - - VK_PAD_LTRIGGER - VK_PAD_LTRIGGER - - - - No documentation. - - - VK_PAD_RTRIGGER - VK_PAD_RTRIGGER - - - - No documentation. - - - VK_PAD_DPAD_UP - VK_PAD_DPAD_UP - - - - No documentation. - - - VK_PAD_DPAD_DOWN - VK_PAD_DPAD_DOWN - - - - No documentation. - - - VK_PAD_DPAD_LEFT - VK_PAD_DPAD_LEFT - - - - No documentation. - - - VK_PAD_DPAD_RIGHT - VK_PAD_DPAD_RIGHT - - - - No documentation. - - - VK_PAD_START - VK_PAD_START - - - - No documentation. - - - VK_PAD_BACK - VK_PAD_BACK - - - - No documentation. - - - VK_PAD_LTHUMB_PRESS - VK_PAD_LTHUMB_PRESS - - - - No documentation. - - - VK_PAD_RTHUMB_PRESS - VK_PAD_RTHUMB_PRESS - - - - No documentation. - - - VK_PAD_LTHUMB_UP - VK_PAD_LTHUMB_UP - - - - No documentation. - - - VK_PAD_LTHUMB_DOWN - VK_PAD_LTHUMB_DOWN - - - - No documentation. - - - VK_PAD_LTHUMB_RIGHT - VK_PAD_LTHUMB_RIGHT - - - - No documentation. - - - VK_PAD_LTHUMB_LEFT - VK_PAD_LTHUMB_LEFT - - - - No documentation. - - - VK_PAD_LTHUMB_UPLEFT - VK_PAD_LTHUMB_UPLEFT - - - - No documentation. - - - VK_PAD_LTHUMB_UPRIGHT - VK_PAD_LTHUMB_UPRIGHT - - - - No documentation. - - - VK_PAD_LTHUMB_DOWNRIGHT - VK_PAD_LTHUMB_DOWNRIGHT - - - - No documentation. - - - VK_PAD_LTHUMB_DOWNLEFT - VK_PAD_LTHUMB_DOWNLEFT - - - - No documentation. - - - VK_PAD_RTHUMB_UP - VK_PAD_RTHUMB_UP - - - - No documentation. - - - VK_PAD_RTHUMB_DOWN - VK_PAD_RTHUMB_DOWN - - - - No documentation. - - - VK_PAD_RTHUMB_RIGHT - VK_PAD_RTHUMB_RIGHT - - - - No documentation. - - - VK_PAD_RTHUMB_LEFT - VK_PAD_RTHUMB_LEFT - - - - No documentation. - - - VK_PAD_RTHUMB_UPLEFT - VK_PAD_RTHUMB_UPLEFT - - - - No documentation. - - - VK_PAD_RTHUMB_UPRIGHT - VK_PAD_RTHUMB_UPRIGHT - - - - No documentation. - - - VK_PAD_RTHUMB_DOWNRIGHT - VK_PAD_RTHUMB_DOWNRIGHT - - - - No documentation. - - - VK_PAD_RTHUMB_DOWNLEFT - VK_PAD_RTHUMB_DOWNLEFT - - - - None. - - - None - None - - - - No documentation. - - - XINPUT_KEYSTROKE_FLAGS - XINPUT_KEYSTROKE_FLAGS - - - - No documentation. - - - XINPUT_KEYSTROKE_KEYDOWN - XINPUT_KEYSTROKE_KEYDOWN - - - - No documentation. - - - XINPUT_KEYSTROKE_KEYUP - XINPUT_KEYSTROKE_KEYUP - - - - No documentation. - - - XINPUT_KEYSTROKE_REPEAT - XINPUT_KEYSTROKE_REPEAT - - - - None. - - - None - None - - - -

Retrieves a gamepad input event.

-
- -

Wireless controllers are not considered active upon system startup, and calls to any of the XInput functions before a wireless controller is made active return . Game titles must examine the return code and be prepared to handle this condition. Wired controllers are automatically activated when they are inserted. Wireless controllers are activated when the user presses the START or Xbox Guide button to power on the controller.

-
- - microsoft.directx_sdk.reference.xinputgetkeystroke - XUSER_INDEX - XUSER_INDEX -
- - -

[in] Index of the signed-in gamer associated with the device. Can be a value in the range 0?XUSER_MAX_COUNT ? 1, or to fetch the next available input event from any user.

-
- - microsoft.directx_sdk.reference.xinputgetkeystroke - XUSER_INDEX_ANY - XUSER_INDEX_ANY -
- - -

[in] Reserved

-
- - microsoft.directx_sdk.reference.xinputgetkeystroke - XUSER_INDEX_ONE - XUSER_INDEX_ONE -
- - -

[out] Pointer to an structure that receives an input event.

-
- - microsoft.directx_sdk.reference.xinputgetkeystroke - XUSER_INDEX_TWO - XUSER_INDEX_TWO -
- - - No documentation. - - - microsoft.directx_sdk.reference.xinputgetkeystroke - XUSER_INDEX_THREE - XUSER_INDEX_THREE - - - - No documentation. - - - microsoft.directx_sdk.reference.xinputgetkeystroke - XUSER_INDEX_FOUR - XUSER_INDEX_FOUR - - - - Functions - - - - - -

Retrieves the current state of the specified controller.

-
-

Index of the user's controller. Can be a value from 0 to 3. For information about how this value is determined and how the value maps to indicators on the controller, see Multiple Controllers.

-

Pointer to an structure that receives the current state of the controller.

-

If the function succeeds, the return value is .

If the controller is not connected, the return value is .

If the function fails, the return value is an error code defined in Winerror.h. The function does not use SetLastError to set the calling thread's last-error code.

- -

When is used to retrieve controller data, the left and right triggers are each reported separately. For legacy reasons, when DirectInput retrieves controller data, the two triggers share the same axis. The legacy behavior is noticeable in the current Game Device Control Panel, which uses DirectInput for controller state.

-
- - microsoft.directx_sdk.reference.xinputgetstate - unsigned int XInputGetState([In] unsigned int dwUserIndex,[Out] XINPUT_STATE* pState) - XInputGetState -
- - -

Sends data to a connected controller. This function is used to activate the vibration function of a controller.

-
-

Index of the user's controller. Can be a value from 0 to 3. For information about how this value is determined and how the value maps to indicators on the controller, see Multiple Controllers.

-

Pointer to an structure containing the vibration information to send to the controller.

-

If the function succeeds, the return value is .

If the controller is not connected, the return value is .

If the function fails, the return value is an error code defined in WinError.h. The function does not use SetLastError to set the calling thread's last-error code.

- - microsoft.directx_sdk.reference.xinputsetstate - unsigned int XInputSetState([In] unsigned int dwUserIndex,[In] XINPUT_VIBRATION* pVibration) - XInputSetState -
- - -

Retrieves the capabilities and features of a connected controller.

-
-

Index of the user's controller. Can be a value in the range 0?3. For information about how this value is determined and how the value maps to indicators on the controller, see Multiple Controllers.

-

Input flags that identify the controller type. If this value is 0, then the capabilities of all controllers connected to the system are returned. Currently, only one value is supported:

ValueDescription
Limit query to devices of Xbox 360 Controller type.

?

Any value of dwflags other than the above or 0 is illegal and will result in an error break when debugging.

-

Pointer to an structure that receives the controller capabilities.

-

If the function succeeds, the return value is .

If the controller is not connected, the return value is .

If the function fails, the return value is an error code defined in WinError.h. The function does not use SetLastError to set the calling thread's last-error code.

- - Note??The legacy XINPUT 9.1.0 version (included in Windows?Vista and later) always returned a fixed set of capabilities regardless of attached device.? - - - microsoft.directx_sdk.reference.xinputgetcapabilities - unsigned int XInputGetCapabilities([In] unsigned int dwUserIndex,[In] XINPUT_DEVQUERYTYPE dwFlags,[Out] XINPUT_CAPABILITIES* pCapabilities) - XInputGetCapabilities -
- - -

Sets the reporting state of XInput.

-
-

If enable is , XInput will only send neutral data in response to (all buttons up, axes centered, and triggers at 0). calls will be registered but not sent to the device. Sending any value other than will restore reading and writing functionality to normal.

- -

This function is meant to be called when an application gains or loses focus (such as via WM_ACTIVATEAPP). Using this function, you will not have to change the XInput query loop in your application as neutral data will always be reported if XInput is disabled. -

In a controller that supports vibration effects:

  • Passing will stop any vibration effects currently playing. In this state, calls to will be registered, but not passed to the device.
  • Passing TRUE will pass the last vibration request (even if it is 0) sent to to the device.
-
- - microsoft.directx_sdk.reference.xinputenable - void XInputEnable([In] BOOL enable) - XInputEnable -
- - -

Retrieves the sound rendering and sound capture audio device IDs that are associated with the headset connected to the specified controller.

-
-

Index of the gamer associated with the device.

-

Windows Core Audio device ID string for render (speakers).

-

Size, in wide-chars, of the render device ID string buffer.

-

Windows Core Audio device ID string for capture (microphone).

-

Size, in wide-chars, of capture device ID string buffer.

-

If the function successfully retrieves the device IDs for render and capture, the return code is .

If there is no headset connected to the controller, the function will also retrieve with null as the values for pRenderDeviceId and pCaptureDeviceId.

If the controller port device is not physically connected, the function will return .

If the function fails, it will return a valid Win32 error code.

- -

Callers must allocate the memory for the buffers passed to . The resulting strings can be of arbitrary length.

-
- - microsoft.directx_sdk.reference.xinputgetaudiodeviceids - unsigned int XInputGetAudioDeviceIds([In] unsigned int dwUserIndex,[Out, Buffer, Optional] wchar_t* pRenderDeviceId,[InOut, Optional] unsigned int* pRenderCount,[Out, Buffer, Optional] wchar_t* pCaptureDeviceId,[InOut, Optional] unsigned int* pCaptureCount) - XInputGetAudioDeviceIds -
- - -

Retrieves the battery type and charge status of a wireless controller.

-
-

Index of the signed-in gamer associated with the device. Can be a value in the range 0?XUSER_MAX_COUNT ? 1.

-

Specifies which device associated with this user index should be queried. Must be or .

-

Pointer to an structure that receives the battery information.

-

If the function succeeds, the return value is .

- - microsoft.directx_sdk.reference.xinputgetbatteryinformation - unsigned int XInputGetBatteryInformation([In] unsigned int dwUserIndex,[In] BATTERY_DEVTYPE devType,[Out] XINPUT_BATTERY_INFORMATION* pBatteryInformation) - XInputGetBatteryInformation -
- - -

Retrieves a gamepad input event.

-
-

[in] Index of the signed-in gamer associated with the device. Can be a value in the range 0?XUSER_MAX_COUNT ? 1, or to fetch the next available input event from any user.

-

[in] Reserved

-

[out] Pointer to an structure that receives an input event.

-

If the function succeeds, the return value is .

If no new keys have been pressed, the return value is .

If the controller is not connected or the user has not activated it, the return value is . See the Remarks section below.

If the function fails, the return value is an error code defined in Winerror.h. The function does not use SetLastError to set the calling thread's last-error code.

- -

Wireless controllers are not considered active upon system startup, and calls to any of the XInput functions before a wireless controller is made active return . Game titles must examine the return code and be prepared to handle this condition. Wired controllers are automatically activated when they are inserted. Wireless controllers are activated when the user presses the START or Xbox Guide button to power on the controller.

-
- - microsoft.directx_sdk.reference.xinputgetkeystroke - unsigned int XInputGetKeystroke([In] unsigned int dwUserIndex,[In] unsigned int dwReserved,[Out] XINPUT_KEYSTROKE* pKeystroke) - XInputGetKeystroke -
- - -

Contains information on battery type and charge state.

-
- - microsoft.directx_sdk.reference.xinput_battery_information - XINPUT_BATTERY_INFORMATION - XINPUT_BATTERY_INFORMATION -
- - -

The type of battery. BatteryType will be one of the following values.

ValueDescription
The device is not connected.?
The device is a wired device and does not have a battery.?
The device has an alkaline battery.?
The device has a nickel metal hydride battery.?
The device has an unknown battery type.?

?

-
- - microsoft.directx_sdk.reference.xinput_battery_information - BATTERY_TYPE BatteryType - BATTERY_TYPE BatteryType -
- - -

The charge state of the battery. This value is only valid for wireless devices with a known battery type. BatteryLevel will be one of the following values.

Value

?

-
- - microsoft.directx_sdk.reference.xinput_battery_information - BATTERY_LEVEL BatteryLevel - BATTERY_LEVEL BatteryLevel -
- - -

Describes the capabilities of a connected controller. The function returns .

-
- -

returns to indicate the characteristics and available functionality of a specified controller.

sets the structure members to indicate which inputs the device supports. For binary state controls, such as digital buttons, the corresponding bit reflects whether or not the control is supported by the device. For proportional controls, such as thumbsticks, the value indicates the resolution for that control. Some number of the least significant bits may not be set, indicating that the control does not provide resolution to that level.

The SubType member indicates the specific subtype of controller present. Games may detect the controller subtype and tune their handling of controller input or output based on subtypes that are well suited to their game genre. For example, a car racing game might check for the presence of a wheel controller to provide finer control of the car being driven. However, titles must not disable or ignore a device based on its subtype. Subtypes not recognized by the game or for which the game is not specifically tuned should be treated as a standard Xbox 360 Controller ().

Older XUSB Windows drivers report incomplete capabilities information, particularly for wireless devices. The latest XUSB Windows driver provides full support for wired and wireless devices, and more complete and accurate capabilties flags.

-
- - microsoft.directx_sdk.reference.xinput_capabilities - XINPUT_CAPABILITIES - XINPUT_CAPABILITIES -
- - - No documentation. - - - microsoft.directx_sdk.reference.xinput_capabilities - XINPUT_DEVTYPE Type - XINPUT_DEVTYPE Type - - - - No documentation. - - - microsoft.directx_sdk.reference.xinput_capabilities - XINPUT_DEVSUBTYPE SubType - XINPUT_DEVSUBTYPE SubType - - - - No documentation. - - - microsoft.directx_sdk.reference.xinput_capabilities - XINPUT_CAPS_FLAGS Flags - XINPUT_CAPS_FLAGS Flags - - - - No documentation. - - - microsoft.directx_sdk.reference.xinput_capabilities - XINPUT_GAMEPAD Gamepad - XINPUT_GAMEPAD Gamepad - - - - No documentation. - - - microsoft.directx_sdk.reference.xinput_capabilities - XINPUT_VIBRATION Vibration - XINPUT_VIBRATION Vibration - - - -

Specifies keystroke data returned by .

-
- -

Future devices may return HID codes and virtual key values that are not supported on current devices, and are currently undefined. Applications should ignore these unexpected values.

A virtual-key code is a byte value that represents a particular physical key on the keyboard, not the character or characters (possibly none) that the key can be mapped to based on keyboard state. The keyboard state at the time a virtual key is pressed modifies the character reported. For example, VK_4 might represent a "4" or a "$", depending on the state of the SHIFT key.

A reported keyboard event includes the virtual key that caused the event, whether the key was pressed or released (or is repeating), and the state of the keyboard at the time of the event. The keyboard state includes information about whether any CTRL, ALT, or SHIFT keys are down.

If the keyboard event represents an Unicode character (for example, pressing the "A" key), the Unicode member will contain that character. Otherwise, Unicode will contain the value zero.

The valid virtual-key (VK_xxx) codes are defined in XInput.h. In addition to codes that indicate key presses, the following codes indicate controller input.

ValueDescription
A button?
B button?
X button?
Y button?
Right shoulder button?
Left shoulder button?
Left trigger?
Right trigger?
Directional pad up?
Directional pad down?
Directional pad left?
Directional pad right?
START button?
BACK button?
Left thumbstick click?
Right thumbstick click?
Left thumbstick up?
Left thumbstick down?
Left thumbstick right?
Left thumbstick left?
Left thumbstick up and left?
Left thumbstick up and right?
Left thumbstick down and right?
Left thumbstick down and left?
Right thumbstick up?
Right thumbstick down?
Right thumbstick right?
Right thumbstick left?
Right thumbstick up and left?
Right thumbstick up and right?
Right thumbstick down and right?
Right thumbstick down and left?

?

-
- - microsoft.directx_sdk.reference.xinput_keystroke - XINPUT_KEYSTROKE - XINPUT_KEYSTROKE -
- - - No documentation. - - - microsoft.directx_sdk.reference.xinput_keystroke - XINPUT_GAMEPAD_KEY_CODE VirtualKey - XINPUT_GAMEPAD_KEY_CODE VirtualKey - - - - No documentation. - - - microsoft.directx_sdk.reference.xinput_keystroke - wchar_t Unicode - wchar_t Unicode - - - - No documentation. - - - microsoft.directx_sdk.reference.xinput_keystroke - XINPUT_KEYSTROKE_FLAGS Flags - XINPUT_KEYSTROKE_FLAGS Flags - - - - No documentation. - - - microsoft.directx_sdk.reference.xinput_keystroke - XUSER_INDEX UserIndex - XUSER_INDEX UserIndex - - - - No documentation. - - - microsoft.directx_sdk.reference.xinput_keystroke - unsigned char HidCode - unsigned char HidCode - - - -

Represents the state of a controller.

-
- -

The dwPacketNumber member is incremented only if the status of the controller has changed since the controller was last polled.

-
- - microsoft.directx_sdk.reference.xinput_state - XINPUT_STATE - XINPUT_STATE -
- - -

State packet number. The packet number indicates whether there have been any changes in the state of the controller. If the dwPacketNumber member is the same in sequentially returned structures, the controller state has not changed.

-
- - microsoft.directx_sdk.reference.xinput_state - unsigned int dwPacketNumber - unsigned int dwPacketNumber -
- - -

structure containing the current state of an Xbox 360 Controller.

-
- - microsoft.directx_sdk.reference.xinput_state - XINPUT_GAMEPAD Gamepad - XINPUT_GAMEPAD Gamepad -
- - -

Specifies motor speed levels for the vibration function of a controller.

-
- -

The left motor is the low-frequency rumble motor. The right motor is the high-frequency rumble motor. The two motors are not the same, and they create different vibration effects.

-
- - microsoft.directx_sdk.reference.xinput_vibration - XINPUT_VIBRATION - XINPUT_VIBRATION -
- - -

Speed of the left motor. Valid values are in the range 0 to 65,535. Zero signifies no motor use; 65,535 signifies 100 percent motor use.

-
- - microsoft.directx_sdk.reference.xinput_vibration - SHARPDX_USHORT wLeftMotorSpeed - SHARPDX_USHORT wLeftMotorSpeed -
- - -

Speed of the right motor. Valid values are in the range 0 to 65,535. Zero signifies no motor use; 65,535 signifies 100 percent motor use.

-
- - microsoft.directx_sdk.reference.xinput_vibration - SHARPDX_USHORT wRightMotorSpeed - SHARPDX_USHORT wRightMotorSpeed -
- - - Common interface for XInput to allow using XInput 1.4, 1.3 or 9.1.0. - - - - - The namespace provides a managed XInput API. - - hh405053 - XInput - XInput - - - - Common error code from XInput - - - - - Device is not connected - - - - - Functions - - - -
-
diff --git a/Tractor_VS/Game1/bin/Windows/x86/Debug/SharpDX.dll b/Tractor_VS/Game1/bin/Windows/x86/Debug/SharpDX.dll deleted file mode 100644 index baa26ad..0000000 Binary files a/Tractor_VS/Game1/bin/Windows/x86/Debug/SharpDX.dll and /dev/null differ diff --git a/Tractor_VS/Game1/bin/Windows/x86/Debug/SharpDX.xml b/Tractor_VS/Game1/bin/Windows/x86/Debug/SharpDX.xml deleted file mode 100644 index f50058a..0000000 --- a/Tractor_VS/Game1/bin/Windows/x86/Debug/SharpDX.xml +++ /dev/null @@ -1,38946 +0,0 @@ - - - - SharpDX - - - - - The assembly is the core assembly providing infrastructure for all managed DirectX API. - - - - - Callback base implementation of . - - - - - 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 . - - - - - 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 the pointer to the native array associated to this instance. - - - - - Gets the length. - - - - - Gets an object at the specified index. - - The index. - A - - - - Sets an object at the specified index. - - The index. - The value. - - - - - - - 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. - - - - - 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. - - - - -

The - enumeration constants specify the conditions for performing the commit operation in the - IStorage::Commit and - methods.

-
- -

You can specify or some combination of , , and for normal commit operations. You can specify with any other flags.

Typically, use to protect the storage object in cases where more than one user can edit the object simultaneously.

-
- - aa380320 - STGC - STGC -
- - - No documentation. - - - aa380320 - STGC_DEFAULT - STGC_DEFAULT - - - - No documentation. - - - aa380320 - STGC_OVERWRITE - STGC_OVERWRITE - - - - No documentation. - - - aa380320 - STGC_ONLYIFCURRENT - STGC_ONLYIFCURRENT - - - - No documentation. - - - aa380320 - STGC_DANGEROUSLYCOMMITMERELYTODISKCACHE - STGC_DANGEROUSLYCOMMITMERELYTODISKCACHE - - - - No documentation. - - - aa380320 - 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_NO_WORK_DONE - ERROR_NO_WORK_DONE - - - - 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_OBJECT_NOT_EXTERNALLY_BACKED - ERROR_OBJECT_NOT_EXTERNALLY_BACKED - - - - No documentation. - - - ERROR_EXTERNAL_BACKING_PROVIDER_UNKNOWN - ERROR_EXTERNAL_BACKING_PROVIDER_UNKNOWN - - - - No documentation. - - - ERROR_COMPRESSION_NOT_BENEFICIAL - ERROR_COMPRESSION_NOT_BENEFICIAL - - - - No documentation. - - - ERROR_STORAGE_TOPOLOGY_ID_MISMATCH - ERROR_STORAGE_TOPOLOGY_ID_MISMATCH - - - - No documentation. - - - ERROR_BLOCKED_BY_PARENTAL_CONTROLS - ERROR_BLOCKED_BY_PARENTAL_CONTROLS - - - - No documentation. - - - ERROR_BLOCK_TOO_MANY_REFERENCES - ERROR_BLOCK_TOO_MANY_REFERENCES - - - - No documentation. - - - ERROR_MARKED_TO_DISALLOW_WRITES - ERROR_MARKED_TO_DISALLOW_WRITES - - - - No documentation. - - - ERROR_ENCLAVE_FAILURE - ERROR_ENCLAVE_FAILURE - - - - 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_NETWORK_ACCESS_DENIED_EDP - ERROR_NETWORK_ACCESS_DENIED_EDP - - - - No documentation. - - - ERROR_DEVICE_HINT_NAME_BUFFER_TOO_SMALL - ERROR_DEVICE_HINT_NAME_BUFFER_TOO_SMALL - - - - No documentation. - - - ERROR_EDP_POLICY_DENIES_OPERATION - ERROR_EDP_POLICY_DENIES_OPERATION - - - - No documentation. - - - ERROR_EDP_DPL_POLICY_CANT_BE_SATISFIED - ERROR_EDP_DPL_POLICY_CANT_BE_SATISFIED - - - - No documentation. - - - ERROR_CLOUD_FILE_PROVIDER_UNKNOWN - ERROR_CLOUD_FILE_PROVIDER_UNKNOWN - - - - No documentation. - - - ERROR_DEVICE_IN_MAINTENANCE - ERROR_DEVICE_IN_MAINTENANCE - - - - No documentation. - - - ERROR_NOT_SUPPORTED_ON_DAX - ERROR_NOT_SUPPORTED_ON_DAX - - - - No documentation. - - - ERROR_DAX_MAPPING_EXISTS - ERROR_DAX_MAPPING_EXISTS - - - - No documentation. - - - ERROR_CLOUD_FILE_PROVIDER_NOT_RUNNING - ERROR_CLOUD_FILE_PROVIDER_NOT_RUNNING - - - - No documentation. - - - ERROR_CLOUD_FILE_METADATA_CORRUPT - ERROR_CLOUD_FILE_METADATA_CORRUPT - - - - No documentation. - - - ERROR_CLOUD_FILE_METADATA_TOO_LARGE - ERROR_CLOUD_FILE_METADATA_TOO_LARGE - - - - No documentation. - - - ERROR_CLOUD_FILE_PROPERTY_BLOB_TOO_LARGE - ERROR_CLOUD_FILE_PROPERTY_BLOB_TOO_LARGE - - - - No documentation. - - - ERROR_CLOUD_FILE_PROPERTY_BLOB_CHECKSUM_MISMATCH - ERROR_CLOUD_FILE_PROPERTY_BLOB_CHECKSUM_MISMATCH - - - - No documentation. - - - ERROR_CHILD_PROCESS_BLOCKED - ERROR_CHILD_PROCESS_BLOCKED - - - - No documentation. - - - ERROR_STORAGE_LOST_DATA_PERSISTENCE - ERROR_STORAGE_LOST_DATA_PERSISTENCE - - - - No documentation. - - - ERROR_FILE_SYSTEM_VIRTUALIZATION_UNAVAILABLE - ERROR_FILE_SYSTEM_VIRTUALIZATION_UNAVAILABLE - - - - No documentation. - - - ERROR_FILE_SYSTEM_VIRTUALIZATION_METADATA_CORRUPT - ERROR_FILE_SYSTEM_VIRTUALIZATION_METADATA_CORRUPT - - - - No documentation. - - - ERROR_FILE_SYSTEM_VIRTUALIZATION_BUSY - ERROR_FILE_SYSTEM_VIRTUALIZATION_BUSY - - - - No documentation. - - - ERROR_FILE_SYSTEM_VIRTUALIZATION_PROVIDER_UNKNOWN - ERROR_FILE_SYSTEM_VIRTUALIZATION_PROVIDER_UNKNOWN - - - - No documentation. - - - ERROR_GDI_HANDLE_LEAK - ERROR_GDI_HANDLE_LEAK - - - - No documentation. - - - ERROR_CLOUD_FILE_TOO_MANY_PROPERTY_BLOBS - ERROR_CLOUD_FILE_TOO_MANY_PROPERTY_BLOBS - - - - No documentation. - - - ERROR_CLOUD_FILE_METADATA_VERSION_NOT_SUPPORTED - ERROR_CLOUD_FILE_METADATA_VERSION_NOT_SUPPORTED - - - - No documentation. - - - ERROR_NOT_A_CLOUD_FILE - ERROR_NOT_A_CLOUD_FILE - - - - No documentation. - - - ERROR_CLOUD_FILE_NOT_IN_SYNC - ERROR_CLOUD_FILE_NOT_IN_SYNC - - - - 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_CAPAUTHZ_NOT_DEVUNLOCKED - ERROR_CAPAUTHZ_NOT_DEVUNLOCKED - - - - No documentation. - - - ERROR_CAPAUTHZ_CHANGE_TYPE - ERROR_CAPAUTHZ_CHANGE_TYPE - - - - No documentation. - - - ERROR_CAPAUTHZ_NOT_PROVISIONED - ERROR_CAPAUTHZ_NOT_PROVISIONED - - - - No documentation. - - - ERROR_CAPAUTHZ_NOT_AUTHORIZED - ERROR_CAPAUTHZ_NOT_AUTHORIZED - - - - No documentation. - - - ERROR_CAPAUTHZ_NO_POLICY - ERROR_CAPAUTHZ_NO_POLICY - - - - No documentation. - - - ERROR_CAPAUTHZ_DB_CORRUPTED - ERROR_CAPAUTHZ_DB_CORRUPTED - - - - No documentation. - - - ERROR_PNP_QUERY_REMOVE_DEVICE_TIMEOUT - ERROR_PNP_QUERY_REMOVE_DEVICE_TIMEOUT - - - - No documentation. - - - ERROR_PNP_QUERY_REMOVE_RELATED_DEVICE_TIMEOUT - ERROR_PNP_QUERY_REMOVE_RELATED_DEVICE_TIMEOUT - - - - No documentation. - - - ERROR_PNP_QUERY_REMOVE_UNRELATED_DEVICE_TIMEOUT - ERROR_PNP_QUERY_REMOVE_UNRELATED_DEVICE_TIMEOUT - - - - No documentation. - - - ERROR_DEVICE_HARDWARE_ERROR - ERROR_DEVICE_HARDWARE_ERROR - - - - No documentation. - - - ERROR_INVALID_ADDRESS - ERROR_INVALID_ADDRESS - - - - No documentation. - - - ERROR_VRF_CFG_ENABLED - ERROR_VRF_CFG_ENABLED - - - - 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_ENCRYPTED_IO_NOT_POSSIBLE - ERROR_ENCRYPTED_IO_NOT_POSSIBLE - - - - No documentation. - - - ERROR_FILE_METADATA_OPTIMIZATION_IN_PROGRESS - ERROR_FILE_METADATA_OPTIMIZATION_IN_PROGRESS - - - - No documentation. - - - ERROR_QUOTA_ACTIVITY - ERROR_QUOTA_ACTIVITY - - - - No documentation. - - - ERROR_HANDLE_REVOKED - ERROR_HANDLE_REVOKED - - - - No documentation. - - - ERROR_CALLBACK_INVOKE_INLINE - ERROR_CALLBACK_INVOKE_INLINE - - - - No documentation. - - - ERROR_CPU_SET_INVALID - ERROR_CPU_SET_INVALID - - - - 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_SMB_GUEST_LOGON_BLOCKED - ERROR_SMB_GUEST_LOGON_BLOCKED - - - - 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_CONTAINER_ASSIGNED - ERROR_CONTAINER_ASSIGNED - - - - No documentation. - - - ERROR_JOB_NO_CONTAINER - ERROR_JOB_NO_CONTAINER - - - - 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_DYNAMIC_CODE_BLOCKED - ERROR_DYNAMIC_CODE_BLOCKED - - - - No documentation. - - - ERROR_NOT_SAME_OBJECT - ERROR_NOT_SAME_OBJECT - - - - No documentation. - - - ERROR_STRICT_CFG_VIOLATION - ERROR_STRICT_CFG_VIOLATION - - - - No documentation. - - - ERROR_STRICT_RFG_VIOLATION - ERROR_STRICT_RFG_VIOLATION - - - - No documentation. - - - ERROR_RFG_ACCESS_VIOLATION - ERROR_RFG_ACCESS_VIOLATION - - - - No documentation. - - - ERROR_SET_CONTEXT_DENIED - ERROR_SET_CONTEXT_DENIED - - - - No documentation. - - - ERROR_CROSS_PARTITION_VIOLATION - ERROR_CROSS_PARTITION_VIOLATION - - - - 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_LOST_MODE_LOGON_RESTRICTION - ERROR_LOST_MODE_LOGON_RESTRICTION - - - - 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_REPARSE_POINT_ENCOUNTERED - ERROR_REPARSE_POINT_ENCOUNTERED - - - - 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_SECUREBOOT_POLICY_NOT_AUTHORIZED - ERROR_SECUREBOOT_POLICY_NOT_AUTHORIZED - - - - No documentation. - - - ERROR_SECUREBOOT_POLICY_UNKNOWN - ERROR_SECUREBOOT_POLICY_UNKNOWN - - - - No documentation. - - - ERROR_SECUREBOOT_POLICY_MISSING_ANTIROLLBACKVERSION - ERROR_SECUREBOOT_POLICY_MISSING_ANTIROLLBACKVERSION - - - - No documentation. - - - ERROR_SECUREBOOT_PLATFORM_ID_MISMATCH - ERROR_SECUREBOOT_PLATFORM_ID_MISMATCH - - - - No documentation. - - - ERROR_SECUREBOOT_POLICY_ROLLBACK_DETECTED - ERROR_SECUREBOOT_POLICY_ROLLBACK_DETECTED - - - - No documentation. - - - ERROR_SECUREBOOT_POLICY_UPGRADE_MISMATCH - ERROR_SECUREBOOT_POLICY_UPGRADE_MISMATCH - - - - No documentation. - - - ERROR_SECUREBOOT_REQUIRED_POLICY_FILE_MISSING - ERROR_SECUREBOOT_REQUIRED_POLICY_FILE_MISSING - - - - No documentation. - - - ERROR_SECUREBOOT_NOT_BASE_POLICY - ERROR_SECUREBOOT_NOT_BASE_POLICY - - - - No documentation. - - - ERROR_SECUREBOOT_NOT_SUPPLEMENTAL_POLICY - ERROR_SECUREBOOT_NOT_SUPPLEMENTAL_POLICY - - - - 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_ALREADY_HAS_STREAM_ID - ERROR_ALREADY_HAS_STREAM_ID - - - - No documentation. - - - ERROR_VOLUME_NOT_SIS_ENABLED - ERROR_VOLUME_NOT_SIS_ENABLED - - - - No documentation. - - - ERROR_SYSTEM_INTEGRITY_ROLLBACK_DETECTED - ERROR_SYSTEM_INTEGRITY_ROLLBACK_DETECTED - - - - No documentation. - - - ERROR_SYSTEM_INTEGRITY_POLICY_VIOLATION - ERROR_SYSTEM_INTEGRITY_POLICY_VIOLATION - - - - No documentation. - - - ERROR_SYSTEM_INTEGRITY_INVALID_POLICY - ERROR_SYSTEM_INTEGRITY_INVALID_POLICY - - - - No documentation. - - - ERROR_SYSTEM_INTEGRITY_POLICY_NOT_SIGNED - ERROR_SYSTEM_INTEGRITY_POLICY_NOT_SIGNED - - - - No documentation. - - - ERROR_VSM_NOT_INITIALIZED - ERROR_VSM_NOT_INITIALIZED - - - - No documentation. - - - ERROR_VSM_DMA_PROTECTION_NOT_IN_USE - ERROR_VSM_DMA_PROTECTION_NOT_IN_USE - - - - No documentation. - - - ERROR_PLATFORM_MANIFEST_NOT_AUTHORIZED - ERROR_PLATFORM_MANIFEST_NOT_AUTHORIZED - - - - No documentation. - - - ERROR_PLATFORM_MANIFEST_INVALID - ERROR_PLATFORM_MANIFEST_INVALID - - - - No documentation. - - - ERROR_PLATFORM_MANIFEST_FILE_NOT_AUTHORIZED - ERROR_PLATFORM_MANIFEST_FILE_NOT_AUTHORIZED - - - - No documentation. - - - ERROR_PLATFORM_MANIFEST_CATALOG_NOT_AUTHORIZED - ERROR_PLATFORM_MANIFEST_CATALOG_NOT_AUTHORIZED - - - - No documentation. - - - ERROR_PLATFORM_MANIFEST_BINARY_ID_NOT_FOUND - ERROR_PLATFORM_MANIFEST_BINARY_ID_NOT_FOUND - - - - No documentation. - - - ERROR_PLATFORM_MANIFEST_NOT_ACTIVE - ERROR_PLATFORM_MANIFEST_NOT_ACTIVE - - - - No documentation. - - - ERROR_PLATFORM_MANIFEST_NOT_SIGNED - ERROR_PLATFORM_MANIFEST_NOT_SIGNED - - - - 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_NO_ADMIN_ACCESS_POINT - ERROR_NO_ADMIN_ACCESS_POINT - - - - 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_CLUSTER_UPGRADE_INCOMPATIBLE_VERSIONS - ERROR_CLUSTER_UPGRADE_INCOMPATIBLE_VERSIONS - - - - No documentation. - - - ERROR_CLUSTER_UPGRADE_FIX_QUORUM_NOT_SUPPORTED - ERROR_CLUSTER_UPGRADE_FIX_QUORUM_NOT_SUPPORTED - - - - No documentation. - - - ERROR_CLUSTER_UPGRADE_RESTART_REQUIRED - ERROR_CLUSTER_UPGRADE_RESTART_REQUIRED - - - - No documentation. - - - ERROR_CLUSTER_UPGRADE_IN_PROGRESS - ERROR_CLUSTER_UPGRADE_IN_PROGRESS - - - - No documentation. - - - ERROR_CLUSTER_UPGRADE_INCOMPLETE - ERROR_CLUSTER_UPGRADE_INCOMPLETE - - - - No documentation. - - - ERROR_CLUSTER_NODE_IN_GRACE_PERIOD - ERROR_CLUSTER_NODE_IN_GRACE_PERIOD - - - - No documentation. - - - ERROR_CLUSTER_CSV_IO_PAUSE_TIMEOUT - ERROR_CLUSTER_CSV_IO_PAUSE_TIMEOUT - - - - No documentation. - - - ERROR_NODE_NOT_ACTIVE_CLUSTER_MEMBER - ERROR_NODE_NOT_ACTIVE_CLUSTER_MEMBER - - - - No documentation. - - - ERROR_CLUSTER_RESOURCE_NOT_MONITORED - ERROR_CLUSTER_RESOURCE_NOT_MONITORED - - - - No documentation. - - - ERROR_CLUSTER_RESOURCE_DOES_NOT_SUPPORT_UNMONITORED - ERROR_CLUSTER_RESOURCE_DOES_NOT_SUPPORT_UNMONITORED - - - - No documentation. - - - ERROR_CLUSTER_RESOURCE_IS_REPLICATED - ERROR_CLUSTER_RESOURCE_IS_REPLICATED - - - - No documentation. - - - ERROR_CLUSTER_NODE_ISOLATED - ERROR_CLUSTER_NODE_ISOLATED - - - - No documentation. - - - ERROR_CLUSTER_NODE_QUARANTINED - ERROR_CLUSTER_NODE_QUARANTINED - - - - No documentation. - - - ERROR_CLUSTER_DATABASE_UPDATE_CONDITION_FAILED - ERROR_CLUSTER_DATABASE_UPDATE_CONDITION_FAILED - - - - No documentation. - - - ERROR_CLUSTER_SPACE_DEGRADED - ERROR_CLUSTER_SPACE_DEGRADED - - - - No documentation. - - - ERROR_CLUSTER_TOKEN_DELEGATION_NOT_SUPPORTED - ERROR_CLUSTER_TOKEN_DELEGATION_NOT_SUPPORTED - - - - No documentation. - - - ERROR_CLUSTER_CSV_INVALID_HANDLE - ERROR_CLUSTER_CSV_INVALID_HANDLE - - - - No documentation. - - - ERROR_CLUSTER_CSV_SUPPORTED_ONLY_ON_COORDINATOR - ERROR_CLUSTER_CSV_SUPPORTED_ONLY_ON_COORDINATOR - - - - No documentation. - - - ERROR_GROUPSET_NOT_AVAILABLE - ERROR_GROUPSET_NOT_AVAILABLE - - - - No documentation. - - - ERROR_GROUPSET_NOT_FOUND - ERROR_GROUPSET_NOT_FOUND - - - - No documentation. - - - ERROR_GROUPSET_CANT_PROVIDE - ERROR_GROUPSET_CANT_PROVIDE - - - - No documentation. - - - ERROR_CLUSTER_FAULT_DOMAIN_PARENT_NOT_FOUND - ERROR_CLUSTER_FAULT_DOMAIN_PARENT_NOT_FOUND - - - - No documentation. - - - ERROR_CLUSTER_FAULT_DOMAIN_INVALID_HIERARCHY - ERROR_CLUSTER_FAULT_DOMAIN_INVALID_HIERARCHY - - - - No documentation. - - - ERROR_CLUSTER_FAULT_DOMAIN_FAILED_S2D_VALIDATION - ERROR_CLUSTER_FAULT_DOMAIN_FAILED_S2D_VALIDATION - - - - No documentation. - - - ERROR_CLUSTER_FAULT_DOMAIN_S2D_CONNECTIVITY_LOSS - ERROR_CLUSTER_FAULT_DOMAIN_S2D_CONNECTIVITY_LOSS - - - - 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_DS_SPN_VALUE_NOT_UNIQUE_IN_FOREST - ERROR_DS_SPN_VALUE_NOT_UNIQUE_IN_FOREST - - - - No documentation. - - - ERROR_DS_UPN_VALUE_NOT_UNIQUE_IN_FOREST - ERROR_DS_UPN_VALUE_NOT_UNIQUE_IN_FOREST - - - - No documentation. - - - ERROR_DS_MISSING_FOREST_TRUST - ERROR_DS_MISSING_FOREST_TRUST - - - - No documentation. - - - ERROR_DS_VALUE_KEY_NOT_UNIQUE - ERROR_DS_VALUE_KEY_NOT_UNIQUE - - - - 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_MRM_UNSUPPORTED_FILE_TYPE_FOR_MERGE - ERROR_MRM_UNSUPPORTED_FILE_TYPE_FOR_MERGE - - - - No documentation. - - - ERROR_MRM_UNSUPPORTED_FILE_TYPE_FOR_LOAD_UNLOAD_PRI_FILE - ERROR_MRM_UNSUPPORTED_FILE_TYPE_FOR_LOAD_UNLOAD_PRI_FILE - - - - No documentation. - - - ERROR_MRM_NO_CURRENT_VIEW_ON_THREAD - ERROR_MRM_NO_CURRENT_VIEW_ON_THREAD - - - - No documentation. - - - ERROR_DIFFERENT_PROFILE_RESOURCE_MANAGER_EXIST - ERROR_DIFFERENT_PROFILE_RESOURCE_MANAGER_EXIST - - - - No documentation. - - - ERROR_OPERATION_NOT_ALLOWED_FROM_SYSTEM_COMPONENT - ERROR_OPERATION_NOT_ALLOWED_FROM_SYSTEM_COMPONENT - - - - No documentation. - - - ERROR_MRM_DIRECT_REF_TO_NON_DEFAULT_RESOURCE - ERROR_MRM_DIRECT_REF_TO_NON_DEFAULT_RESOURCE - - - - No documentation. - - - ERROR_MRM_GENERATION_COUNT_MISMATCH - ERROR_MRM_GENERATION_COUNT_MISMATCH - - - - No documentation. - - - ERROR_PRI_MERGE_VERSION_MISMATCH - ERROR_PRI_MERGE_VERSION_MISMATCH - - - - No documentation. - - - ERROR_PRI_MERGE_MISSING_SCHEMA - ERROR_PRI_MERGE_MISSING_SCHEMA - - - - No documentation. - - - ERROR_PRI_MERGE_LOAD_FILE_FAILED - ERROR_PRI_MERGE_LOAD_FILE_FAILED - - - - No documentation. - - - ERROR_PRI_MERGE_ADD_FILE_FAILED - ERROR_PRI_MERGE_ADD_FILE_FAILED - - - - No documentation. - - - ERROR_PRI_MERGE_WRITE_FILE_FAILED - ERROR_PRI_MERGE_WRITE_FILE_FAILED - - - - No documentation. - - - ERROR_PRI_MERGE_MULTIPLE_PACKAGE_FAMILIES_NOT_ALLOWED - ERROR_PRI_MERGE_MULTIPLE_PACKAGE_FAMILIES_NOT_ALLOWED - - - - No documentation. - - - ERROR_PRI_MERGE_MULTIPLE_MAIN_PACKAGES_NOT_ALLOWED - ERROR_PRI_MERGE_MULTIPLE_MAIN_PACKAGES_NOT_ALLOWED - - - - No documentation. - - - ERROR_PRI_MERGE_BUNDLE_PACKAGES_NOT_ALLOWED - ERROR_PRI_MERGE_BUNDLE_PACKAGES_NOT_ALLOWED - - - - No documentation. - - - ERROR_PRI_MERGE_MAIN_PACKAGE_REQUIRED - ERROR_PRI_MERGE_MAIN_PACKAGE_REQUIRED - - - - No documentation. - - - ERROR_PRI_MERGE_RESOURCE_PACKAGE_REQUIRED - ERROR_PRI_MERGE_RESOURCE_PACKAGE_REQUIRED - - - - No documentation. - - - ERROR_PRI_MERGE_INVALID_FILE_NAME - ERROR_PRI_MERGE_INVALID_FILE_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_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_PACKAGE_MOVE_FAILED - ERROR_PACKAGE_MOVE_FAILED - - - - No documentation. - - - ERROR_INSTALL_VOLUME_NOT_EMPTY - ERROR_INSTALL_VOLUME_NOT_EMPTY - - - - No documentation. - - - ERROR_INSTALL_VOLUME_OFFLINE - ERROR_INSTALL_VOLUME_OFFLINE - - - - No documentation. - - - ERROR_INSTALL_VOLUME_CORRUPT - ERROR_INSTALL_VOLUME_CORRUPT - - - - No documentation. - - - ERROR_NEEDS_REGISTRATION - ERROR_NEEDS_REGISTRATION - - - - No documentation. - - - ERROR_INSTALL_WRONG_PROCESSOR_ARCHITECTURE - ERROR_INSTALL_WRONG_PROCESSOR_ARCHITECTURE - - - - No documentation. - - - ERROR_DEV_SIDELOAD_LIMIT_EXCEEDED - ERROR_DEV_SIDELOAD_LIMIT_EXCEEDED - - - - No documentation. - - - ERROR_INSTALL_OPTIONAL_PACKAGE_REQUIRES_MAIN_PACKAGE - ERROR_INSTALL_OPTIONAL_PACKAGE_REQUIRES_MAIN_PACKAGE - - - - No documentation. - - - ERROR_PACKAGE_NOT_SUPPORTED_ON_FILESYSTEM - ERROR_PACKAGE_NOT_SUPPORTED_ON_FILESYSTEM - - - - No documentation. - - - ERROR_PACKAGE_MOVE_BLOCKED_BY_STREAMING - ERROR_PACKAGE_MOVE_BLOCKED_BY_STREAMING - - - - No documentation. - - - ERROR_INSTALL_OPTIONAL_PACKAGE_APPLICATIONID_NOT_UNIQUE - ERROR_INSTALL_OPTIONAL_PACKAGE_APPLICATIONID_NOT_UNIQUE - - - - No documentation. - - - ERROR_PACKAGE_STAGING_ONHOLD - ERROR_PACKAGE_STAGING_ONHOLD - - - - No documentation. - - - ERROR_INSTALL_INVALID_RELATED_SET_UPDATE - ERROR_INSTALL_INVALID_RELATED_SET_UPDATE - - - - No documentation. - - - ERROR_INSTALL_OPTIONAL_PACKAGE_REQUIRES_MAIN_PACKAGE_FULLTRUST_CAPABILITY - ERROR_INSTALL_OPTIONAL_PACKAGE_REQUIRES_MAIN_PACKAGE_FULLTRUST_CAPABILITY - - - - 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_DEPENDABLE_CHILD_STATUS - ERROR_GRAPHICS_DEPENDABLE_CHILD_STATUS - - - - 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_DOT11_AP_CHANNEL_CURRENTLY_NOT_AVAILABLE - ERROR_NDIS_DOT11_AP_CHANNEL_CURRENTLY_NOT_AVAILABLE - - - - No documentation. - - - ERROR_NDIS_DOT11_AP_BAND_CURRENTLY_NOT_AVAILABLE - ERROR_NDIS_DOT11_AP_BAND_CURRENTLY_NOT_AVAILABLE - - - - No documentation. - - - ERROR_NDIS_DOT11_AP_CHANNEL_NOT_ALLOWED - ERROR_NDIS_DOT11_AP_CHANNEL_NOT_ALLOWED - - - - No documentation. - - - ERROR_NDIS_DOT11_AP_BAND_NOT_ALLOWED - ERROR_NDIS_DOT11_AP_BAND_NOT_ALLOWED - - - - 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_INVALID_VP_STATE - ERROR_HV_INVALID_VP_STATE - - - - 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_BUFFER - ERROR_HV_INSUFFICIENT_BUFFER - - - - No documentation. - - - ERROR_HV_INSUFFICIENT_DEVICE_DOMAINS - ERROR_HV_INSUFFICIENT_DEVICE_DOMAINS - - - - No documentation. - - - ERROR_HV_CPUID_FEATURE_VALIDATION - ERROR_HV_CPUID_FEATURE_VALIDATION - - - - No documentation. - - - ERROR_HV_CPUID_XSAVE_FEATURE_VALIDATION - ERROR_HV_CPUID_XSAVE_FEATURE_VALIDATION - - - - No documentation. - - - ERROR_HV_PROCESSOR_STARTUP_TIMEOUT - ERROR_HV_PROCESSOR_STARTUP_TIMEOUT - - - - No documentation. - - - ERROR_HV_SMX_ENABLED - ERROR_HV_SMX_ENABLED - - - - No documentation. - - - ERROR_HV_INVALID_LP_INDEX - ERROR_HV_INVALID_LP_INDEX - - - - No documentation. - - - ERROR_HV_INVALID_REGISTER_VALUE - ERROR_HV_INVALID_REGISTER_VALUE - - - - No documentation. - - - ERROR_HV_INVALID_VTL_STATE - ERROR_HV_INVALID_VTL_STATE - - - - No documentation. - - - ERROR_HV_NX_NOT_DETECTED - ERROR_HV_NX_NOT_DETECTED - - - - No documentation. - - - ERROR_HV_INVALID_DEVICE_ID - ERROR_HV_INVALID_DEVICE_ID - - - - No documentation. - - - ERROR_HV_INVALID_DEVICE_STATE - ERROR_HV_INVALID_DEVICE_STATE - - - - No documentation. - - - ERROR_HV_PENDING_PAGE_REQUESTS - ERROR_HV_PENDING_PAGE_REQUESTS - - - - No documentation. - - - ERROR_HV_PAGE_REQUEST_INVALID - ERROR_HV_PAGE_REQUEST_INVALID - - - - No documentation. - - - ERROR_HV_INVALID_CPU_GROUP_ID - ERROR_HV_INVALID_CPU_GROUP_ID - - - - No documentation. - - - ERROR_HV_INVALID_CPU_GROUP_STATE - ERROR_HV_INVALID_CPU_GROUP_STATE - - - - No documentation. - - - ERROR_HV_OPERATION_FAILED - ERROR_HV_OPERATION_FAILED - - - - No documentation. - - - ERROR_HV_NOT_ALLOWED_WITH_NESTED_VIRT_ACTIVE - ERROR_HV_NOT_ALLOWED_WITH_NESTED_VIRT_ACTIVE - - - - 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_VTL_ACCESS_DENIED - ERROR_VID_VTL_ACCESS_DENIED - - - - No documentation. - - - ERROR_VMCOMPUTE_TERMINATED_DURING_START - ERROR_VMCOMPUTE_TERMINATED_DURING_START - - - - No documentation. - - - ERROR_VMCOMPUTE_IMAGE_MISMATCH - ERROR_VMCOMPUTE_IMAGE_MISMATCH - - - - No documentation. - - - ERROR_VMCOMPUTE_HYPERV_NOT_INSTALLED - ERROR_VMCOMPUTE_HYPERV_NOT_INSTALLED - - - - No documentation. - - - ERROR_VMCOMPUTE_OPERATION_PENDING - ERROR_VMCOMPUTE_OPERATION_PENDING - - - - No documentation. - - - ERROR_VMCOMPUTE_TOO_MANY_NOTIFICATIONS - ERROR_VMCOMPUTE_TOO_MANY_NOTIFICATIONS - - - - No documentation. - - - ERROR_VMCOMPUTE_INVALID_STATE - ERROR_VMCOMPUTE_INVALID_STATE - - - - No documentation. - - - ERROR_VMCOMPUTE_UNEXPECTED_EXIT - ERROR_VMCOMPUTE_UNEXPECTED_EXIT - - - - No documentation. - - - ERROR_VMCOMPUTE_TERMINATED - ERROR_VMCOMPUTE_TERMINATED - - - - No documentation. - - - ERROR_VMCOMPUTE_CONNECT_FAILED - ERROR_VMCOMPUTE_CONNECT_FAILED - - - - No documentation. - - - ERROR_VMCOMPUTE_TIMEOUT - ERROR_VMCOMPUTE_TIMEOUT - - - - No documentation. - - - ERROR_VMCOMPUTE_CONNECTION_CLOSED - ERROR_VMCOMPUTE_CONNECTION_CLOSED - - - - No documentation. - - - ERROR_VMCOMPUTE_UNKNOWN_MESSAGE - ERROR_VMCOMPUTE_UNKNOWN_MESSAGE - - - - No documentation. - - - ERROR_VMCOMPUTE_UNSUPPORTED_PROTOCOL_VERSION - ERROR_VMCOMPUTE_UNSUPPORTED_PROTOCOL_VERSION - - - - No documentation. - - - ERROR_VMCOMPUTE_INVALID_JSON - ERROR_VMCOMPUTE_INVALID_JSON - - - - No documentation. - - - ERROR_VMCOMPUTE_SYSTEM_NOT_FOUND - ERROR_VMCOMPUTE_SYSTEM_NOT_FOUND - - - - No documentation. - - - ERROR_VMCOMPUTE_SYSTEM_ALREADY_EXISTS - ERROR_VMCOMPUTE_SYSTEM_ALREADY_EXISTS - - - - No documentation. - - - ERROR_VMCOMPUTE_SYSTEM_ALREADY_STOPPED - ERROR_VMCOMPUTE_SYSTEM_ALREADY_STOPPED - - - - No documentation. - - - ERROR_VMCOMPUTE_PROTOCOL_ERROR - ERROR_VMCOMPUTE_PROTOCOL_ERROR - - - - No documentation. - - - ERROR_VNET_VIRTUAL_SWITCH_NAME_NOT_FOUND - ERROR_VNET_VIRTUAL_SWITCH_NAME_NOT_FOUND - - - - 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_VHD_INVALID_CHANGE_TRACKING_ID - ERROR_VHD_INVALID_CHANGE_TRACKING_ID - - - - No documentation. - - - ERROR_VHD_CHANGE_TRACKING_DISABLED - ERROR_VHD_CHANGE_TRACKING_DISABLED - - - - No documentation. - - - ERROR_VHD_MISSING_CHANGE_TRACKING_INFORMATION - ERROR_VHD_MISSING_CHANGE_TRACKING_INFORMATION - - - - No documentation. - - - ERROR_QUERY_STORAGE_ERROR - ERROR_QUERY_STORAGE_ERROR - - - - No documentation. - - - ERROR_HNS_PORT_ALLOCATED - ERROR_HNS_PORT_ALLOCATED - - - - No documentation. - - - ERROR_HNS_MAPPING_NOT_SUPPORTED - ERROR_HNS_MAPPING_NOT_SUPPORTED - - - - No documentation. - - - ERROR_SPACES_POOL_WAS_DELETED - ERROR_SPACES_POOL_WAS_DELETED - - - - No documentation. - - - ERROR_SPACES_FAULT_DOMAIN_TYPE_INVALID - ERROR_SPACES_FAULT_DOMAIN_TYPE_INVALID - - - - No documentation. - - - ERROR_SPACES_INTERNAL_ERROR - ERROR_SPACES_INTERNAL_ERROR - - - - 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_SPACES_EXTENDED_ERROR - ERROR_SPACES_EXTENDED_ERROR - - - - No documentation. - - - ERROR_SPACES_PROVISIONING_TYPE_INVALID - ERROR_SPACES_PROVISIONING_TYPE_INVALID - - - - No documentation. - - - ERROR_SPACES_ALLOCATION_SIZE_INVALID - ERROR_SPACES_ALLOCATION_SIZE_INVALID - - - - No documentation. - - - ERROR_SPACES_ENCLOSURE_AWARE_INVALID - ERROR_SPACES_ENCLOSURE_AWARE_INVALID - - - - No documentation. - - - ERROR_SPACES_WRITE_CACHE_SIZE_INVALID - ERROR_SPACES_WRITE_CACHE_SIZE_INVALID - - - - No documentation. - - - ERROR_SPACES_NUMBER_OF_GROUPS_INVALID - ERROR_SPACES_NUMBER_OF_GROUPS_INVALID - - - - No documentation. - - - ERROR_SPACES_DRIVE_OPERATIONAL_STATE_INVALID - ERROR_SPACES_DRIVE_OPERATIONAL_STATE_INVALID - - - - No documentation. - - - ERROR_VOLSNAP_BOOTFILE_NOT_VALID - ERROR_VOLSNAP_BOOTFILE_NOT_VALID - - - - No documentation. - - - ERROR_VOLSNAP_ACTIVATION_TIMEOUT - ERROR_VOLSNAP_ACTIVATION_TIMEOUT - - - - No documentation. - - - ERROR_TIERING_NOT_SUPPORTED_ON_VOLUME - ERROR_TIERING_NOT_SUPPORTED_ON_VOLUME - - - - No documentation. - - - ERROR_TIERING_VOLUME_DISMOUNT_IN_PROGRESS - ERROR_TIERING_VOLUME_DISMOUNT_IN_PROGRESS - - - - No documentation. - - - ERROR_TIERING_STORAGE_TIER_NOT_FOUND - ERROR_TIERING_STORAGE_TIER_NOT_FOUND - - - - No documentation. - - - ERROR_TIERING_INVALID_FILE_ID - ERROR_TIERING_INVALID_FILE_ID - - - - No documentation. - - - ERROR_TIERING_WRONG_CLUSTER_NODE - ERROR_TIERING_WRONG_CLUSTER_NODE - - - - No documentation. - - - ERROR_TIERING_ALREADY_PROCESSING - ERROR_TIERING_ALREADY_PROCESSING - - - - No documentation. - - - ERROR_TIERING_CANNOT_PIN_OBJECT - ERROR_TIERING_CANNOT_PIN_OBJECT - - - - No documentation. - - - ERROR_TIERING_FILE_IS_NOT_PINNED - ERROR_TIERING_FILE_IS_NOT_PINNED - - - - No documentation. - - - ERROR_NOT_A_TIERED_VOLUME - ERROR_NOT_A_TIERED_VOLUME - - - - No documentation. - - - ERROR_ATTRIBUTE_NOT_PRESENT - ERROR_ATTRIBUTE_NOT_PRESENT - - - - No documentation. - - - ERROR_SECCORE_INVALID_COMMAND - ERROR_SECCORE_INVALID_COMMAND - - - - No documentation. - - - ERROR_NO_APPLICABLE_APP_LICENSES_FOUND - ERROR_NO_APPLICABLE_APP_LICENSES_FOUND - - - - No documentation. - - - ERROR_CLIP_LICENSE_NOT_FOUND - ERROR_CLIP_LICENSE_NOT_FOUND - - - - No documentation. - - - ERROR_CLIP_DEVICE_LICENSE_MISSING - ERROR_CLIP_DEVICE_LICENSE_MISSING - - - - No documentation. - - - ERROR_CLIP_LICENSE_INVALID_SIGNATURE - ERROR_CLIP_LICENSE_INVALID_SIGNATURE - - - - No documentation. - - - ERROR_CLIP_KEYHOLDER_LICENSE_MISSING_OR_INVALID - ERROR_CLIP_KEYHOLDER_LICENSE_MISSING_OR_INVALID - - - - No documentation. - - - ERROR_CLIP_LICENSE_EXPIRED - ERROR_CLIP_LICENSE_EXPIRED - - - - No documentation. - - - ERROR_CLIP_LICENSE_SIGNED_BY_UNKNOWN_SOURCE - ERROR_CLIP_LICENSE_SIGNED_BY_UNKNOWN_SOURCE - - - - No documentation. - - - ERROR_CLIP_LICENSE_NOT_SIGNED - ERROR_CLIP_LICENSE_NOT_SIGNED - - - - No documentation. - - - ERROR_CLIP_LICENSE_HARDWARE_ID_OUT_OF_TOLERANCE - ERROR_CLIP_LICENSE_HARDWARE_ID_OUT_OF_TOLERANCE - - - - No documentation. - - - ERROR_CLIP_LICENSE_DEVICE_ID_MISMATCH - ERROR_CLIP_LICENSE_DEVICE_ID_MISMATCH - - - - 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 - - - - No documentation. - - - ERROR_IO_PREEMPTED - ERROR_IO_PREEMPTED - - - - No documentation. - - - ERROR_SVHDX_ERROR_STORED - ERROR_SVHDX_ERROR_STORED - - - - No documentation. - - - ERROR_SVHDX_ERROR_NOT_AVAILABLE - ERROR_SVHDX_ERROR_NOT_AVAILABLE - - - - No documentation. - - - ERROR_SVHDX_UNIT_ATTENTION_AVAILABLE - ERROR_SVHDX_UNIT_ATTENTION_AVAILABLE - - - - No documentation. - - - ERROR_SVHDX_UNIT_ATTENTION_CAPACITY_DATA_CHANGED - ERROR_SVHDX_UNIT_ATTENTION_CAPACITY_DATA_CHANGED - - - - No documentation. - - - ERROR_SVHDX_UNIT_ATTENTION_RESERVATIONS_PREEMPTED - ERROR_SVHDX_UNIT_ATTENTION_RESERVATIONS_PREEMPTED - - - - No documentation. - - - ERROR_SVHDX_UNIT_ATTENTION_RESERVATIONS_RELEASED - ERROR_SVHDX_UNIT_ATTENTION_RESERVATIONS_RELEASED - - - - No documentation. - - - ERROR_SVHDX_UNIT_ATTENTION_REGISTRATIONS_PREEMPTED - ERROR_SVHDX_UNIT_ATTENTION_REGISTRATIONS_PREEMPTED - - - - No documentation. - - - ERROR_SVHDX_UNIT_ATTENTION_OPERATING_DEFINITION_CHANGED - ERROR_SVHDX_UNIT_ATTENTION_OPERATING_DEFINITION_CHANGED - - - - No documentation. - - - ERROR_SVHDX_RESERVATION_CONFLICT - ERROR_SVHDX_RESERVATION_CONFLICT - - - - No documentation. - - - ERROR_SVHDX_WRONG_FILE_TYPE - ERROR_SVHDX_WRONG_FILE_TYPE - - - - No documentation. - - - ERROR_SVHDX_VERSION_MISMATCH - ERROR_SVHDX_VERSION_MISMATCH - - - - No documentation. - - - ERROR_VHD_SHARED - ERROR_VHD_SHARED - - - - No documentation. - - - ERROR_SVHDX_NO_INITIATOR - ERROR_SVHDX_NO_INITIATOR - - - - No documentation. - - - ERROR_VHDSET_BACKING_STORAGE_NOT_FOUND - ERROR_VHDSET_BACKING_STORAGE_NOT_FOUND - - - - No documentation. - - - ERROR_SMB_NO_PREAUTH_INTEGRITY_HASH_OVERLAP - ERROR_SMB_NO_PREAUTH_INTEGRITY_HASH_OVERLAP - - - - No documentation. - - - ERROR_SMB_BAD_CLUSTER_DIALECT - ERROR_SMB_BAD_CLUSTER_DIALECT - - - -

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. - - - aa380048 - LOCK_WRITE - LOCK_WRITE - - - - No documentation. - - - aa380048 - LOCK_EXCLUSIVE - LOCK_EXCLUSIVE - - - - No documentation. - - - aa380048 - 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. - - - aa380316 - STATFLAG_DEFAULT - STATFLAG_DEFAULT - - - - No documentation. - - - aa380316 - 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 -
- - - Initializes a new instance of the 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, in bytes, of the stream.

-

This method can return one of these 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 supported by the implementation. Not all streams support greater than 2?? bytes. If a stream does not support more than 2?? bytes, the high DWORD data type of libNewSize must be zero. If it is nonzero, the implementation may return STG_E_INVALIDFUNCTION. In general, COM-based implementations of the interface do not support streams larger than 2?? bytes.

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 the 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 these 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 these 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 -
- - - No documentation. - - No documentation. - No documentation. - No documentation. - No documentation. - - 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 - interface supports simplified sequential access to stream objects. The - interface inherits its - Read and - Write methods from - .

-
- - aa380010 - ISequentialStream - ISequentialStream -
- - - Initializes a new instance of the 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 specified number of bytes from the stream object into memory starting at the current read/write location within the stream.

-
-

[in]Points to the buffer into which the stream is read. If an error occurs, this value is null.

-

[in]Specifies the number of bytes of data to attempt to read from the stream object.

-

[out]Pointer to a location where this method writes the actual number of bytes read from the stream object. You can set this reference to null to indicate that you are not interested in this value. In this case, this method does not provide the actual number of bytes read.

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

Writes a specified number of bytes into the stream object starting at the current read/write location within the stream.

-
-

[in] Points to the buffer into which the stream should be written.

-

[in] The number of bytes of data to attempt to write into the stream.

-

[out] Pointer to a location 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.

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

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

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. - - - aa380319 - wchar_t* pwcsName - wchar_t pwcsName - - - - No documentation. - - - aa380319 - unsigned int type - unsigned int type - - - - No documentation. - - - aa380319 - ULARGE_INTEGER cbSize - ULARGE_INTEGER cbSize - - - - No documentation. - - - aa380319 - FILETIME mtime - FILETIME mtime - - - - No documentation. - - - aa380319 - FILETIME ctime - FILETIME ctime - - - - No documentation. - - - aa380319 - FILETIME atime - FILETIME atime - - - - No documentation. - - - aa380319 - unsigned int grfMode - unsigned int grfMode - - - - No documentation. - - - aa380319 - unsigned int grfLocksSupported - unsigned int grfLocksSupported - - - - No documentation. - - - aa380319 - GUID clsid - GUID clsid - - - - No documentation. - - - aa380319 - unsigned int grfStateBits - unsigned int grfStateBits - - - - No documentation. - - - aa380319 - unsigned int reserved - unsigned int reserved - - - - 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) - - - - Internal FontFileEnumerator callback - - - - - 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) - - - - An enumerator using internally a . - - - - - Initializes a new instance of the class. - - The PTR to I enum string. - - - - 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 number of properties. - - - - - Gets the keys. - - - - - 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. - - - - 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. - - - - - 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. - - - - - Root IUnknown class to interop with COM object - - - - - 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 - - - - - 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. - - - - - Enables or disables release of on finalizer. Default is disabled (false). - - - - - Enables or disables writing a warning via if a was disposed in the finalizer. Default is enabled (true). - - - - - 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. - - - - - Root class for all Cpp interop object. - - - - - The native pointer - - - - - Gets or sets a custom user tag object to associate with this instance.. - - The tag object. - - - - Default constructor. - - Pointer to Cpp Object - - - - Initializes a new instance of the class. - - - - - Get a pointer to the underlying Cpp Object - - - - - 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 - - - - An Interface shadow callback - - - - - Gets the callback. - - - - - Gets the VTBL associated with this shadow instance. - - - - - Initializes the specified shadow instance from a vtbl and a callback. - - The callback. - - - - Default Constructor. - - number of methods to allocate in the VTBL - - - - Gets the pointer to the vtbl. - - - - - Add a method supported by this interface. This method is typically called from inherited constructor. - - the managed delegate method - - - - 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) - - - - - Gets a value indicating whether this instance is empty. - - true if this instance is empty; otherwise, false. - - - - 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. - - The data pointer. - - - - 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 single value from the current buffer at the specified position. - - The type of the value to be read from the buffer. - Relative position in bytes from the beginning of the buffer to get the data from. - The value as out. - The value that was read. - - - - 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 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. - - - - 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. - - - - Performs an explicit conversion from to . - - The from value. - The result of the conversion. - - - - 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. - - - - - Gets a value indicating whether this instance is empty (zeroed). - - true if this instance is empty; otherwise, false. - - - - Converts this DataPointer to a . - - An instance of a . - - - - Converts this DataPointer to a . - - An instance of a . - - - - Converts this instance to a read only byte buffer. - - A readonly byte buffer. - - DataPointer is Zero - or - Size cannot be < 0 - - - - - Converts this instance to a read only typed buffer. - - Type of a buffer element - A readonly typed buffer. - DataPointer is Zero - - - - Reads the content of the unmanaged memory location of this instance to the specified buffer. - - Type of a buffer element - The buffer. - The offset in the array to write to. - The number of T element to read from the memory location. - buffer - DataPointer is Zero - buffer;Total buffer size cannot be larger than size of this data pointer - - - - Writes the content of the specified buffer to the unmanaged memory location of this instance. - - Type of a buffer element - The buffer. - buffer - DataPointer is Zero - - - - Writes the content of the specified buffer to the unmanaged memory location of this instance. - - - The buffer to read from. - The offset in the array to read from. - The number of T element to write to the memory location. - buffer - DataPointer is Zero - buffer;Total buffer size cannot be larger than size of this data pointer - - - - Implements the ==. - - The left. - The right. - The result of the operator. - - - - Implements the !=. - - The left. - The right. - The result of the operator. - - - - 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. - - The data pointer. - - - - 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 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 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. - - - - 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. - - - - Performs an explicit conversion from to . - - The from value. - The result of the conversion. - - - - The namespace contains classes to help to diagnostic of COM object lifecycles Dispose and Release methods. - - - - - 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. - - - - 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. - - - - Returns a that represents this instance. - - - A that represents this instance. - - - - - Event args for used by . - - - - - The object being tracked/untracked. - - - - - Initializes a new instance of the class. - - The o. - - - - Track all allocated objects. - - - - - Occurs when a ComObject is tracked. - - - - - Occurs when a ComObject is untracked. - - - - - Function which provides stack trace for object tracking. - - - - - Gets default stack trace. - - - - - 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. - - - - -

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.

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

Get the size.

-
- - bb173509 - GetBufferSize - GetBufferSize - SIZE_T ID3D10Blob::GetBufferSize() -
- - -

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 -
- - - The namespace contains enumerations and structures shared by , and assemblies. - - - - -

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[] = { "zero", "0", null, null };	
-            

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 -
- - - Initializes a new instance of the struct. - - - The name. - - - The definition. - - - - -

The macro name.

-
- - ff728732 - const char* Name - char Name -
- - -

The macro definition.

-
- - ff728732 - const char* Definition - char Definition -
- - -

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. The reference device for this driver is installed by the Windows SDK 8.0 or later and is intended only as a debug aid for development purposes. This driver may be referred to as a REF driver, a reference driver, or a reference rasterizer.

Note??When you use the REF driver in Windows Store apps, the REF driver renders correctly but doesn't display any output on the screen. To verify bugs in hardware drivers for Windows Store apps, use for the WARP driver instead. ?
-
- - 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.

Note??The WARP driver that Windows?8 includes supports feature levels 9_1 through level 11_1. ? Note??The WARP driver that Windows?8.1 includes fully supports feature level 11_1, including tiled resources, , shared BCn surfaces, minblend, and map default. ?
-
- - 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 non-hardware-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 shader model 5 and logical blend operations. This feature level requires a display driver that is at least implemented to WDDM for Windows?8 (WDDM 1.2).

-
- - ff476329 - D3D_FEATURE_LEVEL_11_1 - D3D_FEATURE_LEVEL_11_1 -
- - -

Targets features supported by Direct3D 12.0 including shader model 5.

-
- - ff476329 - D3D_FEATURE_LEVEL_12_0 - D3D_FEATURE_LEVEL_12_0 -
- - -

Targets features supported by Direct3D 12.1 including shader model 5.

-
- - ff476329 - D3D_FEATURE_LEVEL_12_1 - D3D_FEATURE_LEVEL_12_1 -
- - -

Specifies interpolation mode, which affects how values are calculated during rasterization.

-
- - dn280473 - D3D_INTERPOLATION_MODE - D3D_INTERPOLATION_MODE -
- - -

The interpolation mode is undefined.

-
- - dn280473 - D3D_INTERPOLATION_UNDEFINED - D3D_INTERPOLATION_UNDEFINED -
- - -

Don't interpolate between register values.

-
- - dn280473 - D3D_INTERPOLATION_CONSTANT - D3D_INTERPOLATION_CONSTANT -
- - -

Interpolate linearly between register values.

-
- - dn280473 - D3D_INTERPOLATION_LINEAR - D3D_INTERPOLATION_LINEAR -
- - -

Interpolate linearly between register values but centroid clamped when multisampling.

-
- - dn280473 - D3D_INTERPOLATION_LINEAR_CENTROID - D3D_INTERPOLATION_LINEAR_CENTROID -
- - -

Interpolate linearly between register values but with no perspective correction.

-
- - dn280473 - D3D_INTERPOLATION_LINEAR_NOPERSPECTIVE - D3D_INTERPOLATION_LINEAR_NOPERSPECTIVE -
- - -

Interpolate linearly between register values but with no perspective correction and centroid clamped when multisampling.

-
- - dn280473 - D3D_INTERPOLATION_LINEAR_NOPERSPECTIVE_CENTROID - D3D_INTERPOLATION_LINEAR_NOPERSPECTIVE_CENTROID -
- - -

Interpolate linearly between register values but sample clamped when multisampling.

-
- - dn280473 - D3D_INTERPOLATION_LINEAR_SAMPLE - D3D_INTERPOLATION_LINEAR_SAMPLE -
- - -

Interpolate linearly between register values but with no perspective correction and sample clamped when multisampling.

-
- - dn280473 - D3D_INTERPOLATION_LINEAR_NOPERSPECTIVE_SAMPLE - D3D_INTERPOLATION_LINEAR_NOPERSPECTIVE_SAMPLE -
- - -

Values that indicate the minimum desired interpolation precision.

-
- -

For more info, see Scalar Types and Using HLSL minimum precision.

-
- - jj247572 - D3D_MIN_PRECISION - D3D_MIN_PRECISION -
- - -

Default minimum precision, which is 32-bit precision.

-
- - jj247572 - D3D_MIN_PRECISION_DEFAULT - D3D_MIN_PRECISION_DEFAULT -
- - -

Minimum precision is min16float, which is 16-bit floating point.

-
- - jj247572 - D3D_MIN_PRECISION_FLOAT_16 - D3D_MIN_PRECISION_FLOAT_16 -
- - -

Minimum precision is min10float, which is 10-bit floating point.

-
- - jj247572 - D3D_MIN_PRECISION_FLOAT_2_8 - D3D_MIN_PRECISION_FLOAT_2_8 -
- - -

Reserved

-
- - jj247572 - D3D_MIN_PRECISION_RESERVED - D3D_MIN_PRECISION_RESERVED -
- - -

Minimum precision is min16int, which is 16-bit signed integer.

-
- - jj247572 - D3D_MIN_PRECISION_SINT_16 - D3D_MIN_PRECISION_SINT_16 -
- - -

Minimum precision is min16uint, which is 16-bit unsigned integer.

-
- - jj247572 - D3D_MIN_PRECISION_UINT_16 - D3D_MIN_PRECISION_UINT_16 -
- - -

Minimum precision is any 16-bit value.

-
- - jj247572 - D3D_MIN_PRECISION_ANY_16 - D3D_MIN_PRECISION_ANY_16 -
- - -

Minimum precision is any 10-bit value.

-
- - jj247572 - 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. - - - ff728726 - D3D_PRIMITIVE_TOPOLOGY_UNDEFINED - D3D_PRIMITIVE_TOPOLOGY_UNDEFINED - - - - No documentation. - - - ff728726 - D3D_PRIMITIVE_TOPOLOGY_POINTLIST - D3D_PRIMITIVE_TOPOLOGY_POINTLIST - - - - No documentation. - - - ff728726 - D3D_PRIMITIVE_TOPOLOGY_LINELIST - D3D_PRIMITIVE_TOPOLOGY_LINELIST - - - - No documentation. - - - ff728726 - D3D_PRIMITIVE_TOPOLOGY_LINESTRIP - D3D_PRIMITIVE_TOPOLOGY_LINESTRIP - - - - No documentation. - - - ff728726 - D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST - D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST - - - - No documentation. - - - ff728726 - D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP - D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP - - - - No documentation. - - - ff728726 - D3D_PRIMITIVE_TOPOLOGY_LINELIST_ADJ - D3D_PRIMITIVE_TOPOLOGY_LINELIST_ADJ - - - - No documentation. - - - ff728726 - D3D_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ - D3D_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ - - - - No documentation. - - - ff728726 - D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ - D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ - - - - No documentation. - - - ff728726 - D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ - D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ - - - - No documentation. - - - ff728726 - D3D_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST - D3D_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST - - - - No documentation. - - - ff728726 - D3D_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST - D3D_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST - - - - No documentation. - - - ff728726 - D3D_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST - D3D_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST - - - - No documentation. - - - ff728726 - D3D_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST - D3D_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST - - - - No documentation. - - - ff728726 - D3D_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST - D3D_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST - - - - No documentation. - - - ff728726 - D3D_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST - D3D_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST - - - - No documentation. - - - ff728726 - D3D_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST - D3D_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST - - - - No documentation. - - - ff728726 - D3D_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST - D3D_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST - - - - No documentation. - - - ff728726 - D3D_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST - D3D_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST - - - - No documentation. - - - ff728726 - D3D_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST - D3D_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST - - - - No documentation. - - - ff728726 - D3D_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST - D3D_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST - - - - No documentation. - - - ff728726 - D3D_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST - D3D_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST - - - - No documentation. - - - ff728726 - D3D_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST - D3D_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST - - - - No documentation. - - - ff728726 - D3D_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST - D3D_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST - - - - No documentation. - - - ff728726 - D3D_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST - D3D_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST - - - - No documentation. - - - ff728726 - D3D_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST - D3D_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST - - - - No documentation. - - - ff728726 - D3D_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST - D3D_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST - - - - No documentation. - - - ff728726 - D3D_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST - D3D_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST - - - - No documentation. - - - ff728726 - D3D_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST - D3D_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST - - - - No documentation. - - - ff728726 - D3D_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST - D3D_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST - - - - No documentation. - - - ff728726 - D3D_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST - D3D_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST - - - - No documentation. - - - ff728726 - D3D_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST - D3D_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST - - - - No documentation. - - - ff728726 - D3D_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST - D3D_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST - - - - No documentation. - - - ff728726 - D3D_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST - D3D_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST - - - - No documentation. - - - ff728726 - D3D_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST - D3D_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST - - - - No documentation. - - - ff728726 - D3D_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST - D3D_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST - - - - No documentation. - - - ff728726 - D3D_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST - D3D_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST - - - - No documentation. - - - ff728726 - D3D_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST - D3D_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST - - - - No documentation. - - - ff728726 - D3D_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST - D3D_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST - - - - No documentation. - - - ff728726 - D3D_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST - D3D_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST - - - - No documentation. - - - ff728726 - D3D_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST - D3D_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST - - - - No documentation. - - - ff728726 - 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 a raw buffer. For more info about raw viewing of buffers, see Raw Views of Buffers.

-
- - ff728736 - D3D_SRV_DIMENSION_BUFFEREX - D3D_SRV_DIMENSION_BUFFEREX -
- - - Functions - - - - - Constant DebugObjectName. - WKPDID_D3DDebugObjectName - - - - No documentation. - - - ID3DDestructionNotifier - ID3DDestructionNotifier - - - -

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 -
- - - A compilation exception. - - - - - Initializes a new instance of the class. - - The message. - - - - Initializes a new instance of the class. - - The error code. - The message. - - - - 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. - - - - - - - - Base class for a class. - - - - - Occurs when this instance is starting to be disposed. - - - - - Occurs when this instance is fully disposed. - - - - - Releases unmanaged resources and performs other cleanup operations before the - is reclaimed by garbage collection. - - - - - Gets a value indicating whether this instance is disposed. - - - true if this instance is disposed; otherwise, false. - - - - - 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. - - - - A class to dispose instances and allocated unmanaged memory. - - - - - Gets the number of elements to dispose. - - The number of elements to dispose. - - - - 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. - - - - Event args which can tell whether calling Dispose with dispoing flag or not. - - - - - DisposeEventArgs with Disposing flag set to true. - - - - - DisposeEventArgs with Disposing flag set to false. - - - - - True when disposing, otherwise false. - - - - - Initializes a new instance of a DisposeEventArgs class. - - True when disposing, otherwise false. - - - - Gets event args base on disposing parameter. - - True when disposing, otherwise false. - DisposeEventArgs object based on disposing parameter. - - - - 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. - - - - -

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

Specifies the category of an audio stream.

-
- -

Note that only a subset of the audio stream categories are valid for certain stream types.

Stream typeValid categories
Render streamAll categories are valid.
Capture streamAudioCategory_Communications, AudioCategory_Speech, AudioCategory_Other
Loopback streamAudioCategory_Other

?

Games should categorize their music streams as AudioCategory_GameMedia so that game music mutes automatically if another application plays music in the background. Music or video applications should categorize their streams as AudioCategory_Media or AudioCategory_Movie so they will take priority over AudioCategory_GameMedia streams.

The values AudioCategory_ForegroundOnlyMedia and AudioCategory_BackgroundCapableMedia are deprecated. For Windows Store apps, these values will continue to function the same when running on Windows?10 as they did on Windows?8.1. Attempting to use these values in a Universal Windows Platform (UWP) app, will result in compilation errors and an exception at runtime. Using these values in a Windows desktop application built with the Windows?10 SDK the will result in a compilation error.

-
- - hh404178 - AUDIO_STREAM_CATEGORY - AUDIO_STREAM_CATEGORY -
- - -

Other audio stream.

-
- - hh404178 - AudioCategory_Other - AudioCategory_Other -
- - -

Media that will only stream when the app is in the foreground. This enumeration value has been deprecated. For more information, see the Remarks section.

-
- - hh404178 - AudioCategory_ForegroundOnlyMedia - AudioCategory_ForegroundOnlyMedia -
- - -

Real-time communications, such as VOIP or chat.

-
- - hh404178 - AudioCategory_Communications - AudioCategory_Communications -
- - -

Alert sounds.

-
- - hh404178 - AudioCategory_Alerts - AudioCategory_Alerts -
- - -

Sound effects.

-
- - hh404178 - AudioCategory_SoundEffects - AudioCategory_SoundEffects -
- - -

Game sound effects.

-
- - hh404178 - AudioCategory_GameEffects - AudioCategory_GameEffects -
- - -

Background audio for games.

-
- - hh404178 - AudioCategory_GameMedia - AudioCategory_GameMedia -
- - -

Game chat audio. Similar to AudioCategory_Communications except that AudioCategory_GameChat will not attenuate other streams.

-
- - hh404178 - AudioCategory_GameChat - AudioCategory_GameChat -
- - -

Speech.

-
- - hh404178 - AudioCategory_Speech - AudioCategory_Speech -
- - -

Stream that includes audio with dialog.

-
- - hh404178 - AudioCategory_Movie - AudioCategory_Movie -
- - -

Stream that includes audio without dialog.

-
- - hh404178 - AudioCategory_Media - AudioCategory_Media -
- - - 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_MULTI_AXIS_CONTROLLER - HID_USAGE_GENERIC_MULTI_AXIS_CONTROLLER - - - - No documentation. - - - HID_USAGE_GENERIC_TABLET_PC_SYSTEM_CTL - HID_USAGE_GENERIC_TABLET_PC_SYSTEM_CTL - - - - No documentation. - - - HID_USAGE_GENERIC_PORTABLE_DEVICE_CONTROL - HID_USAGE_GENERIC_PORTABLE_DEVICE_CONTROL - - - - No documentation. - - - HID_USAGE_GENERIC_INTERACTIVE_CONTROL - HID_USAGE_GENERIC_INTERACTIVE_CONTROL - - - - No documentation. - - - HID_USAGE_GENERIC_COUNTED_BUFFER - HID_USAGE_GENERIC_COUNTED_BUFFER - - - - 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_BYTE_COUNT - HID_USAGE_GENERIC_BYTE_COUNT - - - - No documentation. - - - HID_USAGE_GENERIC_MOTION_WAKEUP - HID_USAGE_GENERIC_MOTION_WAKEUP - - - - No documentation. - - - HID_USAGE_GENERIC_START - HID_USAGE_GENERIC_START - - - - No documentation. - - - HID_USAGE_GENERIC_SELECT - HID_USAGE_GENERIC_SELECT - - - - 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_FEATURE_NOTIFICATION - HID_USAGE_GENERIC_FEATURE_NOTIFICATION - - - - No documentation. - - - HID_USAGE_GENERIC_RESOLUTION_MULTIPLIER - HID_USAGE_GENERIC_RESOLUTION_MULTIPLIER - - - - 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_GENERIC_SYSCTL_COLD_RESTART - HID_USAGE_GENERIC_SYSCTL_COLD_RESTART - - - - No documentation. - - - HID_USAGE_GENERIC_SYSCTL_WARM_RESTART - HID_USAGE_GENERIC_SYSCTL_WARM_RESTART - - - - No documentation. - - - HID_USAGE_GENERIC_DPAD_UP - HID_USAGE_GENERIC_DPAD_UP - - - - No documentation. - - - HID_USAGE_GENERIC_DPAD_DOWN - HID_USAGE_GENERIC_DPAD_DOWN - - - - No documentation. - - - HID_USAGE_GENERIC_DPAD_RIGHT - HID_USAGE_GENERIC_DPAD_RIGHT - - - - No documentation. - - - HID_USAGE_GENERIC_DPAD_LEFT - HID_USAGE_GENERIC_DPAD_LEFT - - - - No documentation. - - - HID_USAGE_GENERIC_SYSCTL_DOCK - HID_USAGE_GENERIC_SYSCTL_DOCK - - - - No documentation. - - - HID_USAGE_GENERIC_SYSCTL_UNDOCK - HID_USAGE_GENERIC_SYSCTL_UNDOCK - - - - No documentation. - - - HID_USAGE_GENERIC_SYSCTL_SETUP - HID_USAGE_GENERIC_SYSCTL_SETUP - - - - No documentation. - - - HID_USAGE_GENERIC_SYSCTL_SYS_BREAK - HID_USAGE_GENERIC_SYSCTL_SYS_BREAK - - - - No documentation. - - - HID_USAGE_GENERIC_SYSCTL_SYS_DBG_BREAK - HID_USAGE_GENERIC_SYSCTL_SYS_DBG_BREAK - - - - No documentation. - - - HID_USAGE_GENERIC_SYSCTL_APP_BREAK - HID_USAGE_GENERIC_SYSCTL_APP_BREAK - - - - No documentation. - - - HID_USAGE_GENERIC_SYSCTL_APP_DBG_BREAK - HID_USAGE_GENERIC_SYSCTL_APP_DBG_BREAK - - - - No documentation. - - - HID_USAGE_GENERIC_SYSCTL_MUTE - HID_USAGE_GENERIC_SYSCTL_MUTE - - - - No documentation. - - - HID_USAGE_GENERIC_SYSCTL_HIBERNATE - HID_USAGE_GENERIC_SYSCTL_HIBERNATE - - - - No documentation. - - - HID_USAGE_GENERIC_SYSCTL_DISP_INVERT - HID_USAGE_GENERIC_SYSCTL_DISP_INVERT - - - - No documentation. - - - HID_USAGE_GENERIC_SYSCTL_DISP_INTERNAL - HID_USAGE_GENERIC_SYSCTL_DISP_INTERNAL - - - - No documentation. - - - HID_USAGE_GENERIC_SYSCTL_DISP_EXTERNAL - HID_USAGE_GENERIC_SYSCTL_DISP_EXTERNAL - - - - No documentation. - - - HID_USAGE_GENERIC_SYSCTL_DISP_BOTH - HID_USAGE_GENERIC_SYSCTL_DISP_BOTH - - - - No documentation. - - - HID_USAGE_GENERIC_SYSCTL_DISP_DUAL - HID_USAGE_GENERIC_SYSCTL_DISP_DUAL - - - - No documentation. - - - HID_USAGE_GENERIC_SYSCTL_DISP_TOGGLE - HID_USAGE_GENERIC_SYSCTL_DISP_TOGGLE - - - - No documentation. - - - HID_USAGE_GENERIC_SYSCTL_DISP_SWAP - HID_USAGE_GENERIC_SYSCTL_DISP_SWAP - - - - No documentation. - - - HID_USAGE_GENERIC_SYSCTL_DISP_AUTOSCALE - HID_USAGE_GENERIC_SYSCTL_DISP_AUTOSCALE - - - - No documentation. - - - HID_USAGE_GENERIC_SYSTEM_DISPLAY_ROTATION_LOCK_BUTTON - HID_USAGE_GENERIC_SYSTEM_DISPLAY_ROTATION_LOCK_BUTTON - - - - No documentation. - - - HID_USAGE_GENERIC_SYSTEM_DISPLAY_ROTATION_LOCK_SLIDER_SWITCH - HID_USAGE_GENERIC_SYSTEM_DISPLAY_ROTATION_LOCK_SLIDER_SWITCH - - - - No documentation. - - - HID_USAGE_GENERIC_CONTROL_ENABLE - HID_USAGE_GENERIC_CONTROL_ENABLE - - - - No documentation. - - - HID_USAGE_SIMULATION_FLIGHT_SIMULATION_DEVICE - HID_USAGE_SIMULATION_FLIGHT_SIMULATION_DEVICE - - - - No documentation. - - - HID_USAGE_SIMULATION_AUTOMOBILE_SIMULATION_DEVICE - HID_USAGE_SIMULATION_AUTOMOBILE_SIMULATION_DEVICE - - - - No documentation. - - - HID_USAGE_SIMULATION_TANK_SIMULATION_DEVICE - HID_USAGE_SIMULATION_TANK_SIMULATION_DEVICE - - - - No documentation. - - - HID_USAGE_SIMULATION_SPACESHIP_SIMULATION_DEVICE - HID_USAGE_SIMULATION_SPACESHIP_SIMULATION_DEVICE - - - - No documentation. - - - HID_USAGE_SIMULATION_SUBMARINE_SIMULATION_DEVICE - HID_USAGE_SIMULATION_SUBMARINE_SIMULATION_DEVICE - - - - No documentation. - - - HID_USAGE_SIMULATION_SAILING_SIMULATION_DEVICE - HID_USAGE_SIMULATION_SAILING_SIMULATION_DEVICE - - - - No documentation. - - - HID_USAGE_SIMULATION_MOTORCYCLE_SIMULATION_DEVICE - HID_USAGE_SIMULATION_MOTORCYCLE_SIMULATION_DEVICE - - - - No documentation. - - - HID_USAGE_SIMULATION_SPORTS_SIMULATION_DEVICE - HID_USAGE_SIMULATION_SPORTS_SIMULATION_DEVICE - - - - No documentation. - - - HID_USAGE_SIMULATION_AIRPLANE_SIMULATION_DEVICE - HID_USAGE_SIMULATION_AIRPLANE_SIMULATION_DEVICE - - - - No documentation. - - - HID_USAGE_SIMULATION_HELICOPTER_SIMULATION_DEVICE - HID_USAGE_SIMULATION_HELICOPTER_SIMULATION_DEVICE - - - - No documentation. - - - HID_USAGE_SIMULATION_MAGIC_CARPET_SIMULATION_DEVICE - HID_USAGE_SIMULATION_MAGIC_CARPET_SIMULATION_DEVICE - - - - No documentation. - - - HID_USAGE_SIMULATION_BICYCLE_SIMULATION_DEVICE - HID_USAGE_SIMULATION_BICYCLE_SIMULATION_DEVICE - - - - No documentation. - - - HID_USAGE_SIMULATION_FLIGHT_CONTROL_STICK - HID_USAGE_SIMULATION_FLIGHT_CONTROL_STICK - - - - No documentation. - - - HID_USAGE_SIMULATION_FLIGHT_STICK - HID_USAGE_SIMULATION_FLIGHT_STICK - - - - No documentation. - - - HID_USAGE_SIMULATION_CYCLIC_CONTROL - HID_USAGE_SIMULATION_CYCLIC_CONTROL - - - - No documentation. - - - HID_USAGE_SIMULATION_CYCLIC_TRIM - HID_USAGE_SIMULATION_CYCLIC_TRIM - - - - No documentation. - - - HID_USAGE_SIMULATION_FLIGHT_YOKE - HID_USAGE_SIMULATION_FLIGHT_YOKE - - - - No documentation. - - - HID_USAGE_SIMULATION_TRACK_CONTROL - HID_USAGE_SIMULATION_TRACK_CONTROL - - - - No documentation. - - - HID_USAGE_SIMULATION_AILERON - HID_USAGE_SIMULATION_AILERON - - - - No documentation. - - - HID_USAGE_SIMULATION_AILERON_TRIM - HID_USAGE_SIMULATION_AILERON_TRIM - - - - No documentation. - - - HID_USAGE_SIMULATION_ANTI_TORQUE_CONTROL - HID_USAGE_SIMULATION_ANTI_TORQUE_CONTROL - - - - No documentation. - - - HID_USAGE_SIMULATION_AUTOPIOLOT_ENABLE - HID_USAGE_SIMULATION_AUTOPIOLOT_ENABLE - - - - No documentation. - - - HID_USAGE_SIMULATION_CHAFF_RELEASE - HID_USAGE_SIMULATION_CHAFF_RELEASE - - - - No documentation. - - - HID_USAGE_SIMULATION_COLLECTIVE_CONTROL - HID_USAGE_SIMULATION_COLLECTIVE_CONTROL - - - - No documentation. - - - HID_USAGE_SIMULATION_DIVE_BRAKE - HID_USAGE_SIMULATION_DIVE_BRAKE - - - - No documentation. - - - HID_USAGE_SIMULATION_ELECTRONIC_COUNTERMEASURES - HID_USAGE_SIMULATION_ELECTRONIC_COUNTERMEASURES - - - - No documentation. - - - HID_USAGE_SIMULATION_ELEVATOR - HID_USAGE_SIMULATION_ELEVATOR - - - - No documentation. - - - HID_USAGE_SIMULATION_ELEVATOR_TRIM - HID_USAGE_SIMULATION_ELEVATOR_TRIM - - - - No documentation. - - - HID_USAGE_SIMULATION_RUDDER - HID_USAGE_SIMULATION_RUDDER - - - - No documentation. - - - HID_USAGE_SIMULATION_THROTTLE - HID_USAGE_SIMULATION_THROTTLE - - - - No documentation. - - - HID_USAGE_SIMULATION_FLIGHT_COMMUNICATIONS - HID_USAGE_SIMULATION_FLIGHT_COMMUNICATIONS - - - - No documentation. - - - HID_USAGE_SIMULATION_FLARE_RELEASE - HID_USAGE_SIMULATION_FLARE_RELEASE - - - - No documentation. - - - HID_USAGE_SIMULATION_LANDING_GEAR - HID_USAGE_SIMULATION_LANDING_GEAR - - - - No documentation. - - - HID_USAGE_SIMULATION_TOE_BRAKE - HID_USAGE_SIMULATION_TOE_BRAKE - - - - No documentation. - - - HID_USAGE_SIMULATION_TRIGGER - HID_USAGE_SIMULATION_TRIGGER - - - - No documentation. - - - HID_USAGE_SIMULATION_WEAPONS_ARM - HID_USAGE_SIMULATION_WEAPONS_ARM - - - - No documentation. - - - HID_USAGE_SIMULATION_WEAPONS_SELECT - HID_USAGE_SIMULATION_WEAPONS_SELECT - - - - No documentation. - - - HID_USAGE_SIMULATION_WING_FLAPS - HID_USAGE_SIMULATION_WING_FLAPS - - - - No documentation. - - - HID_USAGE_SIMULATION_ACCELLERATOR - HID_USAGE_SIMULATION_ACCELLERATOR - - - - No documentation. - - - HID_USAGE_SIMULATION_BRAKE - HID_USAGE_SIMULATION_BRAKE - - - - No documentation. - - - HID_USAGE_SIMULATION_CLUTCH - HID_USAGE_SIMULATION_CLUTCH - - - - No documentation. - - - HID_USAGE_SIMULATION_SHIFTER - HID_USAGE_SIMULATION_SHIFTER - - - - No documentation. - - - HID_USAGE_SIMULATION_STEERING - HID_USAGE_SIMULATION_STEERING - - - - No documentation. - - - HID_USAGE_SIMULATION_TURRET_DIRECTION - HID_USAGE_SIMULATION_TURRET_DIRECTION - - - - No documentation. - - - HID_USAGE_SIMULATION_BARREL_ELEVATION - HID_USAGE_SIMULATION_BARREL_ELEVATION - - - - No documentation. - - - HID_USAGE_SIMULATION_DIVE_PLANE - HID_USAGE_SIMULATION_DIVE_PLANE - - - - No documentation. - - - HID_USAGE_SIMULATION_BALLAST - HID_USAGE_SIMULATION_BALLAST - - - - No documentation. - - - HID_USAGE_SIMULATION_BICYCLE_CRANK - HID_USAGE_SIMULATION_BICYCLE_CRANK - - - - No documentation. - - - HID_USAGE_SIMULATION_HANDLE_BARS - HID_USAGE_SIMULATION_HANDLE_BARS - - - - No documentation. - - - HID_USAGE_SIMULATION_FRONT_BRAKE - HID_USAGE_SIMULATION_FRONT_BRAKE - - - - No documentation. - - - HID_USAGE_SIMULATION_REAR_BRAKE - HID_USAGE_SIMULATION_REAR_BRAKE - - - - No documentation. - - - HID_USAGE_VR_BELT - HID_USAGE_VR_BELT - - - - No documentation. - - - HID_USAGE_VR_BODY_SUIT - HID_USAGE_VR_BODY_SUIT - - - - No documentation. - - - HID_USAGE_VR_FLEXOR - HID_USAGE_VR_FLEXOR - - - - No documentation. - - - HID_USAGE_VR_GLOVE - HID_USAGE_VR_GLOVE - - - - No documentation. - - - HID_USAGE_VR_HEAD_TRACKER - HID_USAGE_VR_HEAD_TRACKER - - - - No documentation. - - - HID_USAGE_VR_HEAD_MOUNTED_DISPLAY - HID_USAGE_VR_HEAD_MOUNTED_DISPLAY - - - - No documentation. - - - HID_USAGE_VR_HAND_TRACKER - HID_USAGE_VR_HAND_TRACKER - - - - No documentation. - - - HID_USAGE_VR_OCULOMETER - HID_USAGE_VR_OCULOMETER - - - - No documentation. - - - HID_USAGE_VR_VEST - HID_USAGE_VR_VEST - - - - No documentation. - - - HID_USAGE_VR_ANIMATRONIC_DEVICE - HID_USAGE_VR_ANIMATRONIC_DEVICE - - - - No documentation. - - - HID_USAGE_VR_STEREO_ENABLE - HID_USAGE_VR_STEREO_ENABLE - - - - No documentation. - - - HID_USAGE_VR_DISPLAY_ENABLE - HID_USAGE_VR_DISPLAY_ENABLE - - - - No documentation. - - - HID_USAGE_SPORT_BASEBALL_BAT - HID_USAGE_SPORT_BASEBALL_BAT - - - - No documentation. - - - HID_USAGE_SPORT_GOLF_CLUB - HID_USAGE_SPORT_GOLF_CLUB - - - - No documentation. - - - HID_USAGE_SPORT_ROWING_MACHINE - HID_USAGE_SPORT_ROWING_MACHINE - - - - No documentation. - - - HID_USAGE_SPORT_TREADMILL - HID_USAGE_SPORT_TREADMILL - - - - No documentation. - - - HID_USAGE_SPORT_STICK_TYPE - HID_USAGE_SPORT_STICK_TYPE - - - - No documentation. - - - HID_USAGE_SPORT_OAR - HID_USAGE_SPORT_OAR - - - - No documentation. - - - HID_USAGE_SPORT_SLOPE - HID_USAGE_SPORT_SLOPE - - - - No documentation. - - - HID_USAGE_SPORT_RATE - HID_USAGE_SPORT_RATE - - - - No documentation. - - - HID_USAGE_SPORT_STICK_SPEED - HID_USAGE_SPORT_STICK_SPEED - - - - No documentation. - - - HID_USAGE_SPORT_STICK_FACE_ANGLE - HID_USAGE_SPORT_STICK_FACE_ANGLE - - - - No documentation. - - - HID_USAGE_SPORT_HEEL_TOE - HID_USAGE_SPORT_HEEL_TOE - - - - No documentation. - - - HID_USAGE_SPORT_FOLLOW_THROUGH - HID_USAGE_SPORT_FOLLOW_THROUGH - - - - No documentation. - - - HID_USAGE_SPORT_TEMPO - HID_USAGE_SPORT_TEMPO - - - - No documentation. - - - HID_USAGE_SPORT_HEIGHT - HID_USAGE_SPORT_HEIGHT - - - - No documentation. - - - HID_USAGE_SPORT_PUTTER - HID_USAGE_SPORT_PUTTER - - - - No documentation. - - - HID_USAGE_SPORT_1_IRON - HID_USAGE_SPORT_1_IRON - - - - No documentation. - - - HID_USAGE_SPORT_2_IRON - HID_USAGE_SPORT_2_IRON - - - - No documentation. - - - HID_USAGE_SPORT_3_IRON - HID_USAGE_SPORT_3_IRON - - - - No documentation. - - - HID_USAGE_SPORT_4_IRON - HID_USAGE_SPORT_4_IRON - - - - No documentation. - - - HID_USAGE_SPORT_5_IRON - HID_USAGE_SPORT_5_IRON - - - - No documentation. - - - HID_USAGE_SPORT_6_IRON - HID_USAGE_SPORT_6_IRON - - - - No documentation. - - - HID_USAGE_SPORT_7_IRON - HID_USAGE_SPORT_7_IRON - - - - No documentation. - - - HID_USAGE_SPORT_8_IRON - HID_USAGE_SPORT_8_IRON - - - - No documentation. - - - HID_USAGE_SPORT_9_IRON - HID_USAGE_SPORT_9_IRON - - - - No documentation. - - - HID_USAGE_SPORT_10_IRON - HID_USAGE_SPORT_10_IRON - - - - No documentation. - - - HID_USAGE_SPORT_11_IRON - HID_USAGE_SPORT_11_IRON - - - - No documentation. - - - HID_USAGE_SPORT_SAND_WEDGE - HID_USAGE_SPORT_SAND_WEDGE - - - - No documentation. - - - HID_USAGE_SPORT_LOFT_WEDGE - HID_USAGE_SPORT_LOFT_WEDGE - - - - No documentation. - - - HID_USAGE_SPORT_POWER_WEDGE - HID_USAGE_SPORT_POWER_WEDGE - - - - No documentation. - - - HID_USAGE_SPORT_1_WOOD - HID_USAGE_SPORT_1_WOOD - - - - No documentation. - - - HID_USAGE_SPORT_3_WOOD - HID_USAGE_SPORT_3_WOOD - - - - No documentation. - - - HID_USAGE_SPORT_5_WOOD - HID_USAGE_SPORT_5_WOOD - - - - No documentation. - - - HID_USAGE_SPORT_7_WOOD - HID_USAGE_SPORT_7_WOOD - - - - No documentation. - - - HID_USAGE_SPORT_9_WOOD - HID_USAGE_SPORT_9_WOOD - - - - No documentation. - - - HID_USAGE_GAME_3D_GAME_CONTROLLER - HID_USAGE_GAME_3D_GAME_CONTROLLER - - - - No documentation. - - - HID_USAGE_GAME_PINBALL_DEVICE - HID_USAGE_GAME_PINBALL_DEVICE - - - - No documentation. - - - HID_USAGE_GAME_GUN_DEVICE - HID_USAGE_GAME_GUN_DEVICE - - - - No documentation. - - - HID_USAGE_GAME_POINT_OF_VIEW - HID_USAGE_GAME_POINT_OF_VIEW - - - - No documentation. - - - HID_USAGE_GAME_GUN_SELECTOR - HID_USAGE_GAME_GUN_SELECTOR - - - - No documentation. - - - HID_USAGE_GAME_GAMEPAD_FIRE_JUMP - HID_USAGE_GAME_GAMEPAD_FIRE_JUMP - - - - No documentation. - - - HID_USAGE_GAME_GAMEPAD_TRIGGER - HID_USAGE_GAME_GAMEPAD_TRIGGER - - - - No documentation. - - - HID_USAGE_GAME_TURN_RIGHT_LEFT - HID_USAGE_GAME_TURN_RIGHT_LEFT - - - - No documentation. - - - HID_USAGE_GAME_PITCH_FORWARD_BACK - HID_USAGE_GAME_PITCH_FORWARD_BACK - - - - No documentation. - - - HID_USAGE_GAME_ROLL_RIGHT_LEFT - HID_USAGE_GAME_ROLL_RIGHT_LEFT - - - - No documentation. - - - HID_USAGE_GAME_MOVE_RIGHT_LEFT - HID_USAGE_GAME_MOVE_RIGHT_LEFT - - - - No documentation. - - - HID_USAGE_GAME_MOVE_FORWARD_BACK - HID_USAGE_GAME_MOVE_FORWARD_BACK - - - - No documentation. - - - HID_USAGE_GAME_MOVE_UP_DOWN - HID_USAGE_GAME_MOVE_UP_DOWN - - - - No documentation. - - - HID_USAGE_GAME_LEAN_RIGHT_LEFT - HID_USAGE_GAME_LEAN_RIGHT_LEFT - - - - No documentation. - - - HID_USAGE_GAME_LEAN_FORWARD_BACK - HID_USAGE_GAME_LEAN_FORWARD_BACK - - - - No documentation. - - - HID_USAGE_GAME_POV_HEIGHT - HID_USAGE_GAME_POV_HEIGHT - - - - No documentation. - - - HID_USAGE_GAME_FLIPPER - HID_USAGE_GAME_FLIPPER - - - - No documentation. - - - HID_USAGE_GAME_SECONDARY_FLIPPER - HID_USAGE_GAME_SECONDARY_FLIPPER - - - - No documentation. - - - HID_USAGE_GAME_BUMP - HID_USAGE_GAME_BUMP - - - - No documentation. - - - HID_USAGE_GAME_NEW_GAME - HID_USAGE_GAME_NEW_GAME - - - - No documentation. - - - HID_USAGE_GAME_SHOOT_BALL - HID_USAGE_GAME_SHOOT_BALL - - - - No documentation. - - - HID_USAGE_GAME_PLAYER - HID_USAGE_GAME_PLAYER - - - - No documentation. - - - HID_USAGE_GAME_GUN_BOLT - HID_USAGE_GAME_GUN_BOLT - - - - No documentation. - - - HID_USAGE_GAME_GUN_CLIP - HID_USAGE_GAME_GUN_CLIP - - - - No documentation. - - - HID_USAGE_GAME_GUN_SINGLE_SHOT - HID_USAGE_GAME_GUN_SINGLE_SHOT - - - - No documentation. - - - HID_USAGE_GAME_GUN_BURST - HID_USAGE_GAME_GUN_BURST - - - - No documentation. - - - HID_USAGE_GAME_GUN_AUTOMATIC - HID_USAGE_GAME_GUN_AUTOMATIC - - - - No documentation. - - - HID_USAGE_GAME_GUN_SAFETY - HID_USAGE_GAME_GUN_SAFETY - - - - No documentation. - - - HID_USAGE_GENERIC_DEVICE_BATTERY_STRENGTH - HID_USAGE_GENERIC_DEVICE_BATTERY_STRENGTH - - - - No documentation. - - - HID_USAGE_GENERIC_DEVICE_WIRELESS_CHANNEL - HID_USAGE_GENERIC_DEVICE_WIRELESS_CHANNEL - - - - No documentation. - - - HID_USAGE_GENERIC_DEVICE_WIRELESS_ID - HID_USAGE_GENERIC_DEVICE_WIRELESS_ID - - - - No documentation. - - - HID_USAGE_GENERIC_DEVICE_DISCOVER_WIRELESS_CONTROL - HID_USAGE_GENERIC_DEVICE_DISCOVER_WIRELESS_CONTROL - - - - No documentation. - - - HID_USAGE_GENERIC_DEVICE_SECURITY_CODE_CHAR_ENTERED - HID_USAGE_GENERIC_DEVICE_SECURITY_CODE_CHAR_ENTERED - - - - No documentation. - - - HID_USAGE_GENERIC_DEVICE_SECURITY_CODE_CHAR_ERASED - HID_USAGE_GENERIC_DEVICE_SECURITY_CODE_CHAR_ERASED - - - - No documentation. - - - HID_USAGE_GENERIC_DEVICE_SECURITY_CODE_CLEARED - HID_USAGE_GENERIC_DEVICE_SECURITY_CODE_CLEARED - - - - 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_F2 - HID_USAGE_KEYBOARD_F2 - - - - No documentation. - - - HID_USAGE_KEYBOARD_F3 - HID_USAGE_KEYBOARD_F3 - - - - No documentation. - - - HID_USAGE_KEYBOARD_F4 - HID_USAGE_KEYBOARD_F4 - - - - No documentation. - - - HID_USAGE_KEYBOARD_F5 - HID_USAGE_KEYBOARD_F5 - - - - No documentation. - - - HID_USAGE_KEYBOARD_F6 - HID_USAGE_KEYBOARD_F6 - - - - No documentation. - - - HID_USAGE_KEYBOARD_F7 - HID_USAGE_KEYBOARD_F7 - - - - No documentation. - - - HID_USAGE_KEYBOARD_F8 - HID_USAGE_KEYBOARD_F8 - - - - No documentation. - - - HID_USAGE_KEYBOARD_F9 - HID_USAGE_KEYBOARD_F9 - - - - No documentation. - - - HID_USAGE_KEYBOARD_F10 - HID_USAGE_KEYBOARD_F10 - - - - No documentation. - - - HID_USAGE_KEYBOARD_F11 - HID_USAGE_KEYBOARD_F11 - - - - No documentation. - - - HID_USAGE_KEYBOARD_F12 - HID_USAGE_KEYBOARD_F12 - - - - No documentation. - - - HID_USAGE_KEYBOARD_F13 - HID_USAGE_KEYBOARD_F13 - - - - No documentation. - - - HID_USAGE_KEYBOARD_F14 - HID_USAGE_KEYBOARD_F14 - - - - No documentation. - - - HID_USAGE_KEYBOARD_F15 - HID_USAGE_KEYBOARD_F15 - - - - No documentation. - - - HID_USAGE_KEYBOARD_F16 - HID_USAGE_KEYBOARD_F16 - - - - No documentation. - - - HID_USAGE_KEYBOARD_F17 - HID_USAGE_KEYBOARD_F17 - - - - No documentation. - - - HID_USAGE_KEYBOARD_F18 - HID_USAGE_KEYBOARD_F18 - - - - No documentation. - - - HID_USAGE_KEYBOARD_F19 - HID_USAGE_KEYBOARD_F19 - - - - No documentation. - - - HID_USAGE_KEYBOARD_F20 - HID_USAGE_KEYBOARD_F20 - - - - No documentation. - - - HID_USAGE_KEYBOARD_F21 - HID_USAGE_KEYBOARD_F21 - - - - No documentation. - - - HID_USAGE_KEYBOARD_F22 - HID_USAGE_KEYBOARD_F22 - - - - No documentation. - - - HID_USAGE_KEYBOARD_F23 - HID_USAGE_KEYBOARD_F23 - - - - No documentation. - - - HID_USAGE_KEYBOARD_F24 - HID_USAGE_KEYBOARD_F24 - - - - 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_KEYBOARD_DELETE_FORWARD - HID_USAGE_KEYBOARD_DELETE_FORWARD - - - - 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_LED_SYSTEM_SUSPEND - HID_USAGE_LED_SYSTEM_SUSPEND - - - - No documentation. - - - HID_USAGE_LED_EXTERNAL_POWER - HID_USAGE_LED_EXTERNAL_POWER - - - - 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_CONSUMERCTRL - HID_USAGE_CONSUMERCTRL - - - - No documentation. - - - HID_USAGE_CONSUMER_CHANNEL_INCREMENT - HID_USAGE_CONSUMER_CHANNEL_INCREMENT - - - - No documentation. - - - HID_USAGE_CONSUMER_CHANNEL_DECREMENT - HID_USAGE_CONSUMER_CHANNEL_DECREMENT - - - - No documentation. - - - HID_USAGE_CONSUMER_PLAY - HID_USAGE_CONSUMER_PLAY - - - - No documentation. - - - HID_USAGE_CONSUMER_PAUSE - HID_USAGE_CONSUMER_PAUSE - - - - No documentation. - - - HID_USAGE_CONSUMER_RECORD - HID_USAGE_CONSUMER_RECORD - - - - No documentation. - - - HID_USAGE_CONSUMER_FAST_FORWARD - HID_USAGE_CONSUMER_FAST_FORWARD - - - - No documentation. - - - HID_USAGE_CONSUMER_REWIND - HID_USAGE_CONSUMER_REWIND - - - - No documentation. - - - HID_USAGE_CONSUMER_SCAN_NEXT_TRACK - HID_USAGE_CONSUMER_SCAN_NEXT_TRACK - - - - No documentation. - - - HID_USAGE_CONSUMER_SCAN_PREV_TRACK - HID_USAGE_CONSUMER_SCAN_PREV_TRACK - - - - No documentation. - - - HID_USAGE_CONSUMER_STOP - HID_USAGE_CONSUMER_STOP - - - - No documentation. - - - HID_USAGE_CONSUMER_PLAY_PAUSE - HID_USAGE_CONSUMER_PLAY_PAUSE - - - - No documentation. - - - HID_USAGE_CONSUMER_GAMEDVR_OPEN_GAMEBAR - HID_USAGE_CONSUMER_GAMEDVR_OPEN_GAMEBAR - - - - No documentation. - - - HID_USAGE_CONSUMER_GAMEDVR_TOGGLE_RECORD - HID_USAGE_CONSUMER_GAMEDVR_TOGGLE_RECORD - - - - No documentation. - - - HID_USAGE_CONSUMER_GAMEDVR_RECORD_CLIP - HID_USAGE_CONSUMER_GAMEDVR_RECORD_CLIP - - - - No documentation. - - - HID_USAGE_CONSUMER_GAMEDVR_SCREENSHOT - HID_USAGE_CONSUMER_GAMEDVR_SCREENSHOT - - - - No documentation. - - - HID_USAGE_CONSUMER_GAMEDVR_TOGGLE_INDICATOR - HID_USAGE_CONSUMER_GAMEDVR_TOGGLE_INDICATOR - - - - No documentation. - - - HID_USAGE_CONSUMER_GAMEDVR_TOGGLE_MICROPHONE - HID_USAGE_CONSUMER_GAMEDVR_TOGGLE_MICROPHONE - - - - No documentation. - - - HID_USAGE_CONSUMER_GAMEDVR_TOGGLE_CAMERA - HID_USAGE_CONSUMER_GAMEDVR_TOGGLE_CAMERA - - - - No documentation. - - - HID_USAGE_CONSUMER_GAMEDVR_TOGGLE_BROADCAST - HID_USAGE_CONSUMER_GAMEDVR_TOGGLE_BROADCAST - - - - No documentation. - - - HID_USAGE_CONSUMER_VOLUME - HID_USAGE_CONSUMER_VOLUME - - - - No documentation. - - - HID_USAGE_CONSUMER_BALANCE - HID_USAGE_CONSUMER_BALANCE - - - - No documentation. - - - HID_USAGE_CONSUMER_MUTE - HID_USAGE_CONSUMER_MUTE - - - - No documentation. - - - HID_USAGE_CONSUMER_BASS - HID_USAGE_CONSUMER_BASS - - - - No documentation. - - - HID_USAGE_CONSUMER_TREBLE - HID_USAGE_CONSUMER_TREBLE - - - - No documentation. - - - HID_USAGE_CONSUMER_BASS_BOOST - HID_USAGE_CONSUMER_BASS_BOOST - - - - No documentation. - - - HID_USAGE_CONSUMER_SURROUND_MODE - HID_USAGE_CONSUMER_SURROUND_MODE - - - - No documentation. - - - HID_USAGE_CONSUMER_LOUDNESS - HID_USAGE_CONSUMER_LOUDNESS - - - - No documentation. - - - HID_USAGE_CONSUMER_MPX - HID_USAGE_CONSUMER_MPX - - - - No documentation. - - - HID_USAGE_CONSUMER_VOLUME_INCREMENT - HID_USAGE_CONSUMER_VOLUME_INCREMENT - - - - No documentation. - - - HID_USAGE_CONSUMER_VOLUME_DECREMENT - HID_USAGE_CONSUMER_VOLUME_DECREMENT - - - - No documentation. - - - HID_USAGE_CONSUMER_BASS_INCREMENT - HID_USAGE_CONSUMER_BASS_INCREMENT - - - - No documentation. - - - HID_USAGE_CONSUMER_BASS_DECREMENT - HID_USAGE_CONSUMER_BASS_DECREMENT - - - - No documentation. - - - HID_USAGE_CONSUMER_TREBLE_INCREMENT - HID_USAGE_CONSUMER_TREBLE_INCREMENT - - - - No documentation. - - - HID_USAGE_CONSUMER_TREBLE_DECREMENT - HID_USAGE_CONSUMER_TREBLE_DECREMENT - - - - No documentation. - - - HID_USAGE_CONSUMER_AL_CONFIGURATION - HID_USAGE_CONSUMER_AL_CONFIGURATION - - - - No documentation. - - - HID_USAGE_CONSUMER_AL_EMAIL - HID_USAGE_CONSUMER_AL_EMAIL - - - - No documentation. - - - HID_USAGE_CONSUMER_AL_CALCULATOR - HID_USAGE_CONSUMER_AL_CALCULATOR - - - - No documentation. - - - HID_USAGE_CONSUMER_AL_BROWSER - HID_USAGE_CONSUMER_AL_BROWSER - - - - No documentation. - - - HID_USAGE_CONSUMER_AC_SEARCH - HID_USAGE_CONSUMER_AC_SEARCH - - - - No documentation. - - - HID_USAGE_CONSUMER_AC_GOTO - HID_USAGE_CONSUMER_AC_GOTO - - - - No documentation. - - - HID_USAGE_CONSUMER_AC_HOME - HID_USAGE_CONSUMER_AC_HOME - - - - No documentation. - - - HID_USAGE_CONSUMER_AC_BACK - HID_USAGE_CONSUMER_AC_BACK - - - - No documentation. - - - HID_USAGE_CONSUMER_AC_FORWARD - HID_USAGE_CONSUMER_AC_FORWARD - - - - No documentation. - - - HID_USAGE_CONSUMER_AC_STOP - HID_USAGE_CONSUMER_AC_STOP - - - - No documentation. - - - HID_USAGE_CONSUMER_AC_REFRESH - HID_USAGE_CONSUMER_AC_REFRESH - - - - No documentation. - - - HID_USAGE_CONSUMER_AC_PREVIOUS - HID_USAGE_CONSUMER_AC_PREVIOUS - - - - No documentation. - - - HID_USAGE_CONSUMER_AC_NEXT - HID_USAGE_CONSUMER_AC_NEXT - - - - No documentation. - - - HID_USAGE_CONSUMER_AC_BOOKMARKS - HID_USAGE_CONSUMER_AC_BOOKMARKS - - - - No documentation. - - - HID_USAGE_CONSUMER_AC_PAN - HID_USAGE_CONSUMER_AC_PAN - - - - No documentation. - - - HID_USAGE_CONSUMER_EXTENDED_KEYBOARD_ATTRIBUTES_COLLECTION - HID_USAGE_CONSUMER_EXTENDED_KEYBOARD_ATTRIBUTES_COLLECTION - - - - No documentation. - - - HID_USAGE_CONSUMER_KEYBOARD_FORM_FACTOR - HID_USAGE_CONSUMER_KEYBOARD_FORM_FACTOR - - - - No documentation. - - - HID_USAGE_CONSUMER_KEYBOARD_KEY_TYPE - HID_USAGE_CONSUMER_KEYBOARD_KEY_TYPE - - - - No documentation. - - - HID_USAGE_CONSUMER_KEYBOARD_PHYSICAL_LAYOUT - HID_USAGE_CONSUMER_KEYBOARD_PHYSICAL_LAYOUT - - - - No documentation. - - - HID_USAGE_CONSUMER_VENDOR_SPECIFIC_KEYBOARD_PHYSICAL_LAYOUT - HID_USAGE_CONSUMER_VENDOR_SPECIFIC_KEYBOARD_PHYSICAL_LAYOUT - - - - No documentation. - - - HID_USAGE_CONSUMER_KEYBOARD_IETF_LANGUAGE_TAG_INDEX - HID_USAGE_CONSUMER_KEYBOARD_IETF_LANGUAGE_TAG_INDEX - - - - No documentation. - - - HID_USAGE_CONSUMER_IMPLEMENTED_KEYBOARD_INPUT_ASSIST_CONTROLS - HID_USAGE_CONSUMER_IMPLEMENTED_KEYBOARD_INPUT_ASSIST_CONTROLS - - - - No documentation. - - - HID_USAGE_DIGITIZER_DIGITIZER - HID_USAGE_DIGITIZER_DIGITIZER - - - - No documentation. - - - HID_USAGE_DIGITIZER_PEN - HID_USAGE_DIGITIZER_PEN - - - - No documentation. - - - HID_USAGE_DIGITIZER_LIGHT_PEN - HID_USAGE_DIGITIZER_LIGHT_PEN - - - - No documentation. - - - HID_USAGE_DIGITIZER_TOUCH_SCREEN - HID_USAGE_DIGITIZER_TOUCH_SCREEN - - - - No documentation. - - - HID_USAGE_DIGITIZER_TOUCH_PAD - HID_USAGE_DIGITIZER_TOUCH_PAD - - - - No documentation. - - - HID_USAGE_DIGITIZER_WHITE_BOARD - HID_USAGE_DIGITIZER_WHITE_BOARD - - - - No documentation. - - - HID_USAGE_DIGITIZER_COORD_MEASURING - HID_USAGE_DIGITIZER_COORD_MEASURING - - - - No documentation. - - - HID_USAGE_DIGITIZER_3D_DIGITIZER - HID_USAGE_DIGITIZER_3D_DIGITIZER - - - - No documentation. - - - HID_USAGE_DIGITIZER_STEREO_PLOTTER - HID_USAGE_DIGITIZER_STEREO_PLOTTER - - - - No documentation. - - - HID_USAGE_DIGITIZER_ARTICULATED_ARM - HID_USAGE_DIGITIZER_ARTICULATED_ARM - - - - No documentation. - - - HID_USAGE_DIGITIZER_ARMATURE - HID_USAGE_DIGITIZER_ARMATURE - - - - No documentation. - - - HID_USAGE_DIGITIZER_MULTI_POINT - HID_USAGE_DIGITIZER_MULTI_POINT - - - - No documentation. - - - HID_USAGE_DIGITIZER_FREE_SPACE_WAND - HID_USAGE_DIGITIZER_FREE_SPACE_WAND - - - - No documentation. - - - HID_USAGE_DIGITIZER_STYLUS - HID_USAGE_DIGITIZER_STYLUS - - - - No documentation. - - - HID_USAGE_DIGITIZER_PUCK - HID_USAGE_DIGITIZER_PUCK - - - - No documentation. - - - HID_USAGE_DIGITIZER_FINGER - HID_USAGE_DIGITIZER_FINGER - - - - No documentation. - - - HID_USAGE_DIGITIZER_TABLET_FUNC_KEYS - HID_USAGE_DIGITIZER_TABLET_FUNC_KEYS - - - - No documentation. - - - HID_USAGE_DIGITIZER_PROG_CHANGE_KEYS - HID_USAGE_DIGITIZER_PROG_CHANGE_KEYS - - - - No documentation. - - - HID_USAGE_DIGITIZER_TIP_PRESSURE - HID_USAGE_DIGITIZER_TIP_PRESSURE - - - - No documentation. - - - HID_USAGE_DIGITIZER_BARREL_PRESSURE - HID_USAGE_DIGITIZER_BARREL_PRESSURE - - - - No documentation. - - - HID_USAGE_DIGITIZER_IN_RANGE - HID_USAGE_DIGITIZER_IN_RANGE - - - - No documentation. - - - HID_USAGE_DIGITIZER_TOUCH - HID_USAGE_DIGITIZER_TOUCH - - - - No documentation. - - - HID_USAGE_DIGITIZER_UNTOUCH - HID_USAGE_DIGITIZER_UNTOUCH - - - - No documentation. - - - HID_USAGE_DIGITIZER_TAP - HID_USAGE_DIGITIZER_TAP - - - - No documentation. - - - HID_USAGE_DIGITIZER_QUALITY - HID_USAGE_DIGITIZER_QUALITY - - - - No documentation. - - - HID_USAGE_DIGITIZER_DATA_VALID - HID_USAGE_DIGITIZER_DATA_VALID - - - - No documentation. - - - HID_USAGE_DIGITIZER_TRANSDUCER_INDEX - HID_USAGE_DIGITIZER_TRANSDUCER_INDEX - - - - No documentation. - - - HID_USAGE_DIGITIZER_BATTERY_STRENGTH - HID_USAGE_DIGITIZER_BATTERY_STRENGTH - - - - No documentation. - - - HID_USAGE_DIGITIZER_INVERT - HID_USAGE_DIGITIZER_INVERT - - - - No documentation. - - - HID_USAGE_DIGITIZER_X_TILT - HID_USAGE_DIGITIZER_X_TILT - - - - No documentation. - - - HID_USAGE_DIGITIZER_Y_TILT - HID_USAGE_DIGITIZER_Y_TILT - - - - No documentation. - - - HID_USAGE_DIGITIZER_AZIMUTH - HID_USAGE_DIGITIZER_AZIMUTH - - - - No documentation. - - - HID_USAGE_DIGITIZER_ALTITUDE - HID_USAGE_DIGITIZER_ALTITUDE - - - - No documentation. - - - HID_USAGE_DIGITIZER_TWIST - HID_USAGE_DIGITIZER_TWIST - - - - No documentation. - - - HID_USAGE_DIGITIZER_TIP_SWITCH - HID_USAGE_DIGITIZER_TIP_SWITCH - - - - No documentation. - - - HID_USAGE_DIGITIZER_SECONDARY_TIP_SWITCH - HID_USAGE_DIGITIZER_SECONDARY_TIP_SWITCH - - - - No documentation. - - - HID_USAGE_DIGITIZER_BARREL_SWITCH - HID_USAGE_DIGITIZER_BARREL_SWITCH - - - - No documentation. - - - HID_USAGE_DIGITIZER_ERASER - HID_USAGE_DIGITIZER_ERASER - - - - No documentation. - - - HID_USAGE_DIGITIZER_TABLET_PICK - HID_USAGE_DIGITIZER_TABLET_PICK - - - - No documentation. - - - HID_USAGE_HAPTICS_SIMPLE_CONTROLLER - HID_USAGE_HAPTICS_SIMPLE_CONTROLLER - - - - No documentation. - - - HID_USAGE_HAPTICS_WAVEFORM_LIST - HID_USAGE_HAPTICS_WAVEFORM_LIST - - - - No documentation. - - - HID_USAGE_HAPTICS_DURATION_LIST - HID_USAGE_HAPTICS_DURATION_LIST - - - - No documentation. - - - HID_USAGE_HAPTICS_AUTO_TRIGGER - HID_USAGE_HAPTICS_AUTO_TRIGGER - - - - No documentation. - - - HID_USAGE_HAPTICS_MANUAL_TRIGGER - HID_USAGE_HAPTICS_MANUAL_TRIGGER - - - - No documentation. - - - HID_USAGE_HAPTICS_AUTO_ASSOCIATED_CONTROL - HID_USAGE_HAPTICS_AUTO_ASSOCIATED_CONTROL - - - - No documentation. - - - HID_USAGE_HAPTICS_INTENSITY - HID_USAGE_HAPTICS_INTENSITY - - - - No documentation. - - - HID_USAGE_HAPTICS_REPEAT_COUNT - HID_USAGE_HAPTICS_REPEAT_COUNT - - - - No documentation. - - - HID_USAGE_HAPTICS_RETRIGGER_PERIOD - HID_USAGE_HAPTICS_RETRIGGER_PERIOD - - - - No documentation. - - - HID_USAGE_HAPTICS_WAVEFORM_VENDOR_PAGE - HID_USAGE_HAPTICS_WAVEFORM_VENDOR_PAGE - - - - No documentation. - - - HID_USAGE_HAPTICS_WAVEFORM_VENDOR_ID - HID_USAGE_HAPTICS_WAVEFORM_VENDOR_ID - - - - No documentation. - - - HID_USAGE_HAPTICS_WAVEFORM_CUTOFF_TIME - HID_USAGE_HAPTICS_WAVEFORM_CUTOFF_TIME - - - - No documentation. - - - HID_USAGE_HAPTICS_WAVEFORM_BEGIN - HID_USAGE_HAPTICS_WAVEFORM_BEGIN - - - - No documentation. - - - HID_USAGE_HAPTICS_WAVEFORM_STOP - HID_USAGE_HAPTICS_WAVEFORM_STOP - - - - No documentation. - - - HID_USAGE_HAPTICS_WAVEFORM_NULL - HID_USAGE_HAPTICS_WAVEFORM_NULL - - - - No documentation. - - - HID_USAGE_HAPTICS_WAVEFORM_CLICK - HID_USAGE_HAPTICS_WAVEFORM_CLICK - - - - No documentation. - - - HID_USAGE_HAPTICS_WAVEFORM_BUZZ - HID_USAGE_HAPTICS_WAVEFORM_BUZZ - - - - No documentation. - - - HID_USAGE_HAPTICS_WAVEFORM_RUMBLE - HID_USAGE_HAPTICS_WAVEFORM_RUMBLE - - - - No documentation. - - - HID_USAGE_HAPTICS_WAVEFORM_PRESS - HID_USAGE_HAPTICS_WAVEFORM_PRESS - - - - No documentation. - - - HID_USAGE_HAPTICS_WAVEFORM_RELEASE - HID_USAGE_HAPTICS_WAVEFORM_RELEASE - - - - No documentation. - - - HID_USAGE_HAPTICS_WAVEFORM_END - HID_USAGE_HAPTICS_WAVEFORM_END - - - - No documentation. - - - HID_USAGE_HAPTICS_WAVEFORM_VENDOR_BEGIN - HID_USAGE_HAPTICS_WAVEFORM_VENDOR_BEGIN - - - - No documentation. - - - HID_USAGE_HAPTICS_WAVEFORM_VENDOR_END - HID_USAGE_HAPTICS_WAVEFORM_VENDOR_END - - - - No documentation. - - - HID_USAGE_ALPHANUMERIC_ALPHANUMERIC_DISPLAY - HID_USAGE_ALPHANUMERIC_ALPHANUMERIC_DISPLAY - - - - No documentation. - - - HID_USAGE_ALPHANUMERIC_BITMAPPED_DISPLAY - HID_USAGE_ALPHANUMERIC_BITMAPPED_DISPLAY - - - - No documentation. - - - HID_USAGE_ALPHANUMERIC_DISPLAY_ATTRIBUTES_REPORT - HID_USAGE_ALPHANUMERIC_DISPLAY_ATTRIBUTES_REPORT - - - - No documentation. - - - HID_USAGE_ALPHANUMERIC_DISPLAY_CONTROL_REPORT - HID_USAGE_ALPHANUMERIC_DISPLAY_CONTROL_REPORT - - - - No documentation. - - - HID_USAGE_ALPHANUMERIC_CHARACTER_REPORT - HID_USAGE_ALPHANUMERIC_CHARACTER_REPORT - - - - No documentation. - - - HID_USAGE_ALPHANUMERIC_DISPLAY_STATUS - HID_USAGE_ALPHANUMERIC_DISPLAY_STATUS - - - - No documentation. - - - HID_USAGE_ALPHANUMERIC_CURSOR_POSITION_REPORT - HID_USAGE_ALPHANUMERIC_CURSOR_POSITION_REPORT - - - - No documentation. - - - HID_USAGE_ALPHANUMERIC_FONT_REPORT - HID_USAGE_ALPHANUMERIC_FONT_REPORT - - - - No documentation. - - - HID_USAGE_ALPHANUMERIC_FONT_DATA - HID_USAGE_ALPHANUMERIC_FONT_DATA - - - - No documentation. - - - HID_USAGE_ALPHANUMERIC_CHARACTER_ATTRIBUTE - HID_USAGE_ALPHANUMERIC_CHARACTER_ATTRIBUTE - - - - No documentation. - - - HID_USAGE_ALPHANUMERIC_PALETTE_REPORT - HID_USAGE_ALPHANUMERIC_PALETTE_REPORT - - - - No documentation. - - - HID_USAGE_ALPHANUMERIC_PALETTE_DATA - HID_USAGE_ALPHANUMERIC_PALETTE_DATA - - - - No documentation. - - - HID_USAGE_ALPHANUMERIC_BLIT_REPORT - HID_USAGE_ALPHANUMERIC_BLIT_REPORT - - - - No documentation. - - - HID_USAGE_ALPHANUMERIC_BLIT_DATA - HID_USAGE_ALPHANUMERIC_BLIT_DATA - - - - No documentation. - - - HID_USAGE_ALPHANUMERIC_SOFT_BUTTON - HID_USAGE_ALPHANUMERIC_SOFT_BUTTON - - - - No documentation. - - - HID_USAGE_ALPHANUMERIC_ASCII_CHARACTER_SET - HID_USAGE_ALPHANUMERIC_ASCII_CHARACTER_SET - - - - No documentation. - - - HID_USAGE_ALPHANUMERIC_DATA_READ_BACK - HID_USAGE_ALPHANUMERIC_DATA_READ_BACK - - - - No documentation. - - - HID_USAGE_ALPHANUMERIC_FONT_READ_BACK - HID_USAGE_ALPHANUMERIC_FONT_READ_BACK - - - - No documentation. - - - HID_USAGE_ALPHANUMERIC_CLEAR_DISPLAY - HID_USAGE_ALPHANUMERIC_CLEAR_DISPLAY - - - - No documentation. - - - HID_USAGE_ALPHANUMERIC_DISPLAY_ENABLE - HID_USAGE_ALPHANUMERIC_DISPLAY_ENABLE - - - - No documentation. - - - HID_USAGE_ALPHANUMERIC_SCREEN_SAVER_DELAY - HID_USAGE_ALPHANUMERIC_SCREEN_SAVER_DELAY - - - - No documentation. - - - HID_USAGE_ALPHANUMERIC_SCREEN_SAVER_ENABLE - HID_USAGE_ALPHANUMERIC_SCREEN_SAVER_ENABLE - - - - No documentation. - - - HID_USAGE_ALPHANUMERIC_VERTICAL_SCROLL - HID_USAGE_ALPHANUMERIC_VERTICAL_SCROLL - - - - No documentation. - - - HID_USAGE_ALPHANUMERIC_HORIZONTAL_SCROLL - HID_USAGE_ALPHANUMERIC_HORIZONTAL_SCROLL - - - - No documentation. - - - HID_USAGE_ALPHANUMERIC_DISPLAY_DATA - HID_USAGE_ALPHANUMERIC_DISPLAY_DATA - - - - No documentation. - - - HID_USAGE_ALPHANUMERIC_STATUS_NOT_READY - HID_USAGE_ALPHANUMERIC_STATUS_NOT_READY - - - - No documentation. - - - HID_USAGE_ALPHANUMERIC_STATUS_READY - HID_USAGE_ALPHANUMERIC_STATUS_READY - - - - No documentation. - - - HID_USAGE_ALPHANUMERIC_ERR_NOT_A_LOADABLE_CHARACTER - HID_USAGE_ALPHANUMERIC_ERR_NOT_A_LOADABLE_CHARACTER - - - - No documentation. - - - HID_USAGE_ALPHANUMERIC_ERR_FONT_DATA_CANNOT_BE_READ - HID_USAGE_ALPHANUMERIC_ERR_FONT_DATA_CANNOT_BE_READ - - - - No documentation. - - - HID_USAGE_ALPHANUMERIC_ROW - HID_USAGE_ALPHANUMERIC_ROW - - - - No documentation. - - - HID_USAGE_ALPHANUMERIC_COLUMN - HID_USAGE_ALPHANUMERIC_COLUMN - - - - No documentation. - - - HID_USAGE_ALPHANUMERIC_ROWS - HID_USAGE_ALPHANUMERIC_ROWS - - - - No documentation. - - - HID_USAGE_ALPHANUMERIC_COLUMNS - HID_USAGE_ALPHANUMERIC_COLUMNS - - - - No documentation. - - - HID_USAGE_ALPHANUMERIC_CURSOR_PIXEL_POSITIONING - HID_USAGE_ALPHANUMERIC_CURSOR_PIXEL_POSITIONING - - - - No documentation. - - - HID_USAGE_ALPHANUMERIC_CURSOR_MODE - HID_USAGE_ALPHANUMERIC_CURSOR_MODE - - - - No documentation. - - - HID_USAGE_ALPHANUMERIC_CURSOR_ENABLE - HID_USAGE_ALPHANUMERIC_CURSOR_ENABLE - - - - No documentation. - - - HID_USAGE_ALPHANUMERIC_CURSOR_BLINK - HID_USAGE_ALPHANUMERIC_CURSOR_BLINK - - - - No documentation. - - - HID_USAGE_ALPHANUMERIC_CHAR_WIDTH - HID_USAGE_ALPHANUMERIC_CHAR_WIDTH - - - - No documentation. - - - HID_USAGE_ALPHANUMERIC_CHAR_HEIGHT - HID_USAGE_ALPHANUMERIC_CHAR_HEIGHT - - - - No documentation. - - - HID_USAGE_ALPHANUMERIC_CHAR_SPACING_HORIZONTAL - HID_USAGE_ALPHANUMERIC_CHAR_SPACING_HORIZONTAL - - - - No documentation. - - - HID_USAGE_ALPHANUMERIC_CHAR_SPACING_VERTICAL - HID_USAGE_ALPHANUMERIC_CHAR_SPACING_VERTICAL - - - - No documentation. - - - HID_USAGE_ALPHANUMERIC_UNICODE_CHAR_SET - HID_USAGE_ALPHANUMERIC_UNICODE_CHAR_SET - - - - No documentation. - - - HID_USAGE_ALPHANUMERIC_FONT_7_SEGMENT - HID_USAGE_ALPHANUMERIC_FONT_7_SEGMENT - - - - No documentation. - - - HID_USAGE_ALPHANUMERIC_7_SEGMENT_DIRECT_MAP - HID_USAGE_ALPHANUMERIC_7_SEGMENT_DIRECT_MAP - - - - No documentation. - - - HID_USAGE_ALPHANUMERIC_FONT_14_SEGMENT - HID_USAGE_ALPHANUMERIC_FONT_14_SEGMENT - - - - No documentation. - - - HID_USAGE_ALPHANUMERIC_14_SEGMENT_DIRECT_MAP - HID_USAGE_ALPHANUMERIC_14_SEGMENT_DIRECT_MAP - - - - No documentation. - - - HID_USAGE_ALPHANUMERIC_DISPLAY_BRIGHTNESS - HID_USAGE_ALPHANUMERIC_DISPLAY_BRIGHTNESS - - - - No documentation. - - - HID_USAGE_ALPHANUMERIC_DISPLAY_CONTRAST - HID_USAGE_ALPHANUMERIC_DISPLAY_CONTRAST - - - - No documentation. - - - HID_USAGE_ALPHANUMERIC_ATTRIBUTE_READBACK - HID_USAGE_ALPHANUMERIC_ATTRIBUTE_READBACK - - - - No documentation. - - - HID_USAGE_ALPHANUMERIC_ATTRIBUTE_DATA - HID_USAGE_ALPHANUMERIC_ATTRIBUTE_DATA - - - - No documentation. - - - HID_USAGE_ALPHANUMERIC_CHAR_ATTR_ENHANCE - HID_USAGE_ALPHANUMERIC_CHAR_ATTR_ENHANCE - - - - No documentation. - - - HID_USAGE_ALPHANUMERIC_CHAR_ATTR_UNDERLINE - HID_USAGE_ALPHANUMERIC_CHAR_ATTR_UNDERLINE - - - - No documentation. - - - HID_USAGE_ALPHANUMERIC_CHAR_ATTR_BLINK - HID_USAGE_ALPHANUMERIC_CHAR_ATTR_BLINK - - - - No documentation. - - - HID_USAGE_ALPHANUMERIC_BITMAP_SIZE_X - HID_USAGE_ALPHANUMERIC_BITMAP_SIZE_X - - - - No documentation. - - - HID_USAGE_ALPHANUMERIC_BITMAP_SIZE_Y - HID_USAGE_ALPHANUMERIC_BITMAP_SIZE_Y - - - - No documentation. - - - HID_USAGE_ALPHANUMERIC_BIT_DEPTH_FORMAT - HID_USAGE_ALPHANUMERIC_BIT_DEPTH_FORMAT - - - - No documentation. - - - HID_USAGE_ALPHANUMERIC_DISPLAY_ORIENTATION - HID_USAGE_ALPHANUMERIC_DISPLAY_ORIENTATION - - - - No documentation. - - - HID_USAGE_ALPHANUMERIC_PALETTE_DATA_SIZE - HID_USAGE_ALPHANUMERIC_PALETTE_DATA_SIZE - - - - No documentation. - - - HID_USAGE_ALPHANUMERIC_PALETTE_DATA_OFFSET - HID_USAGE_ALPHANUMERIC_PALETTE_DATA_OFFSET - - - - No documentation. - - - HID_USAGE_ALPHANUMERIC_BLIT_RECTANGLE_X1 - HID_USAGE_ALPHANUMERIC_BLIT_RECTANGLE_X1 - - - - No documentation. - - - HID_USAGE_ALPHANUMERIC_BLIT_RECTANGLE_Y1 - HID_USAGE_ALPHANUMERIC_BLIT_RECTANGLE_Y1 - - - - No documentation. - - - HID_USAGE_ALPHANUMERIC_BLIT_RECTANGLE_X2 - HID_USAGE_ALPHANUMERIC_BLIT_RECTANGLE_X2 - - - - No documentation. - - - HID_USAGE_ALPHANUMERIC_BLIT_RECTANGLE_Y2 - HID_USAGE_ALPHANUMERIC_BLIT_RECTANGLE_Y2 - - - - No documentation. - - - HID_USAGE_ALPHANUMERIC_SOFT_BUTTON_ID - HID_USAGE_ALPHANUMERIC_SOFT_BUTTON_ID - - - - No documentation. - - - HID_USAGE_ALPHANUMERIC_SOFT_BUTTON_SIDE - HID_USAGE_ALPHANUMERIC_SOFT_BUTTON_SIDE - - - - No documentation. - - - HID_USAGE_ALPHANUMERIC_SOFT_BUTTON_OFFSET1 - HID_USAGE_ALPHANUMERIC_SOFT_BUTTON_OFFSET1 - - - - No documentation. - - - HID_USAGE_ALPHANUMERIC_SOFT_BUTTON_OFFSET2 - HID_USAGE_ALPHANUMERIC_SOFT_BUTTON_OFFSET2 - - - - No documentation. - - - HID_USAGE_ALPHANUMERIC_SOFT_BUTTON_REPORT - HID_USAGE_ALPHANUMERIC_SOFT_BUTTON_REPORT - - - - No documentation. - - - HID_USAGE_CAMERA_AUTO_FOCUS - HID_USAGE_CAMERA_AUTO_FOCUS - - - - No documentation. - - - HID_USAGE_CAMERA_SHUTTER - HID_USAGE_CAMERA_SHUTTER - - - - 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_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_GENERIC_DEVICE - HID_USAGE_PAGE_GENERIC_DEVICE - - - - 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_HAPTICS - HID_USAGE_PAGE_HAPTICS - - - - No documentation. - - - HID_USAGE_PAGE_PID - HID_USAGE_PAGE_PID - - - - 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_SENSOR - HID_USAGE_PAGE_SENSOR - - - - No documentation. - - - HID_USAGE_PAGE_BARCODE_SCANNER - HID_USAGE_PAGE_BARCODE_SCANNER - - - - No documentation. - - - HID_USAGE_PAGE_WEIGHING_DEVICE - HID_USAGE_PAGE_WEIGHING_DEVICE - - - - No documentation. - - - HID_USAGE_PAGE_MAGNETIC_STRIPE_READER - HID_USAGE_PAGE_MAGNETIC_STRIPE_READER - - - - No documentation. - - - HID_USAGE_PAGE_CAMERA_CONTROL - HID_USAGE_PAGE_CAMERA_CONTROL - - - - No documentation. - - - HID_USAGE_PAGE_ARCADE - HID_USAGE_PAGE_ARCADE - - - - No documentation. - - - HID_USAGE_PAGE_MICROSOFT_BLUETOOTH_HANDSFREE - HID_USAGE_PAGE_MICROSOFT_BLUETOOTH_HANDSFREE - - - - No documentation. - - - HID_USAGE_PAGE_VENDOR_DEFINED_BEGIN - HID_USAGE_PAGE_VENDOR_DEFINED_BEGIN - - - - No documentation. - - - HID_USAGE_PAGE_VENDOR_DEFINED_END - HID_USAGE_PAGE_VENDOR_DEFINED_END - - - - 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_ALAC - WAVE_FORMAT_ALAC - - - - 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_OPUS - WAVE_FORMAT_OPUS - - - - No documentation. - - - WAVE_FORMAT_FAAD_AAC - WAVE_FORMAT_FAAD_AAC - - - - No documentation. - - - WAVE_FORMAT_AMR_NB - WAVE_FORMAT_AMR_NB - - - - No documentation. - - - WAVE_FORMAT_AMR_WB - WAVE_FORMAT_AMR_WB - - - - No documentation. - - - WAVE_FORMAT_AMR_WP - WAVE_FORMAT_AMR_WP - - - - 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 - - - - 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). - - - - - 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. - - - - - Provides a custom string representation of the FourCC descriptor. - - - The general format "G" is equivalent to the parameterless. - . The special format "I" returns a - string representation which can be used to construct a Media - Foundation format GUID. It is equivalent to "X08". - - The format descriptor, which can be "G" (empty - or null is equivalent to "G"), "I" or any valid standard - number format. - The format provider for formatting - numbers. - The requested string representation. - In case of - is not "G", "I" or a valid number - format. - - - - The namespace contains common structures and helper classes for audio/video processing. - - - - - 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 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. - - - - - 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. - - - - - 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. - - - - - Gets the current stack of chunks. - - - - - 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. - - - - - - 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. - - - - - Returns an enumerator that iterates through the collection. - - - A that can be used to iterate through the collection. - - - - - 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. - - - - Gets the decoded packets info. - - - This property is only valid for XWMA stream. - - - - Gets the wave format of this instance. - - - - - 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, 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, 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, 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. - - - - - 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. - - - - - Helper class for Speaker mask. - - - - - Counts the channels from a speaker mask. - - The speakers mask. - - - - - 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 - - - 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 - - - - 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 - - - - 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 - - - - - 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 - - - - 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. - - - - - 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 - - - - - 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. - - - - - IInspectable used for a C# callback object exposed as WinRT Component. - - br205821 - IInspectable - IInspectable - - - - Internal IInspectable Callback - - - - - 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) - - - - 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 namespace contains helper classes in replacement of some classes in useful under Windows 8 Metro. - - - - - 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 - - - - Native File access flags. - - - - - Read access. - - - - - Write access. - - - - - Read/Write Access, - - - - - Execute access. - - - - - All access - - - - - 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 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 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. - - - - - 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. - - - - - - - - - - - - - - - - - - - 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. - - - - 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. - - - - Interop type for a Bool4 (4 ints). - - - - - The X component of the vector. - - - - - The Y component of the vector. - - - - - The Z component of the vector. - - - - - The W component of the vector. - - - - - Interop type for a Rectangle (4 ints). - - - - - Initializes a new instance of the struct. - - The x. - The y. - The width. - The height. - - - - The left position. - - - - - The top position. - - - - - The right position - - - - - The bottom position. - - - - - Interop type for a Color3 (RGB, 3 floats). - - - - - Initializes a new instance of the struct. - - The r. - The g. - The b. - - - - The red component of the color. - - - - - The green component of the color. - - - - - The blue component of the color. - - - - - Interop type for a Color4 (RGBA, 4 floats). - - - - - Initializes a new instance of the struct. - - The r. - The g. - The b. - A. - - - - The red component of the color. - - - - - The green component of the color. - - - - - The blue component of the color. - - - - - The alpha component of the color. - - - - - Interop type for a ColorBGRA (BGRA, 4 bytes). - - - - - Initializes a new instance of the struct. - - The b. - The g. - The r. - 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. - - - - - Interop type for a Int3 (3 ints). - - - - - Initializes a new instance of the struct. - - The X. - The y. - The z. - - - - The X component of the vector. - - - - - The Y component of the vector. - - - - - The Z component of the vector. - - - - - Interop type for a Int4 (4 ints). - - - - - Initializes a new instance of the struct. - - The X. - The y. - The z. - The w. - - - - The X component of the vector. - - - - - The Y component of the vector. - - - - - The Z component of the vector. - - - - - The W component of the vector. - - - - - Interop type for a float4x4 (16 floats). - - - - - 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. - - - - - Interop type for a float3x2 (6 floats). - - - - - Initializes a new instance of the struct. - - The m11 value. - The m12 value. - The m21 value. - The m22 value. - The m31 value. - The m32 value. - - - - Element (1,1) - - - - - Element (1,2) - - - - - Element (2,1) - - - - - Element (2,2) - - - - - Element (3,1) - - - - - Element (3,2) - - - - - Interop type for a float4x3 (12 floats). - - - - - Value at row 1 column 1. - - - - - Value at row 1 column 2. - - - - - Value at row 1 column 3. - - - - - Value at row 2 column 1. - - - - - Value at row 2 column 2. - - - - - Value at row 2 column 3. - - - - - Value at row 3 column 1. - - - - - Value at row 3 column 2. - - - - - Value at row 3 column 3. - - - - - Value at row 4 column 1. - - - - - Value at row 4 column 2. - - - - - Value at row 4 column 3. - - - - - Interop type for a float5x4 (20 floats). - - - - - Value at row 1 column 1. - - - - - Value at row 1 column 2. - - - - - Value at row 1 column 3. - - - - - Value at row 1 column 4. - - - - - Value at row 2 column 1. - - - - - Value at row 2 column 2. - - - - - Value at row 2 column 3. - - - - - Value at row 2 column 4. - - - - - Value at row 3 column 1. - - - - - Value at row 3 column 2. - - - - - Value at row 3 column 3. - - - - - Value at row 3 column 4. - - - - - Value at row 4 column 1. - - - - - Value at row 4 column 2. - - - - - Value at row 4 column 3. - - - - - Value at row 4 column 4. - - - - - Value at row 5 column 1. - - - - - Value at row 5 column 2. - - - - - Value at row 5 column 3. - - - - - Value at row 5 column 4. - - - - - Interop type for a Plane (4 floats). - - - - - Initializes a new instance of the struct. - - The plane normal. - The plance distance. - - - - The normal vector of the plane. - - - - - The distance of the plane along its normal from the origin. - - - - - Interop type for a Point (2 ints). - - - - - Initializes a new instance of the struct. - - The X. - The y. - - - - Left coordinate. - - - - - Top coordinate. - - - - - Interop type for a Quaternion (4 floats). - - - - - Initializes a new instance of the struct. - - The X. - The y. - The z. - The w. - - - - The X component of the quaternion. - - - - - The Y component of the quaternion. - - - - - The Z component of the quaternion. - - - - - The W component of the quaternion. - - - - - Interop type for a Rectangle (4 ints). - - - - - The left position. - - - - - The top position. - - - - - The right position - - - - - The bottom position. - - - - - Gets a value indicating whether this instance is empty. - - true if this instance is empty; otherwise, false. - - - - Interop type for a RectangleF (4 floats). - - - - - Initializes a new instance of the struct. - - The left. - The top. - The right. - The bottom. - - - - The left position. - - - - - The top position. - - - - - The right position - - - - - The bottom position. - - - - - Interop type for a float2 (2 floats). - - - - - Initializes a new instance of the struct. - - The X. - The y. - - - - The X component of the vector. - - - - - The Y component of the vector. - - - - - Interop type for a float3 (3 floats). - - - - - Initializes a new instance of the struct. - - The X. - The y. - The z. - - - - The X component of the vector. - - - - - The Y component of the vector. - - - - - The Z component of the vector. - - - - - Interop type for a float4 (4 floats). - - - - - Initializes a new instance of the struct. - - The X. - The y. - The z. - The w. - - - - The X component of the vector. - - - - - The Y component of the vector. - - - - - The Z component of the vector. - - - - - The W component of the vector. - - - - - Interop type for a ViewPort (4 ints + 2 floats). - - - - - 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. - - - - - Interop type for a ViewPort (6 floats). - - - - - 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. - - - - - Internal class used to initialize this assembly. - - - - - Initializes this assembly. - - - This method is called when the assembly is loaded. - - - - - The namespace contains fundamental classes used by SharpDX. - - - - - 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. - - - - - An empty pointer size initialized to zero. - - - - - 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. - - - - 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. - - - - 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. - - - - 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 - - - - The data necessary to complete this operation is not yet available. - - WAIT_TIMEOUT - - - - 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. - - - - 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: DeviceRemoved ...) - - - - - Gets 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 - - - - Shadow attribute used to associate a COM callbackable interface to its Shadow implementation. - - - - - Gets the value. - - - - - 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 - - - - The ShadowContainer is the main container used internally to keep references to all native COM/C++ callbacks. - It is stored in the property . - - - - - 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. - - - - - Structure using the same layout than . - - - - - A zero size with (width, height) = (0,0) - - - - - A zero size with (width, height) = (0,0) - - - - - 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 . - - - - - A zero size with (width, height) = (0,0) - - - - - A zero size with (width, height) = (0,0) - - - - - 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. - - - - - - - - A general purpose tag attribute. - - - - - Gets the value. - - - - - Initializes a new instance of class. - - - - - - Overrides in order to provide for Win8 Modern App. - - - - - The namespace provides missing ASCIIEncoding for Win8 Modern platform. - - - - - 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. - - - - Determines whether a given type inherits from a generic type. - - Type of the class to check if it inherits from generic type. - Type of the generic. - true if [is assignable to generic type] [the specified given type]; otherwise, false. - - - - 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. - - - - 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. - - - 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. - - - - - 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 whether the type inherits from the specified type (used to determine a type without using an explicit type instance). - - The type. - Name of the parent type to find in inheritance hierarchy of type. - true if the type inherits from the specified type; otherwise, false. - -
-
diff --git a/Tractor_VS/Game1/obj/x86/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/Tractor_VS/Game1/obj/x86/Debug/DesignTimeResolveAssemblyReferencesInput.cache deleted file mode 100644 index 51455f5..0000000 Binary files a/Tractor_VS/Game1/obj/x86/Debug/DesignTimeResolveAssemblyReferencesInput.cache and /dev/null differ diff --git a/Tractor_VS/Game1/obj/x86/Debug/Game1.csproj.CopyComplete b/Tractor_VS/Game1/obj/x86/Debug/Game1.csproj.CopyComplete deleted file mode 100644 index e69de29..0000000 diff --git a/Tractor_VS/Game1/obj/x86/Debug/Game1.csproj.CoreCompileInputs.cache b/Tractor_VS/Game1/obj/x86/Debug/Game1.csproj.CoreCompileInputs.cache deleted file mode 100644 index 0791221..0000000 --- a/Tractor_VS/Game1/obj/x86/Debug/Game1.csproj.CoreCompileInputs.cache +++ /dev/null @@ -1 +0,0 @@ -cf25c9cac4cef71798408758988dea8332b39a3d diff --git a/Tractor_VS/Game1/obj/x86/Debug/Game1.csproj.FileListAbsolute.txt b/Tractor_VS/Game1/obj/x86/Debug/Game1.csproj.FileListAbsolute.txt deleted file mode 100644 index 16ee0c2..0000000 --- a/Tractor_VS/Game1/obj/x86/Debug/Game1.csproj.FileListAbsolute.txt +++ /dev/null @@ -1,118 +0,0 @@ -c:\users\joel\source\repos\Game1\Game1\bin\Windows\x86\Debug\Game1.exe -c:\users\joel\source\repos\Game1\Game1\bin\Windows\x86\Debug\Game1.pdb -c:\users\joel\source\repos\Game1\Game1\bin\Windows\x86\Debug\MonoGame.Framework.dll -c:\users\joel\source\repos\Game1\Game1\bin\Windows\x86\Debug\SharpDX.MediaFoundation.dll -c:\users\joel\source\repos\Game1\Game1\bin\Windows\x86\Debug\SharpDX.dll -c:\users\joel\source\repos\Game1\Game1\bin\Windows\x86\Debug\SharpDX.XAudio2.dll -c:\users\joel\source\repos\Game1\Game1\bin\Windows\x86\Debug\SharpDX.DXGI.dll -c:\users\joel\source\repos\Game1\Game1\bin\Windows\x86\Debug\SharpDX.Direct3D11.dll -c:\users\joel\source\repos\Game1\Game1\bin\Windows\x86\Debug\SharpDX.Direct2D1.dll -c:\users\joel\source\repos\Game1\Game1\bin\Windows\x86\Debug\SharpDX.XInput.dll -c:\users\joel\source\repos\Game1\Game1\bin\Windows\x86\Debug\MonoGame.Framework.xml -c:\users\joel\source\repos\Game1\Game1\bin\Windows\x86\Debug\SharpDX.MediaFoundation.xml -c:\users\joel\source\repos\Game1\Game1\bin\Windows\x86\Debug\SharpDX.xml -c:\users\joel\source\repos\Game1\Game1\bin\Windows\x86\Debug\SharpDX.XAudio2.xml -c:\users\joel\source\repos\Game1\Game1\bin\Windows\x86\Debug\SharpDX.DXGI.xml -c:\users\joel\source\repos\Game1\Game1\bin\Windows\x86\Debug\SharpDX.Direct3D11.xml -c:\users\joel\source\repos\Game1\Game1\bin\Windows\x86\Debug\SharpDX.Direct2D1.xml -c:\users\joel\source\repos\Game1\Game1\bin\Windows\x86\Debug\SharpDX.XInput.xml -c:\users\joel\source\repos\Game1\Game1\obj\x86\Debug\Game1.csprojAssemblyReference.cache -c:\users\joel\source\repos\Game1\Game1\obj\x86\Debug\Game1.csproj.CoreCompileInputs.cache -c:\users\joel\source\repos\Game1\Game1\obj\x86\Debug\Game1.csproj.CopyComplete -c:\users\joel\source\repos\Game1\Game1\obj\x86\Debug\Game1.exe -c:\users\joel\source\repos\Game1\Game1\obj\x86\Debug\Game1.pdb -c:\users\joel\source\repos\Game1\Game1\bin\Windows\x86\Debug\Content\Tile.xnb -c:\users\joel\source\repos\Game1\Game1\bin\Windows\x86\Debug\Content\Tractor.xnb -c:\users\joel\source\repos\Game1\Game1\bin\Windows\x86\Debug\Content\Font.xnb -C:\Users\Joel\source\repos\Game1\Game1\bin\Windows\x86\Debug\Content\house.xnb -C:\Users\Joel\source\repos\s425077\PotatoPlan\Tractor_VS\Game1\bin\Windows\x86\Debug\Content\Font.xnb -C:\Users\Joel\source\repos\s425077\PotatoPlan\Tractor_VS\Game1\bin\Windows\x86\Debug\Content\house.xnb -C:\Users\Joel\source\repos\s425077\PotatoPlan\Tractor_VS\Game1\bin\Windows\x86\Debug\Content\Tile.xnb -C:\Users\Joel\source\repos\s425077\PotatoPlan\Tractor_VS\Game1\bin\Windows\x86\Debug\Content\tileunplantable.xnb -C:\Users\Joel\source\repos\s425077\PotatoPlan\Tractor_VS\Game1\bin\Windows\x86\Debug\Content\Tractor.xnb -C:\Users\Joel\source\repos\s425077\PotatoPlan\Tractor_VS\Game1\bin\Windows\x86\Debug\Game1.exe -C:\Users\Joel\source\repos\s425077\PotatoPlan\Tractor_VS\Game1\bin\Windows\x86\Debug\Game1.pdb -C:\Users\Joel\source\repos\s425077\PotatoPlan\Tractor_VS\Game1\bin\Windows\x86\Debug\MonoGame.Framework.dll -C:\Users\Joel\source\repos\s425077\PotatoPlan\Tractor_VS\Game1\bin\Windows\x86\Debug\SharpDX.MediaFoundation.dll -C:\Users\Joel\source\repos\s425077\PotatoPlan\Tractor_VS\Game1\bin\Windows\x86\Debug\SharpDX.dll -C:\Users\Joel\source\repos\s425077\PotatoPlan\Tractor_VS\Game1\bin\Windows\x86\Debug\SharpDX.XAudio2.dll -C:\Users\Joel\source\repos\s425077\PotatoPlan\Tractor_VS\Game1\bin\Windows\x86\Debug\SharpDX.DXGI.dll -C:\Users\Joel\source\repos\s425077\PotatoPlan\Tractor_VS\Game1\bin\Windows\x86\Debug\SharpDX.Direct3D11.dll -C:\Users\Joel\source\repos\s425077\PotatoPlan\Tractor_VS\Game1\bin\Windows\x86\Debug\SharpDX.Direct2D1.dll -C:\Users\Joel\source\repos\s425077\PotatoPlan\Tractor_VS\Game1\bin\Windows\x86\Debug\SharpDX.XInput.dll -C:\Users\Joel\source\repos\s425077\PotatoPlan\Tractor_VS\Game1\bin\Windows\x86\Debug\MonoGame.Framework.xml -C:\Users\Joel\source\repos\s425077\PotatoPlan\Tractor_VS\Game1\bin\Windows\x86\Debug\SharpDX.MediaFoundation.xml -C:\Users\Joel\source\repos\s425077\PotatoPlan\Tractor_VS\Game1\bin\Windows\x86\Debug\SharpDX.xml -C:\Users\Joel\source\repos\s425077\PotatoPlan\Tractor_VS\Game1\bin\Windows\x86\Debug\SharpDX.XAudio2.xml -C:\Users\Joel\source\repos\s425077\PotatoPlan\Tractor_VS\Game1\bin\Windows\x86\Debug\SharpDX.DXGI.xml -C:\Users\Joel\source\repos\s425077\PotatoPlan\Tractor_VS\Game1\bin\Windows\x86\Debug\SharpDX.Direct3D11.xml -C:\Users\Joel\source\repos\s425077\PotatoPlan\Tractor_VS\Game1\bin\Windows\x86\Debug\SharpDX.Direct2D1.xml -C:\Users\Joel\source\repos\s425077\PotatoPlan\Tractor_VS\Game1\bin\Windows\x86\Debug\SharpDX.XInput.xml -C:\Users\Joel\source\repos\s425077\PotatoPlan\Tractor_VS\Game1\obj\x86\Debug\Game1.csprojAssemblyReference.cache -C:\Users\Joel\source\repos\s425077\PotatoPlan\Tractor_VS\Game1\obj\x86\Debug\Game1.csproj.CoreCompileInputs.cache -C:\Users\Joel\source\repos\s425077\PotatoPlan\Tractor_VS\Game1\obj\x86\Debug\Game1.csproj.CopyComplete -C:\Users\Joel\source\repos\s425077\PotatoPlan\Tractor_VS\Game1\obj\x86\Debug\Game1.exe -C:\Users\Joel\source\repos\s425077\PotatoPlan\Tractor_VS\Game1\obj\x86\Debug\Game1.pdb -C:\Users\Joel\source\repos\s425077\PotatoPlan\Tractor_VS\Game1\bin\Windows\x86\Debug\Content\Plantable.xnb -C:\Users\Joel\source\repos\s425077\PotatoPlan\Tractor_VS\Game1\bin\Windows\x86\Debug\Content\Planted.xnb -C:\Users\Joel\source\repos\s425077\PotatoPlan\Tractor_VS\Game1\bin\Windows\x86\Debug\Content\Crop.xnb -D:\Ny mapp (2)\Ny mapp (2)\PotatoPlan\Tractor_VS\Game1\bin\Windows\x86\Debug\Content\Crop.xnb -D:\Ny mapp (2)\Ny mapp (2)\PotatoPlan\Tractor_VS\Game1\bin\Windows\x86\Debug\Content\Font.xnb -D:\Ny mapp (2)\Ny mapp (2)\PotatoPlan\Tractor_VS\Game1\bin\Windows\x86\Debug\Content\house.xnb -D:\Ny mapp (2)\Ny mapp (2)\PotatoPlan\Tractor_VS\Game1\bin\Windows\x86\Debug\Content\Plantable.xnb -D:\Ny mapp (2)\Ny mapp (2)\PotatoPlan\Tractor_VS\Game1\bin\Windows\x86\Debug\Content\Planted.xnb -D:\Ny mapp (2)\Ny mapp (2)\PotatoPlan\Tractor_VS\Game1\bin\Windows\x86\Debug\Content\Tile.xnb -D:\Ny mapp (2)\Ny mapp (2)\PotatoPlan\Tractor_VS\Game1\bin\Windows\x86\Debug\Content\tileunplantable.xnb -D:\Ny mapp (2)\Ny mapp (2)\PotatoPlan\Tractor_VS\Game1\bin\Windows\x86\Debug\Content\Tractor.xnb -D:\Ny mapp (2)\Ny mapp (2)\PotatoPlan\Tractor_VS\Game1\bin\Windows\x86\Debug\Game1.exe -D:\Ny mapp (2)\Ny mapp (2)\PotatoPlan\Tractor_VS\Game1\bin\Windows\x86\Debug\Game1.pdb -D:\Ny mapp (2)\Ny mapp (2)\PotatoPlan\Tractor_VS\Game1\bin\Windows\x86\Debug\MonoGame.Framework.dll -D:\Ny mapp (2)\Ny mapp (2)\PotatoPlan\Tractor_VS\Game1\bin\Windows\x86\Debug\SharpDX.MediaFoundation.dll -D:\Ny mapp (2)\Ny mapp (2)\PotatoPlan\Tractor_VS\Game1\bin\Windows\x86\Debug\SharpDX.dll -D:\Ny mapp (2)\Ny mapp (2)\PotatoPlan\Tractor_VS\Game1\bin\Windows\x86\Debug\SharpDX.XAudio2.dll -D:\Ny mapp (2)\Ny mapp (2)\PotatoPlan\Tractor_VS\Game1\bin\Windows\x86\Debug\SharpDX.DXGI.dll -D:\Ny mapp (2)\Ny mapp (2)\PotatoPlan\Tractor_VS\Game1\bin\Windows\x86\Debug\SharpDX.Direct3D11.dll -D:\Ny mapp (2)\Ny mapp (2)\PotatoPlan\Tractor_VS\Game1\bin\Windows\x86\Debug\SharpDX.Direct2D1.dll -D:\Ny mapp (2)\Ny mapp (2)\PotatoPlan\Tractor_VS\Game1\bin\Windows\x86\Debug\SharpDX.XInput.dll -D:\Ny mapp (2)\Ny mapp (2)\PotatoPlan\Tractor_VS\Game1\bin\Windows\x86\Debug\MonoGame.Framework.xml -D:\Ny mapp (2)\Ny mapp (2)\PotatoPlan\Tractor_VS\Game1\bin\Windows\x86\Debug\SharpDX.MediaFoundation.xml -D:\Ny mapp (2)\Ny mapp (2)\PotatoPlan\Tractor_VS\Game1\bin\Windows\x86\Debug\SharpDX.xml -D:\Ny mapp (2)\Ny mapp (2)\PotatoPlan\Tractor_VS\Game1\bin\Windows\x86\Debug\SharpDX.XAudio2.xml -D:\Ny mapp (2)\Ny mapp (2)\PotatoPlan\Tractor_VS\Game1\bin\Windows\x86\Debug\SharpDX.DXGI.xml -D:\Ny mapp (2)\Ny mapp (2)\PotatoPlan\Tractor_VS\Game1\bin\Windows\x86\Debug\SharpDX.Direct3D11.xml -D:\Ny mapp (2)\Ny mapp (2)\PotatoPlan\Tractor_VS\Game1\bin\Windows\x86\Debug\SharpDX.Direct2D1.xml -D:\Ny mapp (2)\Ny mapp (2)\PotatoPlan\Tractor_VS\Game1\bin\Windows\x86\Debug\SharpDX.XInput.xml -D:\Ny mapp (2)\Ny mapp (2)\PotatoPlan\Tractor_VS\Game1\obj\x86\Debug\Game1.csprojAssemblyReference.cache -D:\Ny mapp (2)\Ny mapp (2)\PotatoPlan\Tractor_VS\Game1\obj\x86\Debug\Game1.csproj.CoreCompileInputs.cache -D:\Ny mapp (2)\Ny mapp (2)\PotatoPlan\Tractor_VS\Game1\obj\x86\Debug\Game1.csproj.CopyComplete -D:\Ny mapp (2)\Ny mapp (2)\PotatoPlan\Tractor_VS\Game1\obj\x86\Debug\Game1.exe -D:\Ny mapp (2)\Ny mapp (2)\PotatoPlan\Tractor_VS\Game1\obj\x86\Debug\Game1.pdb -C:\Users\Oskar\Source\Repos\s425077\PotatoPlan\Tractor_VS\Game1\bin\Windows\x86\Debug\Content\Crop.xnb -C:\Users\Oskar\Source\Repos\s425077\PotatoPlan\Tractor_VS\Game1\bin\Windows\x86\Debug\Content\Font.xnb -C:\Users\Oskar\Source\Repos\s425077\PotatoPlan\Tractor_VS\Game1\bin\Windows\x86\Debug\Content\house.xnb -C:\Users\Oskar\Source\Repos\s425077\PotatoPlan\Tractor_VS\Game1\bin\Windows\x86\Debug\Content\Plantable.xnb -C:\Users\Oskar\Source\Repos\s425077\PotatoPlan\Tractor_VS\Game1\bin\Windows\x86\Debug\Content\Planted.xnb -C:\Users\Oskar\Source\Repos\s425077\PotatoPlan\Tractor_VS\Game1\bin\Windows\x86\Debug\Content\Tile.xnb -C:\Users\Oskar\Source\Repos\s425077\PotatoPlan\Tractor_VS\Game1\bin\Windows\x86\Debug\Content\tileunplantable.xnb -C:\Users\Oskar\Source\Repos\s425077\PotatoPlan\Tractor_VS\Game1\bin\Windows\x86\Debug\Content\Tractor.xnb -C:\Users\Oskar\Source\Repos\s425077\PotatoPlan\Tractor_VS\Game1\bin\Windows\x86\Debug\Game1.exe -C:\Users\Oskar\Source\Repos\s425077\PotatoPlan\Tractor_VS\Game1\bin\Windows\x86\Debug\Game1.pdb -C:\Users\Oskar\Source\Repos\s425077\PotatoPlan\Tractor_VS\Game1\bin\Windows\x86\Debug\MonoGame.Framework.dll -C:\Users\Oskar\Source\Repos\s425077\PotatoPlan\Tractor_VS\Game1\bin\Windows\x86\Debug\SharpDX.DXGI.dll -C:\Users\Oskar\Source\Repos\s425077\PotatoPlan\Tractor_VS\Game1\bin\Windows\x86\Debug\SharpDX.dll -C:\Users\Oskar\Source\Repos\s425077\PotatoPlan\Tractor_VS\Game1\bin\Windows\x86\Debug\SharpDX.Direct3D11.dll -C:\Users\Oskar\Source\Repos\s425077\PotatoPlan\Tractor_VS\Game1\bin\Windows\x86\Debug\SharpDX.MediaFoundation.dll -C:\Users\Oskar\Source\Repos\s425077\PotatoPlan\Tractor_VS\Game1\bin\Windows\x86\Debug\SharpDX.XAudio2.dll -C:\Users\Oskar\Source\Repos\s425077\PotatoPlan\Tractor_VS\Game1\bin\Windows\x86\Debug\SharpDX.XInput.dll -C:\Users\Oskar\Source\Repos\s425077\PotatoPlan\Tractor_VS\Game1\bin\Windows\x86\Debug\MonoGame.Framework.xml -C:\Users\Oskar\Source\Repos\s425077\PotatoPlan\Tractor_VS\Game1\bin\Windows\x86\Debug\SharpDX.DXGI.xml -C:\Users\Oskar\Source\Repos\s425077\PotatoPlan\Tractor_VS\Game1\bin\Windows\x86\Debug\SharpDX.xml -C:\Users\Oskar\Source\Repos\s425077\PotatoPlan\Tractor_VS\Game1\bin\Windows\x86\Debug\SharpDX.Direct3D11.xml -C:\Users\Oskar\Source\Repos\s425077\PotatoPlan\Tractor_VS\Game1\bin\Windows\x86\Debug\SharpDX.MediaFoundation.xml -C:\Users\Oskar\Source\Repos\s425077\PotatoPlan\Tractor_VS\Game1\bin\Windows\x86\Debug\SharpDX.XAudio2.xml -C:\Users\Oskar\Source\Repos\s425077\PotatoPlan\Tractor_VS\Game1\bin\Windows\x86\Debug\SharpDX.XInput.xml -C:\Users\Oskar\Source\Repos\s425077\PotatoPlan\Tractor_VS\Game1\obj\x86\Debug\Game1.csprojAssemblyReference.cache -C:\Users\Oskar\Source\Repos\s425077\PotatoPlan\Tractor_VS\Game1\obj\x86\Debug\Game1.csproj.CoreCompileInputs.cache -C:\Users\Oskar\Source\Repos\s425077\PotatoPlan\Tractor_VS\Game1\obj\x86\Debug\Game1.csproj.CopyComplete -C:\Users\Oskar\Source\Repos\s425077\PotatoPlan\Tractor_VS\Game1\obj\x86\Debug\Game1.exe -C:\Users\Oskar\Source\Repos\s425077\PotatoPlan\Tractor_VS\Game1\obj\x86\Debug\Game1.pdb diff --git a/Tractor_VS/Game1/obj/x86/Debug/Game1.csprojAssemblyReference.cache b/Tractor_VS/Game1/obj/x86/Debug/Game1.csprojAssemblyReference.cache deleted file mode 100644 index aaceb41..0000000 Binary files a/Tractor_VS/Game1/obj/x86/Debug/Game1.csprojAssemblyReference.cache and /dev/null differ diff --git a/Tractor_VS/Game1/obj/x86/Debug/Game1.exe b/Tractor_VS/Game1/obj/x86/Debug/Game1.exe deleted file mode 100644 index 8c641b4..0000000 Binary files a/Tractor_VS/Game1/obj/x86/Debug/Game1.exe and /dev/null differ diff --git a/Tractor_VS/Game1/obj/x86/Debug/Game1.pdb b/Tractor_VS/Game1/obj/x86/Debug/Game1.pdb deleted file mode 100644 index 7a711d3..0000000 Binary files a/Tractor_VS/Game1/obj/x86/Debug/Game1.pdb and /dev/null differ diff --git a/Tractor_VS/Game1/obj/x86/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs b/Tractor_VS/Game1/obj/x86/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs deleted file mode 100644 index e69de29..0000000 diff --git a/Tractor_VS/Game1/obj/x86/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs b/Tractor_VS/Game1/obj/x86/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs deleted file mode 100644 index e69de29..0000000 diff --git a/Tractor_VS/Game1/obj/x86/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs b/Tractor_VS/Game1/obj/x86/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs deleted file mode 100644 index e69de29..0000000 diff --git a/route-planning.md b/route-planning.md new file mode 100644 index 0000000..672f19a --- /dev/null +++ b/route-planning.md @@ -0,0 +1,104 @@ +# intelligent tractor route planning implementation report + +A* has been implemented. As of now, there are 4 types of fields wtih different costs: + Grass - 1 + Dirt - 7 + Crops - 15 + 4th type are obstacles (mountains) which are unpassable. + +Apart from costs of each fields also cost or turning the agent has been implemented. + Turning once costs 2 + Turning twice costs 9 +Cost of turning twice is so high to encourage the agent to try different path rather that just turning back after reaching its destination point. + +All costs can be changed and are not final values. + +Very rarely agent will make a little bump instead of going forward. +As of now we were not able to detect if it is a problem with A* algorithm or some other part of the program. + +Snippets of code: + +A* main loop: + + while (openList.GetSize() > 0) + { + current = openList.getMin(); + closedList.Insert(current); + openList.removeMin(); + direction = current.getDirection(); + + if (current.getCords() == target.getCords()) + break; + + var adjacentNodes = GetAdjacentNodes(current.getCords()); + foreach (var adjacentNode in adjacentNodes) + { + if (closedList.Exists(adjacentNode.getCords())) // check if adjacent node is on closed list, if it is, skip it + continue; + g = current.getG() + crops[(int)adjacentNode.getCords().X, (int)adjacentNode.getCords().Y].getCostOnMovement() + CalculateRotationCost(direction, adjacentNode.getDirection()); // calculate g - cost from start point + if (!(openList.Exists(adjacentNode.getCords()))) // if adjacent node is not on open list, add it + { + + adjacentNode.setG(g); + adjacentNode.setH(ComputeHScore(adjacentNode.getCords(), target.getCords())); + adjacentNode.calculateF(); + adjacentNode.setParent(current); + openList.Insert(adjacentNode); + } + else + { + if (g + adjacentNode.getH() < adjacentNode.getF()) // check if adjacent node is a better path than the current one + { + adjacentNode.setG(g); + adjacentNode.calculateF(); + adjacentNode.setParent(current); + } + } + + } + } + + // backtrack to create path + while (current != null) + { + path.AddNode(current); + current = current.getParent(); + } + + +Successor function: + + private List GetAdjacentNodes(Vector2 currentPos) + { + var adjacentNodes = new List() + + { + new Nodes(new Vector2(currentPos.X, currentPos.Y+1), 0), + new Nodes(new Vector2(currentPos.X + 1, currentPos.Y), 1), + new Nodes(new Vector2(currentPos.X, currentPos.Y - 1), 2), + new Nodes(new Vector2(currentPos.X - 1, currentPos.Y), -1), + }; + + //check if out of range + for (int i = 3; i >= 0; i--) + { + if (adjacentNodes[i].getCords().X < 0 || adjacentNodes[i].getCords().Y < 0) + adjacentNodes.Remove(adjacentNodes[i]); + else + { + if (adjacentNodes[i].getCords().X > Size.X - 1 || adjacentNodes[i].getCords().Y > Size.Y - 1) + adjacentNodes.Remove(adjacentNodes[i]); + } + } + // return if not an obstacle + return adjacentNodes.Where( + item => crops[(int)item.getCords().X, (int)item.getCords().Y].Status != 0).ToList(); + } + + +Heuristic function: + + public int ComputeHScore(Vector2 currentNode, Vector2 endNote) + { + return (int)(Math.Abs(endNote.X - currentNode.X) + Math.Abs(endNote.Y - currentNode.Y)); + } \ No newline at end of file