Trait thindx::d3d::AsShaderMacros
source · [−]pub unsafe trait AsShaderMacros {
fn as_shader_macros(&self) -> Result<*const D3D_SHADER_MACRO, ErrorKind>;
}
Expand description
[docs.microsoft.com] D3D_SHADER_MACRO[] compatible types
⚠️ Safety ⚠️
By implementing this trait, you promise that any returned D3D_SHADER_MACRO pointers are either null, or:
- Points to a valid array of D3D_SHADER_MACROs.
- The array is terminated by a “null” (zeroed/default) D3D_SHADER_MACRO.
- All array elements before the terminal D3D_SHADER_MACRO have valid
\0
terminatedName
andDefinition
pointers. - Said array lives for at least as long as
self
remains untouched / undropped.
Required methods
fn as_shader_macros(&self) -> Result<*const D3D_SHADER_MACRO, ErrorKind>
fn as_shader_macros(&self) -> Result<*const D3D_SHADER_MACRO, ErrorKind>
Returns a pointer to a std::mem::zeroed::<D3D_SHADER_MACRO>()
-terminated array of shader macros.