Function winsafe::EnumDisplayDevices

source ·
pub fn EnumDisplayDevices(
    device_name: Option<&str>,
    flags: Option<EDD>
) -> impl Iterator<Item = SysResult<&DISPLAY_DEVICE>>
Available on crate feature user only.
Expand description

EnumDisplayDevices function.

Returns an iterator over DISPLAY_DEVICE elements.

§Examples

use winsafe::{self as w, prelude::*};

// Ordinary for loop
for displ_dev in w::EnumDisplayDevices(None, None) {
    let displ_dev = displ_dev?;
    println!("{} - {}",
        displ_dev.DeviceName(), displ_dev.DeviceString());
}

// Closure with try_for_each
w::EnumDisplayDevices(None, None)
    .try_for_each(|displ_dev| {
        let displ_dev = displ_dev?;
        println!("{} - {}",
            displ_dev.DeviceName(), displ_dev.DeviceString());
        Ok(())
    })?;

// Collecting into a Vec
let all = w::EnumDisplayDevices(None, None)
    .map(|displ_dev| {
        let displ_dev = displ_dev?;
        let name = format!("{} - {}",
            displ_dev.DeviceName(), displ_dev.DeviceString());
        Ok(name)
    })
    .collect::<w::SysResult<Vec<_>>>()?;