Skip to main content

Guid

Struct Guid 

Source
#[repr(C)]
pub struct Guid { pub data1: u32, pub data2: u16, pub data3: u16, pub data4: [u8; 8], }
Expand description

Binary-compatible with the GUID struct declared in com.h.

Fields§

§data1: u32§data2: u16§data3: u16§data4: [u8; 8]

Implementations§

Source§

impl Guid

Source

pub const ZERO: Guid

Source

pub const fn new(data1: u32, data2: u16, data3: u16, data4: [u8; 8]) -> Self

Source

pub const fn from_u128(v: u128) -> Self

Builds a GUID from its 128-bit big-endian textual value, e.g. Guid::from_u128(0x809c652e_7396_11d2_9771_00a0c9b4d50c).

Source

pub fn parse(s: &str) -> Option<Guid>

Parses xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx (braces optional).

Source

pub const fn as_com_h_materialized(&self) -> Guid

The value the native library actually materializes for this IID.

com.h’s __IID_DEF macro (kept as it is in the native sources) initializes Data4 as {d41, d42, d42, d42, d42, d42, d42, d42} — the second byte is repeated instead of using bytes 3..8. Native QueryInterface implementations memcmp against those constants, so when talking to the native side this is the IID that matches.

Trait Implementations§

Source§

impl Clone for Guid

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for Guid

Source§

impl Debug for Guid

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for Guid

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl Display for Guid

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Eq for Guid

Source§

impl Hash for Guid

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for Guid

Source§

fn eq(&self, other: &Self) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for Guid

Auto Trait Implementations§

§

impl Freeze for Guid

§

impl RefUnwindSafe for Guid

§

impl Send for Guid

§

impl Sync for Guid

§

impl Unpin for Guid

§

impl UnsafeUnpin for Guid

§

impl UnwindSafe for Guid

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> IUnknownImpl for T
where T: ?Sized,

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.