Trait IDxcUtils_Impl
pub trait IDxcUtils_Impl: IUnknownImpl {
Show 13 methods
// Required methods
fn CreateBlobFromBlob(
&self,
pblob: Ref<'_, IDxcBlob>,
offset: u32,
length: u32,
) -> Result<IDxcBlob>;
fn CreateBlobFromPinned(
&self,
pdata: *const c_void,
size: u32,
codepage: DXC_CP,
) -> Result<IDxcBlobEncoding>;
fn MoveToBlob(
&self,
pdata: *const c_void,
pimalloc: Ref<'_, IMalloc>,
size: u32,
codepage: DXC_CP,
) -> Result<IDxcBlobEncoding>;
fn CreateBlob(
&self,
pdata: *const c_void,
size: u32,
codepage: DXC_CP,
) -> Result<IDxcBlobEncoding>;
fn LoadFile(
&self,
pfilename: &PCWSTR,
pcodepage: *const DXC_CP,
) -> Result<IDxcBlobEncoding>;
fn CreateReadOnlyStreamFromBlob(
&self,
pblob: Ref<'_, IDxcBlob>,
) -> Result<IStream>;
fn CreateDefaultIncludeHandler(&self) -> Result<IDxcIncludeHandler>;
fn GetBlobAsUtf8(&self, pblob: Ref<'_, IDxcBlob>) -> Result<IDxcBlobUtf8>;
fn GetBlobAsUtf16(&self, pblob: Ref<'_, IDxcBlob>) -> Result<IDxcBlobUtf16>;
fn GetDxilContainerPart(
&self,
pshader: *const DxcBuffer,
dxcpart: u32,
pppartdata: *mut *mut c_void,
ppartsizeinbytes: *mut u32,
) -> Result<()>;
fn CreateReflection(
&self,
pdata: *const DxcBuffer,
iid: *const GUID,
ppvreflection: *mut *mut c_void,
) -> Result<()>;
fn BuildArguments(
&self,
psourcename: &PCWSTR,
pentrypoint: &PCWSTR,
ptargetprofile: &PCWSTR,
parguments: *const PCWSTR,
argcount: u32,
pdefines: *const DxcDefine,
definecount: u32,
) -> Result<IDxcCompilerArgs>;
fn GetPDBContents(
&self,
ppdbblob: Ref<'_, IDxcBlob>,
pphash: OutRef<'_, IDxcBlob>,
ppcontainer: OutRef<'_, IDxcBlob>,
) -> Result<()>;
}
Required Methods§
fn CreateBlobFromBlob( &self, pblob: Ref<'_, IDxcBlob>, offset: u32, length: u32, ) -> Result<IDxcBlob>
fn CreateBlobFromPinned( &self, pdata: *const c_void, size: u32, codepage: DXC_CP, ) -> Result<IDxcBlobEncoding>
fn MoveToBlob( &self, pdata: *const c_void, pimalloc: Ref<'_, IMalloc>, size: u32, codepage: DXC_CP, ) -> Result<IDxcBlobEncoding>
fn CreateBlob( &self, pdata: *const c_void, size: u32, codepage: DXC_CP, ) -> Result<IDxcBlobEncoding>
fn LoadFile( &self, pfilename: &PCWSTR, pcodepage: *const DXC_CP, ) -> Result<IDxcBlobEncoding>
fn CreateReadOnlyStreamFromBlob( &self, pblob: Ref<'_, IDxcBlob>, ) -> Result<IStream>
fn CreateDefaultIncludeHandler(&self) -> Result<IDxcIncludeHandler>
fn GetBlobAsUtf8(&self, pblob: Ref<'_, IDxcBlob>) -> Result<IDxcBlobUtf8>
fn GetBlobAsUtf16(&self, pblob: Ref<'_, IDxcBlob>) -> Result<IDxcBlobUtf16>
fn GetDxilContainerPart( &self, pshader: *const DxcBuffer, dxcpart: u32, pppartdata: *mut *mut c_void, ppartsizeinbytes: *mut u32, ) -> Result<()>
fn CreateReflection( &self, pdata: *const DxcBuffer, iid: *const GUID, ppvreflection: *mut *mut c_void, ) -> Result<()>
fn BuildArguments( &self, psourcename: &PCWSTR, pentrypoint: &PCWSTR, ptargetprofile: &PCWSTR, parguments: *const PCWSTR, argcount: u32, pdefines: *const DxcDefine, definecount: u32, ) -> Result<IDxcCompilerArgs>
fn GetPDBContents( &self, ppdbblob: Ref<'_, IDxcBlob>, pphash: OutRef<'_, IDxcBlob>, ppcontainer: OutRef<'_, IDxcBlob>, ) -> 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.