lazy_extern 0.1.0

Allows easy definition of functions which are only optionally loaded from a DLL at runtime, for example linking to operating system functions which may not be present on all versions you would like to support.
Documentation
#[macro_use]
extern crate lazy_extern;
#[macro_use]
extern crate lazy_static;

lazy_extern! {
    libgroup SHELL_CORE: ShCoreItems;
    lib ShCore = "ShCore.dll";

    #[lib(ShCore)]
    #[feature_test(is_dpi_awareness_available)]
    /// Set the Dpi (v1) awareness without a manifest
    extern "stdcall" fn SetProcessDpiAwareness(value: u32) -> i32;
}

fn main() {
    if is_dpi_awareness_available() {
        unsafe { SetProcessDpiAwareness(2); }
    }
}