pub unsafe extern "system" fn HidP_GetButtonArray(
    reporttype: HIDP_REPORT_TYPE,
    usagepage: u16,
    linkcollection: u16,
    usage: u16,
    buttondata: *mut HIDP_BUTTON_ARRAY_DATA,
    buttondatalength: *mut u16,
    preparseddata: PHIDP_PREPARSED_DATA,
    report: PCSTR,
    reportlength: u32,
) -> NTSTATUS