blob: 99a8f59ae337fa3d2d62c38a0fe338d63d3e6fea [file] [log] [blame]
use std::ops::Deref;
use std::slice;
use windows_sys::Win32::Security::Authentication::Identity;
pub struct ContextBuffer(pub Identity::SecBuffer);
impl Drop for ContextBuffer {
fn drop(&mut self) {
unsafe {
Identity::FreeContextBuffer(self.0.pvBuffer);
}
}
}
impl Deref for ContextBuffer {
type Target = [u8];
fn deref(&self) -> &[u8] {
if self.0.cbBuffer == 0 {
return &[];
}
unsafe { slice::from_raw_parts(self.0.pvBuffer as *const _, self.0.cbBuffer as usize) }
}
}