pub trait IMetaDataImport_Impl: Sized {
Show 62 methods
// Required methods
fn CloseEnum(&self, henum: *mut c_void);
fn CountEnum(&self, henum: *mut c_void, pulcount: *mut u32) -> Result<()>;
fn ResetEnum(&self, henum: *mut c_void, ulpos: u32) -> Result<()>;
fn EnumTypeDefs(
&self,
phenum: *mut *mut c_void,
rtypedefs: *mut u32,
cmax: u32,
pctypedefs: *mut u32
) -> Result<()>;
fn EnumInterfaceImpls(
&self,
phenum: *mut *mut c_void,
td: u32,
rimpls: *mut u32,
cmax: u32,
pcimpls: *mut u32
) -> Result<()>;
fn EnumTypeRefs(
&self,
phenum: *mut *mut c_void,
rtyperefs: *mut u32,
cmax: u32,
pctyperefs: *mut u32
) -> Result<()>;
fn FindTypeDefByName(
&self,
sztypedef: &PCWSTR,
tkenclosingclass: u32,
ptd: *mut u32
) -> Result<()>;
fn GetScopeProps(
&self,
szname: PWSTR,
cchname: u32,
pchname: *mut u32,
pmvid: *mut GUID
) -> Result<()>;
fn GetModuleFromScope(&self, pmd: *mut u32) -> Result<()>;
fn GetTypeDefProps(
&self,
td: u32,
sztypedef: PWSTR,
cchtypedef: u32,
pchtypedef: *mut u32,
pdwtypedefflags: *mut u32,
ptkextends: *mut u32
) -> Result<()>;
fn GetInterfaceImplProps(
&self,
iiimpl: u32,
pclass: *mut u32,
ptkiface: *mut u32
) -> Result<()>;
fn GetTypeRefProps(
&self,
tr: u32,
ptkresolutionscope: *mut u32,
szname: PWSTR,
cchname: u32,
pchname: *mut u32
) -> Result<()>;
fn ResolveTypeRef(
&self,
tr: u32,
riid: *const GUID,
ppiscope: *mut Option<IUnknown>,
ptd: *mut u32
) -> Result<()>;
fn EnumMembers(
&self,
phenum: *mut *mut c_void,
cl: u32,
rmembers: *mut u32,
cmax: u32,
pctokens: *mut u32
) -> Result<()>;
fn EnumMembersWithName(
&self,
phenum: *mut *mut c_void,
cl: u32,
szname: &PCWSTR,
rmembers: *mut u32,
cmax: u32,
pctokens: *mut u32
) -> Result<()>;
fn EnumMethods(
&self,
phenum: *mut *mut c_void,
cl: u32,
rmethods: *mut u32,
cmax: u32,
pctokens: *mut u32
) -> Result<()>;
fn EnumMethodsWithName(
&self,
phenum: *mut *mut c_void,
cl: u32,
szname: &PCWSTR,
rmethods: *mut u32,
cmax: u32,
pctokens: *mut u32
) -> Result<()>;
fn EnumFields(
&self,
phenum: *mut *mut c_void,
cl: u32,
rfields: *mut u32,
cmax: u32,
pctokens: *mut u32
) -> Result<()>;
fn EnumFieldsWithName(
&self,
phenum: *mut *mut c_void,
cl: u32,
szname: &PCWSTR,
rfields: *mut u32,
cmax: u32,
pctokens: *mut u32
) -> Result<()>;
fn EnumParams(
&self,
phenum: *mut *mut c_void,
mb: u32,
rparams: *mut u32,
cmax: u32,
pctokens: *mut u32
) -> Result<()>;
fn EnumMemberRefs(
&self,
phenum: *mut *mut c_void,
tkparent: u32,
rmemberrefs: *mut u32,
cmax: u32,
pctokens: *mut u32
) -> Result<()>;
fn EnumMethodImpls(
&self,
phenum: *mut *mut c_void,
td: u32,
rmethodbody: *mut u32,
rmethoddecl: *mut u32,
cmax: u32,
pctokens: *mut u32
) -> Result<()>;
fn EnumPermissionSets(
&self,
phenum: *mut *mut c_void,
tk: u32,
dwactions: u32,
rpermission: *mut u32,
cmax: u32,
pctokens: *mut u32
) -> Result<()>;
fn FindMember(
&self,
td: u32,
szname: &PCWSTR,
pvsigblob: *mut u8,
cbsigblob: u32,
pmb: *mut u32
) -> Result<()>;
fn FindMethod(
&self,
td: u32,
szname: &PCWSTR,
pvsigblob: *mut u8,
cbsigblob: u32,
pmb: *mut u32
) -> Result<()>;
fn FindField(
&self,
td: u32,
szname: &PCWSTR,
pvsigblob: *mut u8,
cbsigblob: u32,
pmb: *mut u32
) -> Result<()>;
fn FindMemberRef(
&self,
td: u32,
szname: &PCWSTR,
pvsigblob: *mut u8,
cbsigblob: u32,
pmr: *mut u32
) -> Result<()>;
fn GetMethodProps(
&self,
mb: u32,
pclass: *mut u32,
szmethod: PWSTR,
cchmethod: u32,
pchmethod: *mut u32,
pdwattr: *mut u32,
ppvsigblob: *mut *mut u8,
pcbsigblob: *mut u32,
pulcoderva: *mut u32,
pdwimplflags: *mut u32
) -> Result<()>;
fn GetMemberRefProps(
&self,
mr: u32,
ptk: *mut u32,
szmember: PWSTR,
cchmember: u32,
pchmember: *mut u32,
ppvsigblob: *mut *mut u8,
pbsig: *mut u32
) -> Result<()>;
fn EnumProperties(
&self,
phenum: *mut *mut c_void,
td: u32,
rproperties: *mut u32,
cmax: u32,
pcproperties: *mut u32
) -> Result<()>;
fn EnumEvents(
&self,
phenum: *mut *mut c_void,
td: u32,
revents: *mut u32,
cmax: u32,
pcevents: *mut u32
) -> Result<()>;
fn GetEventProps(
&self,
ev: u32,
pclass: *mut u32,
szevent: &PCWSTR,
cchevent: u32,
pchevent: *mut u32,
pdweventflags: *mut u32,
ptkeventtype: *mut u32,
pmdaddon: *mut u32,
pmdremoveon: *mut u32,
pmdfire: *mut u32,
rmdothermethod: *mut u32,
cmax: u32,
pcothermethod: *mut u32
) -> Result<()>;
fn EnumMethodSemantics(
&self,
phenum: *mut *mut c_void,
mb: u32,
reventprop: *mut u32,
cmax: u32,
pceventprop: *mut u32
) -> Result<()>;
fn GetMethodSemantics(
&self,
mb: u32,
tkeventprop: u32,
pdwsemanticsflags: *mut u32
) -> Result<()>;
fn GetClassLayout(
&self,
td: u32,
pdwpacksize: *mut u32,
rfieldoffset: *mut COR_FIELD_OFFSET,
cmax: u32,
pcfieldoffset: *mut u32,
pulclasssize: *mut u32
) -> Result<()>;
fn GetFieldMarshal(
&self,
tk: u32,
ppvnativetype: *mut *mut u8,
pcbnativetype: *mut u32
) -> Result<()>;
fn GetRVA(
&self,
tk: u32,
pulcoderva: *mut u32,
pdwimplflags: *mut u32
) -> Result<()>;
fn GetPermissionSetProps(
&self,
pm: u32,
pdwaction: *mut u32,
ppvpermission: *const *const c_void,
pcbpermission: *mut u32
) -> Result<()>;
fn GetSigFromToken(
&self,
mdsig: u32,
ppvsig: *mut *mut u8,
pcbsig: *mut u32
) -> Result<()>;
fn GetModuleRefProps(
&self,
mur: u32,
szname: PWSTR,
cchname: u32,
pchname: *mut u32
) -> Result<()>;
fn EnumModuleRefs(
&self,
phenum: *mut *mut c_void,
rmodulerefs: *mut u32,
cmax: u32,
pcmodulerefs: *mut u32
) -> Result<()>;
fn GetTypeSpecFromToken(
&self,
typespec: u32,
ppvsig: *mut *mut u8,
pcbsig: *mut u32
) -> Result<()>;
fn GetNameFromToken(
&self,
tk: u32,
pszutf8nameptr: *mut *mut i8
) -> Result<()>;
fn EnumUnresolvedMethods(
&self,
phenum: *mut *mut c_void,
rmethods: *mut u32,
cmax: u32,
pctokens: *mut u32
) -> Result<()>;
fn GetUserString(
&self,
stk: u32,
szstring: PWSTR,
cchstring: u32,
pchstring: *mut u32
) -> Result<()>;
fn GetPinvokeMap(
&self,
tk: u32,
pdwmappingflags: *mut u32,
szimportname: PWSTR,
cchimportname: u32,
pchimportname: *mut u32,
pmrimportdll: *mut u32
) -> Result<()>;
fn EnumSignatures(
&self,
phenum: *mut *mut c_void,
rsignatures: *mut u32,
cmax: u32,
pcsignatures: *mut u32
) -> Result<()>;
fn EnumTypeSpecs(
&self,
phenum: *mut *mut c_void,
rtypespecs: *mut u32,
cmax: u32,
pctypespecs: *mut u32
) -> Result<()>;
fn EnumUserStrings(
&self,
phenum: *mut *mut c_void,
rstrings: *mut u32,
cmax: u32,
pcstrings: *mut u32
) -> Result<()>;
fn GetParamForMethodIndex(
&self,
md: u32,
ulparamseq: u32,
ppd: *mut u32
) -> Result<()>;
fn EnumCustomAttributes(
&self,
phenum: *mut *mut c_void,
tk: u32,
tktype: u32,
rcustomattributes: *mut u32,
cmax: u32,
pccustomattributes: *mut u32
) -> Result<()>;
fn GetCustomAttributeProps(
&self,
cv: u32,
ptkobj: *mut u32,
ptktype: *mut u32,
ppblob: *const *const c_void,
pcbsize: *mut u32
) -> Result<()>;
fn FindTypeRef(
&self,
tkresolutionscope: u32,
szname: &PCWSTR,
ptr: *mut u32
) -> Result<()>;
fn GetMemberProps(
&self,
mb: u32,
pclass: *mut u32,
szmember: PWSTR,
cchmember: u32,
pchmember: *mut u32,
pdwattr: *mut u32,
ppvsigblob: *mut *mut u8,
pcbsigblob: *mut u32,
pulcoderva: *mut u32,
pdwimplflags: *mut u32,
pdwcplustypeflag: *mut u32,
ppvalue: *mut *mut c_void,
pcchvalue: *mut u32
) -> Result<()>;
fn GetFieldProps(
&self,
mb: u32,
pclass: *mut u32,
szfield: PWSTR,
cchfield: u32,
pchfield: *mut u32,
pdwattr: *mut u32,
ppvsigblob: *mut *mut u8,
pcbsigblob: *mut u32,
pdwcplustypeflag: *mut u32,
ppvalue: *mut *mut c_void,
pcchvalue: *mut u32
) -> Result<()>;
fn GetPropertyProps(
&self,
prop: u32,
pclass: *mut u32,
szproperty: &PCWSTR,
cchproperty: u32,
pchproperty: *mut u32,
pdwpropflags: *mut u32,
ppvsig: *mut *mut u8,
pbsig: *mut u32,
pdwcplustypeflag: *mut u32,
ppdefaultvalue: *mut *mut c_void,
pcchdefaultvalue: *mut u32,
pmdsetter: *mut u32,
pmdgetter: *mut u32,
rmdothermethod: *mut u32,
cmax: u32,
pcothermethod: *mut u32
) -> Result<()>;
fn GetParamProps(
&self,
tk: u32,
pmd: *mut u32,
pulsequence: *mut u32,
szname: PWSTR,
cchname: u32,
pchname: *mut u32,
pdwattr: *mut u32,
pdwcplustypeflag: *mut u32,
ppvalue: *mut *mut c_void,
pcchvalue: *mut u32
) -> Result<()>;
fn GetCustomAttributeByName(
&self,
tkobj: u32,
szname: &PCWSTR,
ppdata: *const *const c_void,
pcbdata: *mut u32
) -> Result<()>;
fn IsValidToken(&self, tk: u32) -> BOOL;
fn GetNestedClassProps(
&self,
tdnestedclass: u32,
ptdenclosingclass: *mut u32
) -> Result<()>;
fn GetNativeCallConvFromSig(
&self,
pvsig: *const c_void,
cbsig: u32,
pcallconv: *mut u32
) -> Result<()>;
fn IsGlobal(&self, pd: u32, pbglobal: *mut i32) -> Result<()>;
}
Required Methods§
fn CloseEnum(&self, henum: *mut c_void)
fn CountEnum(&self, henum: *mut c_void, pulcount: *mut u32) -> Result<()>
fn ResetEnum(&self, henum: *mut c_void, ulpos: u32) -> Result<()>
fn EnumTypeDefs( &self, phenum: *mut *mut c_void, rtypedefs: *mut u32, cmax: u32, pctypedefs: *mut u32 ) -> Result<()>
fn EnumInterfaceImpls( &self, phenum: *mut *mut c_void, td: u32, rimpls: *mut u32, cmax: u32, pcimpls: *mut u32 ) -> Result<()>
fn EnumTypeRefs( &self, phenum: *mut *mut c_void, rtyperefs: *mut u32, cmax: u32, pctyperefs: *mut u32 ) -> Result<()>
fn FindTypeDefByName( &self, sztypedef: &PCWSTR, tkenclosingclass: u32, ptd: *mut u32 ) -> Result<()>
fn GetScopeProps( &self, szname: PWSTR, cchname: u32, pchname: *mut u32, pmvid: *mut GUID ) -> Result<()>
fn GetModuleFromScope(&self, pmd: *mut u32) -> Result<()>
fn GetTypeDefProps( &self, td: u32, sztypedef: PWSTR, cchtypedef: u32, pchtypedef: *mut u32, pdwtypedefflags: *mut u32, ptkextends: *mut u32 ) -> Result<()>
fn GetInterfaceImplProps( &self, iiimpl: u32, pclass: *mut u32, ptkiface: *mut u32 ) -> Result<()>
fn GetTypeRefProps( &self, tr: u32, ptkresolutionscope: *mut u32, szname: PWSTR, cchname: u32, pchname: *mut u32 ) -> Result<()>
fn ResolveTypeRef( &self, tr: u32, riid: *const GUID, ppiscope: *mut Option<IUnknown>, ptd: *mut u32 ) -> Result<()>
fn EnumMembers( &self, phenum: *mut *mut c_void, cl: u32, rmembers: *mut u32, cmax: u32, pctokens: *mut u32 ) -> Result<()>
fn EnumMembersWithName( &self, phenum: *mut *mut c_void, cl: u32, szname: &PCWSTR, rmembers: *mut u32, cmax: u32, pctokens: *mut u32 ) -> Result<()>
fn EnumMethods( &self, phenum: *mut *mut c_void, cl: u32, rmethods: *mut u32, cmax: u32, pctokens: *mut u32 ) -> Result<()>
fn EnumMethodsWithName( &self, phenum: *mut *mut c_void, cl: u32, szname: &PCWSTR, rmethods: *mut u32, cmax: u32, pctokens: *mut u32 ) -> Result<()>
fn EnumFields( &self, phenum: *mut *mut c_void, cl: u32, rfields: *mut u32, cmax: u32, pctokens: *mut u32 ) -> Result<()>
fn EnumFieldsWithName( &self, phenum: *mut *mut c_void, cl: u32, szname: &PCWSTR, rfields: *mut u32, cmax: u32, pctokens: *mut u32 ) -> Result<()>
fn EnumParams( &self, phenum: *mut *mut c_void, mb: u32, rparams: *mut u32, cmax: u32, pctokens: *mut u32 ) -> Result<()>
fn EnumMemberRefs( &self, phenum: *mut *mut c_void, tkparent: u32, rmemberrefs: *mut u32, cmax: u32, pctokens: *mut u32 ) -> Result<()>
fn EnumMethodImpls( &self, phenum: *mut *mut c_void, td: u32, rmethodbody: *mut u32, rmethoddecl: *mut u32, cmax: u32, pctokens: *mut u32 ) -> Result<()>
fn EnumPermissionSets( &self, phenum: *mut *mut c_void, tk: u32, dwactions: u32, rpermission: *mut u32, cmax: u32, pctokens: *mut u32 ) -> Result<()>
fn FindMember( &self, td: u32, szname: &PCWSTR, pvsigblob: *mut u8, cbsigblob: u32, pmb: *mut u32 ) -> Result<()>
fn FindMethod( &self, td: u32, szname: &PCWSTR, pvsigblob: *mut u8, cbsigblob: u32, pmb: *mut u32 ) -> Result<()>
fn FindField( &self, td: u32, szname: &PCWSTR, pvsigblob: *mut u8, cbsigblob: u32, pmb: *mut u32 ) -> Result<()>
fn FindMemberRef( &self, td: u32, szname: &PCWSTR, pvsigblob: *mut u8, cbsigblob: u32, pmr: *mut u32 ) -> Result<()>
fn GetMethodProps( &self, mb: u32, pclass: *mut u32, szmethod: PWSTR, cchmethod: u32, pchmethod: *mut u32, pdwattr: *mut u32, ppvsigblob: *mut *mut u8, pcbsigblob: *mut u32, pulcoderva: *mut u32, pdwimplflags: *mut u32 ) -> Result<()>
fn GetMemberRefProps( &self, mr: u32, ptk: *mut u32, szmember: PWSTR, cchmember: u32, pchmember: *mut u32, ppvsigblob: *mut *mut u8, pbsig: *mut u32 ) -> Result<()>
fn EnumProperties( &self, phenum: *mut *mut c_void, td: u32, rproperties: *mut u32, cmax: u32, pcproperties: *mut u32 ) -> Result<()>
fn EnumEvents( &self, phenum: *mut *mut c_void, td: u32, revents: *mut u32, cmax: u32, pcevents: *mut u32 ) -> Result<()>
fn GetEventProps( &self, ev: u32, pclass: *mut u32, szevent: &PCWSTR, cchevent: u32, pchevent: *mut u32, pdweventflags: *mut u32, ptkeventtype: *mut u32, pmdaddon: *mut u32, pmdremoveon: *mut u32, pmdfire: *mut u32, rmdothermethod: *mut u32, cmax: u32, pcothermethod: *mut u32 ) -> Result<()>
fn EnumMethodSemantics( &self, phenum: *mut *mut c_void, mb: u32, reventprop: *mut u32, cmax: u32, pceventprop: *mut u32 ) -> Result<()>
fn GetMethodSemantics( &self, mb: u32, tkeventprop: u32, pdwsemanticsflags: *mut u32 ) -> Result<()>
fn GetClassLayout( &self, td: u32, pdwpacksize: *mut u32, rfieldoffset: *mut COR_FIELD_OFFSET, cmax: u32, pcfieldoffset: *mut u32, pulclasssize: *mut u32 ) -> Result<()>
fn GetFieldMarshal( &self, tk: u32, ppvnativetype: *mut *mut u8, pcbnativetype: *mut u32 ) -> Result<()>
fn GetRVA( &self, tk: u32, pulcoderva: *mut u32, pdwimplflags: *mut u32 ) -> Result<()>
fn GetPermissionSetProps( &self, pm: u32, pdwaction: *mut u32, ppvpermission: *const *const c_void, pcbpermission: *mut u32 ) -> Result<()>
fn GetSigFromToken( &self, mdsig: u32, ppvsig: *mut *mut u8, pcbsig: *mut u32 ) -> Result<()>
fn GetModuleRefProps( &self, mur: u32, szname: PWSTR, cchname: u32, pchname: *mut u32 ) -> Result<()>
fn EnumModuleRefs( &self, phenum: *mut *mut c_void, rmodulerefs: *mut u32, cmax: u32, pcmodulerefs: *mut u32 ) -> Result<()>
fn GetTypeSpecFromToken( &self, typespec: u32, ppvsig: *mut *mut u8, pcbsig: *mut u32 ) -> Result<()>
fn GetNameFromToken(&self, tk: u32, pszutf8nameptr: *mut *mut i8) -> Result<()>
fn EnumUnresolvedMethods( &self, phenum: *mut *mut c_void, rmethods: *mut u32, cmax: u32, pctokens: *mut u32 ) -> Result<()>
fn GetUserString( &self, stk: u32, szstring: PWSTR, cchstring: u32, pchstring: *mut u32 ) -> Result<()>
fn GetPinvokeMap( &self, tk: u32, pdwmappingflags: *mut u32, szimportname: PWSTR, cchimportname: u32, pchimportname: *mut u32, pmrimportdll: *mut u32 ) -> Result<()>
fn EnumSignatures( &self, phenum: *mut *mut c_void, rsignatures: *mut u32, cmax: u32, pcsignatures: *mut u32 ) -> Result<()>
fn EnumTypeSpecs( &self, phenum: *mut *mut c_void, rtypespecs: *mut u32, cmax: u32, pctypespecs: *mut u32 ) -> Result<()>
fn EnumUserStrings( &self, phenum: *mut *mut c_void, rstrings: *mut u32, cmax: u32, pcstrings: *mut u32 ) -> Result<()>
fn GetParamForMethodIndex( &self, md: u32, ulparamseq: u32, ppd: *mut u32 ) -> Result<()>
fn EnumCustomAttributes( &self, phenum: *mut *mut c_void, tk: u32, tktype: u32, rcustomattributes: *mut u32, cmax: u32, pccustomattributes: *mut u32 ) -> Result<()>
fn GetCustomAttributeProps( &self, cv: u32, ptkobj: *mut u32, ptktype: *mut u32, ppblob: *const *const c_void, pcbsize: *mut u32 ) -> Result<()>
fn FindTypeRef( &self, tkresolutionscope: u32, szname: &PCWSTR, ptr: *mut u32 ) -> Result<()>
fn GetMemberProps( &self, mb: u32, pclass: *mut u32, szmember: PWSTR, cchmember: u32, pchmember: *mut u32, pdwattr: *mut u32, ppvsigblob: *mut *mut u8, pcbsigblob: *mut u32, pulcoderva: *mut u32, pdwimplflags: *mut u32, pdwcplustypeflag: *mut u32, ppvalue: *mut *mut c_void, pcchvalue: *mut u32 ) -> Result<()>
fn GetFieldProps( &self, mb: u32, pclass: *mut u32, szfield: PWSTR, cchfield: u32, pchfield: *mut u32, pdwattr: *mut u32, ppvsigblob: *mut *mut u8, pcbsigblob: *mut u32, pdwcplustypeflag: *mut u32, ppvalue: *mut *mut c_void, pcchvalue: *mut u32 ) -> Result<()>
fn GetPropertyProps( &self, prop: u32, pclass: *mut u32, szproperty: &PCWSTR, cchproperty: u32, pchproperty: *mut u32, pdwpropflags: *mut u32, ppvsig: *mut *mut u8, pbsig: *mut u32, pdwcplustypeflag: *mut u32, ppdefaultvalue: *mut *mut c_void, pcchdefaultvalue: *mut u32, pmdsetter: *mut u32, pmdgetter: *mut u32, rmdothermethod: *mut u32, cmax: u32, pcothermethod: *mut u32 ) -> Result<()>
fn GetParamProps( &self, tk: u32, pmd: *mut u32, pulsequence: *mut u32, szname: PWSTR, cchname: u32, pchname: *mut u32, pdwattr: *mut u32, pdwcplustypeflag: *mut u32, ppvalue: *mut *mut c_void, pcchvalue: *mut u32 ) -> Result<()>
fn GetCustomAttributeByName( &self, tkobj: u32, szname: &PCWSTR, ppdata: *const *const c_void, pcbdata: *mut u32 ) -> Result<()>
fn IsValidToken(&self, tk: u32) -> BOOL
fn GetNestedClassProps( &self, tdnestedclass: u32, ptdenclosingclass: *mut u32 ) -> Result<()>
fn GetNativeCallConvFromSig( &self, pvsig: *const c_void, cbsig: u32, pcallconv: *mut u32 ) -> Result<()>
fn IsGlobal(&self, pd: u32, pbglobal: *mut i32) -> Result<()>
Object Safety§
This trait is not object safe.