IDataObject
using System;
using System.CodeDom.Compiler;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.Versioning;
using Windows.Win32.Foundation;
namespace Windows.Win32.System.Com
{
[Guid("0000010E-0000-0000-C000-000000000046")]
[SupportedOSPlatform("windows5.0")]
[GeneratedCode("Microsoft.Windows.CsWin32", "0.3.151+58e949951d.RR")]
internal struct IDataObject : IVTable<IDataObject, IDataObject.Vtbl>, IVTable, IComIID
{
internal struct Vtbl
{
internal IntPtr QueryInterface_1;
internal IntPtr AddRef_2;
internal IntPtr Release_3;
internal IntPtr GetData_4;
internal IntPtr GetDataHere_5;
internal IntPtr QueryGetData_6;
internal IntPtr GetCanonicalFormatEtc_7;
internal IntPtr SetData_8;
internal IntPtr EnumFormatEtc_9;
internal IntPtr DAdvise_10;
internal IntPtr DUnadvise_11;
internal IntPtr EnumDAdvise_12;
}
[ComImport]
[Guid("0000010E-0000-0000-C000-000000000046")]
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
[SupportedOSPlatform("windows5.0")]
internal interface Interface
{
[PreserveSig]
unsafe HRESULT GetData(FORMATETC* pformatetcIn, STGMEDIUM* pmedium);
[PreserveSig]
unsafe HRESULT GetDataHere(FORMATETC* pformatetc, STGMEDIUM* pmedium);
[PreserveSig]
unsafe HRESULT QueryGetData(FORMATETC* pformatetc);
[PreserveSig]
unsafe HRESULT GetCanonicalFormatEtc(FORMATETC* pformatectIn, FORMATETC* pformatetcOut);
[PreserveSig]
unsafe HRESULT SetData(FORMATETC* pformatetc, STGMEDIUM* pmedium, BOOL fRelease);
[PreserveSig]
unsafe HRESULT EnumFormatEtc(uint dwDirection, IEnumFORMATETC** ppenumFormatEtc);
[PreserveSig]
unsafe HRESULT DAdvise(FORMATETC* pformatetc, uint advf, IAdviseSink* pAdvSink, uint* pdwConnection);
[PreserveSig]
HRESULT DUnadvise(uint dwConnection);
[PreserveSig]
unsafe HRESULT EnumDAdvise(IEnumSTATDATA** ppenumAdvise);
}
private unsafe void** lpVtbl;
internal static readonly Guid IID_Guid = new Guid(270, 0, 0, 192, 0, 0, 0, 0, 0, 0, 70);
[IsReadOnly]
static unsafe ref Guid IComIID.Guid {
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[return: IsReadOnly]
get {
return ref Unsafe.As<byte, Guid>(ref MemoryMarshal.GetReference(new ReadOnlySpan<byte>(&global::<PrivateImplementationDetails>.7ECF84A066EF2D56FCAAEEFF0FA0324431695933B3A53FE018FC9E9D2322C877, 16)));
}
}
internal unsafe HRESULT QueryInterface([In] [IsReadOnly] ref Guid riid, out void* ppvObject)
{
fixed (void** ppvObject2 = &ppvObject) {
fixed (Guid* riid2 = &riid) {
return QueryInterface(riid2, ppvObject2);
}
}
}
public unsafe HRESULT QueryInterface(Guid* riid, void** ppvObject)
{
IntPtr intPtr = (IntPtr)(*lpVtbl);
return (HRESULT);
}
public unsafe uint AddRef()
{
IntPtr intPtr = (IntPtr)lpVtbl[1];
return (uint);
}
public unsafe uint Release()
{
IntPtr intPtr = (IntPtr)lpVtbl[2];
return (uint);
}
internal unsafe HRESULT GetData([In] [IsReadOnly] ref FORMATETC pformatetcIn, out STGMEDIUM pmedium)
{
fixed (STGMEDIUM* pmedium2 = &pmedium) {
fixed (FORMATETC* pformatetcIn2 = &pformatetcIn) {
return GetData(pformatetcIn2, pmedium2);
}
}
}
[UnmanagedCallersOnly(CallConvs = new Type[] {
typeof(CallConvStdcall)
})]
private unsafe static HRESULT GetData(IDataObject* pThis, FORMATETC* pformatetcIn, STGMEDIUM* pmedium)
{
try {
Interface object;
HRESULT result = ComHelpers.UnwrapCCW<IDataObject, Interface>(pThis, out object);
if (!result.Failed)
return object.GetData(pformatetcIn, pmedium);
return result;
} catch (Exception ex) {
return (HRESULT)ex.HResult;
}
}
public unsafe HRESULT GetData(FORMATETC* pformatetcIn, STGMEDIUM* pmedium)
{
IntPtr intPtr = (IntPtr)lpVtbl[3];
return (HRESULT);
}
internal unsafe HRESULT GetDataHere([In] [IsReadOnly] ref FORMATETC pformatetc, ref STGMEDIUM pmedium)
{
fixed (STGMEDIUM* pmedium2 = &pmedium) {
fixed (FORMATETC* pformatetc2 = &pformatetc) {
return GetDataHere(pformatetc2, pmedium2);
}
}
}
[UnmanagedCallersOnly(CallConvs = new Type[] {
typeof(CallConvStdcall)
})]
private unsafe static HRESULT GetDataHere(IDataObject* pThis, FORMATETC* pformatetc, STGMEDIUM* pmedium)
{
try {
Interface object;
HRESULT result = ComHelpers.UnwrapCCW<IDataObject, Interface>(pThis, out object);
if (!result.Failed)
return object.GetDataHere(pformatetc, pmedium);
return result;
} catch (Exception ex) {
return (HRESULT)ex.HResult;
}
}
public unsafe HRESULT GetDataHere(FORMATETC* pformatetc, STGMEDIUM* pmedium)
{
IntPtr intPtr = (IntPtr)lpVtbl[4];
return (HRESULT);
}
internal unsafe HRESULT QueryGetData([In] [IsReadOnly] ref FORMATETC pformatetc)
{
fixed (FORMATETC* pformatetc2 = &pformatetc) {
return QueryGetData(pformatetc2);
}
}
[UnmanagedCallersOnly(CallConvs = new Type[] {
typeof(CallConvStdcall)
})]
private unsafe static HRESULT QueryGetData(IDataObject* pThis, FORMATETC* pformatetc)
{
try {
Interface object;
HRESULT result = ComHelpers.UnwrapCCW<IDataObject, Interface>(pThis, out object);
if (!result.Failed)
return object.QueryGetData(pformatetc);
return result;
} catch (Exception ex) {
return (HRESULT)ex.HResult;
}
}
public unsafe HRESULT QueryGetData(FORMATETC* pformatetc)
{
IntPtr intPtr = (IntPtr)lpVtbl[5];
return (HRESULT);
}
internal unsafe HRESULT GetCanonicalFormatEtc([In] [IsReadOnly] ref FORMATETC pformatectIn, out FORMATETC pformatetcOut)
{
fixed (FORMATETC* pformatetcOut2 = &pformatetcOut) {
fixed (FORMATETC* pformatectIn2 = &pformatectIn) {
return GetCanonicalFormatEtc(pformatectIn2, pformatetcOut2);
}
}
}
[UnmanagedCallersOnly(CallConvs = new Type[] {
typeof(CallConvStdcall)
})]
private unsafe static HRESULT GetCanonicalFormatEtc(IDataObject* pThis, FORMATETC* pformatectIn, FORMATETC* pformatetcOut)
{
try {
Interface object;
HRESULT result = ComHelpers.UnwrapCCW<IDataObject, Interface>(pThis, out object);
if (!result.Failed)
return object.GetCanonicalFormatEtc(pformatectIn, pformatetcOut);
return result;
} catch (Exception ex) {
return (HRESULT)ex.HResult;
}
}
public unsafe HRESULT GetCanonicalFormatEtc(FORMATETC* pformatectIn, FORMATETC* pformatetcOut)
{
IntPtr intPtr = (IntPtr)lpVtbl[6];
return (HRESULT);
}
internal unsafe HRESULT SetData([In] [IsReadOnly] ref FORMATETC pformatetc, [In] [IsReadOnly] ref STGMEDIUM pmedium, BOOL fRelease)
{
fixed (STGMEDIUM* pmedium2 = &pmedium) {
fixed (FORMATETC* pformatetc2 = &pformatetc) {
return SetData(pformatetc2, pmedium2, fRelease);
}
}
}
[UnmanagedCallersOnly(CallConvs = new Type[] {
typeof(CallConvStdcall)
})]
private unsafe static HRESULT SetData(IDataObject* pThis, FORMATETC* pformatetc, STGMEDIUM* pmedium, BOOL fRelease)
{
try {
Interface object;
HRESULT result = ComHelpers.UnwrapCCW<IDataObject, Interface>(pThis, out object);
if (!result.Failed)
return object.SetData(pformatetc, pmedium, fRelease);
return result;
} catch (Exception ex) {
return (HRESULT)ex.HResult;
}
}
public unsafe HRESULT SetData(FORMATETC* pformatetc, STGMEDIUM* pmedium, BOOL fRelease)
{
IntPtr intPtr = (IntPtr)lpVtbl[7];
return (HRESULT);
}
[UnmanagedCallersOnly(CallConvs = new Type[] {
typeof(CallConvStdcall)
})]
private unsafe static HRESULT EnumFormatEtc(IDataObject* pThis, uint dwDirection, IEnumFORMATETC** ppenumFormatEtc)
{
try {
Interface object;
HRESULT result = ComHelpers.UnwrapCCW<IDataObject, Interface>(pThis, out object);
if (!result.Failed)
return object.EnumFormatEtc(dwDirection, ppenumFormatEtc);
return result;
} catch (Exception ex) {
return (HRESULT)ex.HResult;
}
}
public unsafe HRESULT EnumFormatEtc(uint dwDirection, IEnumFORMATETC** ppenumFormatEtc)
{
IntPtr intPtr = (IntPtr)lpVtbl[8];
return (HRESULT);
}
internal unsafe HRESULT DAdvise([In] [IsReadOnly] ref FORMATETC pformatetc, uint advf, IAdviseSink* pAdvSink, out uint pdwConnection)
{
fixed (uint* pdwConnection2 = &pdwConnection) {
fixed (FORMATETC* pformatetc2 = &pformatetc) {
return DAdvise(pformatetc2, advf, pAdvSink, pdwConnection2);
}
}
}
[UnmanagedCallersOnly(CallConvs = new Type[] {
typeof(CallConvStdcall)
})]
private unsafe static HRESULT DAdvise(IDataObject* pThis, FORMATETC* pformatetc, uint advf, IAdviseSink* pAdvSink, uint* pdwConnection)
{
try {
Interface object;
HRESULT result = ComHelpers.UnwrapCCW<IDataObject, Interface>(pThis, out object);
if (!result.Failed)
return object.DAdvise(pformatetc, advf, pAdvSink, pdwConnection);
return result;
} catch (Exception ex) {
return (HRESULT)ex.HResult;
}
}
public unsafe HRESULT DAdvise(FORMATETC* pformatetc, uint advf, IAdviseSink* pAdvSink, uint* pdwConnection)
{
IntPtr intPtr = (IntPtr)lpVtbl[9];
return (HRESULT);
}
[UnmanagedCallersOnly(CallConvs = new Type[] {
typeof(CallConvStdcall)
})]
private unsafe static HRESULT DUnadvise(IDataObject* pThis, uint dwConnection)
{
try {
Interface object;
HRESULT result = ComHelpers.UnwrapCCW<IDataObject, Interface>(pThis, out object);
if (!result.Failed)
return object.DUnadvise(dwConnection);
return result;
} catch (Exception ex) {
return (HRESULT)ex.HResult;
}
}
public unsafe HRESULT DUnadvise(uint dwConnection)
{
IntPtr intPtr = (IntPtr)lpVtbl[10];
return (HRESULT);
}
[UnmanagedCallersOnly(CallConvs = new Type[] {
typeof(CallConvStdcall)
})]
private unsafe static HRESULT EnumDAdvise(IDataObject* pThis, IEnumSTATDATA** ppenumAdvise)
{
try {
Interface object;
HRESULT result = ComHelpers.UnwrapCCW<IDataObject, Interface>(pThis, out object);
if (!result.Failed)
return object.EnumDAdvise(ppenumAdvise);
return result;
} catch (Exception ex) {
return (HRESULT)ex.HResult;
}
}
public unsafe HRESULT EnumDAdvise(IEnumSTATDATA** ppenumAdvise)
{
IntPtr intPtr = (IntPtr)lpVtbl[11];
return (HRESULT);
}
internal unsafe HRESULT QueryInterface<[IsUnmanaged] T>(out T* ppv) where T : struct
{
Guid riid = typeof(T).GUID;
void* ppvObject;
HRESULT result = QueryInterface(ref riid, out ppvObject);
if (result.Succeeded)
ppv = (T*)ppvObject;
else
ppv = null;
return result;
}
public unsafe static void PopulateVTable(Vtbl* vtable)
{
vtable->GetData_4 = (IntPtr)(void*);
vtable->GetDataHere_5 = (IntPtr)(void*);
vtable->QueryGetData_6 = (IntPtr)(void*);
vtable->GetCanonicalFormatEtc_7 = (IntPtr)(void*);
vtable->SetData_8 = (IntPtr)(void*);
vtable->EnumFormatEtc_9 = (IntPtr)(void*);
vtable->DAdvise_10 = (IntPtr)(void*);
vtable->DUnadvise_11 = (IntPtr)(void*);
vtable->EnumDAdvise_12 = (IntPtr)(void*);
}
unsafe void IVTable<IDataObject, Vtbl>.PopulateVTable(Vtbl* vtable)
{
this.PopulateVTable(vtable);
}
}
}