summaryrefslogtreecommitdiff
path: root/crates/windows-kernel-rs/src/string.rs
blob: 71ad169b0f335f423222b7631d39ae5a2ba29929 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use windows_kernel_sys::base::UNICODE_STRING;

pub fn create_unicode_string(s: &[u16]) -> UNICODE_STRING {
  let len = s.len();

  let n = if len > 0 && s[len - 1] == 0 {
    len - 1
  } else {
    len
  };

  UNICODE_STRING {
    Length:        (n * 2) as u16,
    MaximumLength: (len * 2) as u16,
    Buffer:        s.as_ptr() as _,
  }
}