Trait IMetaDataEmit_Impl
pub trait IMetaDataEmit_Impl: IUnknownImpl {
Show 49 methods
// Required methods
fn SetModuleProps(&self, szname: &PCWSTR) -> Result<()>;
fn Save(&self, szfile: &PCWSTR, dwsaveflags: u32) -> Result<()>;
fn SaveToStream(
&self,
pistream: Ref<'_, IStream>,
dwsaveflags: u32,
) -> Result<()>;
fn GetSaveSize(
&self,
fsave: CorSaveSize,
pdwsavesize: *mut u32,
) -> Result<()>;
fn DefineTypeDef(
&self,
sztypedef: &PCWSTR,
dwtypedefflags: u32,
tkextends: u32,
rtkimplements: *mut u32,
ptd: *mut u32,
) -> Result<()>;
fn DefineNestedType(
&self,
sztypedef: &PCWSTR,
dwtypedefflags: u32,
tkextends: u32,
rtkimplements: *mut u32,
tdencloser: u32,
ptd: *mut u32,
) -> Result<()>;
fn SetHandler(&self, punk: Ref<'_, IUnknown>) -> Result<()>;
fn DefineMethod(
&self,
td: u32,
szname: &PCWSTR,
dwmethodflags: u32,
pvsigblob: *mut u8,
cbsigblob: u32,
ulcoderva: u32,
dwimplflags: u32,
pmd: *mut u32,
) -> Result<()>;
fn DefineMethodImpl(&self, td: u32, tkbody: u32, tkdecl: u32) -> Result<()>;
fn DefineTypeRefByName(
&self,
tkresolutionscope: u32,
szname: &PCWSTR,
ptr: *mut u32,
) -> Result<()>;
fn DefineImportType(
&self,
passemimport: Ref<'_, IMetaDataAssemblyImport>,
pbhashvalue: *const c_void,
cbhashvalue: u32,
pimport: Ref<'_, IMetaDataImport>,
tdimport: u32,
passememit: Ref<'_, IMetaDataAssemblyEmit>,
ptr: *mut u32,
) -> Result<()>;
fn DefineMemberRef(
&self,
tkimport: u32,
szname: &PCWSTR,
pvsigblob: *mut u8,
cbsigblob: u32,
pmr: *mut u32,
) -> Result<()>;
fn DefineImportMember(
&self,
passemimport: Ref<'_, IMetaDataAssemblyImport>,
pbhashvalue: *const c_void,
cbhashvalue: u32,
pimport: Ref<'_, IMetaDataImport>,
mbmember: u32,
passememit: Ref<'_, IMetaDataAssemblyEmit>,
tkparent: u32,
pmr: *mut u32,
) -> Result<()>;
fn DefineEvent(
&self,
td: u32,
szevent: &PCWSTR,
dweventflags: u32,
tkeventtype: u32,
mdaddon: u32,
mdremoveon: u32,
mdfire: u32,
rmdothermethods: *mut u32,
pmdevent: *mut u32,
) -> Result<()>;
fn SetClassLayout(
&self,
td: u32,
dwpacksize: u32,
rfieldoffsets: *mut COR_FIELD_OFFSET,
ulclasssize: u32,
) -> Result<()>;
fn DeleteClassLayout(&self, td: u32) -> Result<()>;
fn SetFieldMarshal(
&self,
tk: u32,
pvnativetype: *mut u8,
cbnativetype: u32,
) -> Result<()>;
fn DeleteFieldMarshal(&self, tk: u32) -> Result<()>;
fn DefinePermissionSet(
&self,
tk: u32,
dwaction: u32,
pvpermission: *const c_void,
cbpermission: u32,
ppm: *mut u32,
) -> Result<()>;
fn SetRVA(&self, md: u32, ulrva: u32) -> Result<()>;
fn GetTokenFromSig(
&self,
pvsig: *mut u8,
cbsig: u32,
pmsig: *mut u32,
) -> Result<()>;
fn DefineModuleRef(&self, szname: &PCWSTR, pmur: *mut u32) -> Result<()>;
fn SetParent(&self, mr: u32, tk: u32) -> Result<()>;
fn GetTokenFromTypeSpec(
&self,
pvsig: *mut u8,
cbsig: u32,
ptypespec: *mut u32,
) -> Result<()>;
fn SaveToMemory(&self, pbdata: *mut c_void, cbdata: u32) -> Result<()>;
fn DefineUserString(
&self,
szstring: &PCWSTR,
cchstring: u32,
pstk: *mut u32,
) -> Result<()>;
fn DeleteToken(&self, tkobj: u32) -> Result<()>;
fn SetMethodProps(
&self,
md: u32,
dwmethodflags: u32,
ulcoderva: u32,
dwimplflags: u32,
) -> Result<()>;
fn SetTypeDefProps(
&self,
td: u32,
dwtypedefflags: u32,
tkextends: u32,
rtkimplements: *mut u32,
) -> Result<()>;
fn SetEventProps(
&self,
ev: u32,
dweventflags: u32,
tkeventtype: u32,
mdaddon: u32,
mdremoveon: u32,
mdfire: u32,
rmdothermethods: *mut u32,
) -> Result<()>;
fn SetPermissionSetProps(
&self,
tk: u32,
dwaction: u32,
pvpermission: *const c_void,
cbpermission: u32,
ppm: *mut u32,
) -> Result<()>;
fn DefinePinvokeMap(
&self,
tk: u32,
dwmappingflags: u32,
szimportname: &PCWSTR,
mrimportdll: u32,
) -> Result<()>;
fn SetPinvokeMap(
&self,
tk: u32,
dwmappingflags: u32,
szimportname: &PCWSTR,
mrimportdll: u32,
) -> Result<()>;
fn DeletePinvokeMap(&self, tk: u32) -> Result<()>;
fn DefineCustomAttribute(
&self,
tkowner: u32,
tkctor: u32,
pcustomattribute: *const c_void,
cbcustomattribute: u32,
pcv: *mut u32,
) -> Result<()>;
fn SetCustomAttributeValue(
&self,
pcv: u32,
pcustomattribute: *const c_void,
cbcustomattribute: u32,
) -> Result<()>;
fn DefineField(
&self,
td: u32,
szname: &PCWSTR,
dwfieldflags: u32,
pvsigblob: *mut u8,
cbsigblob: u32,
dwcplustypeflag: u32,
pvalue: *const c_void,
cchvalue: u32,
pmd: *mut u32,
) -> Result<()>;
fn DefineProperty(
&self,
td: u32,
szproperty: &PCWSTR,
dwpropflags: u32,
pvsig: *mut u8,
cbsig: u32,
dwcplustypeflag: u32,
pvalue: *const c_void,
cchvalue: u32,
mdsetter: u32,
mdgetter: u32,
rmdothermethods: *mut u32,
pmdprop: *mut u32,
) -> Result<()>;
fn DefineParam(
&self,
md: u32,
ulparamseq: u32,
szname: &PCWSTR,
dwparamflags: u32,
dwcplustypeflag: u32,
pvalue: *const c_void,
cchvalue: u32,
ppd: *mut u32,
) -> Result<()>;
fn SetFieldProps(
&self,
fd: u32,
dwfieldflags: u32,
dwcplustypeflag: u32,
pvalue: *const c_void,
cchvalue: u32,
) -> Result<()>;
fn SetPropertyProps(
&self,
pr: u32,
dwpropflags: u32,
dwcplustypeflag: u32,
pvalue: *const c_void,
cchvalue: u32,
mdsetter: u32,
mdgetter: u32,
rmdothermethods: *mut u32,
) -> Result<()>;
fn SetParamProps(
&self,
pd: u32,
szname: &PCWSTR,
dwparamflags: u32,
dwcplustypeflag: u32,
pvalue: *const c_void,
cchvalue: u32,
) -> Result<()>;
fn DefineSecurityAttributeSet(
&self,
tkobj: u32,
rsecattrs: *mut COR_SECATTR,
csecattrs: u32,
pulerrorattr: *mut u32,
) -> Result<()>;
fn ApplyEditAndContinue(&self, pimport: Ref<'_, IUnknown>) -> Result<()>;
fn TranslateSigWithScope(
&self,
passemimport: Ref<'_, IMetaDataAssemblyImport>,
pbhashvalue: *const c_void,
cbhashvalue: u32,
import: Ref<'_, IMetaDataImport>,
pbsigblob: *mut u8,
cbsigblob: u32,
passememit: Ref<'_, IMetaDataAssemblyEmit>,
emit: Ref<'_, IMetaDataEmit>,
pvtranslatedsig: *mut u8,
cbtranslatedsigmax: u32,
pcbtranslatedsig: *mut u32,
) -> Result<()>;
fn SetMethodImplFlags(&self, md: u32, dwimplflags: u32) -> Result<()>;
fn SetFieldRVA(&self, fd: u32, ulrva: u32) -> Result<()>;
fn Merge(
&self,
pimport: Ref<'_, IMetaDataImport>,
phostmaptoken: Ref<'_, IMapToken>,
phandler: Ref<'_, IUnknown>,
) -> Result<()>;
fn MergeEnd(&self) -> Result<()>;
}
Required Methods§
fn SetModuleProps(&self, szname: &PCWSTR) -> Result<()>
fn Save(&self, szfile: &PCWSTR, dwsaveflags: u32) -> Result<()>
fn SaveToStream( &self, pistream: Ref<'_, IStream>, dwsaveflags: u32, ) -> Result<()>
fn GetSaveSize(&self, fsave: CorSaveSize, pdwsavesize: *mut u32) -> Result<()>
fn DefineTypeDef( &self, sztypedef: &PCWSTR, dwtypedefflags: u32, tkextends: u32, rtkimplements: *mut u32, ptd: *mut u32, ) -> Result<()>
fn DefineNestedType( &self, sztypedef: &PCWSTR, dwtypedefflags: u32, tkextends: u32, rtkimplements: *mut u32, tdencloser: u32, ptd: *mut u32, ) -> Result<()>
fn SetHandler(&self, punk: Ref<'_, IUnknown>) -> Result<()>
fn DefineMethod( &self, td: u32, szname: &PCWSTR, dwmethodflags: u32, pvsigblob: *mut u8, cbsigblob: u32, ulcoderva: u32, dwimplflags: u32, pmd: *mut u32, ) -> Result<()>
fn DefineMethodImpl(&self, td: u32, tkbody: u32, tkdecl: u32) -> Result<()>
fn DefineTypeRefByName( &self, tkresolutionscope: u32, szname: &PCWSTR, ptr: *mut u32, ) -> Result<()>
fn DefineImportType( &self, passemimport: Ref<'_, IMetaDataAssemblyImport>, pbhashvalue: *const c_void, cbhashvalue: u32, pimport: Ref<'_, IMetaDataImport>, tdimport: u32, passememit: Ref<'_, IMetaDataAssemblyEmit>, ptr: *mut u32, ) -> Result<()>
fn DefineMemberRef( &self, tkimport: u32, szname: &PCWSTR, pvsigblob: *mut u8, cbsigblob: u32, pmr: *mut u32, ) -> Result<()>
fn DefineImportMember( &self, passemimport: Ref<'_, IMetaDataAssemblyImport>, pbhashvalue: *const c_void, cbhashvalue: u32, pimport: Ref<'_, IMetaDataImport>, mbmember: u32, passememit: Ref<'_, IMetaDataAssemblyEmit>, tkparent: u32, pmr: *mut u32, ) -> Result<()>
fn DefineEvent( &self, td: u32, szevent: &PCWSTR, dweventflags: u32, tkeventtype: u32, mdaddon: u32, mdremoveon: u32, mdfire: u32, rmdothermethods: *mut u32, pmdevent: *mut u32, ) -> Result<()>
fn SetClassLayout( &self, td: u32, dwpacksize: u32, rfieldoffsets: *mut COR_FIELD_OFFSET, ulclasssize: u32, ) -> Result<()>
fn DeleteClassLayout(&self, td: u32) -> Result<()>
fn SetFieldMarshal( &self, tk: u32, pvnativetype: *mut u8, cbnativetype: u32, ) -> Result<()>
fn DeleteFieldMarshal(&self, tk: u32) -> Result<()>
fn DefinePermissionSet( &self, tk: u32, dwaction: u32, pvpermission: *const c_void, cbpermission: u32, ppm: *mut u32, ) -> Result<()>
fn SetRVA(&self, md: u32, ulrva: u32) -> Result<()>
fn GetTokenFromSig( &self, pvsig: *mut u8, cbsig: u32, pmsig: *mut u32, ) -> Result<()>
fn DefineModuleRef(&self, szname: &PCWSTR, pmur: *mut u32) -> Result<()>
fn SetParent(&self, mr: u32, tk: u32) -> Result<()>
fn GetTokenFromTypeSpec( &self, pvsig: *mut u8, cbsig: u32, ptypespec: *mut u32, ) -> Result<()>
fn SaveToMemory(&self, pbdata: *mut c_void, cbdata: u32) -> Result<()>
fn DefineUserString( &self, szstring: &PCWSTR, cchstring: u32, pstk: *mut u32, ) -> Result<()>
fn DeleteToken(&self, tkobj: u32) -> Result<()>
fn SetMethodProps( &self, md: u32, dwmethodflags: u32, ulcoderva: u32, dwimplflags: u32, ) -> Result<()>
fn SetTypeDefProps( &self, td: u32, dwtypedefflags: u32, tkextends: u32, rtkimplements: *mut u32, ) -> Result<()>
fn SetEventProps( &self, ev: u32, dweventflags: u32, tkeventtype: u32, mdaddon: u32, mdremoveon: u32, mdfire: u32, rmdothermethods: *mut u32, ) -> Result<()>
fn SetPermissionSetProps( &self, tk: u32, dwaction: u32, pvpermission: *const c_void, cbpermission: u32, ppm: *mut u32, ) -> Result<()>
fn DefinePinvokeMap( &self, tk: u32, dwmappingflags: u32, szimportname: &PCWSTR, mrimportdll: u32, ) -> Result<()>
fn SetPinvokeMap( &self, tk: u32, dwmappingflags: u32, szimportname: &PCWSTR, mrimportdll: u32, ) -> Result<()>
fn DeletePinvokeMap(&self, tk: u32) -> Result<()>
fn DefineCustomAttribute( &self, tkowner: u32, tkctor: u32, pcustomattribute: *const c_void, cbcustomattribute: u32, pcv: *mut u32, ) -> Result<()>
fn SetCustomAttributeValue( &self, pcv: u32, pcustomattribute: *const c_void, cbcustomattribute: u32, ) -> Result<()>
fn DefineField( &self, td: u32, szname: &PCWSTR, dwfieldflags: u32, pvsigblob: *mut u8, cbsigblob: u32, dwcplustypeflag: u32, pvalue: *const c_void, cchvalue: u32, pmd: *mut u32, ) -> Result<()>
fn DefineProperty( &self, td: u32, szproperty: &PCWSTR, dwpropflags: u32, pvsig: *mut u8, cbsig: u32, dwcplustypeflag: u32, pvalue: *const c_void, cchvalue: u32, mdsetter: u32, mdgetter: u32, rmdothermethods: *mut u32, pmdprop: *mut u32, ) -> Result<()>
fn DefineParam( &self, md: u32, ulparamseq: u32, szname: &PCWSTR, dwparamflags: u32, dwcplustypeflag: u32, pvalue: *const c_void, cchvalue: u32, ppd: *mut u32, ) -> Result<()>
fn SetFieldProps( &self, fd: u32, dwfieldflags: u32, dwcplustypeflag: u32, pvalue: *const c_void, cchvalue: u32, ) -> Result<()>
fn SetPropertyProps( &self, pr: u32, dwpropflags: u32, dwcplustypeflag: u32, pvalue: *const c_void, cchvalue: u32, mdsetter: u32, mdgetter: u32, rmdothermethods: *mut u32, ) -> Result<()>
fn SetParamProps( &self, pd: u32, szname: &PCWSTR, dwparamflags: u32, dwcplustypeflag: u32, pvalue: *const c_void, cchvalue: u32, ) -> Result<()>
fn DefineSecurityAttributeSet( &self, tkobj: u32, rsecattrs: *mut COR_SECATTR, csecattrs: u32, pulerrorattr: *mut u32, ) -> Result<()>
fn ApplyEditAndContinue(&self, pimport: Ref<'_, IUnknown>) -> Result<()>
fn TranslateSigWithScope( &self, passemimport: Ref<'_, IMetaDataAssemblyImport>, pbhashvalue: *const c_void, cbhashvalue: u32, import: Ref<'_, IMetaDataImport>, pbsigblob: *mut u8, cbsigblob: u32, passememit: Ref<'_, IMetaDataAssemblyEmit>, emit: Ref<'_, IMetaDataEmit>, pvtranslatedsig: *mut u8, cbtranslatedsigmax: u32, pcbtranslatedsig: *mut u32, ) -> Result<()>
fn SetMethodImplFlags(&self, md: u32, dwimplflags: u32) -> Result<()>
fn SetFieldRVA(&self, fd: u32, ulrva: u32) -> Result<()>
fn Merge( &self, pimport: Ref<'_, IMetaDataImport>, phostmaptoken: Ref<'_, IMapToken>, phandler: Ref<'_, IUnknown>, ) -> Result<()>
fn MergeEnd(&self) -> Result<()>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.