pub trait IDataObject_Impl: Sized {
// Required methods
fn GetData(
&self,
pformatetcin: *const FORMATETC
) -> Result<STGMEDIUM, Error>;
fn GetDataHere(
&self,
pformatetc: *const FORMATETC,
pmedium: *mut STGMEDIUM
) -> Result<(), Error>;
fn QueryGetData(&self, pformatetc: *const FORMATETC) -> HRESULT;
fn GetCanonicalFormatEtc(
&self,
pformatectin: *const FORMATETC,
pformatetcout: *mut FORMATETC
) -> HRESULT;
fn SetData(
&self,
pformatetc: *const FORMATETC,
pmedium: *const STGMEDIUM,
frelease: BOOL
) -> Result<(), Error>;
fn EnumFormatEtc(&self, dwdirection: u32) -> Result<IEnumFORMATETC, Error>;
fn DAdvise(
&self,
pformatetc: *const FORMATETC,
advf: u32,
padvsink: Option<&IAdviseSink>
) -> Result<u32, Error>;
fn DUnadvise(&self, dwconnection: u32) -> Result<(), Error>;
fn EnumDAdvise(&self) -> Result<IEnumSTATDATA, Error>;
}