trisquel-icecat/icecat/third_party/rust/windows-strings
2025-10-06 02:35:48 -06:00
..
src icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
.cargo-checksum.json icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
Cargo.toml icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
license-apache-2.0 icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
license-mit icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
readme.md icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00

Windows string types

The windows-strings crate provides common Windows string types used by various Windows APIs.

Start by adding the following to your Cargo.toml file:

[dependencies.windows-strings]
version = "0.1"

Use the Windows string types as needed:

use windows_strings::*;

const A: PCSTR = s!("ansi");
const W: PCWSTR = w!("wide");

fn main() -> Result<()> {
    let b = BSTR::from("bstr");
    let h = HSTRING::from("hstring");

    assert_eq!(b, "bstr");
    assert_eq!(h, "hstring");

    assert_eq!(unsafe { A.to_string()? }, "ansi");
    assert_eq!(unsafe { W.to_string()? }, "wide");

    Ok(())
}