#字面量 #语法 # #结构体 #Windows #

guid

用于将 Windows GUID 值以方便的字面量语法编写的宏

1 个不稳定版本

使用旧的 Rust 2015

0.1.0 2018 年 2 月 12 日

#102#字面量

Download history 47/week @ 2024-02-26 47/week @ 2024-03-04 47/week @ 2024-03-11 47/week @ 2024-03-18 82/week @ 2024-03-25 77/week @ 2024-04-01 27/week @ 2024-04-08 35/week @ 2024-04-15 43/week @ 2024-04-22 38/week @ 2024-04-29 42/week @ 2024-05-06 45/week @ 2024-05-13 57/week @ 2024-05-20 41/week @ 2024-05-27 46/week @ 2024-06-03 62/week @ 2024-06-10

209 每月下载
2 个包中使用(通过 winfolder

MIT/Apache

18KB
265 代码行

GUID

本软件包提供了一个 guid! 宏,用于使用方便的字面量语法来表示 GUID 结构体。GUID 是 Windows 全局唯一标识符,通常以下列格式表示

{6B29FC40-CA47-1067-B31D-00DD010662DA}

使用本软件包,可以使用以下语法生成 GUID:

guid!{"6B29FC40-CA47-1067-B31D-00DD010662DA"}

示例

#[macro_use]
extern crate guid;

use guid::GUID;

const MY_GUID: GUID = guid!{"6B29FC40-CA47-1067-B31D-00DD010662DA"};

fn main() {
    assert_eq!(MY_GUID.Data1, 0x6B29FC40);
    assert_eq!(MY_GUID.Data2, 0xCA47);
    assert_eq!(MY_GUID.Data3, 0x1067);
    assert_eq!(MY_GUID.Data4, [ 0xB3, 0x1D, 0x00, 0xDD, 0x01, 0x06, 0x62, 0xDA ]);
}

GUID 类型由 winapi 软件包重新导出,并且仅在 Windows 中可用。`guid!` 宏也仅在 Windows 中可用。

本软件包还提供了一个解析器,可以在运行时解析 GUID 字符串。解析器仅在非 Windows 平台上生成字节数组。在 Windows 中,本软件包定义了一个生成 GUID 结构体的解析器。

兼容性

本软件包支持从 Rust 1.15 开始的所有 Rust 版本(稳定版和夜间版)。

许可证

许可协议为以下之一

由您选择。

贡献

除非您明确声明,否则您提交给包含在本作品中的任何贡献,如 Apache-2.0 许可协议中定义的,应如上所述双重许可,没有其他条款或条件。

依赖关系

~2.5MB
~58K SLoC