// ------------------------------------------------------------------------------
//
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
//
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Direct2D;
///
/// ID2D1Effect
[Guid("28211a43-7d89-476f-8181-2d6159b220ad")]
[NativeTypeName("struct ID2D1Effect : ID2D1Properties")]
[NativeInheritance("ID2D1Properties")]
public unsafe partial struct ID2D1Effect : ID2D1Effect.Interface, INativeGuid
{
public static ref readonly Guid IID_ID2D1Effect
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
ReadOnlySpan data = new byte[] {
0x43, 0x1A, 0x21, 0x28,
0x89, 0x7D,
0x6F, 0x47,
0x81,
0x81,
0x2D,
0x61,
0x59,
0xB2,
0x20,
0xAD
};
Debug.Assert(data.Length == Unsafe.SizeOf());
return ref Unsafe.As(ref MemoryMarshal.GetReference(data));
}
}
static Guid* INativeGuid.NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1Effect));
public void** lpVtbl;
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(0)]
public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject)
{
return ((delegate* unmanaged[MemberFunction])(lpVtbl[0]))((ID2D1Effect*)Unsafe.AsPointer(ref this), riid, ppvObject);
}
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(1)]
[return: NativeTypeName("ULONG")]
public uint AddRef()
{
return ((delegate* unmanaged[MemberFunction])(lpVtbl[1]))((ID2D1Effect*)Unsafe.AsPointer(ref this));
}
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(2)]
[return: NativeTypeName("ULONG")]
public uint Release()
{
return ((delegate* unmanaged[MemberFunction])(lpVtbl[2]))((ID2D1Effect*)Unsafe.AsPointer(ref this));
}
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(3)]
public uint GetPropertyCount()
{
return ((delegate* unmanaged[MemberFunction])(lpVtbl[3]))((ID2D1Effect*)Unsafe.AsPointer(ref this));
}
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(4)]
public HResult GetPropertyName(uint index, char* name, uint nameCount)
{
return ((delegate* unmanaged[MemberFunction])(lpVtbl[4]))((ID2D1Effect*)Unsafe.AsPointer(ref this), index, name, nameCount);
}
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(5)]
public uint GetPropertyNameLength(uint index)
{
return ((delegate* unmanaged[MemberFunction])(lpVtbl[5]))((ID2D1Effect*)Unsafe.AsPointer(ref this), index);
}
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(6)]
public PropertyType GetType(uint index)
{
return ((delegate* unmanaged[MemberFunction])(lpVtbl[6]))((ID2D1Effect*)Unsafe.AsPointer(ref this), index);
}
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(7)]
public uint GetPropertyIndex(char* name)
{
return ((delegate* unmanaged[MemberFunction])(lpVtbl[7]))((ID2D1Effect*)Unsafe.AsPointer(ref this), name);
}
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(8)]
public HResult SetValueByName(char* name, PropertyType type, byte* data, uint dataSize)
{
return ((delegate* unmanaged[MemberFunction])(lpVtbl[8]))((ID2D1Effect*)Unsafe.AsPointer(ref this), name, type, data, dataSize);
}
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(9)]
public HResult SetValue(uint index, PropertyType type, byte* data, uint dataSize)
{
return ((delegate* unmanaged[MemberFunction])(lpVtbl[9]))((ID2D1Effect*)Unsafe.AsPointer(ref this), index, type, data, dataSize);
}
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(10)]
public HResult GetValueByName(char* name, PropertyType type, byte* data, uint dataSize)
{
return ((delegate* unmanaged[MemberFunction])(lpVtbl[10]))((ID2D1Effect*)Unsafe.AsPointer(ref this), name, type, data, dataSize);
}
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(11)]
public HResult GetValue(uint index, PropertyType type, byte* data, uint dataSize)
{
return ((delegate* unmanaged[MemberFunction])(lpVtbl[11]))((ID2D1Effect*)Unsafe.AsPointer(ref this), index, type, data, dataSize);
}
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(12)]
public uint GetValueSize(uint index)
{
return ((delegate* unmanaged[MemberFunction])(lpVtbl[12]))((ID2D1Effect*)Unsafe.AsPointer(ref this), index);
}
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(13)]
public HResult GetSubProperties(uint index, ID2D1Properties** subProperties)
{
return ((delegate* unmanaged[MemberFunction])(lpVtbl[13]))((ID2D1Effect*)Unsafe.AsPointer(ref this), index, subProperties);
}
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(14)]
public void SetInput(uint index, ID2D1Image* input, Bool32 invalidate)
{
((delegate* unmanaged[MemberFunction])(lpVtbl[14]))((ID2D1Effect*)Unsafe.AsPointer(ref this), index, input, invalidate);
}
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(15)]
public HResult SetInputCount(uint inputCount)
{
return ((delegate* unmanaged[MemberFunction])(lpVtbl[15]))((ID2D1Effect*)Unsafe.AsPointer(ref this), inputCount);
}
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(16)]
public void GetInput(uint index, ID2D1Image** input)
{
((delegate* unmanaged[MemberFunction])(lpVtbl[16]))((ID2D1Effect*)Unsafe.AsPointer(ref this), index, input);
}
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(17)]
public uint GetInputCount()
{
return ((delegate* unmanaged[MemberFunction])(lpVtbl[17]))((ID2D1Effect*)Unsafe.AsPointer(ref this));
}
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(18)]
public void GetOutput(ID2D1Image** outputImage)
{
((delegate* unmanaged[MemberFunction])(lpVtbl[18]))((ID2D1Effect*)Unsafe.AsPointer(ref this), outputImage);
}
public interface Interface : ID2D1Properties.Interface
{
[VtblIndex(14)]
void SetInput(uint index, ID2D1Image* input, Bool32 invalidate);
[VtblIndex(15)]
HResult SetInputCount(uint inputCount);
[VtblIndex(16)]
void GetInput(uint index, ID2D1Image** input);
[VtblIndex(17)]
uint GetInputCount();
[VtblIndex(18)]
void GetOutput(ID2D1Image** outputImage);
}
}