zigwin32/win32/graphics/printing.zig

12220 lines
556 KiB
Zig

//! NOTE: this file is autogenerated, DO NOT MODIFY
//--------------------------------------------------------------------------------
// Section: Constants (1394)
//--------------------------------------------------------------------------------
pub const USB_PRINTER_INTERFACE_CLASSIC = @as(u32, 1);
pub const USB_PRINTER_INTERFACE_IPP = @as(u32, 2);
pub const USB_PRINTER_INTERFACE_DUAL = @as(u32, 3);
pub const USBPRINT_IOCTL_INDEX = @as(u32, 0);
pub const IOCTL_USBPRINT_GET_LPT_STATUS = @as(u32, 2228272);
pub const IOCTL_USBPRINT_GET_1284_ID = @as(u32, 2228276);
pub const IOCTL_USBPRINT_VENDOR_SET_COMMAND = @as(u32, 2228280);
pub const IOCTL_USBPRINT_VENDOR_GET_COMMAND = @as(u32, 2228284);
pub const IOCTL_USBPRINT_SOFT_RESET = @as(u32, 2228288);
pub const IOCTL_USBPRINT_GET_PROTOCOL = @as(u32, 2228292);
pub const IOCTL_USBPRINT_SET_PROTOCOL = @as(u32, 2228296);
pub const IOCTL_USBPRINT_GET_INTERFACE_TYPE = @as(u32, 2228300);
pub const IOCTL_USBPRINT_SET_PORT_NUMBER = @as(u32, 2228304);
pub const IOCTL_USBPRINT_ADD_MSIPP_COMPAT_ID = @as(u32, 2228308);
pub const IOCTL_USBPRINT_SET_DEVICE_ID = @as(u32, 2228312);
pub const IOCTL_USBPRINT_ADD_CHILD_DEVICE = @as(u32, 2228316);
pub const IOCTL_USBPRINT_CYCLE_PORT = @as(u32, 2228320);
pub const TVOT_2STATES = @as(u32, 0);
pub const TVOT_3STATES = @as(u32, 1);
pub const TVOT_UDARROW = @as(u32, 2);
pub const TVOT_TRACKBAR = @as(u32, 3);
pub const TVOT_SCROLLBAR = @as(u32, 4);
pub const TVOT_LISTBOX = @as(u32, 5);
pub const TVOT_COMBOBOX = @as(u32, 6);
pub const TVOT_EDITBOX = @as(u32, 7);
pub const TVOT_PUSHBUTTON = @as(u32, 8);
pub const TVOT_CHKBOX = @as(u32, 9);
pub const TVOT_NSTATES_EX = @as(u32, 10);
pub const CHKBOXS_FALSE_TRUE = @as(u32, 0);
pub const CHKBOXS_NO_YES = @as(u32, 1);
pub const CHKBOXS_OFF_ON = @as(u32, 2);
pub const CHKBOXS_FALSE_PDATA = @as(u32, 3);
pub const CHKBOXS_NO_PDATA = @as(u32, 4);
pub const CHKBOXS_OFF_PDATA = @as(u32, 5);
pub const CHKBOXS_NONE_PDATA = @as(u32, 6);
pub const PUSHBUTTON_TYPE_DLGPROC = @as(u32, 0);
pub const PUSHBUTTON_TYPE_CALLBACK = @as(u32, 1);
pub const PUSHBUTTON_TYPE_HTCLRADJ = @as(u32, 2);
pub const PUSHBUTTON_TYPE_HTSETUP = @as(u32, 3);
pub const MAX_RES_STR_CHARS = @as(u32, 160);
pub const OPTPF_HIDE = @as(u32, 1);
pub const OPTPF_DISABLED = @as(u32, 2);
pub const OPTPF_ICONID_AS_HICON = @as(u32, 4);
pub const OPTPF_OVERLAY_WARNING_ICON = @as(u32, 8);
pub const OPTPF_OVERLAY_STOP_ICON = @as(u32, 16);
pub const OPTPF_OVERLAY_NO_ICON = @as(u32, 32);
pub const OPTPF_USE_HDLGTEMPLATE = @as(u32, 64);
pub const OPTPF_MASK = @as(u32, 127);
pub const OPTCF_HIDE = @as(u32, 1);
pub const OPTCF_MASK = @as(u32, 1);
pub const OPTTF_TYPE_DISABLED = @as(u32, 1);
pub const OPTTF_NOSPACE_BEFORE_POSTFIX = @as(u32, 2);
pub const OPTTF_MASK = @as(u32, 3);
pub const OTS_LBCB_SORT = @as(u32, 1);
pub const OTS_LBCB_PROPPAGE_LBUSECB = @as(u32, 2);
pub const OTS_LBCB_PROPPAGE_CBUSELB = @as(u32, 4);
pub const OTS_LBCB_INCL_ITEM_NONE = @as(u32, 8);
pub const OTS_LBCB_NO_ICON16_IN_ITEM = @as(u32, 16);
pub const OTS_PUSH_INCL_SETUP_TITLE = @as(u32, 32);
pub const OTS_PUSH_NO_DOT_DOT_DOT = @as(u32, 64);
pub const OTS_PUSH_ENABLE_ALWAYS = @as(u32, 128);
pub const OTS_MASK = @as(u32, 255);
pub const EPF_PUSH_TYPE_DLGPROC = @as(u32, 1);
pub const EPF_INCL_SETUP_TITLE = @as(u32, 2);
pub const EPF_NO_DOT_DOT_DOT = @as(u32, 4);
pub const EPF_ICONID_AS_HICON = @as(u32, 8);
pub const EPF_OVERLAY_WARNING_ICON = @as(u32, 16);
pub const EPF_OVERLAY_STOP_ICON = @as(u32, 32);
pub const EPF_OVERLAY_NO_ICON = @as(u32, 64);
pub const EPF_USE_HDLGTEMPLATE = @as(u32, 128);
pub const EPF_MASK = @as(u32, 255);
pub const ECBF_CHECKNAME_AT_FRONT = @as(u32, 1);
pub const ECBF_CHECKNAME_ONLY_ENABLED = @as(u32, 2);
pub const ECBF_ICONID_AS_HICON = @as(u32, 4);
pub const ECBF_OVERLAY_WARNING_ICON = @as(u32, 8);
pub const ECBF_OVERLAY_ECBICON_IF_CHECKED = @as(u32, 16);
pub const ECBF_OVERLAY_STOP_ICON = @as(u32, 32);
pub const ECBF_OVERLAY_NO_ICON = @as(u32, 64);
pub const ECBF_CHECKNAME_ONLY = @as(u32, 128);
pub const ECBF_MASK = @as(u32, 255);
pub const OPTIF_COLLAPSE = @as(i32, 1);
pub const OPTIF_HIDE = @as(i32, 2);
pub const OPTIF_CALLBACK = @as(i32, 4);
pub const OPTIF_CHANGED = @as(i32, 8);
pub const OPTIF_CHANGEONCE = @as(i32, 16);
pub const OPTIF_DISABLED = @as(i32, 32);
pub const OPTIF_ECB_CHECKED = @as(i32, 64);
pub const OPTIF_EXT_HIDE = @as(i32, 128);
pub const OPTIF_EXT_DISABLED = @as(i32, 256);
pub const OPTIF_SEL_AS_HICON = @as(i32, 512);
pub const OPTIF_EXT_IS_EXTPUSH = @as(i32, 1024);
pub const OPTIF_NO_GROUPBOX_NAME = @as(i32, 2048);
pub const OPTIF_OVERLAY_WARNING_ICON = @as(i32, 4096);
pub const OPTIF_OVERLAY_STOP_ICON = @as(i32, 8192);
pub const OPTIF_OVERLAY_NO_ICON = @as(i32, 16384);
pub const OPTIF_INITIAL_TVITEM = @as(i32, 32768);
pub const OPTIF_HAS_POIEXT = @as(i32, 65536);
pub const OPTIF_MASK = @as(i32, 131071);
pub const DMPUB_NONE = @as(u32, 0);
pub const DMPUB_FIRST = @as(u32, 1);
pub const DMPUB_ORIENTATION = @as(u32, 1);
pub const DMPUB_SCALE = @as(u32, 2);
pub const DMPUB_COPIES_COLLATE = @as(u32, 3);
pub const DMPUB_DEFSOURCE = @as(u32, 4);
pub const DMPUB_PRINTQUALITY = @as(u32, 5);
pub const DMPUB_COLOR = @as(u32, 6);
pub const DMPUB_DUPLEX = @as(u32, 7);
pub const DMPUB_TTOPTION = @as(u32, 8);
pub const DMPUB_FORMNAME = @as(u32, 9);
pub const DMPUB_ICMMETHOD = @as(u32, 10);
pub const DMPUB_ICMINTENT = @as(u32, 11);
pub const DMPUB_MEDIATYPE = @as(u32, 12);
pub const DMPUB_DITHERTYPE = @as(u32, 13);
pub const DMPUB_OUTPUTBIN = @as(u32, 14);
pub const DMPUB_QUALITY = @as(u32, 15);
pub const DMPUB_NUP = @as(u32, 16);
pub const DMPUB_PAGEORDER = @as(u32, 17);
pub const DMPUB_NUP_DIRECTION = @as(u32, 18);
pub const DMPUB_MANUAL_DUPLEX = @as(u32, 19);
pub const DMPUB_STAPLE = @as(u32, 20);
pub const DMPUB_BOOKLET_EDGE = @as(u32, 21);
pub const DMPUB_LAST = @as(u32, 21);
pub const DMPUB_OEM_PAPER_ITEM = @as(u32, 97);
pub const DMPUB_OEM_GRAPHIC_ITEM = @as(u32, 98);
pub const DMPUB_OEM_ROOT_ITEM = @as(u32, 99);
pub const DMPUB_USER = @as(u32, 100);
pub const OIEXTF_ANSI_STRING = @as(u32, 1);
pub const CPSUICB_REASON_SEL_CHANGED = @as(u32, 0);
pub const CPSUICB_REASON_PUSHBUTTON = @as(u32, 1);
pub const CPSUICB_REASON_ECB_CHANGED = @as(u32, 2);
pub const CPSUICB_REASON_DLGPROC = @as(u32, 3);
pub const CPSUICB_REASON_UNDO_CHANGES = @as(u32, 4);
pub const CPSUICB_REASON_EXTPUSH = @as(u32, 5);
pub const CPSUICB_REASON_APPLYNOW = @as(u32, 6);
pub const CPSUICB_REASON_OPTITEM_SETFOCUS = @as(u32, 7);
pub const CPSUICB_REASON_ITEMS_REVERTED = @as(u32, 8);
pub const CPSUICB_REASON_ABOUT = @as(u32, 9);
pub const CPSUICB_REASON_SETACTIVE = @as(u32, 10);
pub const CPSUICB_REASON_KILLACTIVE = @as(u32, 11);
pub const CPSUICB_ACTION_NONE = @as(u32, 0);
pub const CPSUICB_ACTION_OPTIF_CHANGED = @as(u32, 1);
pub const CPSUICB_ACTION_REINIT_ITEMS = @as(u32, 2);
pub const CPSUICB_ACTION_NO_APPLY_EXIT = @as(u32, 3);
pub const CPSUICB_ACTION_ITEMS_APPLIED = @as(u32, 4);
pub const DP_STD_TREEVIEWPAGE = @as(u32, 65535);
pub const DP_STD_DOCPROPPAGE2 = @as(u32, 65534);
pub const DP_STD_DOCPROPPAGE1 = @as(u32, 65533);
pub const DP_STD_RESERVED_START = @as(u32, 65520);
pub const MAX_DLGPAGE_COUNT = @as(u32, 64);
pub const DPF_ICONID_AS_HICON = @as(u32, 1);
pub const DPF_USE_HDLGTEMPLATE = @as(u32, 2);
pub const CPSUIF_UPDATE_PERMISSION = @as(u32, 1);
pub const CPSUIF_ICONID_AS_HICON = @as(u32, 2);
pub const CPSUIF_ABOUT_CALLBACK = @as(u32, 4);
pub const CPSFUNC_ADD_HPROPSHEETPAGE = @as(u32, 0);
pub const CPSFUNC_ADD_PROPSHEETPAGEW = @as(u32, 1);
pub const CPSFUNC_ADD_PCOMPROPSHEETUIA = @as(u32, 2);
pub const CPSFUNC_ADD_PCOMPROPSHEETUIW = @as(u32, 3);
pub const CPSFUNC_ADD_PFNPROPSHEETUIA = @as(u32, 4);
pub const CPSFUNC_ADD_PFNPROPSHEETUIW = @as(u32, 5);
pub const CPSFUNC_DELETE_HCOMPROPSHEET = @as(u32, 6);
pub const CPSFUNC_SET_HSTARTPAGE = @as(u32, 7);
pub const CPSFUNC_GET_PAGECOUNT = @as(u32, 8);
pub const CPSFUNC_SET_RESULT = @as(u32, 9);
pub const CPSFUNC_GET_HPSUIPAGES = @as(u32, 10);
pub const CPSFUNC_LOAD_CPSUI_STRINGA = @as(u32, 11);
pub const CPSFUNC_LOAD_CPSUI_STRINGW = @as(u32, 12);
pub const CPSFUNC_LOAD_CPSUI_ICON = @as(u32, 13);
pub const CPSFUNC_GET_PFNPROPSHEETUI_ICON = @as(u32, 14);
pub const CPSFUNC_ADD_PROPSHEETPAGEA = @as(u32, 15);
pub const CPSFUNC_INSERT_PSUIPAGEA = @as(u32, 16);
pub const CPSFUNC_INSERT_PSUIPAGEW = @as(u32, 17);
pub const CPSFUNC_SET_PSUIPAGE_TITLEA = @as(u32, 18);
pub const CPSFUNC_SET_PSUIPAGE_TITLEW = @as(u32, 19);
pub const CPSFUNC_SET_PSUIPAGE_ICON = @as(u32, 20);
pub const CPSFUNC_SET_DATABLOCK = @as(u32, 21);
pub const CPSFUNC_QUERY_DATABLOCK = @as(u32, 22);
pub const CPSFUNC_SET_DMPUB_HIDEBITS = @as(u32, 23);
pub const CPSFUNC_IGNORE_CPSUI_PSN_APPLY = @as(u32, 24);
pub const CPSFUNC_DO_APPLY_CPSUI = @as(u32, 25);
pub const CPSFUNC_SET_FUSION_CONTEXT = @as(u32, 26);
pub const MAX_CPSFUNC_INDEX = @as(u32, 26);
pub const CPSFUNC_ADD_PCOMPROPSHEETUI = @as(u32, 3);
pub const CPSFUNC_ADD_PFNPROPSHEETUI = @as(u32, 5);
pub const CPSFUNC_LOAD_CPSUI_STRING = @as(u32, 12);
pub const CPSFUNC_ADD_PROPSHEETPAGE = @as(u32, 1);
pub const CPSFUNC_INSERT_PSUIPAGE = @as(u32, 17);
pub const CPSFUNC_SET_PSUIPAGE_TITLE = @as(u32, 19);
pub const SR_OWNER = @as(u32, 0);
pub const SR_OWNER_PARENT = @as(u32, 1);
pub const PSUIPAGEINSERT_GROUP_PARENT = @as(u32, 0);
pub const PSUIPAGEINSERT_PCOMPROPSHEETUI = @as(u32, 1);
pub const PSUIPAGEINSERT_PFNPROPSHEETUI = @as(u32, 2);
pub const PSUIPAGEINSERT_PROPSHEETPAGE = @as(u32, 3);
pub const PSUIPAGEINSERT_HPROPSHEETPAGE = @as(u32, 4);
pub const PSUIPAGEINSERT_DLL = @as(u32, 5);
pub const MAX_PSUIPAGEINSERT_INDEX = @as(u32, 5);
pub const INSPSUIPAGE_MODE_BEFORE = @as(u32, 0);
pub const INSPSUIPAGE_MODE_AFTER = @as(u32, 1);
pub const INSPSUIPAGE_MODE_FIRST_CHILD = @as(u32, 2);
pub const INSPSUIPAGE_MODE_LAST_CHILD = @as(u32, 3);
pub const INSPSUIPAGE_MODE_INDEX = @as(u32, 4);
pub const SSP_TVPAGE = @as(u32, 10000);
pub const SSP_STDPAGE1 = @as(u32, 10001);
pub const SSP_STDPAGE2 = @as(u32, 10002);
pub const APPLYCPSUI_NO_NEWDEF = @as(u32, 1);
pub const APPLYCPSUI_OK_CANCEL_BUTTON = @as(u32, 2);
pub const PROPSHEETUI_REASON_INIT = @as(u32, 0);
pub const PROPSHEETUI_REASON_GET_INFO_HEADER = @as(u32, 1);
pub const PROPSHEETUI_REASON_DESTROY = @as(u32, 2);
pub const PROPSHEETUI_REASON_SET_RESULT = @as(u32, 3);
pub const PROPSHEETUI_REASON_GET_ICON = @as(u32, 4);
pub const PROPSHEETUI_REASON_BEFORE_INIT = @as(u32, 5);
pub const MAX_PROPSHEETUI_REASON_INDEX = @as(u32, 5);
pub const PROPSHEETUI_INFO_VERSION = @as(u32, 256);
pub const PSUIINFO_UNICODE = @as(u32, 1);
pub const PSUIHDRF_OBSOLETE = @as(u32, 1);
pub const PSUIHDRF_NOAPPLYNOW = @as(u32, 2);
pub const PSUIHDRF_PROPTITLE = @as(u32, 4);
pub const PSUIHDRF_USEHICON = @as(u32, 8);
pub const PSUIHDRF_DEFTITLE = @as(u32, 16);
pub const PSUIHDRF_EXACT_PTITLE = @as(u32, 32);
pub const CPSUI_CANCEL = @as(u32, 0);
pub const CPSUI_OK = @as(u32, 1);
pub const CPSUI_RESTARTWINDOWS = @as(u32, 2);
pub const CPSUI_REBOOTSYSTEM = @as(u32, 3);
pub const ERR_CPSUI_GETLASTERROR = @as(i32, -1);
pub const ERR_CPSUI_ALLOCMEM_FAILED = @as(i32, -2);
pub const ERR_CPSUI_INVALID_PDATA = @as(i32, -3);
pub const ERR_CPSUI_INVALID_LPARAM = @as(i32, -4);
pub const ERR_CPSUI_NULL_HINST = @as(i32, -5);
pub const ERR_CPSUI_NULL_CALLERNAME = @as(i32, -6);
pub const ERR_CPSUI_NULL_OPTITEMNAME = @as(i32, -7);
pub const ERR_CPSUI_NO_PROPSHEETPAGE = @as(i32, -8);
pub const ERR_CPSUI_TOO_MANY_PROPSHEETPAGES = @as(i32, -9);
pub const ERR_CPSUI_CREATEPROPPAGE_FAILED = @as(i32, -10);
pub const ERR_CPSUI_MORE_THAN_ONE_TVPAGE = @as(i32, -11);
pub const ERR_CPSUI_MORE_THAN_ONE_STDPAGE = @as(i32, -12);
pub const ERR_CPSUI_INVALID_PDLGPAGE = @as(i32, -13);
pub const ERR_CPSUI_INVALID_DLGPAGE_CBSIZE = @as(i32, -14);
pub const ERR_CPSUI_TOO_MANY_DLGPAGES = @as(i32, -15);
pub const ERR_CPSUI_INVALID_DLGPAGEIDX = @as(i32, -16);
pub const ERR_CPSUI_SUBITEM_DIFF_DLGPAGEIDX = @as(i32, -17);
pub const ERR_CPSUI_NULL_POPTITEM = @as(i32, -18);
pub const ERR_CPSUI_INVALID_OPTITEM_CBSIZE = @as(i32, -19);
pub const ERR_CPSUI_INVALID_OPTTYPE_CBSIZE = @as(i32, -20);
pub const ERR_CPSUI_INVALID_OPTTYPE_COUNT = @as(i32, -21);
pub const ERR_CPSUI_NULL_POPTPARAM = @as(i32, -22);
pub const ERR_CPSUI_INVALID_OPTPARAM_CBSIZE = @as(i32, -23);
pub const ERR_CPSUI_INVALID_EDITBOX_PSEL = @as(i32, -24);
pub const ERR_CPSUI_INVALID_EDITBOX_BUF_SIZE = @as(i32, -25);
pub const ERR_CPSUI_INVALID_ECB_CBSIZE = @as(i32, -26);
pub const ERR_CPSUI_NULL_ECB_PTITLE = @as(i32, -27);
pub const ERR_CPSUI_NULL_ECB_PCHECKEDNAME = @as(i32, -28);
pub const ERR_CPSUI_INVALID_DMPUBID = @as(i32, -29);
pub const ERR_CPSUI_INVALID_DMPUB_TVOT = @as(i32, -30);
pub const ERR_CPSUI_CREATE_TRACKBAR_FAILED = @as(i32, -31);
pub const ERR_CPSUI_CREATE_UDARROW_FAILED = @as(i32, -32);
pub const ERR_CPSUI_CREATE_IMAGELIST_FAILED = @as(i32, -33);
pub const ERR_CPSUI_INVALID_TVOT_TYPE = @as(i32, -34);
pub const ERR_CPSUI_INVALID_LBCB_TYPE = @as(i32, -35);
pub const ERR_CPSUI_SUBITEM_DIFF_OPTIF_HIDE = @as(i32, -36);
pub const ERR_CPSUI_INVALID_PUSHBUTTON_TYPE = @as(i32, -38);
pub const ERR_CPSUI_INVALID_EXTPUSH_CBSIZE = @as(i32, -39);
pub const ERR_CPSUI_NULL_EXTPUSH_DLGPROC = @as(i32, -40);
pub const ERR_CPSUI_NO_EXTPUSH_DLGTEMPLATEID = @as(i32, -41);
pub const ERR_CPSUI_NULL_EXTPUSH_CALLBACK = @as(i32, -42);
pub const ERR_CPSUI_DMCOPIES_USE_EXTPUSH = @as(i32, -43);
pub const ERR_CPSUI_ZERO_OPTITEM = @as(i32, -44);
pub const ERR_CPSUI_FUNCTION_NOT_IMPLEMENTED = @as(i32, -9999);
pub const ERR_CPSUI_INTERNAL_ERROR = @as(i32, -10000);
pub const IDI_CPSUI_ICONID_FIRST = @as(u32, 64000);
pub const IDI_CPSUI_EMPTY = @as(u32, 64000);
pub const IDI_CPSUI_SEL_NONE = @as(u32, 64001);
pub const IDI_CPSUI_WARNING = @as(u32, 64002);
pub const IDI_CPSUI_NO = @as(u32, 64003);
pub const IDI_CPSUI_YES = @as(u32, 64004);
pub const IDI_CPSUI_FALSE = @as(u32, 64005);
pub const IDI_CPSUI_TRUE = @as(u32, 64006);
pub const IDI_CPSUI_OFF = @as(u32, 64007);
pub const IDI_CPSUI_ON = @as(u32, 64008);
pub const IDI_CPSUI_PAPER_OUTPUT = @as(u32, 64009);
pub const IDI_CPSUI_ENVELOPE = @as(u32, 64010);
pub const IDI_CPSUI_MEM = @as(u32, 64011);
pub const IDI_CPSUI_FONTCARTHDR = @as(u32, 64012);
pub const IDI_CPSUI_FONTCART = @as(u32, 64013);
pub const IDI_CPSUI_STAPLER_ON = @as(u32, 64014);
pub const IDI_CPSUI_STAPLER_OFF = @as(u32, 64015);
pub const IDI_CPSUI_HT_HOST = @as(u32, 64016);
pub const IDI_CPSUI_HT_DEVICE = @as(u32, 64017);
pub const IDI_CPSUI_TT_PRINTASGRAPHIC = @as(u32, 64018);
pub const IDI_CPSUI_TT_DOWNLOADSOFT = @as(u32, 64019);
pub const IDI_CPSUI_TT_DOWNLOADVECT = @as(u32, 64020);
pub const IDI_CPSUI_TT_SUBDEV = @as(u32, 64021);
pub const IDI_CPSUI_PORTRAIT = @as(u32, 64022);
pub const IDI_CPSUI_LANDSCAPE = @as(u32, 64023);
pub const IDI_CPSUI_ROT_LAND = @as(u32, 64024);
pub const IDI_CPSUI_AUTOSEL = @as(u32, 64025);
pub const IDI_CPSUI_PAPER_TRAY = @as(u32, 64026);
pub const IDI_CPSUI_PAPER_TRAY2 = @as(u32, 64027);
pub const IDI_CPSUI_PAPER_TRAY3 = @as(u32, 64028);
pub const IDI_CPSUI_TRANSPARENT = @as(u32, 64029);
pub const IDI_CPSUI_COLLATE = @as(u32, 64030);
pub const IDI_CPSUI_DUPLEX_NONE = @as(u32, 64031);
pub const IDI_CPSUI_DUPLEX_HORZ = @as(u32, 64032);
pub const IDI_CPSUI_DUPLEX_VERT = @as(u32, 64033);
pub const IDI_CPSUI_RES_DRAFT = @as(u32, 64034);
pub const IDI_CPSUI_RES_LOW = @as(u32, 64035);
pub const IDI_CPSUI_RES_MEDIUM = @as(u32, 64036);
pub const IDI_CPSUI_RES_HIGH = @as(u32, 64037);
pub const IDI_CPSUI_RES_PRESENTATION = @as(u32, 64038);
pub const IDI_CPSUI_MONO = @as(u32, 64039);
pub const IDI_CPSUI_COLOR = @as(u32, 64040);
pub const IDI_CPSUI_DITHER_NONE = @as(u32, 64041);
pub const IDI_CPSUI_DITHER_COARSE = @as(u32, 64042);
pub const IDI_CPSUI_DITHER_FINE = @as(u32, 64043);
pub const IDI_CPSUI_DITHER_LINEART = @as(u32, 64044);
pub const IDI_CPSUI_SCALING = @as(u32, 64045);
pub const IDI_CPSUI_COPY = @as(u32, 64046);
pub const IDI_CPSUI_HTCLRADJ = @as(u32, 64047);
pub const IDI_CPSUI_HALFTONE_SETUP = @as(u32, 64048);
pub const IDI_CPSUI_WATERMARK = @as(u32, 64049);
pub const IDI_CPSUI_ERROR = @as(u32, 64050);
pub const IDI_CPSUI_ICM_OPTION = @as(u32, 64051);
pub const IDI_CPSUI_ICM_METHOD = @as(u32, 64052);
pub const IDI_CPSUI_ICM_INTENT = @as(u32, 64053);
pub const IDI_CPSUI_STD_FORM = @as(u32, 64054);
pub const IDI_CPSUI_OUTBIN = @as(u32, 64055);
pub const IDI_CPSUI_OUTPUT = @as(u32, 64056);
pub const IDI_CPSUI_GRAPHIC = @as(u32, 64057);
pub const IDI_CPSUI_ADVANCE = @as(u32, 64058);
pub const IDI_CPSUI_DOCUMENT = @as(u32, 64059);
pub const IDI_CPSUI_DEVICE = @as(u32, 64060);
pub const IDI_CPSUI_DEVICE2 = @as(u32, 64061);
pub const IDI_CPSUI_PRINTER = @as(u32, 64062);
pub const IDI_CPSUI_PRINTER2 = @as(u32, 64063);
pub const IDI_CPSUI_PRINTER3 = @as(u32, 64064);
pub const IDI_CPSUI_PRINTER4 = @as(u32, 64065);
pub const IDI_CPSUI_OPTION = @as(u32, 64066);
pub const IDI_CPSUI_OPTION2 = @as(u32, 64067);
pub const IDI_CPSUI_STOP = @as(u32, 64068);
pub const IDI_CPSUI_NOTINSTALLED = @as(u32, 64069);
pub const IDI_CPSUI_WARNING_OVERLAY = @as(u32, 64070);
pub const IDI_CPSUI_STOP_WARNING_OVERLAY = @as(u32, 64071);
pub const IDI_CPSUI_GENERIC_OPTION = @as(u32, 64072);
pub const IDI_CPSUI_GENERIC_ITEM = @as(u32, 64073);
pub const IDI_CPSUI_RUN_DIALOG = @as(u32, 64074);
pub const IDI_CPSUI_QUESTION = @as(u32, 64075);
pub const IDI_CPSUI_FORMTRAYASSIGN = @as(u32, 64076);
pub const IDI_CPSUI_PRINTER_FOLDER = @as(u32, 64077);
pub const IDI_CPSUI_INSTALLABLE_OPTION = @as(u32, 64078);
pub const IDI_CPSUI_PRINTER_FEATURE = @as(u32, 64079);
pub const IDI_CPSUI_DEVICE_FEATURE = @as(u32, 64080);
pub const IDI_CPSUI_FONTSUB = @as(u32, 64081);
pub const IDI_CPSUI_POSTSCRIPT = @as(u32, 64082);
pub const IDI_CPSUI_TELEPHONE = @as(u32, 64083);
pub const IDI_CPSUI_DUPLEX_NONE_L = @as(u32, 64084);
pub const IDI_CPSUI_DUPLEX_HORZ_L = @as(u32, 64085);
pub const IDI_CPSUI_DUPLEX_VERT_L = @as(u32, 64086);
pub const IDI_CPSUI_LF_PEN_PLOTTER = @as(u32, 64087);
pub const IDI_CPSUI_SF_PEN_PLOTTER = @as(u32, 64088);
pub const IDI_CPSUI_LF_RASTER_PLOTTER = @as(u32, 64089);
pub const IDI_CPSUI_SF_RASTER_PLOTTER = @as(u32, 64090);
pub const IDI_CPSUI_ROLL_PAPER = @as(u32, 64091);
pub const IDI_CPSUI_PEN_CARROUSEL = @as(u32, 64092);
pub const IDI_CPSUI_PLOTTER_PEN = @as(u32, 64093);
pub const IDI_CPSUI_MANUAL_FEED = @as(u32, 64094);
pub const IDI_CPSUI_FAX = @as(u32, 64095);
pub const IDI_CPSUI_PAGE_PROTECT = @as(u32, 64096);
pub const IDI_CPSUI_ENVELOPE_FEED = @as(u32, 64097);
pub const IDI_CPSUI_FONTCART_SLOT = @as(u32, 64098);
pub const IDI_CPSUI_LAYOUT_BMP_PORTRAIT = @as(u32, 64099);
pub const IDI_CPSUI_LAYOUT_BMP_ARROWL = @as(u32, 64100);
pub const IDI_CPSUI_LAYOUT_BMP_ARROWS = @as(u32, 64101);
pub const IDI_CPSUI_LAYOUT_BMP_BOOKLETL = @as(u32, 64102);
pub const IDI_CPSUI_LAYOUT_BMP_BOOKLETP = @as(u32, 64103);
pub const IDI_CPSUI_LAYOUT_BMP_ARROWLR = @as(u32, 64104);
pub const IDI_CPSUI_LAYOUT_BMP_ROT_PORT = @as(u32, 64105);
pub const IDI_CPSUI_LAYOUT_BMP_BOOKLETL_NB = @as(u32, 64106);
pub const IDI_CPSUI_LAYOUT_BMP_BOOKLETP_NB = @as(u32, 64107);
pub const IDI_CPSUI_ROT_PORT = @as(u32, 64110);
pub const IDI_CPSUI_NUP_BORDER = @as(u32, 64111);
pub const IDI_CPSUI_ICONID_LAST = @as(u32, 64111);
pub const IDS_CPSUI_STRID_FIRST = @as(u32, 64700);
pub const IDS_CPSUI_SETUP = @as(u32, 64700);
pub const IDS_CPSUI_MORE = @as(u32, 64701);
pub const IDS_CPSUI_CHANGE = @as(u32, 64702);
pub const IDS_CPSUI_OPTION = @as(u32, 64703);
pub const IDS_CPSUI_OF = @as(u32, 64704);
pub const IDS_CPSUI_RANGE_FROM = @as(u32, 64705);
pub const IDS_CPSUI_TO = @as(u32, 64706);
pub const IDS_CPSUI_COLON_SEP = @as(u32, 64707);
pub const IDS_CPSUI_LEFT_ANGLE = @as(u32, 64708);
pub const IDS_CPSUI_RIGHT_ANGLE = @as(u32, 64709);
pub const IDS_CPSUI_SLASH_SEP = @as(u32, 64710);
pub const IDS_CPSUI_PERCENT = @as(u32, 64711);
pub const IDS_CPSUI_LBCB_NOSEL = @as(u32, 64712);
pub const IDS_CPSUI_PROPERTIES = @as(u32, 64713);
pub const IDS_CPSUI_DEFAULTDOCUMENT = @as(u32, 64714);
pub const IDS_CPSUI_DOCUMENT = @as(u32, 64715);
pub const IDS_CPSUI_ADVANCEDOCUMENT = @as(u32, 64716);
pub const IDS_CPSUI_PRINTER = @as(u32, 64717);
pub const IDS_CPSUI_AUTOSELECT = @as(u32, 64718);
pub const IDS_CPSUI_PAPER_OUTPUT = @as(u32, 64719);
pub const IDS_CPSUI_GRAPHIC = @as(u32, 64720);
pub const IDS_CPSUI_OPTIONS = @as(u32, 64721);
pub const IDS_CPSUI_ADVANCED = @as(u32, 64722);
pub const IDS_CPSUI_STDDOCPROPTAB = @as(u32, 64723);
pub const IDS_CPSUI_STDDOCPROPTVTAB = @as(u32, 64724);
pub const IDS_CPSUI_DEVICEOPTIONS = @as(u32, 64725);
pub const IDS_CPSUI_FALSE = @as(u32, 64726);
pub const IDS_CPSUI_TRUE = @as(u32, 64727);
pub const IDS_CPSUI_NO = @as(u32, 64728);
pub const IDS_CPSUI_YES = @as(u32, 64729);
pub const IDS_CPSUI_OFF = @as(u32, 64730);
pub const IDS_CPSUI_ON = @as(u32, 64731);
pub const IDS_CPSUI_DEFAULT = @as(u32, 64732);
pub const IDS_CPSUI_ERROR = @as(u32, 64733);
pub const IDS_CPSUI_NONE = @as(u32, 64734);
pub const IDS_CPSUI_NOT = @as(u32, 64735);
pub const IDS_CPSUI_EXIST = @as(u32, 64736);
pub const IDS_CPSUI_NOTINSTALLED = @as(u32, 64737);
pub const IDS_CPSUI_ORIENTATION = @as(u32, 64738);
pub const IDS_CPSUI_SCALING = @as(u32, 64739);
pub const IDS_CPSUI_NUM_OF_COPIES = @as(u32, 64740);
pub const IDS_CPSUI_SOURCE = @as(u32, 64741);
pub const IDS_CPSUI_PRINTQUALITY = @as(u32, 64742);
pub const IDS_CPSUI_RESOLUTION = @as(u32, 64743);
pub const IDS_CPSUI_COLOR_APPERANCE = @as(u32, 64744);
pub const IDS_CPSUI_DUPLEX = @as(u32, 64745);
pub const IDS_CPSUI_TTOPTION = @as(u32, 64746);
pub const IDS_CPSUI_FORMNAME = @as(u32, 64747);
pub const IDS_CPSUI_ICM = @as(u32, 64748);
pub const IDS_CPSUI_ICMMETHOD = @as(u32, 64749);
pub const IDS_CPSUI_ICMINTENT = @as(u32, 64750);
pub const IDS_CPSUI_MEDIA = @as(u32, 64751);
pub const IDS_CPSUI_DITHERING = @as(u32, 64752);
pub const IDS_CPSUI_PORTRAIT = @as(u32, 64753);
pub const IDS_CPSUI_LANDSCAPE = @as(u32, 64754);
pub const IDS_CPSUI_ROT_LAND = @as(u32, 64755);
pub const IDS_CPSUI_COLLATE = @as(u32, 64756);
pub const IDS_CPSUI_COLLATED = @as(u32, 64757);
pub const IDS_CPSUI_PRINTFLDSETTING = @as(u32, 64758);
pub const IDS_CPSUI_DRAFT = @as(u32, 64759);
pub const IDS_CPSUI_LOW = @as(u32, 64760);
pub const IDS_CPSUI_MEDIUM = @as(u32, 64761);
pub const IDS_CPSUI_HIGH = @as(u32, 64762);
pub const IDS_CPSUI_PRESENTATION = @as(u32, 64763);
pub const IDS_CPSUI_COLOR = @as(u32, 64764);
pub const IDS_CPSUI_GRAYSCALE = @as(u32, 64765);
pub const IDS_CPSUI_MONOCHROME = @as(u32, 64766);
pub const IDS_CPSUI_SIMPLEX = @as(u32, 64767);
pub const IDS_CPSUI_HORIZONTAL = @as(u32, 64768);
pub const IDS_CPSUI_VERTICAL = @as(u32, 64769);
pub const IDS_CPSUI_LONG_SIDE = @as(u32, 64770);
pub const IDS_CPSUI_SHORT_SIDE = @as(u32, 64771);
pub const IDS_CPSUI_TT_PRINTASGRAPHIC = @as(u32, 64772);
pub const IDS_CPSUI_TT_DOWNLOADSOFT = @as(u32, 64773);
pub const IDS_CPSUI_TT_DOWNLOADVECT = @as(u32, 64774);
pub const IDS_CPSUI_TT_SUBDEV = @as(u32, 64775);
pub const IDS_CPSUI_ICM_BLACKWHITE = @as(u32, 64776);
pub const IDS_CPSUI_ICM_NO = @as(u32, 64777);
pub const IDS_CPSUI_ICM_YES = @as(u32, 64778);
pub const IDS_CPSUI_ICM_SATURATION = @as(u32, 64779);
pub const IDS_CPSUI_ICM_CONTRAST = @as(u32, 64780);
pub const IDS_CPSUI_ICM_COLORMETRIC = @as(u32, 64781);
pub const IDS_CPSUI_STANDARD = @as(u32, 64782);
pub const IDS_CPSUI_GLOSSY = @as(u32, 64783);
pub const IDS_CPSUI_TRANSPARENCY = @as(u32, 64784);
pub const IDS_CPSUI_REGULAR = @as(u32, 64785);
pub const IDS_CPSUI_BOND = @as(u32, 64786);
pub const IDS_CPSUI_COARSE = @as(u32, 64787);
pub const IDS_CPSUI_FINE = @as(u32, 64788);
pub const IDS_CPSUI_LINEART = @as(u32, 64789);
pub const IDS_CPSUI_ERRDIFFUSE = @as(u32, 64790);
pub const IDS_CPSUI_HALFTONE = @as(u32, 64791);
pub const IDS_CPSUI_HTCLRADJ = @as(u32, 64792);
pub const IDS_CPSUI_USE_HOST_HT = @as(u32, 64793);
pub const IDS_CPSUI_USE_DEVICE_HT = @as(u32, 64794);
pub const IDS_CPSUI_USE_PRINTER_HT = @as(u32, 64795);
pub const IDS_CPSUI_OUTBINASSIGN = @as(u32, 64796);
pub const IDS_CPSUI_WATERMARK = @as(u32, 64797);
pub const IDS_CPSUI_FORMTRAYASSIGN = @as(u32, 64798);
pub const IDS_CPSUI_UPPER_TRAY = @as(u32, 64799);
pub const IDS_CPSUI_ONLYONE = @as(u32, 64800);
pub const IDS_CPSUI_LOWER_TRAY = @as(u32, 64801);
pub const IDS_CPSUI_MIDDLE_TRAY = @as(u32, 64802);
pub const IDS_CPSUI_MANUAL_TRAY = @as(u32, 64803);
pub const IDS_CPSUI_ENVELOPE_TRAY = @as(u32, 64804);
pub const IDS_CPSUI_ENVMANUAL_TRAY = @as(u32, 64805);
pub const IDS_CPSUI_TRACTOR_TRAY = @as(u32, 64806);
pub const IDS_CPSUI_SMALLFMT_TRAY = @as(u32, 64807);
pub const IDS_CPSUI_LARGEFMT_TRAY = @as(u32, 64808);
pub const IDS_CPSUI_LARGECAP_TRAY = @as(u32, 64809);
pub const IDS_CPSUI_CASSETTE_TRAY = @as(u32, 64810);
pub const IDS_CPSUI_DEFAULT_TRAY = @as(u32, 64811);
pub const IDS_CPSUI_FORMSOURCE = @as(u32, 64812);
pub const IDS_CPSUI_MANUALFEED = @as(u32, 64813);
pub const IDS_CPSUI_PRINTERMEM_KB = @as(u32, 64814);
pub const IDS_CPSUI_PRINTERMEM_MB = @as(u32, 64815);
pub const IDS_CPSUI_PAGEPROTECT = @as(u32, 64816);
pub const IDS_CPSUI_HALFTONE_SETUP = @as(u32, 64817);
pub const IDS_CPSUI_INSTFONTCART = @as(u32, 64818);
pub const IDS_CPSUI_SLOT1 = @as(u32, 64819);
pub const IDS_CPSUI_SLOT2 = @as(u32, 64820);
pub const IDS_CPSUI_SLOT3 = @as(u32, 64821);
pub const IDS_CPSUI_SLOT4 = @as(u32, 64822);
pub const IDS_CPSUI_LEFT_SLOT = @as(u32, 64823);
pub const IDS_CPSUI_RIGHT_SLOT = @as(u32, 64824);
pub const IDS_CPSUI_STAPLER = @as(u32, 64825);
pub const IDS_CPSUI_STAPLER_ON = @as(u32, 64826);
pub const IDS_CPSUI_STAPLER_OFF = @as(u32, 64827);
pub const IDS_CPSUI_STACKER = @as(u32, 64828);
pub const IDS_CPSUI_MAILBOX = @as(u32, 64829);
pub const IDS_CPSUI_COPY = @as(u32, 64830);
pub const IDS_CPSUI_COPIES = @as(u32, 64831);
pub const IDS_CPSUI_TOTAL = @as(u32, 64832);
pub const IDS_CPSUI_MAKE = @as(u32, 64833);
pub const IDS_CPSUI_PRINT = @as(u32, 64834);
pub const IDS_CPSUI_FAX = @as(u32, 64835);
pub const IDS_CPSUI_PLOT = @as(u32, 64836);
pub const IDS_CPSUI_SLOW = @as(u32, 64837);
pub const IDS_CPSUI_FAST = @as(u32, 64838);
pub const IDS_CPSUI_ROTATED = @as(u32, 64839);
pub const IDS_CPSUI_RESET = @as(u32, 64840);
pub const IDS_CPSUI_ALL = @as(u32, 64841);
pub const IDS_CPSUI_DEVICE = @as(u32, 64842);
pub const IDS_CPSUI_SETTINGS = @as(u32, 64843);
pub const IDS_CPSUI_REVERT = @as(u32, 64844);
pub const IDS_CPSUI_CHANGES = @as(u32, 64845);
pub const IDS_CPSUI_CHANGED = @as(u32, 64846);
pub const IDS_CPSUI_WARNING = @as(u32, 64847);
pub const IDS_CPSUI_ABOUT = @as(u32, 64848);
pub const IDS_CPSUI_VERSION = @as(u32, 64849);
pub const IDS_CPSUI_NO_NAME = @as(u32, 64850);
pub const IDS_CPSUI_SETTING = @as(u32, 64851);
pub const IDS_CPSUI_DEVICE_SETTINGS = @as(u32, 64852);
pub const IDS_CPSUI_STDDOCPROPTAB1 = @as(u32, 64853);
pub const IDS_CPSUI_STDDOCPROPTAB2 = @as(u32, 64854);
pub const IDS_CPSUI_PAGEORDER = @as(u32, 64855);
pub const IDS_CPSUI_FRONTTOBACK = @as(u32, 64856);
pub const IDS_CPSUI_BACKTOFRONT = @as(u32, 64857);
pub const IDS_CPSUI_QUALITY_SETTINGS = @as(u32, 64858);
pub const IDS_CPSUI_QUALITY_DRAFT = @as(u32, 64859);
pub const IDS_CPSUI_QUALITY_BETTER = @as(u32, 64860);
pub const IDS_CPSUI_QUALITY_BEST = @as(u32, 64861);
pub const IDS_CPSUI_QUALITY_CUSTOM = @as(u32, 64862);
pub const IDS_CPSUI_OUTPUTBIN = @as(u32, 64863);
pub const IDS_CPSUI_NUP = @as(u32, 64864);
pub const IDS_CPSUI_NUP_NORMAL = @as(u32, 64865);
pub const IDS_CPSUI_NUP_TWOUP = @as(u32, 64866);
pub const IDS_CPSUI_NUP_FOURUP = @as(u32, 64867);
pub const IDS_CPSUI_NUP_SIXUP = @as(u32, 64868);
pub const IDS_CPSUI_NUP_NINEUP = @as(u32, 64869);
pub const IDS_CPSUI_NUP_SIXTEENUP = @as(u32, 64870);
pub const IDS_CPSUI_SIDE1 = @as(u32, 64871);
pub const IDS_CPSUI_SIDE2 = @as(u32, 64872);
pub const IDS_CPSUI_BOOKLET = @as(u32, 64873);
pub const IDS_CPSUI_POSTER = @as(u32, 64874);
pub const IDS_CPSUI_POSTER_2x2 = @as(u32, 64875);
pub const IDS_CPSUI_POSTER_3x3 = @as(u32, 64876);
pub const IDS_CPSUI_POSTER_4x4 = @as(u32, 64877);
pub const IDS_CPSUI_NUP_DIRECTION = @as(u32, 64878);
pub const IDS_CPSUI_RIGHT_THEN_DOWN = @as(u32, 64879);
pub const IDS_CPSUI_DOWN_THEN_RIGHT = @as(u32, 64880);
pub const IDS_CPSUI_LEFT_THEN_DOWN = @as(u32, 64881);
pub const IDS_CPSUI_DOWN_THEN_LEFT = @as(u32, 64882);
pub const IDS_CPSUI_MANUAL_DUPLEX = @as(u32, 64883);
pub const IDS_CPSUI_MANUAL_DUPLEX_ON = @as(u32, 64884);
pub const IDS_CPSUI_MANUAL_DUPLEX_OFF = @as(u32, 64885);
pub const IDS_CPSUI_ROT_PORT = @as(u32, 64886);
pub const IDS_CPSUI_STAPLE = @as(u32, 64887);
pub const IDS_CPSUI_BOOKLET_EDGE = @as(u32, 64888);
pub const IDS_CPSUI_BOOKLET_EDGE_LEFT = @as(u32, 64889);
pub const IDS_CPSUI_BOOKLET_EDGE_RIGHT = @as(u32, 64890);
pub const IDS_CPSUI_NUP_BORDER = @as(u32, 64891);
pub const IDS_CPSUI_NUP_BORDERED = @as(u32, 64892);
pub const IDS_CPSUI_STRID_LAST = @as(u32, 64892);
pub const XPS_FP_PRINTER_NAME = "PrinterName";
pub const XPS_FP_PROGRESS_REPORT = "ProgressReport";
pub const XPS_FP_PRINTER_HANDLE = "PrinterHandle";
pub const XPS_FP_USER_PRINT_TICKET = "PerUserPrintTicket";
pub const XPS_FP_USER_TOKEN = "UserSecurityToken";
pub const XPS_FP_JOB_ID = "PrintJobId";
pub const XPS_FP_PRINT_CLASS_FACTORY = "PrintClassFactory";
pub const XPS_FP_OUTPUT_FILE = "PrintOutputFileName";
pub const XPS_FP_MS_CONTENT_TYPE = "DriverMultiContentType";
pub const XPS_FP_MS_CONTENT_TYPE_XPS = "XPS";
pub const XPS_FP_MS_CONTENT_TYPE_OPENXPS = "OpenXPS";
pub const XPS_FP_DRIVER_PROPERTY_BAG = "DriverPropertyBag";
pub const XPS_FP_QUEUE_PROPERTY_BAG = "QueuePropertyBag";
pub const XPS_FP_MERGED_DATAFILE_PATH = "MergedDataFilePath";
pub const XPS_FP_RESOURCE_DLL_PATHS = "ResourceDLLPaths";
pub const XPS_FP_JOB_LEVEL_PRINTTICKET = "JobPrintTicket";
pub const XPS_FP_PRINTDEVICECAPABILITIES = "PrintDeviceCapabilities";
pub const MXDC_ESCAPE = @as(u32, 4122);
pub const MXDCOP_GET_FILENAME = @as(u32, 14);
pub const MXDCOP_PRINTTICKET_FIXED_DOC_SEQ = @as(u32, 22);
pub const MXDCOP_PRINTTICKET_FIXED_DOC = @as(u32, 24);
pub const MXDCOP_PRINTTICKET_FIXED_PAGE = @as(u32, 26);
pub const MXDCOP_SET_S0PAGE = @as(u32, 28);
pub const MXDCOP_SET_S0PAGE_RESOURCE = @as(u32, 30);
pub const MXDCOP_SET_XPSPASSTHRU_MODE = @as(u32, 32);
pub const CLSID_OEMRENDER = Guid.initString("6d6abf26-9f38-11d1-882a-00c04fb961ec");
pub const CLSID_OEMUI = Guid.initString("abce80d7-9f46-11d1-882a-00c04fb961ec");
pub const CLSID_OEMUIMXDC = Guid.initString("4e144300-5b43-4288-932a-5e4dd6d82bed");
pub const CLSID_OEMPTPROVIDER = Guid.initString("91723892-45d2-48e2-9ec9-562379daf992");
pub const S_DEVCAP_OUTPUT_FULL_REPLACEMENT = @import("../zig.zig").typedConst(HRESULT, @as(i32, 318465));
pub const CLSID_PTPROVIDER = Guid.initString("46ac151b-8490-4531-96cc-55bf2bf19e11");
pub const E_VERSION_NOT_SUPPORTED = @as(u32, 2147745793);
pub const S_NO_CONFLICT = @as(u32, 262145);
pub const S_CONFLICT_RESOLVED = @as(u32, 262146);
pub const PRINTER_EXTENSION_DETAILEDREASON_PRINTER_STATUS = Guid.initString("5d5a1704-dfd1-4181-8eee-815c86edad31");
pub const PRINTER_EXTENSION_REASON_PRINT_PREFERENCES = Guid.initString("ec8f261f-267c-469f-b5d6-3933023c29cc");
pub const PRINTER_EXTENSION_REASON_DRIVER_EVENT = Guid.initString("23bb1328-63de-4293-915b-a6a23d929acb");
pub const FMTID_PrinterPropertyBag = Guid.initString("75f9adca-097d-45c3-a6e4-bab29e276f3e");
pub const PRINTER_OEMINTF_VERSION = @as(u32, 65536);
pub const OEM_MODE_PUBLISHER = @as(u32, 1);
pub const OEMGI_GETSIGNATURE = @as(u32, 1);
pub const OEMGI_GETINTERFACEVERSION = @as(u32, 2);
pub const OEMGI_GETVERSION = @as(u32, 3);
pub const OEMGI_GETPUBLISHERINFO = @as(u32, 4);
pub const OEMGI_GETREQUESTEDHELPERINTERFACES = @as(u32, 5);
pub const OEMPUBLISH_DEFAULT = @as(u32, 0);
pub const OEMPUBLISH_IPRINTCOREHELPER = @as(u32, 1);
pub const OEMDM_SIZE = @as(u32, 1);
pub const OEMDM_DEFAULT = @as(u32, 2);
pub const OEMDM_CONVERT = @as(u32, 3);
pub const OEMDM_MERGE = @as(u32, 4);
pub const OEMGDS_MIN_DOCSTICKY = @as(u32, 1);
pub const OEMGDS_PSDM_FLAGS = @as(u32, 1);
pub const OEMGDS_PSDM_DIALECT = @as(u32, 2);
pub const OEMGDS_PSDM_TTDLFMT = @as(u32, 3);
pub const OEMGDS_PSDM_NUP = @as(u32, 4);
pub const OEMGDS_PSDM_PSLEVEL = @as(u32, 5);
pub const OEMGDS_PSDM_CUSTOMSIZE = @as(u32, 6);
pub const OEMGDS_UNIDM_GPDVER = @as(u32, 16384);
pub const OEMGDS_UNIDM_FLAGS = @as(u32, 16385);
pub const OEMGDS_MIN_PRINTERSTICKY = @as(u32, 32768);
pub const OEMGDS_PRINTFLAGS = @as(u32, 32768);
pub const OEMGDS_FREEMEM = @as(u32, 32769);
pub const OEMGDS_JOBTIMEOUT = @as(u32, 32770);
pub const OEMGDS_WAITTIMEOUT = @as(u32, 32771);
pub const OEMGDS_PROTOCOL = @as(u32, 32772);
pub const OEMGDS_MINOUTLINE = @as(u32, 32773);
pub const OEMGDS_MAXBITMAP = @as(u32, 32774);
pub const OEMGDS_MAX = @as(u32, 65536);
pub const GPD_OEMCUSTOMDATA = @as(u32, 1);
pub const MV_UPDATE = @as(u32, 1);
pub const MV_RELATIVE = @as(u32, 2);
pub const MV_GRAPHICS = @as(u32, 4);
pub const MV_PHYSICAL = @as(u32, 8);
pub const MV_SENDXMOVECMD = @as(u32, 16);
pub const MV_SENDYMOVECMD = @as(u32, 32);
pub const OEMTTY_INFO_MARGINS = @as(u32, 1);
pub const OEMTTY_INFO_CODEPAGE = @as(u32, 2);
pub const OEMTTY_INFO_NUM_UFMS = @as(u32, 3);
pub const OEMTTY_INFO_UFM_IDS = @as(u32, 4);
pub const UFOFLAG_TTFONT = @as(u32, 1);
pub const UFOFLAG_TTDOWNLOAD_BITMAP = @as(u32, 2);
pub const UFOFLAG_TTDOWNLOAD_TTOUTLINE = @as(u32, 4);
pub const UFOFLAG_TTOUTLINE_BOLD_SIM = @as(u32, 8);
pub const UFOFLAG_TTOUTLINE_ITALIC_SIM = @as(u32, 16);
pub const UFOFLAG_TTOUTLINE_VERTICAL = @as(u32, 32);
pub const UFOFLAG_TTSUBSTITUTED = @as(u32, 64);
pub const UFO_GETINFO_FONTOBJ = @as(u32, 1);
pub const UFO_GETINFO_GLYPHSTRING = @as(u32, 2);
pub const UFO_GETINFO_GLYPHBITMAP = @as(u32, 3);
pub const UFO_GETINFO_GLYPHWIDTH = @as(u32, 4);
pub const UFO_GETINFO_MEMORY = @as(u32, 5);
pub const UFO_GETINFO_STDVARIABLE = @as(u32, 6);
pub const FNT_INFO_PRINTDIRINCCDEGREES = @as(u32, 0);
pub const FNT_INFO_GRAYPERCENTAGE = @as(u32, 1);
pub const FNT_INFO_NEXTFONTID = @as(u32, 2);
pub const FNT_INFO_NEXTGLYPH = @as(u32, 3);
pub const FNT_INFO_FONTHEIGHT = @as(u32, 4);
pub const FNT_INFO_FONTWIDTH = @as(u32, 5);
pub const FNT_INFO_FONTBOLD = @as(u32, 6);
pub const FNT_INFO_FONTITALIC = @as(u32, 7);
pub const FNT_INFO_FONTUNDERLINE = @as(u32, 8);
pub const FNT_INFO_FONTSTRIKETHRU = @as(u32, 9);
pub const FNT_INFO_CURRENTFONTID = @as(u32, 10);
pub const FNT_INFO_TEXTYRES = @as(u32, 11);
pub const FNT_INFO_TEXTXRES = @as(u32, 12);
pub const FNT_INFO_FONTMAXWIDTH = @as(u32, 13);
pub const FNT_INFO_MAX = @as(u32, 14);
pub const TTDOWNLOAD_DONTCARE = @as(u32, 0);
pub const TTDOWNLOAD_GRAPHICS = @as(u32, 1);
pub const TTDOWNLOAD_BITMAP = @as(u32, 2);
pub const TTDOWNLOAD_TTOUTLINE = @as(u32, 3);
pub const TYPE_UNICODE = @as(u32, 1);
pub const TYPE_TRANSDATA = @as(u32, 2);
pub const TYPE_GLYPHHANDLE = @as(u32, 3);
pub const TYPE_GLYPHID = @as(u32, 4);
pub const PDEV_ADJUST_PAPER_MARGIN_TYPE = @as(u32, 1);
pub const PDEV_HOSTFONT_ENABLED_TYPE = @as(u32, 2);
pub const PDEV_USE_TRUE_COLOR_TYPE = @as(u32, 3);
pub const OEMCUIP_DOCPROP = @as(u32, 1);
pub const OEMCUIP_PRNPROP = @as(u32, 2);
pub const CUSTOMPARAM_WIDTH = @as(u32, 0);
pub const CUSTOMPARAM_HEIGHT = @as(u32, 1);
pub const CUSTOMPARAM_WIDTHOFFSET = @as(u32, 2);
pub const CUSTOMPARAM_HEIGHTOFFSET = @as(u32, 3);
pub const CUSTOMPARAM_ORIENTATION = @as(u32, 4);
pub const CUSTOMPARAM_MAX = @as(u32, 5);
pub const SETOPTIONS_FLAG_RESOLVE_CONFLICT = @as(u32, 1);
pub const SETOPTIONS_FLAG_KEEP_CONFLICT = @as(u32, 2);
pub const SETOPTIONS_RESULT_NO_CONFLICT = @as(u32, 0);
pub const SETOPTIONS_RESULT_CONFLICT_RESOLVED = @as(u32, 1);
pub const SETOPTIONS_RESULT_CONFLICT_REMAINED = @as(u32, 2);
pub const UNIFM_VERSION_1_0 = @as(u32, 65536);
pub const UFM_SOFT = @as(u32, 1);
pub const UFM_CART = @as(u32, 2);
pub const UFM_SCALABLE = @as(u32, 4);
pub const DF_TYPE_HPINTELLIFONT = @as(u32, 0);
pub const DF_TYPE_TRUETYPE = @as(u32, 1);
pub const DF_TYPE_PST1 = @as(u32, 2);
pub const DF_TYPE_CAPSL = @as(u32, 3);
pub const DF_TYPE_OEM1 = @as(u32, 4);
pub const DF_TYPE_OEM2 = @as(u32, 5);
pub const DF_NOITALIC = @as(u32, 1);
pub const DF_NOUNDER = @as(u32, 2);
pub const DF_XM_CR = @as(u32, 4);
pub const DF_NO_BOLD = @as(u32, 8);
pub const DF_NO_DOUBLE_UNDERLINE = @as(u32, 16);
pub const DF_NO_STRIKETHRU = @as(u32, 32);
pub const DF_BKSP_OK = @as(u32, 64);
pub const UNI_GLYPHSETDATA_VERSION_1_0 = @as(u32, 65536);
pub const MTYPE_FORMAT_MASK = @as(u32, 7);
pub const MTYPE_COMPOSE = @as(u32, 1);
pub const MTYPE_DIRECT = @as(u32, 2);
pub const MTYPE_PAIRED = @as(u32, 4);
pub const MTYPE_DOUBLEBYTECHAR_MASK = @as(u32, 24);
pub const MTYPE_SINGLE = @as(u32, 8);
pub const MTYPE_DOUBLE = @as(u32, 16);
pub const MTYPE_PREDEFIN_MASK = @as(u32, 224);
pub const MTYPE_REPLACE = @as(u32, 32);
pub const MTYPE_ADD = @as(u32, 64);
pub const MTYPE_DISABLE = @as(u32, 128);
pub const CC_NOPRECNV = @as(u32, 65535);
pub const CC_DEFAULT = @as(u32, 0);
pub const CC_CP437 = @as(i32, -1);
pub const CC_CP850 = @as(i32, -2);
pub const CC_CP863 = @as(i32, -3);
pub const CC_BIG5 = @as(i32, -10);
pub const CC_ISC = @as(i32, -11);
pub const CC_JIS = @as(i32, -12);
pub const CC_JIS_ANK = @as(i32, -13);
pub const CC_NS86 = @as(i32, -14);
pub const CC_TCA = @as(i32, -15);
pub const CC_GB2312 = @as(i32, -16);
pub const CC_SJIS = @as(i32, -17);
pub const CC_WANSUNG = @as(i32, -18);
pub const UFF_VERSION_NUMBER = @as(u32, 65537);
pub const FONT_DIR_SORTED = @as(u32, 1);
pub const FONT_FL_UFM = @as(u32, 1);
pub const FONT_FL_IFI = @as(u32, 2);
pub const FONT_FL_SOFTFONT = @as(u32, 4);
pub const FONT_FL_PERMANENT_SF = @as(u32, 8);
pub const FONT_FL_DEVICEFONT = @as(u32, 16);
pub const FONT_FL_GLYPHSET_GTT = @as(u32, 32);
pub const FONT_FL_GLYPHSET_RLE = @as(u32, 64);
pub const FONT_FL_RESERVED = @as(u32, 32768);
pub const FG_CANCHANGE = @as(u32, 128);
pub const WM_FI_FILENAME = @as(u32, 900);
pub const UNKNOWN_PROTOCOL = @as(u32, 0);
pub const PROTOCOL_UNKNOWN_TYPE = @as(u32, 0);
pub const RAWTCP = @as(u32, 1);
pub const PROTOCOL_RAWTCP_TYPE = @as(u32, 1);
pub const LPR = @as(u32, 2);
pub const PROTOCOL_LPR_TYPE = @as(u32, 2);
pub const MAX_PORTNAME_LEN = @as(u32, 64);
pub const MAX_NETWORKNAME_LEN = @as(u32, 49);
pub const MAX_NETWORKNAME2_LEN = @as(u32, 128);
pub const MAX_SNMP_COMMUNITY_STR_LEN = @as(u32, 33);
pub const MAX_QUEUENAME_LEN = @as(u32, 33);
pub const MAX_IPADDR_STR_LEN = @as(u32, 16);
pub const MAX_ADDRESS_STR_LEN = @as(u32, 13);
pub const MAX_DEVICEDESCRIPTION_STR_LEN = @as(u32, 257);
pub const DPS_NOPERMISSION = @as(u32, 1);
pub const DM_ADVANCED = @as(u32, 16);
pub const DM_NOPERMISSION = @as(u32, 32);
pub const DM_USER_DEFAULT = @as(u32, 64);
pub const DM_PROMPT_NON_MODAL = @as(u32, 1073741824);
pub const DM_INVALIDATE_DRIVER_CACHE = @as(u32, 536870912);
pub const DM_RESERVED = @as(u32, 2147483648);
pub const CDM_CONVERT = @as(u32, 1);
pub const CDM_CONVERT351 = @as(u32, 2);
pub const CDM_DRIVER_DEFAULT = @as(u32, 4);
pub const DOCUMENTEVENT_FIRST = @as(u32, 1);
pub const DOCUMENTEVENT_CREATEDCPRE = @as(u32, 1);
pub const DOCUMENTEVENT_CREATEDCPOST = @as(u32, 2);
pub const DOCUMENTEVENT_RESETDCPRE = @as(u32, 3);
pub const DOCUMENTEVENT_RESETDCPOST = @as(u32, 4);
pub const DOCUMENTEVENT_STARTDOC = @as(u32, 5);
pub const DOCUMENTEVENT_STARTDOCPRE = @as(u32, 5);
pub const DOCUMENTEVENT_STARTPAGE = @as(u32, 6);
pub const DOCUMENTEVENT_ENDPAGE = @as(u32, 7);
pub const DOCUMENTEVENT_ENDDOC = @as(u32, 8);
pub const DOCUMENTEVENT_ENDDOCPRE = @as(u32, 8);
pub const DOCUMENTEVENT_ABORTDOC = @as(u32, 9);
pub const DOCUMENTEVENT_DELETEDC = @as(u32, 10);
pub const DOCUMENTEVENT_ESCAPE = @as(u32, 11);
pub const DOCUMENTEVENT_ENDDOCPOST = @as(u32, 12);
pub const DOCUMENTEVENT_STARTDOCPOST = @as(u32, 13);
pub const DOCUMENTEVENT_QUERYFILTER = @as(u32, 14);
pub const DOCUMENTEVENT_XPS_ADDFIXEDDOCUMENTSEQUENCEPRE = @as(u32, 1);
pub const DOCUMENTEVENT_XPS_ADDFIXEDDOCUMENTPRE = @as(u32, 2);
pub const DOCUMENTEVENT_XPS_ADDFIXEDPAGEEPRE = @as(u32, 3);
pub const DOCUMENTEVENT_XPS_ADDFIXEDPAGEPOST = @as(u32, 4);
pub const DOCUMENTEVENT_XPS_ADDFIXEDDOCUMENTPOST = @as(u32, 5);
pub const DOCUMENTEVENT_XPS_CANCELJOB = @as(u32, 6);
pub const DOCUMENTEVENT_XPS_ADDFIXEDDOCUMENTSEQUENCEPRINTTICKETPRE = @as(u32, 7);
pub const DOCUMENTEVENT_XPS_ADDFIXEDDOCUMENTPRINTTICKETPRE = @as(u32, 8);
pub const DOCUMENTEVENT_XPS_ADDFIXEDPAGEPRINTTICKETPRE = @as(u32, 9);
pub const DOCUMENTEVENT_XPS_ADDFIXEDPAGEPRINTTICKETPOST = @as(u32, 10);
pub const DOCUMENTEVENT_XPS_ADDFIXEDDOCUMENTPRINTTICKETPOST = @as(u32, 11);
pub const DOCUMENTEVENT_XPS_ADDFIXEDDOCUMENTSEQUENCEPRINTTICKETPOST = @as(u32, 12);
pub const DOCUMENTEVENT_XPS_ADDFIXEDDOCUMENTSEQUENCEPOST = @as(u32, 13);
pub const DOCUMENTEVENT_LAST = @as(u32, 15);
pub const DOCUMENTEVENT_SPOOLED = @as(u32, 65536);
pub const DOCUMENTEVENT_SUCCESS = @as(u32, 1);
pub const DOCUMENTEVENT_UNSUPPORTED = @as(u32, 0);
pub const DOCUMENTEVENT_FAILURE = @as(i32, -1);
pub const PRINTER_EVENT_CONFIGURATION_CHANGE = @as(u32, 0);
pub const PRINTER_EVENT_ADD_CONNECTION = @as(u32, 1);
pub const PRINTER_EVENT_DELETE_CONNECTION = @as(u32, 2);
pub const PRINTER_EVENT_INITIALIZE = @as(u32, 3);
pub const PRINTER_EVENT_DELETE = @as(u32, 4);
pub const PRINTER_EVENT_CACHE_REFRESH = @as(u32, 5);
pub const PRINTER_EVENT_CACHE_DELETE = @as(u32, 6);
pub const PRINTER_EVENT_ATTRIBUTES_CHANGED = @as(u32, 7);
pub const PRINTER_EVENT_CONFIGURATION_UPDATE = @as(u32, 8);
pub const PRINTER_EVENT_ADD_CONNECTION_NO_UI = @as(u32, 9);
pub const PRINTER_EVENT_DELETE_CONNECTION_NO_UI = @as(u32, 10);
pub const PRINTER_EVENT_FLAG_NO_UI = @as(u32, 1);
pub const DRIVER_EVENT_INITIALIZE = @as(u32, 1);
pub const DRIVER_EVENT_DELETE = @as(u32, 2);
pub const BORDER_PRINT = @as(u32, 0);
pub const NO_BORDER_PRINT = @as(u32, 1);
pub const NORMAL_PRINT = @as(u32, 0);
pub const REVERSE_PRINT = @as(u32, 1);
pub const BOOKLET_PRINT = @as(u32, 2);
pub const NO_COLOR_OPTIMIZATION = @as(u32, 0);
pub const COLOR_OPTIMIZATION = @as(u32, 1);
pub const REVERSE_PAGES_FOR_REVERSE_DUPLEX = @as(u32, 1);
pub const RIGHT_THEN_DOWN = @as(u32, 1);
pub const BOOKLET_EDGE_LEFT = @as(u32, 0);
pub const BOOKLET_EDGE_RIGHT = @as(u32, 1);
pub const QCP_DEVICEPROFILE = @as(u32, 0);
pub const QCP_SOURCEPROFILE = @as(u32, 1);
pub const QCP_PROFILEMEMORY = @as(u32, 1);
pub const QCP_PROFILEDISK = @as(u32, 2);
pub const SPLPRINTER_USER_MODE_PRINTER_DRIVER = "SPLUserModePrinterDriver";
pub const EMF_PP_COLOR_OPTIMIZATION = @as(u32, 1);
pub const PRINTER_NOTIFY_STATUS_ENDPOINT = @as(u32, 1);
pub const PRINTER_NOTIFY_STATUS_POLL = @as(u32, 2);
pub const PRINTER_NOTIFY_STATUS_INFO = @as(u32, 4);
pub const ROUTER_UNKNOWN = @as(u32, 0);
pub const ROUTER_SUCCESS = @as(u32, 1);
pub const ROUTER_STOP_ROUTING = @as(u32, 2);
pub const FILL_WITH_DEFAULTS = @as(u32, 1);
pub const PRINTER_NOTIFY_INFO_DATA_COMPACT = @as(u32, 1);
pub const COPYFILE_EVENT_SET_PRINTER_DATAEX = @as(u32, 1);
pub const COPYFILE_EVENT_DELETE_PRINTER = @as(u32, 2);
pub const COPYFILE_EVENT_ADD_PRINTER_CONNECTION = @as(u32, 3);
pub const COPYFILE_EVENT_DELETE_PRINTER_CONNECTION = @as(u32, 4);
pub const COPYFILE_EVENT_FILES_CHANGED = @as(u32, 5);
pub const COPYFILE_FLAG_CLIENT_SPOOLER = @as(u32, 1);
pub const COPYFILE_FLAG_SERVER_SPOOLER = @as(u32, 2);
pub const DSPRINT_PUBLISH = @as(u32, 1);
pub const DSPRINT_UPDATE = @as(u32, 2);
pub const DSPRINT_UNPUBLISH = @as(u32, 4);
pub const DSPRINT_REPUBLISH = @as(u32, 8);
pub const DSPRINT_PENDING = @as(u32, 2147483648);
pub const PRINTER_CONTROL_PAUSE = @as(u32, 1);
pub const PRINTER_CONTROL_RESUME = @as(u32, 2);
pub const PRINTER_CONTROL_PURGE = @as(u32, 3);
pub const PRINTER_CONTROL_SET_STATUS = @as(u32, 4);
pub const PRINTER_STATUS_PAUSED = @as(u32, 1);
pub const PRINTER_STATUS_ERROR = @as(u32, 2);
pub const PRINTER_STATUS_PENDING_DELETION = @as(u32, 4);
pub const PRINTER_STATUS_PAPER_JAM = @as(u32, 8);
pub const PRINTER_STATUS_PAPER_OUT = @as(u32, 16);
pub const PRINTER_STATUS_MANUAL_FEED = @as(u32, 32);
pub const PRINTER_STATUS_PAPER_PROBLEM = @as(u32, 64);
pub const PRINTER_STATUS_OFFLINE = @as(u32, 128);
pub const PRINTER_STATUS_IO_ACTIVE = @as(u32, 256);
pub const PRINTER_STATUS_BUSY = @as(u32, 512);
pub const PRINTER_STATUS_PRINTING = @as(u32, 1024);
pub const PRINTER_STATUS_OUTPUT_BIN_FULL = @as(u32, 2048);
pub const PRINTER_STATUS_NOT_AVAILABLE = @as(u32, 4096);
pub const PRINTER_STATUS_WAITING = @as(u32, 8192);
pub const PRINTER_STATUS_PROCESSING = @as(u32, 16384);
pub const PRINTER_STATUS_INITIALIZING = @as(u32, 32768);
pub const PRINTER_STATUS_WARMING_UP = @as(u32, 65536);
pub const PRINTER_STATUS_TONER_LOW = @as(u32, 131072);
pub const PRINTER_STATUS_NO_TONER = @as(u32, 262144);
pub const PRINTER_STATUS_PAGE_PUNT = @as(u32, 524288);
pub const PRINTER_STATUS_USER_INTERVENTION = @as(u32, 1048576);
pub const PRINTER_STATUS_OUT_OF_MEMORY = @as(u32, 2097152);
pub const PRINTER_STATUS_DOOR_OPEN = @as(u32, 4194304);
pub const PRINTER_STATUS_SERVER_UNKNOWN = @as(u32, 8388608);
pub const PRINTER_STATUS_POWER_SAVE = @as(u32, 16777216);
pub const PRINTER_STATUS_SERVER_OFFLINE = @as(u32, 33554432);
pub const PRINTER_STATUS_DRIVER_UPDATE_NEEDED = @as(u32, 67108864);
pub const PRINTER_ATTRIBUTE_QUEUED = @as(u32, 1);
pub const PRINTER_ATTRIBUTE_DIRECT = @as(u32, 2);
pub const PRINTER_ATTRIBUTE_DEFAULT = @as(u32, 4);
pub const PRINTER_ATTRIBUTE_SHARED = @as(u32, 8);
pub const PRINTER_ATTRIBUTE_NETWORK = @as(u32, 16);
pub const PRINTER_ATTRIBUTE_HIDDEN = @as(u32, 32);
pub const PRINTER_ATTRIBUTE_LOCAL = @as(u32, 64);
pub const PRINTER_ATTRIBUTE_ENABLE_DEVQ = @as(u32, 128);
pub const PRINTER_ATTRIBUTE_KEEPPRINTEDJOBS = @as(u32, 256);
pub const PRINTER_ATTRIBUTE_DO_COMPLETE_FIRST = @as(u32, 512);
pub const PRINTER_ATTRIBUTE_WORK_OFFLINE = @as(u32, 1024);
pub const PRINTER_ATTRIBUTE_ENABLE_BIDI = @as(u32, 2048);
pub const PRINTER_ATTRIBUTE_RAW_ONLY = @as(u32, 4096);
pub const PRINTER_ATTRIBUTE_PUBLISHED = @as(u32, 8192);
pub const PRINTER_ATTRIBUTE_FAX = @as(u32, 16384);
pub const PRINTER_ATTRIBUTE_TS = @as(u32, 32768);
pub const PRINTER_ATTRIBUTE_PUSHED_USER = @as(u32, 131072);
pub const PRINTER_ATTRIBUTE_PUSHED_MACHINE = @as(u32, 262144);
pub const PRINTER_ATTRIBUTE_MACHINE = @as(u32, 524288);
pub const PRINTER_ATTRIBUTE_FRIENDLY_NAME = @as(u32, 1048576);
pub const PRINTER_ATTRIBUTE_TS_GENERIC_DRIVER = @as(u32, 2097152);
pub const PRINTER_ATTRIBUTE_PER_USER = @as(u32, 4194304);
pub const PRINTER_ATTRIBUTE_ENTERPRISE_CLOUD = @as(u32, 8388608);
pub const NO_PRIORITY = @as(u32, 0);
pub const MAX_PRIORITY = @as(u32, 99);
pub const MIN_PRIORITY = @as(u32, 1);
pub const DEF_PRIORITY = @as(u32, 1);
pub const JOB_CONTROL_PAUSE = @as(u32, 1);
pub const JOB_CONTROL_RESUME = @as(u32, 2);
pub const JOB_CONTROL_CANCEL = @as(u32, 3);
pub const JOB_CONTROL_RESTART = @as(u32, 4);
pub const JOB_CONTROL_DELETE = @as(u32, 5);
pub const JOB_CONTROL_SENT_TO_PRINTER = @as(u32, 6);
pub const JOB_CONTROL_LAST_PAGE_EJECTED = @as(u32, 7);
pub const JOB_CONTROL_RETAIN = @as(u32, 8);
pub const JOB_CONTROL_RELEASE = @as(u32, 9);
pub const JOB_STATUS_PAUSED = @as(u32, 1);
pub const JOB_STATUS_ERROR = @as(u32, 2);
pub const JOB_STATUS_DELETING = @as(u32, 4);
pub const JOB_STATUS_SPOOLING = @as(u32, 8);
pub const JOB_STATUS_PRINTING = @as(u32, 16);
pub const JOB_STATUS_OFFLINE = @as(u32, 32);
pub const JOB_STATUS_PAPEROUT = @as(u32, 64);
pub const JOB_STATUS_PRINTED = @as(u32, 128);
pub const JOB_STATUS_DELETED = @as(u32, 256);
pub const JOB_STATUS_BLOCKED_DEVQ = @as(u32, 512);
pub const JOB_STATUS_USER_INTERVENTION = @as(u32, 1024);
pub const JOB_STATUS_RESTART = @as(u32, 2048);
pub const JOB_STATUS_COMPLETE = @as(u32, 4096);
pub const JOB_STATUS_RETAINED = @as(u32, 8192);
pub const JOB_STATUS_RENDERING_LOCALLY = @as(u32, 16384);
pub const JOB_POSITION_UNSPECIFIED = @as(u32, 0);
pub const PRINTER_DRIVER_PACKAGE_AWARE = @as(u32, 1);
pub const PRINTER_DRIVER_XPS = @as(u32, 2);
pub const PRINTER_DRIVER_SANDBOX_ENABLED = @as(u32, 4);
pub const PRINTER_DRIVER_CLASS = @as(u32, 8);
pub const PRINTER_DRIVER_DERIVED = @as(u32, 16);
pub const PRINTER_DRIVER_NOT_SHAREABLE = @as(u32, 32);
pub const PRINTER_DRIVER_CATEGORY_FAX = @as(u32, 64);
pub const PRINTER_DRIVER_CATEGORY_FILE = @as(u32, 128);
pub const PRINTER_DRIVER_CATEGORY_VIRTUAL = @as(u32, 256);
pub const PRINTER_DRIVER_CATEGORY_SERVICE = @as(u32, 512);
pub const PRINTER_DRIVER_SOFT_RESET_REQUIRED = @as(u32, 1024);
pub const PRINTER_DRIVER_SANDBOX_DISABLED = @as(u32, 2048);
pub const PRINTER_DRIVER_CATEGORY_3D = @as(u32, 4096);
pub const PRINTER_DRIVER_CATEGORY_CLOUD = @as(u32, 8192);
pub const DRIVER_KERNELMODE = @as(u32, 1);
pub const DRIVER_USERMODE = @as(u32, 2);
pub const DPD_DELETE_UNUSED_FILES = @as(u32, 1);
pub const DPD_DELETE_SPECIFIC_VERSION = @as(u32, 2);
pub const DPD_DELETE_ALL_FILES = @as(u32, 4);
pub const APD_STRICT_UPGRADE = @as(u32, 1);
pub const APD_STRICT_DOWNGRADE = @as(u32, 2);
pub const APD_COPY_ALL_FILES = @as(u32, 4);
pub const APD_COPY_NEW_FILES = @as(u32, 8);
pub const APD_COPY_FROM_DIRECTORY = @as(u32, 16);
pub const STRING_NONE = @as(u32, 1);
pub const STRING_MUIDLL = @as(u32, 2);
pub const STRING_LANGPAIR = @as(u32, 4);
pub const MAX_FORM_KEYWORD_LENGTH = @as(u32, 64);
pub const DI_CHANNEL = @as(u32, 1);
pub const DI_READ_SPOOL_JOB = @as(u32, 3);
pub const DI_MEMORYMAP_WRITE = @as(u32, 1);
pub const FORM_USER = @as(u32, 0);
pub const FORM_BUILTIN = @as(u32, 1);
pub const FORM_PRINTER = @as(u32, 2);
pub const PPCAPS_RIGHT_THEN_DOWN = @as(u32, 1);
pub const PPCAPS_BORDER_PRINT = @as(u32, 1);
pub const PPCAPS_BOOKLET_EDGE = @as(u32, 1);
pub const PPCAPS_REVERSE_PAGES_FOR_REVERSE_DUPLEX = @as(u32, 1);
pub const PPCAPS_SQUARE_SCALING = @as(u32, 1);
pub const PORT_TYPE_WRITE = @as(u32, 1);
pub const PORT_TYPE_READ = @as(u32, 2);
pub const PORT_TYPE_REDIRECTED = @as(u32, 4);
pub const PORT_TYPE_NET_ATTACHED = @as(u32, 8);
pub const PORT_STATUS_TYPE_ERROR = @as(u32, 1);
pub const PORT_STATUS_TYPE_WARNING = @as(u32, 2);
pub const PORT_STATUS_TYPE_INFO = @as(u32, 3);
pub const PORT_STATUS_OFFLINE = @as(u32, 1);
pub const PORT_STATUS_PAPER_JAM = @as(u32, 2);
pub const PORT_STATUS_PAPER_OUT = @as(u32, 3);
pub const PORT_STATUS_OUTPUT_BIN_FULL = @as(u32, 4);
pub const PORT_STATUS_PAPER_PROBLEM = @as(u32, 5);
pub const PORT_STATUS_NO_TONER = @as(u32, 6);
pub const PORT_STATUS_DOOR_OPEN = @as(u32, 7);
pub const PORT_STATUS_USER_INTERVENTION = @as(u32, 8);
pub const PORT_STATUS_OUT_OF_MEMORY = @as(u32, 9);
pub const PORT_STATUS_TONER_LOW = @as(u32, 10);
pub const PORT_STATUS_WARMING_UP = @as(u32, 11);
pub const PORT_STATUS_POWER_SAVE = @as(u32, 12);
pub const PRINTER_ENUM_DEFAULT = @as(u32, 1);
pub const PRINTER_ENUM_LOCAL = @as(u32, 2);
pub const PRINTER_ENUM_CONNECTIONS = @as(u32, 4);
pub const PRINTER_ENUM_FAVORITE = @as(u32, 4);
pub const PRINTER_ENUM_NAME = @as(u32, 8);
pub const PRINTER_ENUM_REMOTE = @as(u32, 16);
pub const PRINTER_ENUM_SHARED = @as(u32, 32);
pub const PRINTER_ENUM_NETWORK = @as(u32, 64);
pub const PRINTER_ENUM_EXPAND = @as(u32, 16384);
pub const PRINTER_ENUM_CONTAINER = @as(u32, 32768);
pub const PRINTER_ENUM_ICONMASK = @as(u32, 16711680);
pub const PRINTER_ENUM_ICON1 = @as(u32, 65536);
pub const PRINTER_ENUM_ICON2 = @as(u32, 131072);
pub const PRINTER_ENUM_ICON3 = @as(u32, 262144);
pub const PRINTER_ENUM_ICON4 = @as(u32, 524288);
pub const PRINTER_ENUM_ICON5 = @as(u32, 1048576);
pub const PRINTER_ENUM_ICON6 = @as(u32, 2097152);
pub const PRINTER_ENUM_ICON7 = @as(u32, 4194304);
pub const PRINTER_ENUM_ICON8 = @as(u32, 8388608);
pub const PRINTER_ENUM_HIDE = @as(u32, 16777216);
pub const PRINTER_ENUM_CATEGORY_ALL = @as(u32, 33554432);
pub const PRINTER_ENUM_CATEGORY_3D = @as(u32, 67108864);
pub const SPOOL_FILE_PERSISTENT = @as(u32, 1);
pub const SPOOL_FILE_TEMPORARY = @as(u32, 2);
pub const PRINTER_NOTIFY_TYPE = @as(u32, 0);
pub const JOB_NOTIFY_TYPE = @as(u32, 1);
pub const SERVER_NOTIFY_TYPE = @as(u32, 2);
pub const PRINTER_NOTIFY_FIELD_SERVER_NAME = @as(u32, 0);
pub const PRINTER_NOTIFY_FIELD_PRINTER_NAME = @as(u32, 1);
pub const PRINTER_NOTIFY_FIELD_SHARE_NAME = @as(u32, 2);
pub const PRINTER_NOTIFY_FIELD_PORT_NAME = @as(u32, 3);
pub const PRINTER_NOTIFY_FIELD_DRIVER_NAME = @as(u32, 4);
pub const PRINTER_NOTIFY_FIELD_COMMENT = @as(u32, 5);
pub const PRINTER_NOTIFY_FIELD_LOCATION = @as(u32, 6);
pub const PRINTER_NOTIFY_FIELD_DEVMODE = @as(u32, 7);
pub const PRINTER_NOTIFY_FIELD_SEPFILE = @as(u32, 8);
pub const PRINTER_NOTIFY_FIELD_PRINT_PROCESSOR = @as(u32, 9);
pub const PRINTER_NOTIFY_FIELD_PARAMETERS = @as(u32, 10);
pub const PRINTER_NOTIFY_FIELD_DATATYPE = @as(u32, 11);
pub const PRINTER_NOTIFY_FIELD_SECURITY_DESCRIPTOR = @as(u32, 12);
pub const PRINTER_NOTIFY_FIELD_ATTRIBUTES = @as(u32, 13);
pub const PRINTER_NOTIFY_FIELD_PRIORITY = @as(u32, 14);
pub const PRINTER_NOTIFY_FIELD_DEFAULT_PRIORITY = @as(u32, 15);
pub const PRINTER_NOTIFY_FIELD_START_TIME = @as(u32, 16);
pub const PRINTER_NOTIFY_FIELD_UNTIL_TIME = @as(u32, 17);
pub const PRINTER_NOTIFY_FIELD_STATUS = @as(u32, 18);
pub const PRINTER_NOTIFY_FIELD_STATUS_STRING = @as(u32, 19);
pub const PRINTER_NOTIFY_FIELD_CJOBS = @as(u32, 20);
pub const PRINTER_NOTIFY_FIELD_AVERAGE_PPM = @as(u32, 21);
pub const PRINTER_NOTIFY_FIELD_TOTAL_PAGES = @as(u32, 22);
pub const PRINTER_NOTIFY_FIELD_PAGES_PRINTED = @as(u32, 23);
pub const PRINTER_NOTIFY_FIELD_TOTAL_BYTES = @as(u32, 24);
pub const PRINTER_NOTIFY_FIELD_BYTES_PRINTED = @as(u32, 25);
pub const PRINTER_NOTIFY_FIELD_OBJECT_GUID = @as(u32, 26);
pub const PRINTER_NOTIFY_FIELD_FRIENDLY_NAME = @as(u32, 27);
pub const PRINTER_NOTIFY_FIELD_BRANCH_OFFICE_PRINTING = @as(u32, 28);
pub const JOB_NOTIFY_FIELD_PRINTER_NAME = @as(u32, 0);
pub const JOB_NOTIFY_FIELD_MACHINE_NAME = @as(u32, 1);
pub const JOB_NOTIFY_FIELD_PORT_NAME = @as(u32, 2);
pub const JOB_NOTIFY_FIELD_USER_NAME = @as(u32, 3);
pub const JOB_NOTIFY_FIELD_NOTIFY_NAME = @as(u32, 4);
pub const JOB_NOTIFY_FIELD_DATATYPE = @as(u32, 5);
pub const JOB_NOTIFY_FIELD_PRINT_PROCESSOR = @as(u32, 6);
pub const JOB_NOTIFY_FIELD_PARAMETERS = @as(u32, 7);
pub const JOB_NOTIFY_FIELD_DRIVER_NAME = @as(u32, 8);
pub const JOB_NOTIFY_FIELD_DEVMODE = @as(u32, 9);
pub const JOB_NOTIFY_FIELD_STATUS = @as(u32, 10);
pub const JOB_NOTIFY_FIELD_STATUS_STRING = @as(u32, 11);
pub const JOB_NOTIFY_FIELD_SECURITY_DESCRIPTOR = @as(u32, 12);
pub const JOB_NOTIFY_FIELD_DOCUMENT = @as(u32, 13);
pub const JOB_NOTIFY_FIELD_PRIORITY = @as(u32, 14);
pub const JOB_NOTIFY_FIELD_POSITION = @as(u32, 15);
pub const JOB_NOTIFY_FIELD_SUBMITTED = @as(u32, 16);
pub const JOB_NOTIFY_FIELD_START_TIME = @as(u32, 17);
pub const JOB_NOTIFY_FIELD_UNTIL_TIME = @as(u32, 18);
pub const JOB_NOTIFY_FIELD_TIME = @as(u32, 19);
pub const JOB_NOTIFY_FIELD_TOTAL_PAGES = @as(u32, 20);
pub const JOB_NOTIFY_FIELD_PAGES_PRINTED = @as(u32, 21);
pub const JOB_NOTIFY_FIELD_TOTAL_BYTES = @as(u32, 22);
pub const JOB_NOTIFY_FIELD_BYTES_PRINTED = @as(u32, 23);
pub const JOB_NOTIFY_FIELD_REMOTE_JOB_ID = @as(u32, 24);
pub const SERVER_NOTIFY_FIELD_PRINT_DRIVER_ISOLATION_GROUP = @as(u32, 0);
pub const PRINTER_NOTIFY_CATEGORY_ALL = @as(u32, 4096);
pub const PRINTER_NOTIFY_CATEGORY_3D = @as(u32, 8192);
pub const PRINTER_NOTIFY_OPTIONS_REFRESH = @as(u32, 1);
pub const PRINTER_NOTIFY_INFO_DISCARDED = @as(u32, 1);
pub const BIDI_ACTION_ENUM_SCHEMA = "EnumSchema";
pub const BIDI_ACTION_GET = "Get";
pub const BIDI_ACTION_SET = "Set";
pub const BIDI_ACTION_GET_ALL = "GetAll";
pub const BIDI_ACTION_GET_WITH_ARGUMENT = "GetWithArgument";
pub const BIDI_ACCESS_ADMINISTRATOR = @as(u32, 1);
pub const BIDI_ACCESS_USER = @as(u32, 2);
pub const ERROR_BIDI_STATUS_OK = @as(u32, 0);
pub const ERROR_BIDI_ERROR_BASE = @as(u32, 13000);
pub const ERROR_BIDI_STATUS_WARNING = @as(u32, 13001);
pub const ERROR_BIDI_SCHEMA_READ_ONLY = @as(u32, 13002);
pub const ERROR_BIDI_SERVER_OFFLINE = @as(u32, 13003);
pub const ERROR_BIDI_DEVICE_OFFLINE = @as(u32, 13004);
pub const ERROR_BIDI_SCHEMA_NOT_SUPPORTED = @as(u32, 13005);
pub const ERROR_BIDI_SET_DIFFERENT_TYPE = @as(u32, 13006);
pub const ERROR_BIDI_SET_MULTIPLE_SCHEMAPATH = @as(u32, 13007);
pub const ERROR_BIDI_SET_INVALID_SCHEMAPATH = @as(u32, 13008);
pub const ERROR_BIDI_SET_UNKNOWN_FAILURE = @as(u32, 13009);
pub const ERROR_BIDI_SCHEMA_WRITE_ONLY = @as(u32, 13010);
pub const ERROR_BIDI_GET_REQUIRES_ARGUMENT = @as(u32, 13011);
pub const ERROR_BIDI_GET_ARGUMENT_NOT_SUPPORTED = @as(u32, 13012);
pub const ERROR_BIDI_GET_MISSING_ARGUMENT = @as(u32, 13013);
pub const ERROR_BIDI_DEVICE_CONFIG_UNCHANGED = @as(u32, 13014);
pub const ERROR_BIDI_NO_LOCALIZED_RESOURCES = @as(u32, 13015);
pub const ERROR_BIDI_NO_BIDI_SCHEMA_EXTENSIONS = @as(u32, 13016);
pub const ERROR_BIDI_UNSUPPORTED_CLIENT_LANGUAGE = @as(u32, 13017);
pub const ERROR_BIDI_UNSUPPORTED_RESOURCE_FORMAT = @as(u32, 13018);
pub const PRINTER_CHANGE_ADD_PRINTER = @as(u32, 1);
pub const PRINTER_CHANGE_SET_PRINTER = @as(u32, 2);
pub const PRINTER_CHANGE_DELETE_PRINTER = @as(u32, 4);
pub const PRINTER_CHANGE_FAILED_CONNECTION_PRINTER = @as(u32, 8);
pub const PRINTER_CHANGE_PRINTER = @as(u32, 255);
pub const PRINTER_CHANGE_ADD_JOB = @as(u32, 256);
pub const PRINTER_CHANGE_SET_JOB = @as(u32, 512);
pub const PRINTER_CHANGE_DELETE_JOB = @as(u32, 1024);
pub const PRINTER_CHANGE_WRITE_JOB = @as(u32, 2048);
pub const PRINTER_CHANGE_JOB = @as(u32, 65280);
pub const PRINTER_CHANGE_ADD_FORM = @as(u32, 65536);
pub const PRINTER_CHANGE_SET_FORM = @as(u32, 131072);
pub const PRINTER_CHANGE_DELETE_FORM = @as(u32, 262144);
pub const PRINTER_CHANGE_FORM = @as(u32, 458752);
pub const PRINTER_CHANGE_ADD_PORT = @as(u32, 1048576);
pub const PRINTER_CHANGE_CONFIGURE_PORT = @as(u32, 2097152);
pub const PRINTER_CHANGE_DELETE_PORT = @as(u32, 4194304);
pub const PRINTER_CHANGE_PORT = @as(u32, 7340032);
pub const PRINTER_CHANGE_ADD_PRINT_PROCESSOR = @as(u32, 16777216);
pub const PRINTER_CHANGE_DELETE_PRINT_PROCESSOR = @as(u32, 67108864);
pub const PRINTER_CHANGE_PRINT_PROCESSOR = @as(u32, 117440512);
pub const PRINTER_CHANGE_SERVER = @as(u32, 134217728);
pub const PRINTER_CHANGE_ADD_PRINTER_DRIVER = @as(u32, 268435456);
pub const PRINTER_CHANGE_SET_PRINTER_DRIVER = @as(u32, 536870912);
pub const PRINTER_CHANGE_DELETE_PRINTER_DRIVER = @as(u32, 1073741824);
pub const PRINTER_CHANGE_PRINTER_DRIVER = @as(u32, 1879048192);
pub const PRINTER_CHANGE_TIMEOUT = @as(u32, 2147483648);
pub const PRINTER_CHANGE_ALL = @as(u32, 2138570751);
pub const PRINTER_ERROR_INFORMATION = @as(u32, 2147483648);
pub const PRINTER_ERROR_WARNING = @as(u32, 1073741824);
pub const PRINTER_ERROR_SEVERE = @as(u32, 536870912);
pub const PRINTER_ERROR_OUTOFPAPER = @as(u32, 1);
pub const PRINTER_ERROR_JAM = @as(u32, 2);
pub const PRINTER_ERROR_OUTOFTONER = @as(u32, 4);
pub const SPLREG_DEFAULT_SPOOL_DIRECTORY = "DefaultSpoolDirectory";
pub const SPLREG_PORT_THREAD_PRIORITY_DEFAULT = "PortThreadPriorityDefault";
pub const SPLREG_PORT_THREAD_PRIORITY = "PortThreadPriority";
pub const SPLREG_SCHEDULER_THREAD_PRIORITY_DEFAULT = "SchedulerThreadPriorityDefault";
pub const SPLREG_SCHEDULER_THREAD_PRIORITY = "SchedulerThreadPriority";
pub const SPLREG_BEEP_ENABLED = "BeepEnabled";
pub const SPLREG_NET_POPUP = "NetPopup";
pub const SPLREG_RETRY_POPUP = "RetryPopup";
pub const SPLREG_NET_POPUP_TO_COMPUTER = "NetPopupToComputer";
pub const SPLREG_EVENT_LOG = "EventLog";
pub const SPLREG_MAJOR_VERSION = "MajorVersion";
pub const SPLREG_MINOR_VERSION = "MinorVersion";
pub const SPLREG_ARCHITECTURE = "Architecture";
pub const SPLREG_OS_VERSION = "OSVersion";
pub const SPLREG_OS_VERSIONEX = "OSVersionEx";
pub const SPLREG_DS_PRESENT = "DsPresent";
pub const SPLREG_DS_PRESENT_FOR_USER = "DsPresentForUser";
pub const SPLREG_REMOTE_FAX = "RemoteFax";
pub const SPLREG_RESTART_JOB_ON_POOL_ERROR = "RestartJobOnPoolError";
pub const SPLREG_RESTART_JOB_ON_POOL_ENABLED = "RestartJobOnPoolEnabled";
pub const SPLREG_DNS_MACHINE_NAME = "DNSMachineName";
pub const SPLREG_ALLOW_USER_MANAGEFORMS = "AllowUserManageForms";
pub const SPLREG_WEBSHAREMGMT = "WebShareMgmt";
pub const SPLREG_PRINT_DRIVER_ISOLATION_GROUPS = "PrintDriverIsolationGroups";
pub const SPLREG_PRINT_DRIVER_ISOLATION_TIME_BEFORE_RECYCLE = "PrintDriverIsolationTimeBeforeRecycle";
pub const SPLREG_PRINT_DRIVER_ISOLATION_MAX_OBJECTS_BEFORE_RECYCLE = "PrintDriverIsolationMaxobjsBeforeRecycle";
pub const SPLREG_PRINT_DRIVER_ISOLATION_IDLE_TIMEOUT = "PrintDriverIsolationIdleTimeout";
pub const SPLREG_PRINT_DRIVER_ISOLATION_EXECUTION_POLICY = "PrintDriverIsolationExecutionPolicy";
pub const SPLREG_PRINT_DRIVER_ISOLATION_OVERRIDE_POLICY = "PrintDriverIsolationOverrideCompat";
pub const SPLREG_PRINT_QUEUE_V4_DRIVER_DIRECTORY = "PrintQueueV4DriverDirectory";
pub const JOB_ACCESS_ADMINISTER = @as(u32, 16);
pub const JOB_ACCESS_READ = @as(u32, 32);
pub const SPLDS_SPOOLER_KEY = "DsSpooler";
pub const SPLDS_DRIVER_KEY = "DsDriver";
pub const SPLDS_USER_KEY = "DsUser";
pub const SPLDS_ASSET_NUMBER = "assetNumber";
pub const SPLDS_BYTES_PER_MINUTE = "bytesPerMinute";
pub const SPLDS_DESCRIPTION = "description";
pub const SPLDS_DRIVER_NAME = "driverName";
pub const SPLDS_DRIVER_VERSION = "driverVersion";
pub const SPLDS_LOCATION = "location";
pub const SPLDS_PORT_NAME = "portName";
pub const SPLDS_PRINT_ATTRIBUTES = "printAttributes";
pub const SPLDS_PRINT_BIN_NAMES = "printBinNames";
pub const SPLDS_PRINT_COLLATE = "printCollate";
pub const SPLDS_PRINT_COLOR = "printColor";
pub const SPLDS_PRINT_DUPLEX_SUPPORTED = "printDuplexSupported";
pub const SPLDS_PRINT_END_TIME = "printEndTime";
pub const SPLDS_PRINTER_CLASS = "printQueue";
pub const SPLDS_PRINTER_NAME = "printerName";
pub const SPLDS_PRINT_KEEP_PRINTED_JOBS = "printKeepPrintedJobs";
pub const SPLDS_PRINT_LANGUAGE = "printLanguage";
pub const SPLDS_PRINT_MAC_ADDRESS = "printMACAddress";
pub const SPLDS_PRINT_MAX_X_EXTENT = "printMaxXExtent";
pub const SPLDS_PRINT_MAX_Y_EXTENT = "printMaxYExtent";
pub const SPLDS_PRINT_MAX_RESOLUTION_SUPPORTED = "printMaxResolutionSupported";
pub const SPLDS_PRINT_MEDIA_READY = "printMediaReady";
pub const SPLDS_PRINT_MEDIA_SUPPORTED = "printMediaSupported";
pub const SPLDS_PRINT_MEMORY = "printMemory";
pub const SPLDS_PRINT_MIN_X_EXTENT = "printMinXExtent";
pub const SPLDS_PRINT_MIN_Y_EXTENT = "printMinYExtent";
pub const SPLDS_PRINT_NETWORK_ADDRESS = "printNetworkAddress";
pub const SPLDS_PRINT_NOTIFY = "printNotify";
pub const SPLDS_PRINT_NUMBER_UP = "printNumberUp";
pub const SPLDS_PRINT_ORIENTATIONS_SUPPORTED = "printOrientationsSupported";
pub const SPLDS_PRINT_OWNER = "printOwner";
pub const SPLDS_PRINT_PAGES_PER_MINUTE = "printPagesPerMinute";
pub const SPLDS_PRINT_RATE = "printRate";
pub const SPLDS_PRINT_RATE_UNIT = "printRateUnit";
pub const SPLDS_PRINT_SEPARATOR_FILE = "printSeparatorFile";
pub const SPLDS_PRINT_SHARE_NAME = "printShareName";
pub const SPLDS_PRINT_SPOOLING = "printSpooling";
pub const SPLDS_PRINT_STAPLING_SUPPORTED = "printStaplingSupported";
pub const SPLDS_PRINT_START_TIME = "printStartTime";
pub const SPLDS_PRINT_STATUS = "printStatus";
pub const SPLDS_PRIORITY = "priority";
pub const SPLDS_SERVER_NAME = "serverName";
pub const SPLDS_SHORT_SERVER_NAME = "shortServerName";
pub const SPLDS_UNC_NAME = "uNCName";
pub const SPLDS_URL = "url";
pub const SPLDS_FLAGS = "flags";
pub const SPLDS_VERSION_NUMBER = "versionNumber";
pub const SPLDS_PRINTER_NAME_ALIASES = "printerNameAliases";
pub const SPLDS_PRINTER_LOCATIONS = "printerLocations";
pub const SPLDS_PRINTER_MODEL = "printerModel";
pub const PRINTER_CONNECTION_MISMATCH = @as(u32, 32);
pub const PRINTER_CONNECTION_NO_UI = @as(u32, 64);
pub const IPDFP_COPY_ALL_FILES = @as(u32, 1);
pub const UPDP_SILENT_UPLOAD = @as(u32, 1);
pub const UPDP_UPLOAD_ALWAYS = @as(u32, 2);
pub const UPDP_CHECK_DRIVERSTORE = @as(u32, 4);
pub const MS_PRINT_JOB_OUTPUT_FILE = "MsPrintJobOutputFile";
pub const DISPID_PRINTSCHEMA_ELEMENT = @as(u32, 10000);
pub const DISPID_PRINTSCHEMA_ELEMENT_XMLNODE = @as(u32, 10001);
pub const DISPID_PRINTSCHEMA_ELEMENT_NAME = @as(u32, 10002);
pub const DISPID_PRINTSCHEMA_ELEMENT_NAMESPACEURI = @as(u32, 10003);
pub const DISPID_PRINTSCHEMA_DISPLAYABLEELEMENT = @as(u32, 10100);
pub const DISPID_PRINTSCHEMA_DISPLAYABLEELEMENT_DISPLAYNAME = @as(u32, 10101);
pub const DISPID_PRINTSCHEMA_OPTION = @as(u32, 10200);
pub const DISPID_PRINTSCHEMA_OPTION_SELECTED = @as(u32, 10201);
pub const DISPID_PRINTSCHEMA_OPTION_CONSTRAINED = @as(u32, 10202);
pub const DISPID_PRINTSCHEMA_OPTION_GETPROPERTYVALUE = @as(u32, 10203);
pub const DISPID_PRINTSCHEMA_PAGEMEDIASIZEOPTION = @as(u32, 10300);
pub const DISPID_PRINTSCHEMA_PAGEMEDIASIZEOPTION_WIDTH = @as(u32, 10301);
pub const DISPID_PRINTSCHEMA_PAGEMEDIASIZEOPTION_HEIGHT = @as(u32, 10302);
pub const DISPID_PRINTSCHEMA_NUPOPTION = @as(u32, 10400);
pub const DISPID_PRINTSCHEMA_NUPOPTION_PAGESPERSHEET = @as(u32, 10401);
pub const DISPID_PRINTSCHEMA_OPTIONCOLLECTION = @as(u32, 10500);
pub const DISPID_PRINTSCHEMA_OPTIONCOLLECTION_COUNT = @as(u32, 10501);
pub const DISPID_PRINTSCHEMA_OPTIONCOLLECTION_GETAT = @as(u32, 10502);
pub const DISPID_PRINTSCHEMA_FEATURE = @as(u32, 10600);
pub const DISPID_PRINTSCHEMA_FEATURE_SELECTEDOPTION = @as(u32, 10601);
pub const DISPID_PRINTSCHEMA_FEATURE_SELECTIONTYPE = @as(u32, 10602);
pub const DISPID_PRINTSCHEMA_FEATURE_GETOPTION = @as(u32, 10603);
pub const DISPID_PRINTSCHEMA_FEATURE_DISPLAYUI = @as(u32, 10604);
pub const DISPID_PRINTSCHEMA_PAGEIMAGEABLESIZE = @as(u32, 10700);
pub const DISPID_PRINTSCHEMA_PAGEIMAGEABLESIZE_IMAGEABLE_WIDTH = @as(u32, 10701);
pub const DISPID_PRINTSCHEMA_PAGEIMAGEABLESIZE_IMAGEABLE_HEIGHT = @as(u32, 10702);
pub const DISPID_PRINTSCHEMA_PAGEIMAGEABLESIZE_ORIGIN_WIDTH = @as(u32, 10703);
pub const DISPID_PRINTSCHEMA_PAGEIMAGEABLESIZE_ORIGIN_HEIGHT = @as(u32, 10704);
pub const DISPID_PRINTSCHEMA_PAGEIMAGEABLESIZE_EXTENT_WIDTH = @as(u32, 10705);
pub const DISPID_PRINTSCHEMA_PAGEIMAGEABLESIZE_EXTENT_HEIGHT = @as(u32, 10706);
pub const DISPID_PRINTSCHEMA_CAPABILITIES = @as(u32, 10800);
pub const DISPID_PRINTSCHEMA_CAPABILITIES_GETFEATURE_KEYNAME = @as(u32, 10801);
pub const DISPID_PRINTSCHEMA_CAPABILITIES_GETFEATURE = @as(u32, 10802);
pub const DISPID_PRINTSCHEMA_CAPABILITIES_PAGEIMAGEABLESIZE = @as(u32, 10803);
pub const DISPID_PRINTSCHEMA_CAPABILITIES_JOBCOPIESMINVALUE = @as(u32, 10804);
pub const DISPID_PRINTSCHEMA_CAPABILITIES_JOBCOPIESMAXVALUE = @as(u32, 10805);
pub const DISPID_PRINTSCHEMA_CAPABILITIES_GETSELECTEDOPTION = @as(u32, 10806);
pub const DISPID_PRINTSCHEMA_CAPABILITIES_GETOPTIONS = @as(u32, 10807);
pub const DISPID_PRINTSCHEMA_CAPABILITIES_GETPARAMETERDEFINITION = @as(u32, 10808);
pub const DISPID_PRINTSCHEMA_ASYNCOPERATION = @as(u32, 10900);
pub const DISPID_PRINTSCHEMA_ASYNCOPERATION_START = @as(u32, 10901);
pub const DISPID_PRINTSCHEMA_ASYNCOPERATION_CANCEL = @as(u32, 10902);
pub const DISPID_PRINTSCHEMA_TICKET = @as(u32, 11000);
pub const DISPID_PRINTSCHEMA_TICKET_GETFEATURE_KEYNAME = @as(u32, 11001);
pub const DISPID_PRINTSCHEMA_TICKET_GETFEATURE = @as(u32, 11002);
pub const DISPID_PRINTSCHEMA_TICKET_VALIDATEASYNC = @as(u32, 11003);
pub const DISPID_PRINTSCHEMA_TICKET_COMMITASYNC = @as(u32, 11004);
pub const DISPID_PRINTSCHEMA_TICKET_NOTIFYXMLCHANGED = @as(u32, 11005);
pub const DISPID_PRINTSCHEMA_TICKET_GETCAPABILITIES = @as(u32, 11006);
pub const DISPID_PRINTSCHEMA_TICKET_JOBCOPIESALLDOCUMENTS = @as(u32, 11007);
pub const DISPID_PRINTSCHEMA_TICKET_GETPARAMETERINITIALIZER = @as(u32, 11008);
pub const DISPID_PRINTSCHEMA_ASYNCOPERATIONEVENT = @as(u32, 11100);
pub const DISPID_PRINTSCHEMA_ASYNCOPERATIONEVENT_COMPLETED = @as(u32, 11101);
pub const DISPID_PRINTERSCRIPTABLESEQUENTIALSTREAM = @as(u32, 11200);
pub const DISPID_PRINTERSCRIPTABLESEQUENTIALSTREAM_READ = @as(u32, 11201);
pub const DISPID_PRINTERSCRIPTABLESEQUENTIALSTREAM_WRITE = @as(u32, 11202);
pub const DISPID_PRINTERSCRIPTABLESTREAM = @as(u32, 11300);
pub const DISPID_PRINTERSCRIPTABLESTREAM_COMMIT = @as(u32, 11301);
pub const DISPID_PRINTERSCRIPTABLESTREAM_SEEK = @as(u32, 11302);
pub const DISPID_PRINTERSCRIPTABLESTREAM_SETSIZE = @as(u32, 11303);
pub const DISPID_PRINTERPROPERTYBAG = @as(u32, 11400);
pub const DISPID_PRINTERPROPERTYBAG_GETBOOL = @as(u32, 11401);
pub const DISPID_PRINTERPROPERTYBAG_SETBOOL = @as(u32, 11402);
pub const DISPID_PRINTERPROPERTYBAG_GETINT32 = @as(u32, 11403);
pub const DISPID_PRINTERPROPERTYBAG_SETINT32 = @as(u32, 11404);
pub const DISPID_PRINTERPROPERTYBAG_GETSTRING = @as(u32, 11405);
pub const DISPID_PRINTERPROPERTYBAG_SETSTRING = @as(u32, 11406);
pub const DISPID_PRINTERPROPERTYBAG_GETBYTES = @as(u32, 11407);
pub const DISPID_PRINTERPROPERTYBAG_SETBYTES = @as(u32, 11408);
pub const DISPID_PRINTERPROPERTYBAG_GETREADSTREAM = @as(u32, 11409);
pub const DISPID_PRINTERPROPERTYBAG_GETWRITESTREAM = @as(u32, 11410);
pub const DISPID_PRINTERSCRIPTABLEPROPERTYBAG_GETSTREAMASXML = @as(u32, 11411);
pub const DISPID_PRINTERSCRIPTABLEPROPERTYBAG = @as(u32, 11500);
pub const DISPID_PRINTERSCRIPTABLEPROPERTYBAG_GETBOOL = @as(u32, 11501);
pub const DISPID_PRINTERSCRIPTABLEPROPERTYBAG_SETBOOL = @as(u32, 11502);
pub const DISPID_PRINTERSCRIPTABLEPROPERTYBAG_GETINT32 = @as(u32, 11503);
pub const DISPID_PRINTERSCRIPTABLEPROPERTYBAG_SETINT32 = @as(u32, 11504);
pub const DISPID_PRINTERSCRIPTABLEPROPERTYBAG_GETSTRING = @as(u32, 11505);
pub const DISPID_PRINTERSCRIPTABLEPROPERTYBAG_SETSTRING = @as(u32, 11506);
pub const DISPID_PRINTERSCRIPTABLEPROPERTYBAG_GETBYTES = @as(u32, 11507);
pub const DISPID_PRINTERSCRIPTABLEPROPERTYBAG_SETBYTES = @as(u32, 11508);
pub const DISPID_PRINTERSCRIPTABLEPROPERTYBAG_GETREADSTREAM = @as(u32, 11509);
pub const DISPID_PRINTERSCRIPTABLEPROPERTYBAG_GETWRITESTREAM = @as(u32, 11510);
pub const DISPID_PRINTERQUEUE = @as(u32, 11600);
pub const DISPID_PRINTERQUEUE_HANDLE = @as(u32, 11601);
pub const DISPID_PRINTERQUEUE_NAME = @as(u32, 11602);
pub const DISPID_PRINTERQUEUE_SENDBIDIQUERY = @as(u32, 11603);
pub const DISPID_PRINTERQUEUE_GETPROPERTIES = @as(u32, 11604);
pub const DISPID_PRINTERQUEUE_SENDBIDISETREQUESTASYNC = @as(u32, 11605);
pub const DISPID_PRINTERQUEUE_GETPRINTERQUEUEVIEW = @as(u32, 11606);
pub const DISPID_PRINTERQUEUEEVENT = @as(u32, 11700);
pub const DISPID_PRINTERQUEUEEVENT_ONBIDIRESPONSERECEIVED = @as(u32, 11701);
pub const DISPID_PRINTEREXTENSION_CONTEXT = @as(u32, 11800);
pub const DISPID_PRINTEREXTENSION_CONTEXT_PRINTERQUEUE = @as(u32, 11801);
pub const DISPID_PRINTEREXTENSION_CONTEXT_PRINTSCHEMATICKET = @as(u32, 11802);
pub const DISPID_PRINTEREXTENSION_CONTEXT_DRIVERPROPERTIES = @as(u32, 11803);
pub const DISPID_PRINTEREXTENSION_CONTEXT_USERPROPERTIES = @as(u32, 11804);
pub const DISPID_PRINTEREXTENSION_REQUEST = @as(u32, 11900);
pub const DISPID_PRINTEREXTENSION_REQUEST_CANCEL = @as(u32, 11901);
pub const DISPID_PRINTEREXTENSION_REQUEST_COMPLETE = @as(u32, 11902);
pub const DISPID_PRINTEREXTENSION_EVENTARGS = @as(u32, 12000);
pub const DISPID_PRINTEREXTENSION_EVENTARGS_BIDINOTIFICATION = @as(u32, 12001);
pub const DISPID_PRINTEREXTENSION_EVENTARGS_REASONID = @as(u32, 12002);
pub const DISPID_PRINTEREXTENSION_EVENTARGS_REQUEST = @as(u32, 12003);
pub const DISPID_PRINTEREXTENSION_EVENTARGS_SOURCEAPPLICATION = @as(u32, 12004);
pub const DISPID_PRINTEREXTENSION_EVENTARGS_DETAILEDREASONID = @as(u32, 12005);
pub const DISPID_PRINTEREXTENSION_EVENTARGS_WINDOWMODAL = @as(u32, 12006);
pub const DISPID_PRINTEREXTENSION_EVENTARGS_WINDOWPARENT = @as(u32, 12007);
pub const DISPID_PRINTEREXTENSION_CONTEXTCOLLECTION = @as(u32, 12100);
pub const DISPID_PRINTEREXTENSION_CONTEXTCOLLECTION_COUNT = @as(u32, 12101);
pub const DISPID_PRINTEREXTENSION_CONTEXTCOLLECTION_GETAT = @as(u32, 12102);
pub const DISPID_PRINTEREXTENSION_EVENT = @as(u32, 12200);
pub const DISPID_PRINTEREXTENSION_EVENT_ONDRIVEREVENT = @as(u32, 12201);
pub const DISPID_PRINTEREXTENSION_EVENT_ONPRINTERQUEUESENUMERATED = @as(u32, 12202);
pub const DISPID_PRINTERSCRIPTCONTEXT = @as(u32, 12300);
pub const DISPID_PRINTERSCRIPTCONTEXT_DRIVERPROPERTIES = @as(u32, 12301);
pub const DISPID_PRINTERSCRIPTCONTEXT_QUEUEPROPERTIES = @as(u32, 12302);
pub const DISPID_PRINTERSCRIPTCONTEXT_USERPROPERTIES = @as(u32, 12303);
pub const DISPID_PRINTSCHEMA_PARAMETERINITIALIZER = @as(u32, 12400);
pub const DISPID_PRINTSCHEMA_PARAMETERINITIALIZER_VALUE = @as(u32, 12401);
pub const DISPID_PRINTSCHEMA_PARAMETERDEFINITION = @as(u32, 12500);
pub const DISPID_PRINTSCHEMA_PARAMETERDEFINITION_USERINPUTREQUIRED = @as(u32, 12501);
pub const DISPID_PRINTSCHEMA_PARAMETERDEFINITION_UNITTYPE = @as(u32, 12502);
pub const DISPID_PRINTSCHEMA_PARAMETERDEFINITION_DATATYPE = @as(u32, 12503);
pub const DISPID_PRINTSCHEMA_PARAMETERDEFINITION_RANGEMIN = @as(u32, 12504);
pub const DISPID_PRINTSCHEMA_PARAMETERDEFINITION_RANGEMAX = @as(u32, 12505);
pub const DISPID_PRINTJOBCOLLECTION = @as(u32, 12600);
pub const DISPID_PRINTJOBCOLLECTION_COUNT = @as(u32, 12601);
pub const DISPID_PRINTJOBCOLLECTION_GETAT = @as(u32, 12602);
pub const DISPID_PRINTERQUEUEVIEW = @as(u32, 12700);
pub const DISPID_PRINTERQUEUEVIEW_SETVIEWRANGE = @as(u32, 12701);
pub const DISPID_PRINTERQUEUEVIEW_EVENT = @as(u32, 12800);
pub const DISPID_PRINTERQUEUEVIEW_EVENT_ONCHANGED = @as(u32, 12801);
pub const NOTIFICATION_RELEASE = Guid.initString("ba9a5027-a70e-4ae7-9b7d-eb3e06ad4157");
pub const PRINT_APP_BIDI_NOTIFY_CHANNEL = Guid.initString("2abad223-b994-4aca-82fc-4571b1b585ac");
pub const PRINT_PORT_MONITOR_NOTIFY_CHANNEL = Guid.initString("25df3b0e-74a9-47f5-80ce-79b4b1eb5c58");
pub const GUID_DEVINTERFACE_USBPRINT = Guid.initString("28d78fad-5a12-11d1-ae5b-0000f803a8c2");
pub const GUID_DEVINTERFACE_IPPUSB_PRINT = Guid.initString("f2f40381-f46d-4e51-bce7-62de6cf2d098");
pub const CLSID_XPSRASTERIZER_FACTORY = Guid.initString("503e79bf-1d09-4764-9d72-1eb0c65967c6");
//--------------------------------------------------------------------------------
// Section: Types (339)
//--------------------------------------------------------------------------------
pub const PRINTER_ACCESS_RIGHTS = enum(u32) {
PRINTER_ALL_ACCESS = 983052,
PRINTER_READ = 131080,
// PRINTER_WRITE = 131080, this enum value conflicts with PRINTER_READ
// PRINTER_EXECUTE = 131080, this enum value conflicts with PRINTER_READ
SERVER_ALL_ACCESS = 983043,
SERVER_READ = 131074,
SERVER_WRITE = 131075,
// SERVER_EXECUTE = 131074, this enum value conflicts with SERVER_READ
PRINTER_DELETE = 65536,
PRINTER_READ_CONTROL = 131072,
PRINTER_WRITE_DAC = 262144,
PRINTER_WRITE_OWNER = 524288,
PRINTER_SYNCHRONIZE = 1048576,
PRINTER_STANDARD_RIGHTS_REQUIRED = 983040,
// PRINTER_STANDARD_RIGHTS_READ = 131072, this enum value conflicts with PRINTER_READ_CONTROL
// PRINTER_STANDARD_RIGHTS_WRITE = 131072, this enum value conflicts with PRINTER_READ_CONTROL
// PRINTER_STANDARD_RIGHTS_EXECUTE = 131072, this enum value conflicts with PRINTER_READ_CONTROL
SERVER_ACCESS_ADMINISTER = 1,
SERVER_ACCESS_ENUMERATE = 2,
PRINTER_ACCESS_ADMINISTER = 4,
PRINTER_ACCESS_USE = 8,
PRINTER_ACCESS_MANAGE_LIMITED = 64,
_,
pub fn initFlags(o: struct {
PRINTER_ALL_ACCESS: u1 = 0,
PRINTER_READ: u1 = 0,
SERVER_ALL_ACCESS: u1 = 0,
SERVER_READ: u1 = 0,
SERVER_WRITE: u1 = 0,
PRINTER_DELETE: u1 = 0,
PRINTER_READ_CONTROL: u1 = 0,
PRINTER_WRITE_DAC: u1 = 0,
PRINTER_WRITE_OWNER: u1 = 0,
PRINTER_SYNCHRONIZE: u1 = 0,
PRINTER_STANDARD_RIGHTS_REQUIRED: u1 = 0,
SERVER_ACCESS_ADMINISTER: u1 = 0,
SERVER_ACCESS_ENUMERATE: u1 = 0,
PRINTER_ACCESS_ADMINISTER: u1 = 0,
PRINTER_ACCESS_USE: u1 = 0,
PRINTER_ACCESS_MANAGE_LIMITED: u1 = 0,
}) PRINTER_ACCESS_RIGHTS {
return @as(PRINTER_ACCESS_RIGHTS, @enumFromInt(
(if (o.PRINTER_ALL_ACCESS == 1) @intFromEnum(PRINTER_ACCESS_RIGHTS.PRINTER_ALL_ACCESS) else 0)
| (if (o.PRINTER_READ == 1) @intFromEnum(PRINTER_ACCESS_RIGHTS.PRINTER_READ) else 0)
| (if (o.SERVER_ALL_ACCESS == 1) @intFromEnum(PRINTER_ACCESS_RIGHTS.SERVER_ALL_ACCESS) else 0)
| (if (o.SERVER_READ == 1) @intFromEnum(PRINTER_ACCESS_RIGHTS.SERVER_READ) else 0)
| (if (o.SERVER_WRITE == 1) @intFromEnum(PRINTER_ACCESS_RIGHTS.SERVER_WRITE) else 0)
| (if (o.PRINTER_DELETE == 1) @intFromEnum(PRINTER_ACCESS_RIGHTS.PRINTER_DELETE) else 0)
| (if (o.PRINTER_READ_CONTROL == 1) @intFromEnum(PRINTER_ACCESS_RIGHTS.PRINTER_READ_CONTROL) else 0)
| (if (o.PRINTER_WRITE_DAC == 1) @intFromEnum(PRINTER_ACCESS_RIGHTS.PRINTER_WRITE_DAC) else 0)
| (if (o.PRINTER_WRITE_OWNER == 1) @intFromEnum(PRINTER_ACCESS_RIGHTS.PRINTER_WRITE_OWNER) else 0)
| (if (o.PRINTER_SYNCHRONIZE == 1) @intFromEnum(PRINTER_ACCESS_RIGHTS.PRINTER_SYNCHRONIZE) else 0)
| (if (o.PRINTER_STANDARD_RIGHTS_REQUIRED == 1) @intFromEnum(PRINTER_ACCESS_RIGHTS.PRINTER_STANDARD_RIGHTS_REQUIRED) else 0)
| (if (o.SERVER_ACCESS_ADMINISTER == 1) @intFromEnum(PRINTER_ACCESS_RIGHTS.SERVER_ACCESS_ADMINISTER) else 0)
| (if (o.SERVER_ACCESS_ENUMERATE == 1) @intFromEnum(PRINTER_ACCESS_RIGHTS.SERVER_ACCESS_ENUMERATE) else 0)
| (if (o.PRINTER_ACCESS_ADMINISTER == 1) @intFromEnum(PRINTER_ACCESS_RIGHTS.PRINTER_ACCESS_ADMINISTER) else 0)
| (if (o.PRINTER_ACCESS_USE == 1) @intFromEnum(PRINTER_ACCESS_RIGHTS.PRINTER_ACCESS_USE) else 0)
| (if (o.PRINTER_ACCESS_MANAGE_LIMITED == 1) @intFromEnum(PRINTER_ACCESS_RIGHTS.PRINTER_ACCESS_MANAGE_LIMITED) else 0)
));
}
};
pub const PRINTER_ALL_ACCESS = PRINTER_ACCESS_RIGHTS.PRINTER_ALL_ACCESS;
pub const PRINTER_READ = PRINTER_ACCESS_RIGHTS.PRINTER_READ;
pub const PRINTER_WRITE = PRINTER_ACCESS_RIGHTS.PRINTER_READ;
pub const PRINTER_EXECUTE = PRINTER_ACCESS_RIGHTS.PRINTER_READ;
pub const SERVER_ALL_ACCESS = PRINTER_ACCESS_RIGHTS.SERVER_ALL_ACCESS;
pub const SERVER_READ = PRINTER_ACCESS_RIGHTS.SERVER_READ;
pub const SERVER_WRITE = PRINTER_ACCESS_RIGHTS.SERVER_WRITE;
pub const SERVER_EXECUTE = PRINTER_ACCESS_RIGHTS.SERVER_READ;
pub const PRINTER_DELETE = PRINTER_ACCESS_RIGHTS.PRINTER_DELETE;
pub const PRINTER_READ_CONTROL = PRINTER_ACCESS_RIGHTS.PRINTER_READ_CONTROL;
pub const PRINTER_WRITE_DAC = PRINTER_ACCESS_RIGHTS.PRINTER_WRITE_DAC;
pub const PRINTER_WRITE_OWNER = PRINTER_ACCESS_RIGHTS.PRINTER_WRITE_OWNER;
pub const PRINTER_SYNCHRONIZE = PRINTER_ACCESS_RIGHTS.PRINTER_SYNCHRONIZE;
pub const PRINTER_STANDARD_RIGHTS_REQUIRED = PRINTER_ACCESS_RIGHTS.PRINTER_STANDARD_RIGHTS_REQUIRED;
pub const PRINTER_STANDARD_RIGHTS_READ = PRINTER_ACCESS_RIGHTS.PRINTER_READ_CONTROL;
pub const PRINTER_STANDARD_RIGHTS_WRITE = PRINTER_ACCESS_RIGHTS.PRINTER_READ_CONTROL;
pub const PRINTER_STANDARD_RIGHTS_EXECUTE = PRINTER_ACCESS_RIGHTS.PRINTER_READ_CONTROL;
pub const SERVER_ACCESS_ADMINISTER = PRINTER_ACCESS_RIGHTS.SERVER_ACCESS_ADMINISTER;
pub const SERVER_ACCESS_ENUMERATE = PRINTER_ACCESS_RIGHTS.SERVER_ACCESS_ENUMERATE;
pub const PRINTER_ACCESS_ADMINISTER = PRINTER_ACCESS_RIGHTS.PRINTER_ACCESS_ADMINISTER;
pub const PRINTER_ACCESS_USE = PRINTER_ACCESS_RIGHTS.PRINTER_ACCESS_USE;
pub const PRINTER_ACCESS_MANAGE_LIMITED = PRINTER_ACCESS_RIGHTS.PRINTER_ACCESS_MANAGE_LIMITED;
const CLSID_BidiRequest_Value = Guid.initString("b9162a23-45f9-47cc-80f5-fe0fe9b9e1a2");
pub const CLSID_BidiRequest = &CLSID_BidiRequest_Value;
const CLSID_BidiRequestContainer_Value = Guid.initString("fc5b8a24-db05-4a01-8388-22edf6c2bbba");
pub const CLSID_BidiRequestContainer = &CLSID_BidiRequestContainer_Value;
const CLSID_BidiSpl_Value = Guid.initString("2a614240-a4c5-4c33-bd87-1bc709331639");
pub const CLSID_BidiSpl = &CLSID_BidiSpl_Value;
const IID_IBidiRequest_Value = Guid.initString("8f348bd7-4b47-4755-8a9d-0f422df3dc89");
pub const IID_IBidiRequest = &IID_IBidiRequest_Value;
pub const IBidiRequest = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
SetSchema: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IBidiRequest,
pszSchema: ?[*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IBidiRequest,
pszSchema: ?[*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
SetInputData: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IBidiRequest,
dwType: u32,
pData: ?*const u8,
uSize: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IBidiRequest,
dwType: u32,
pData: ?*const u8,
uSize: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetResult: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IBidiRequest,
phr: ?*HRESULT,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IBidiRequest,
phr: ?*HRESULT,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetOutputData: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IBidiRequest,
dwIndex: u32,
ppszSchema: ?*?PWSTR,
pdwType: ?*u32,
ppData: ?*?*u8,
uSize: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IBidiRequest,
dwIndex: u32,
ppszSchema: ?*?PWSTR,
pdwType: ?*u32,
ppData: ?*?*u8,
uSize: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetEnumCount: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IBidiRequest,
pdwTotal: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IBidiRequest,
pdwTotal: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IUnknown.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IBidiRequest_SetSchema(self: *const T, pszSchema: ?[*:0]const u16) callconv(.Inline) HRESULT {
return @as(*const IBidiRequest.VTable, @ptrCast(self.vtable)).SetSchema(@as(*const IBidiRequest, @ptrCast(self)), pszSchema);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IBidiRequest_SetInputData(self: *const T, dwType: u32, pData: ?*const u8, uSize: u32) callconv(.Inline) HRESULT {
return @as(*const IBidiRequest.VTable, @ptrCast(self.vtable)).SetInputData(@as(*const IBidiRequest, @ptrCast(self)), dwType, pData, uSize);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IBidiRequest_GetResult(self: *const T, phr: ?*HRESULT) callconv(.Inline) HRESULT {
return @as(*const IBidiRequest.VTable, @ptrCast(self.vtable)).GetResult(@as(*const IBidiRequest, @ptrCast(self)), phr);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IBidiRequest_GetOutputData(self: *const T, dwIndex: u32, ppszSchema: ?*?PWSTR, pdwType: ?*u32, ppData: ?*?*u8, uSize: ?*u32) callconv(.Inline) HRESULT {
return @as(*const IBidiRequest.VTable, @ptrCast(self.vtable)).GetOutputData(@as(*const IBidiRequest, @ptrCast(self)), dwIndex, ppszSchema, pdwType, ppData, uSize);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IBidiRequest_GetEnumCount(self: *const T, pdwTotal: ?*u32) callconv(.Inline) HRESULT {
return @as(*const IBidiRequest.VTable, @ptrCast(self.vtable)).GetEnumCount(@as(*const IBidiRequest, @ptrCast(self)), pdwTotal);
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IBidiRequestContainer_Value = Guid.initString("d752f6c0-94a8-4275-a77d-8f1d1a1121ae");
pub const IID_IBidiRequestContainer = &IID_IBidiRequestContainer_Value;
pub const IBidiRequestContainer = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
AddRequest: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IBidiRequestContainer,
pRequest: ?*IBidiRequest,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IBidiRequestContainer,
pRequest: ?*IBidiRequest,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetEnumObject: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IBidiRequestContainer,
ppenum: ?*?*IEnumUnknown,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IBidiRequestContainer,
ppenum: ?*?*IEnumUnknown,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetRequestCount: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IBidiRequestContainer,
puCount: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IBidiRequestContainer,
puCount: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IUnknown.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IBidiRequestContainer_AddRequest(self: *const T, pRequest: ?*IBidiRequest) callconv(.Inline) HRESULT {
return @as(*const IBidiRequestContainer.VTable, @ptrCast(self.vtable)).AddRequest(@as(*const IBidiRequestContainer, @ptrCast(self)), pRequest);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IBidiRequestContainer_GetEnumObject(self: *const T, ppenum: ?*?*IEnumUnknown) callconv(.Inline) HRESULT {
return @as(*const IBidiRequestContainer.VTable, @ptrCast(self.vtable)).GetEnumObject(@as(*const IBidiRequestContainer, @ptrCast(self)), ppenum);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IBidiRequestContainer_GetRequestCount(self: *const T, puCount: ?*u32) callconv(.Inline) HRESULT {
return @as(*const IBidiRequestContainer.VTable, @ptrCast(self.vtable)).GetRequestCount(@as(*const IBidiRequestContainer, @ptrCast(self)), puCount);
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IBidiSpl_Value = Guid.initString("d580dc0e-de39-4649-baa8-bf0b85a03a97");
pub const IID_IBidiSpl = &IID_IBidiSpl_Value;
pub const IBidiSpl = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
BindDevice: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IBidiSpl,
pszDeviceName: ?[*:0]const u16,
dwAccess: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IBidiSpl,
pszDeviceName: ?[*:0]const u16,
dwAccess: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
UnbindDevice: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IBidiSpl,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IBidiSpl,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
SendRecv: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IBidiSpl,
pszAction: ?[*:0]const u16,
pRequest: ?*IBidiRequest,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IBidiSpl,
pszAction: ?[*:0]const u16,
pRequest: ?*IBidiRequest,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
MultiSendRecv: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IBidiSpl,
pszAction: ?[*:0]const u16,
pRequestContainer: ?*IBidiRequestContainer,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IBidiSpl,
pszAction: ?[*:0]const u16,
pRequestContainer: ?*IBidiRequestContainer,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IUnknown.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IBidiSpl_BindDevice(self: *const T, pszDeviceName: ?[*:0]const u16, dwAccess: u32) callconv(.Inline) HRESULT {
return @as(*const IBidiSpl.VTable, @ptrCast(self.vtable)).BindDevice(@as(*const IBidiSpl, @ptrCast(self)), pszDeviceName, dwAccess);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IBidiSpl_UnbindDevice(self: *const T) callconv(.Inline) HRESULT {
return @as(*const IBidiSpl.VTable, @ptrCast(self.vtable)).UnbindDevice(@as(*const IBidiSpl, @ptrCast(self)));
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IBidiSpl_SendRecv(self: *const T, pszAction: ?[*:0]const u16, pRequest: ?*IBidiRequest) callconv(.Inline) HRESULT {
return @as(*const IBidiSpl.VTable, @ptrCast(self.vtable)).SendRecv(@as(*const IBidiSpl, @ptrCast(self)), pszAction, pRequest);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IBidiSpl_MultiSendRecv(self: *const T, pszAction: ?[*:0]const u16, pRequestContainer: ?*IBidiRequestContainer) callconv(.Inline) HRESULT {
return @as(*const IBidiSpl.VTable, @ptrCast(self.vtable)).MultiSendRecv(@as(*const IBidiSpl, @ptrCast(self)), pszAction, pRequestContainer);
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IBidiSpl2_Value = Guid.initString("0e8f51b8-8273-4906-8e7b-be453ffd2e2b");
pub const IID_IBidiSpl2 = &IID_IBidiSpl2_Value;
pub const IBidiSpl2 = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
BindDevice: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IBidiSpl2,
pszDeviceName: ?[*:0]const u16,
dwAccess: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IBidiSpl2,
pszDeviceName: ?[*:0]const u16,
dwAccess: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
UnbindDevice: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IBidiSpl2,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IBidiSpl2,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
SendRecvXMLString: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IBidiSpl2,
bstrRequest: ?BSTR,
pbstrResponse: ?*?BSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IBidiSpl2,
bstrRequest: ?BSTR,
pbstrResponse: ?*?BSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
SendRecvXMLStream: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IBidiSpl2,
pSRequest: ?*IStream,
ppSResponse: ?*?*IStream,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IBidiSpl2,
pSRequest: ?*IStream,
ppSResponse: ?*?*IStream,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IUnknown.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IBidiSpl2_BindDevice(self: *const T, pszDeviceName: ?[*:0]const u16, dwAccess: u32) callconv(.Inline) HRESULT {
return @as(*const IBidiSpl2.VTable, @ptrCast(self.vtable)).BindDevice(@as(*const IBidiSpl2, @ptrCast(self)), pszDeviceName, dwAccess);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IBidiSpl2_UnbindDevice(self: *const T) callconv(.Inline) HRESULT {
return @as(*const IBidiSpl2.VTable, @ptrCast(self.vtable)).UnbindDevice(@as(*const IBidiSpl2, @ptrCast(self)));
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IBidiSpl2_SendRecvXMLString(self: *const T, bstrRequest: ?BSTR, pbstrResponse: ?*?BSTR) callconv(.Inline) HRESULT {
return @as(*const IBidiSpl2.VTable, @ptrCast(self.vtable)).SendRecvXMLString(@as(*const IBidiSpl2, @ptrCast(self)), bstrRequest, pbstrResponse);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IBidiSpl2_SendRecvXMLStream(self: *const T, pSRequest: ?*IStream, ppSResponse: ?*?*IStream) callconv(.Inline) HRESULT {
return @as(*const IBidiSpl2.VTable, @ptrCast(self.vtable)).SendRecvXMLStream(@as(*const IBidiSpl2, @ptrCast(self)), pSRequest, ppSResponse);
}
};}
pub usingnamespace MethodMixin(@This());
};
pub const __MIDL___MIDL_itf_imgerror_0000_0000_0001 = extern struct {
description: ?BSTR,
guid: Guid,
helpContext: u32,
helpFile: ?BSTR,
source: ?BSTR,
devDescription: ?BSTR,
errorID: Guid,
cUserParameters: u32,
aUserParameters: ?*?BSTR,
userFallback: ?BSTR,
exceptionID: u32,
};
const IID_IImgErrorInfo_Value = Guid.initString("2bce4ece-d30e-445a-9423-6829be945ad8");
pub const IID_IImgErrorInfo = &IID_IImgErrorInfo_Value;
pub const IImgErrorInfo = extern struct {
pub const VTable = extern struct {
base: IErrorInfo.VTable,
GetDeveloperDescription: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IImgErrorInfo,
pbstrDevDescription: ?*?BSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IImgErrorInfo,
pbstrDevDescription: ?*?BSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetUserErrorId: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IImgErrorInfo,
pErrorId: ?*Guid,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IImgErrorInfo,
pErrorId: ?*Guid,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetUserParameterCount: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IImgErrorInfo,
pcUserParams: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IImgErrorInfo,
pcUserParams: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetUserParameter: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IImgErrorInfo,
cParam: u32,
pbstrParam: ?*?BSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IImgErrorInfo,
cParam: u32,
pbstrParam: ?*?BSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetUserFallback: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IImgErrorInfo,
pbstrFallback: ?*?BSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IImgErrorInfo,
pbstrFallback: ?*?BSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetExceptionId: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IImgErrorInfo,
pExceptionId: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IImgErrorInfo,
pExceptionId: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
DetachErrorInfo: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IImgErrorInfo,
pErrorInfo: ?*__MIDL___MIDL_itf_imgerror_0000_0000_0001,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IImgErrorInfo,
pErrorInfo: ?*__MIDL___MIDL_itf_imgerror_0000_0000_0001,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IErrorInfo.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IImgErrorInfo_GetDeveloperDescription(self: *const T, pbstrDevDescription: ?*?BSTR) callconv(.Inline) HRESULT {
return @as(*const IImgErrorInfo.VTable, @ptrCast(self.vtable)).GetDeveloperDescription(@as(*const IImgErrorInfo, @ptrCast(self)), pbstrDevDescription);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IImgErrorInfo_GetUserErrorId(self: *const T, pErrorId: ?*Guid) callconv(.Inline) HRESULT {
return @as(*const IImgErrorInfo.VTable, @ptrCast(self.vtable)).GetUserErrorId(@as(*const IImgErrorInfo, @ptrCast(self)), pErrorId);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IImgErrorInfo_GetUserParameterCount(self: *const T, pcUserParams: ?*u32) callconv(.Inline) HRESULT {
return @as(*const IImgErrorInfo.VTable, @ptrCast(self.vtable)).GetUserParameterCount(@as(*const IImgErrorInfo, @ptrCast(self)), pcUserParams);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IImgErrorInfo_GetUserParameter(self: *const T, cParam: u32, pbstrParam: ?*?BSTR) callconv(.Inline) HRESULT {
return @as(*const IImgErrorInfo.VTable, @ptrCast(self.vtable)).GetUserParameter(@as(*const IImgErrorInfo, @ptrCast(self)), cParam, pbstrParam);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IImgErrorInfo_GetUserFallback(self: *const T, pbstrFallback: ?*?BSTR) callconv(.Inline) HRESULT {
return @as(*const IImgErrorInfo.VTable, @ptrCast(self.vtable)).GetUserFallback(@as(*const IImgErrorInfo, @ptrCast(self)), pbstrFallback);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IImgErrorInfo_GetExceptionId(self: *const T, pExceptionId: ?*u32) callconv(.Inline) HRESULT {
return @as(*const IImgErrorInfo.VTable, @ptrCast(self.vtable)).GetExceptionId(@as(*const IImgErrorInfo, @ptrCast(self)), pExceptionId);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IImgErrorInfo_DetachErrorInfo(self: *const T, pErrorInfo: ?*__MIDL___MIDL_itf_imgerror_0000_0000_0001) callconv(.Inline) HRESULT {
return @as(*const IImgErrorInfo.VTable, @ptrCast(self.vtable)).DetachErrorInfo(@as(*const IImgErrorInfo, @ptrCast(self)), pErrorInfo);
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IImgCreateErrorInfo_Value = Guid.initString("1c55a64c-07cd-4fb5-90f7-b753d91f0c9e");
pub const IID_IImgCreateErrorInfo = &IID_IImgCreateErrorInfo_Value;
pub const IImgCreateErrorInfo = extern struct {
pub const VTable = extern struct {
base: ICreateErrorInfo.VTable,
AttachToErrorInfo: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IImgCreateErrorInfo,
pErrorInfo: ?*__MIDL___MIDL_itf_imgerror_0000_0000_0001,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IImgCreateErrorInfo,
pErrorInfo: ?*__MIDL___MIDL_itf_imgerror_0000_0000_0001,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace ICreateErrorInfo.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IImgCreateErrorInfo_AttachToErrorInfo(self: *const T, pErrorInfo: ?*__MIDL___MIDL_itf_imgerror_0000_0000_0001) callconv(.Inline) HRESULT {
return @as(*const IImgCreateErrorInfo.VTable, @ptrCast(self.vtable)).AttachToErrorInfo(@as(*const IImgCreateErrorInfo, @ptrCast(self)), pErrorInfo);
}
};}
pub usingnamespace MethodMixin(@This());
};
pub const EXpsCompressionOptions = enum(i32) {
NotCompressed = 0,
Normal = 1,
Small = 2,
Fast = 3,
};
pub const Compression_NotCompressed = EXpsCompressionOptions.NotCompressed;
pub const Compression_Normal = EXpsCompressionOptions.Normal;
pub const Compression_Small = EXpsCompressionOptions.Small;
pub const Compression_Fast = EXpsCompressionOptions.Fast;
pub const EXpsFontOptions = enum(i32) {
Normal = 0,
Obfusticate = 1,
};
pub const Font_Normal = EXpsFontOptions.Normal;
pub const Font_Obfusticate = EXpsFontOptions.Obfusticate;
pub const EXpsJobConsumption = enum(i32) {
DocumentSequenceAdded = 0,
FixedDocumentAdded = 1,
FixedPageAdded = 2,
};
pub const XpsJob_DocumentSequenceAdded = EXpsJobConsumption.DocumentSequenceAdded;
pub const XpsJob_FixedDocumentAdded = EXpsJobConsumption.FixedDocumentAdded;
pub const XpsJob_FixedPageAdded = EXpsJobConsumption.FixedPageAdded;
pub const EXpsFontRestriction = enum(i32) {
Installable = 0,
NoEmbedding = 2,
PreviewPrint = 4,
Editable = 8,
};
pub const Xps_Restricted_Font_Installable = EXpsFontRestriction.Installable;
pub const Xps_Restricted_Font_NoEmbedding = EXpsFontRestriction.NoEmbedding;
pub const Xps_Restricted_Font_PreviewPrint = EXpsFontRestriction.PreviewPrint;
pub const Xps_Restricted_Font_Editable = EXpsFontRestriction.Editable;
const IID_IPrintReadStream_Value = Guid.initString("4d47a67c-66cc-4430-850e-daf466fe5bc4");
pub const IID_IPrintReadStream = &IID_IPrintReadStream_Value;
pub const IPrintReadStream = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
Seek: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintReadStream,
dlibMove: i64,
dwOrigin: u32,
plibNewPosition: ?*u64,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintReadStream,
dlibMove: i64,
dwOrigin: u32,
plibNewPosition: ?*u64,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
ReadBytes: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintReadStream,
// TODO: what to do with BytesParamIndex 1?
pvBuffer: ?*anyopaque,
cbRequested: u32,
pcbRead: ?*u32,
pbEndOfFile: ?*BOOL,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintReadStream,
// TODO: what to do with BytesParamIndex 1?
pvBuffer: ?*anyopaque,
cbRequested: u32,
pcbRead: ?*u32,
pbEndOfFile: ?*BOOL,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IUnknown.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintReadStream_Seek(self: *const T, dlibMove: i64, dwOrigin: u32, plibNewPosition: ?*u64) callconv(.Inline) HRESULT {
return @as(*const IPrintReadStream.VTable, @ptrCast(self.vtable)).Seek(@as(*const IPrintReadStream, @ptrCast(self)), dlibMove, dwOrigin, plibNewPosition);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintReadStream_ReadBytes(self: *const T, pvBuffer: ?*anyopaque, cbRequested: u32, pcbRead: ?*u32, pbEndOfFile: ?*BOOL) callconv(.Inline) HRESULT {
return @as(*const IPrintReadStream.VTable, @ptrCast(self.vtable)).ReadBytes(@as(*const IPrintReadStream, @ptrCast(self)), pvBuffer, cbRequested, pcbRead, pbEndOfFile);
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IPrintWriteStream_Value = Guid.initString("65bb7f1b-371e-4571-8ac7-912f510c1a38");
pub const IID_IPrintWriteStream = &IID_IPrintWriteStream_Value;
pub const IPrintWriteStream = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
WriteBytes: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintWriteStream,
// TODO: what to do with BytesParamIndex 1?
pvBuffer: ?*const anyopaque,
cbBuffer: u32,
pcbWritten: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintWriteStream,
// TODO: what to do with BytesParamIndex 1?
pvBuffer: ?*const anyopaque,
cbBuffer: u32,
pcbWritten: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
Close: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintWriteStream,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const IPrintWriteStream,
) callconv(@import("std").os.windows.WINAPI) void,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IUnknown.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintWriteStream_WriteBytes(self: *const T, pvBuffer: ?*const anyopaque, cbBuffer: u32, pcbWritten: ?*u32) callconv(.Inline) HRESULT {
return @as(*const IPrintWriteStream.VTable, @ptrCast(self.vtable)).WriteBytes(@as(*const IPrintWriteStream, @ptrCast(self)), pvBuffer, cbBuffer, pcbWritten);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintWriteStream_Close(self: *const T) callconv(.Inline) void {
return @as(*const IPrintWriteStream.VTable, @ptrCast(self.vtable)).Close(@as(*const IPrintWriteStream, @ptrCast(self)));
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IPrintWriteStreamFlush_Value = Guid.initString("07d11ff8-1753-4873-b749-6cdaf068e4c3");
pub const IID_IPrintWriteStreamFlush = &IID_IPrintWriteStreamFlush_Value;
pub const IPrintWriteStreamFlush = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
FlushData: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintWriteStreamFlush,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintWriteStreamFlush,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IUnknown.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintWriteStreamFlush_FlushData(self: *const T) callconv(.Inline) HRESULT {
return @as(*const IPrintWriteStreamFlush.VTable, @ptrCast(self.vtable)).FlushData(@as(*const IPrintWriteStreamFlush, @ptrCast(self)));
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IInterFilterCommunicator_Value = Guid.initString("4daf1e69-81fd-462d-940f-8cd3ddf56fca");
pub const IID_IInterFilterCommunicator = &IID_IInterFilterCommunicator_Value;
pub const IInterFilterCommunicator = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
RequestReader: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IInterFilterCommunicator,
ppIReader: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IInterFilterCommunicator,
ppIReader: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
RequestWriter: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IInterFilterCommunicator,
ppIWriter: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IInterFilterCommunicator,
ppIWriter: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IUnknown.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IInterFilterCommunicator_RequestReader(self: *const T, ppIReader: ?*?*anyopaque) callconv(.Inline) HRESULT {
return @as(*const IInterFilterCommunicator.VTable, @ptrCast(self.vtable)).RequestReader(@as(*const IInterFilterCommunicator, @ptrCast(self)), ppIReader);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IInterFilterCommunicator_RequestWriter(self: *const T, ppIWriter: ?*?*anyopaque) callconv(.Inline) HRESULT {
return @as(*const IInterFilterCommunicator.VTable, @ptrCast(self.vtable)).RequestWriter(@as(*const IInterFilterCommunicator, @ptrCast(self)), ppIWriter);
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IPrintPipelineManagerControl_Value = Guid.initString("aa3e4910-5889-4681-91ef-823ad4ed4e44");
pub const IID_IPrintPipelineManagerControl = &IID_IPrintPipelineManagerControl_Value;
pub const IPrintPipelineManagerControl = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
RequestShutdown: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintPipelineManagerControl,
hrReason: HRESULT,
pReason: ?*IImgErrorInfo,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintPipelineManagerControl,
hrReason: HRESULT,
pReason: ?*IImgErrorInfo,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
FilterFinished: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintPipelineManagerControl,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintPipelineManagerControl,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IUnknown.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintPipelineManagerControl_RequestShutdown(self: *const T, hrReason: HRESULT, pReason: ?*IImgErrorInfo) callconv(.Inline) HRESULT {
return @as(*const IPrintPipelineManagerControl.VTable, @ptrCast(self.vtable)).RequestShutdown(@as(*const IPrintPipelineManagerControl, @ptrCast(self)), hrReason, pReason);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintPipelineManagerControl_FilterFinished(self: *const T) callconv(.Inline) HRESULT {
return @as(*const IPrintPipelineManagerControl.VTable, @ptrCast(self.vtable)).FilterFinished(@as(*const IPrintPipelineManagerControl, @ptrCast(self)));
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IPrintPipelinePropertyBag_Value = Guid.initString("8b8c99dc-7892-4a95-8a04-57422e9fbb47");
pub const IID_IPrintPipelinePropertyBag = &IID_IPrintPipelinePropertyBag_Value;
pub const IPrintPipelinePropertyBag = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
AddProperty: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintPipelinePropertyBag,
pszName: ?[*:0]const u16,
pVar: ?*const VARIANT,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintPipelinePropertyBag,
pszName: ?[*:0]const u16,
pVar: ?*const VARIANT,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetProperty: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintPipelinePropertyBag,
pszName: ?[*:0]const u16,
pVar: ?*VARIANT,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintPipelinePropertyBag,
pszName: ?[*:0]const u16,
pVar: ?*VARIANT,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
DeleteProperty: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintPipelinePropertyBag,
pszName: ?[*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) BOOL,
else => *const fn(
self: *const IPrintPipelinePropertyBag,
pszName: ?[*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) BOOL,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IUnknown.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintPipelinePropertyBag_AddProperty(self: *const T, pszName: ?[*:0]const u16, pVar: ?*const VARIANT) callconv(.Inline) HRESULT {
return @as(*const IPrintPipelinePropertyBag.VTable, @ptrCast(self.vtable)).AddProperty(@as(*const IPrintPipelinePropertyBag, @ptrCast(self)), pszName, pVar);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintPipelinePropertyBag_GetProperty(self: *const T, pszName: ?[*:0]const u16, pVar: ?*VARIANT) callconv(.Inline) HRESULT {
return @as(*const IPrintPipelinePropertyBag.VTable, @ptrCast(self.vtable)).GetProperty(@as(*const IPrintPipelinePropertyBag, @ptrCast(self)), pszName, pVar);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintPipelinePropertyBag_DeleteProperty(self: *const T, pszName: ?[*:0]const u16) callconv(.Inline) BOOL {
return @as(*const IPrintPipelinePropertyBag.VTable, @ptrCast(self.vtable)).DeleteProperty(@as(*const IPrintPipelinePropertyBag, @ptrCast(self)), pszName);
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IPrintPipelineProgressReport_Value = Guid.initString("edc12c7c-ed40-4ea5-96a6-5e4397497a61");
pub const IID_IPrintPipelineProgressReport = &IID_IPrintPipelineProgressReport_Value;
pub const IPrintPipelineProgressReport = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
ReportProgress: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintPipelineProgressReport,
update: EXpsJobConsumption,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintPipelineProgressReport,
update: EXpsJobConsumption,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IUnknown.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintPipelineProgressReport_ReportProgress(self: *const T, update: EXpsJobConsumption) callconv(.Inline) HRESULT {
return @as(*const IPrintPipelineProgressReport.VTable, @ptrCast(self.vtable)).ReportProgress(@as(*const IPrintPipelineProgressReport, @ptrCast(self)), update);
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IPrintClassObjectFactory_Value = Guid.initString("9af593dd-9b02-48a8-9bad-69ace423f88b");
pub const IID_IPrintClassObjectFactory = &IID_IPrintClassObjectFactory_Value;
pub const IPrintClassObjectFactory = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
GetPrintClassObject: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintClassObjectFactory,
pszPrinterName: ?[*:0]const u16,
riid: ?*const Guid,
ppNewObject: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintClassObjectFactory,
pszPrinterName: ?[*:0]const u16,
riid: ?*const Guid,
ppNewObject: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IUnknown.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintClassObjectFactory_GetPrintClassObject(self: *const T, pszPrinterName: ?[*:0]const u16, riid: ?*const Guid, ppNewObject: ?*?*anyopaque) callconv(.Inline) HRESULT {
return @as(*const IPrintClassObjectFactory.VTable, @ptrCast(self.vtable)).GetPrintClassObject(@as(*const IPrintClassObjectFactory, @ptrCast(self)), pszPrinterName, riid, ppNewObject);
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IPrintPipelineFilter_Value = Guid.initString("cdb62fc0-8bed-434e-86fb-a2cae55f19ea");
pub const IID_IPrintPipelineFilter = &IID_IPrintPipelineFilter_Value;
pub const IPrintPipelineFilter = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
InitializeFilter: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintPipelineFilter,
pINegotiation: ?*IInterFilterCommunicator,
pIPropertyBag: ?*IPrintPipelinePropertyBag,
pIPipelineControl: ?*IPrintPipelineManagerControl,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintPipelineFilter,
pINegotiation: ?*IInterFilterCommunicator,
pIPropertyBag: ?*IPrintPipelinePropertyBag,
pIPipelineControl: ?*IPrintPipelineManagerControl,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
ShutdownOperation: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintPipelineFilter,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintPipelineFilter,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
StartOperation: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintPipelineFilter,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintPipelineFilter,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IUnknown.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintPipelineFilter_InitializeFilter(self: *const T, pINegotiation: ?*IInterFilterCommunicator, pIPropertyBag: ?*IPrintPipelinePropertyBag, pIPipelineControl: ?*IPrintPipelineManagerControl) callconv(.Inline) HRESULT {
return @as(*const IPrintPipelineFilter.VTable, @ptrCast(self.vtable)).InitializeFilter(@as(*const IPrintPipelineFilter, @ptrCast(self)), pINegotiation, pIPropertyBag, pIPipelineControl);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintPipelineFilter_ShutdownOperation(self: *const T) callconv(.Inline) HRESULT {
return @as(*const IPrintPipelineFilter.VTable, @ptrCast(self.vtable)).ShutdownOperation(@as(*const IPrintPipelineFilter, @ptrCast(self)));
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintPipelineFilter_StartOperation(self: *const T) callconv(.Inline) HRESULT {
return @as(*const IPrintPipelineFilter.VTable, @ptrCast(self.vtable)).StartOperation(@as(*const IPrintPipelineFilter, @ptrCast(self)));
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IXpsDocumentProvider_Value = Guid.initString("b8cf8530-5562-47c4-ab67-b1f69ecf961e");
pub const IID_IXpsDocumentProvider = &IID_IXpsDocumentProvider_Value;
pub const IXpsDocumentProvider = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
GetXpsPart: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IXpsDocumentProvider,
ppIXpsPart: ?*?*IUnknown,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IXpsDocumentProvider,
ppIXpsPart: ?*?*IUnknown,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IUnknown.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IXpsDocumentProvider_GetXpsPart(self: *const T, ppIXpsPart: ?*?*IUnknown) callconv(.Inline) HRESULT {
return @as(*const IXpsDocumentProvider.VTable, @ptrCast(self.vtable)).GetXpsPart(@as(*const IXpsDocumentProvider, @ptrCast(self)), ppIXpsPart);
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IXpsDocumentConsumer_Value = Guid.initString("4368d8a2-4181-4a9f-b295-3d9a38bb9ba0");
pub const IID_IXpsDocumentConsumer = &IID_IXpsDocumentConsumer_Value;
pub const IXpsDocumentConsumer = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
SendXpsUnknown: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IXpsDocumentConsumer,
pUnknown: ?*IUnknown,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IXpsDocumentConsumer,
pUnknown: ?*IUnknown,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
SendXpsDocument: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IXpsDocumentConsumer,
pIXpsDocument: ?*IXpsDocument,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IXpsDocumentConsumer,
pIXpsDocument: ?*IXpsDocument,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
SendFixedDocumentSequence: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IXpsDocumentConsumer,
pIFixedDocumentSequence: ?*IFixedDocumentSequence,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IXpsDocumentConsumer,
pIFixedDocumentSequence: ?*IFixedDocumentSequence,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
SendFixedDocument: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IXpsDocumentConsumer,
pIFixedDocument: ?*IFixedDocument,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IXpsDocumentConsumer,
pIFixedDocument: ?*IFixedDocument,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
SendFixedPage: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IXpsDocumentConsumer,
pIFixedPage: ?*IFixedPage,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IXpsDocumentConsumer,
pIFixedPage: ?*IFixedPage,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
CloseSender: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IXpsDocumentConsumer,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IXpsDocumentConsumer,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetNewEmptyPart: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IXpsDocumentConsumer,
uri: ?[*:0]const u16,
riid: ?*const Guid,
ppNewObject: ?*?*anyopaque,
ppWriteStream: ?*?*IPrintWriteStream,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IXpsDocumentConsumer,
uri: ?[*:0]const u16,
riid: ?*const Guid,
ppNewObject: ?*?*anyopaque,
ppWriteStream: ?*?*IPrintWriteStream,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IUnknown.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IXpsDocumentConsumer_SendXpsUnknown(self: *const T, pUnknown: ?*IUnknown) callconv(.Inline) HRESULT {
return @as(*const IXpsDocumentConsumer.VTable, @ptrCast(self.vtable)).SendXpsUnknown(@as(*const IXpsDocumentConsumer, @ptrCast(self)), pUnknown);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IXpsDocumentConsumer_SendXpsDocument(self: *const T, pIXpsDocument: ?*IXpsDocument) callconv(.Inline) HRESULT {
return @as(*const IXpsDocumentConsumer.VTable, @ptrCast(self.vtable)).SendXpsDocument(@as(*const IXpsDocumentConsumer, @ptrCast(self)), pIXpsDocument);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IXpsDocumentConsumer_SendFixedDocumentSequence(self: *const T, pIFixedDocumentSequence: ?*IFixedDocumentSequence) callconv(.Inline) HRESULT {
return @as(*const IXpsDocumentConsumer.VTable, @ptrCast(self.vtable)).SendFixedDocumentSequence(@as(*const IXpsDocumentConsumer, @ptrCast(self)), pIFixedDocumentSequence);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IXpsDocumentConsumer_SendFixedDocument(self: *const T, pIFixedDocument: ?*IFixedDocument) callconv(.Inline) HRESULT {
return @as(*const IXpsDocumentConsumer.VTable, @ptrCast(self.vtable)).SendFixedDocument(@as(*const IXpsDocumentConsumer, @ptrCast(self)), pIFixedDocument);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IXpsDocumentConsumer_SendFixedPage(self: *const T, pIFixedPage: ?*IFixedPage) callconv(.Inline) HRESULT {
return @as(*const IXpsDocumentConsumer.VTable, @ptrCast(self.vtable)).SendFixedPage(@as(*const IXpsDocumentConsumer, @ptrCast(self)), pIFixedPage);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IXpsDocumentConsumer_CloseSender(self: *const T) callconv(.Inline) HRESULT {
return @as(*const IXpsDocumentConsumer.VTable, @ptrCast(self.vtable)).CloseSender(@as(*const IXpsDocumentConsumer, @ptrCast(self)));
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IXpsDocumentConsumer_GetNewEmptyPart(self: *const T, uri: ?[*:0]const u16, riid: ?*const Guid, ppNewObject: ?*?*anyopaque, ppWriteStream: ?*?*IPrintWriteStream) callconv(.Inline) HRESULT {
return @as(*const IXpsDocumentConsumer.VTable, @ptrCast(self.vtable)).GetNewEmptyPart(@as(*const IXpsDocumentConsumer, @ptrCast(self)), uri, riid, ppNewObject, ppWriteStream);
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IXpsDocument_Value = Guid.initString("e8d907db-62a9-4a95-abe7-e01763dd30f8");
pub const IID_IXpsDocument = &IID_IXpsDocument_Value;
pub const IXpsDocument = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
GetThumbnail: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IXpsDocument,
ppThumbnail: ?*?*IPartThumbnail,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IXpsDocument,
ppThumbnail: ?*?*IPartThumbnail,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
SetThumbnail: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IXpsDocument,
pThumbnail: ?*IPartThumbnail,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IXpsDocument,
pThumbnail: ?*IPartThumbnail,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IUnknown.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IXpsDocument_GetThumbnail(self: *const T, ppThumbnail: ?*?*IPartThumbnail) callconv(.Inline) HRESULT {
return @as(*const IXpsDocument.VTable, @ptrCast(self.vtable)).GetThumbnail(@as(*const IXpsDocument, @ptrCast(self)), ppThumbnail);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IXpsDocument_SetThumbnail(self: *const T, pThumbnail: ?*IPartThumbnail) callconv(.Inline) HRESULT {
return @as(*const IXpsDocument.VTable, @ptrCast(self.vtable)).SetThumbnail(@as(*const IXpsDocument, @ptrCast(self)), pThumbnail);
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IFixedDocumentSequence_Value = Guid.initString("8028d181-2c32-4249-8493-1bfb22045574");
pub const IID_IFixedDocumentSequence = &IID_IFixedDocumentSequence_Value;
pub const IFixedDocumentSequence = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
GetUri: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IFixedDocumentSequence,
uri: ?*?BSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IFixedDocumentSequence,
uri: ?*?BSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetPrintTicket: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IFixedDocumentSequence,
ppPrintTicket: ?*?*IPartPrintTicket,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IFixedDocumentSequence,
ppPrintTicket: ?*?*IPartPrintTicket,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
SetPrintTicket: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IFixedDocumentSequence,
pPrintTicket: ?*IPartPrintTicket,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IFixedDocumentSequence,
pPrintTicket: ?*IPartPrintTicket,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IUnknown.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IFixedDocumentSequence_GetUri(self: *const T, uri: ?*?BSTR) callconv(.Inline) HRESULT {
return @as(*const IFixedDocumentSequence.VTable, @ptrCast(self.vtable)).GetUri(@as(*const IFixedDocumentSequence, @ptrCast(self)), uri);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IFixedDocumentSequence_GetPrintTicket(self: *const T, ppPrintTicket: ?*?*IPartPrintTicket) callconv(.Inline) HRESULT {
return @as(*const IFixedDocumentSequence.VTable, @ptrCast(self.vtable)).GetPrintTicket(@as(*const IFixedDocumentSequence, @ptrCast(self)), ppPrintTicket);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IFixedDocumentSequence_SetPrintTicket(self: *const T, pPrintTicket: ?*IPartPrintTicket) callconv(.Inline) HRESULT {
return @as(*const IFixedDocumentSequence.VTable, @ptrCast(self.vtable)).SetPrintTicket(@as(*const IFixedDocumentSequence, @ptrCast(self)), pPrintTicket);
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IFixedDocument_Value = Guid.initString("f222ca9f-9968-4db9-81bd-abaebf15f93f");
pub const IID_IFixedDocument = &IID_IFixedDocument_Value;
pub const IFixedDocument = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
GetUri: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IFixedDocument,
uri: ?*?BSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IFixedDocument,
uri: ?*?BSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetPrintTicket: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IFixedDocument,
ppPrintTicket: ?*?*IPartPrintTicket,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IFixedDocument,
ppPrintTicket: ?*?*IPartPrintTicket,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
SetPrintTicket: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IFixedDocument,
pPrintTicket: ?*IPartPrintTicket,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IFixedDocument,
pPrintTicket: ?*IPartPrintTicket,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IUnknown.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IFixedDocument_GetUri(self: *const T, uri: ?*?BSTR) callconv(.Inline) HRESULT {
return @as(*const IFixedDocument.VTable, @ptrCast(self.vtable)).GetUri(@as(*const IFixedDocument, @ptrCast(self)), uri);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IFixedDocument_GetPrintTicket(self: *const T, ppPrintTicket: ?*?*IPartPrintTicket) callconv(.Inline) HRESULT {
return @as(*const IFixedDocument.VTable, @ptrCast(self.vtable)).GetPrintTicket(@as(*const IFixedDocument, @ptrCast(self)), ppPrintTicket);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IFixedDocument_SetPrintTicket(self: *const T, pPrintTicket: ?*IPartPrintTicket) callconv(.Inline) HRESULT {
return @as(*const IFixedDocument.VTable, @ptrCast(self.vtable)).SetPrintTicket(@as(*const IFixedDocument, @ptrCast(self)), pPrintTicket);
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IPartBase_Value = Guid.initString("36d51e28-369e-43ba-a666-9540c62c3f58");
pub const IID_IPartBase = &IID_IPartBase_Value;
pub const IPartBase = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
GetUri: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPartBase,
uri: ?*?BSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPartBase,
uri: ?*?BSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetStream: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPartBase,
ppStream: ?*?*IPrintReadStream,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPartBase,
ppStream: ?*?*IPrintReadStream,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetPartCompression: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPartBase,
pCompression: ?*EXpsCompressionOptions,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPartBase,
pCompression: ?*EXpsCompressionOptions,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
SetPartCompression: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPartBase,
compression: EXpsCompressionOptions,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPartBase,
compression: EXpsCompressionOptions,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IUnknown.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPartBase_GetUri(self: *const T, uri: ?*?BSTR) callconv(.Inline) HRESULT {
return @as(*const IPartBase.VTable, @ptrCast(self.vtable)).GetUri(@as(*const IPartBase, @ptrCast(self)), uri);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPartBase_GetStream(self: *const T, ppStream: ?*?*IPrintReadStream) callconv(.Inline) HRESULT {
return @as(*const IPartBase.VTable, @ptrCast(self.vtable)).GetStream(@as(*const IPartBase, @ptrCast(self)), ppStream);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPartBase_GetPartCompression(self: *const T, pCompression: ?*EXpsCompressionOptions) callconv(.Inline) HRESULT {
return @as(*const IPartBase.VTable, @ptrCast(self.vtable)).GetPartCompression(@as(*const IPartBase, @ptrCast(self)), pCompression);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPartBase_SetPartCompression(self: *const T, compression: EXpsCompressionOptions) callconv(.Inline) HRESULT {
return @as(*const IPartBase.VTable, @ptrCast(self.vtable)).SetPartCompression(@as(*const IPartBase, @ptrCast(self)), compression);
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IFixedPage_Value = Guid.initString("3d9f6448-7e95-4cb5-94fb-0180c2883a57");
pub const IID_IFixedPage = &IID_IFixedPage_Value;
pub const IFixedPage = extern struct {
pub const VTable = extern struct {
base: IPartBase.VTable,
GetPrintTicket: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IFixedPage,
ppPrintTicket: ?*?*IPartPrintTicket,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IFixedPage,
ppPrintTicket: ?*?*IPartPrintTicket,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetPagePart: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IFixedPage,
uri: ?[*:0]const u16,
ppUnk: ?*?*IUnknown,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IFixedPage,
uri: ?[*:0]const u16,
ppUnk: ?*?*IUnknown,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetWriteStream: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IFixedPage,
ppWriteStream: ?*?*IPrintWriteStream,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IFixedPage,
ppWriteStream: ?*?*IPrintWriteStream,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
SetPrintTicket: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IFixedPage,
ppPrintTicket: ?*IPartPrintTicket,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IFixedPage,
ppPrintTicket: ?*IPartPrintTicket,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
SetPagePart: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IFixedPage,
pUnk: ?*IUnknown,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IFixedPage,
pUnk: ?*IUnknown,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
DeleteResource: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IFixedPage,
uri: ?[*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IFixedPage,
uri: ?[*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetXpsPartIterator: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IFixedPage,
pXpsPartIt: ?*?*IXpsPartIterator,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IFixedPage,
pXpsPartIt: ?*?*IXpsPartIterator,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IPartBase.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IFixedPage_GetPrintTicket(self: *const T, ppPrintTicket: ?*?*IPartPrintTicket) callconv(.Inline) HRESULT {
return @as(*const IFixedPage.VTable, @ptrCast(self.vtable)).GetPrintTicket(@as(*const IFixedPage, @ptrCast(self)), ppPrintTicket);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IFixedPage_GetPagePart(self: *const T, uri: ?[*:0]const u16, ppUnk: ?*?*IUnknown) callconv(.Inline) HRESULT {
return @as(*const IFixedPage.VTable, @ptrCast(self.vtable)).GetPagePart(@as(*const IFixedPage, @ptrCast(self)), uri, ppUnk);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IFixedPage_GetWriteStream(self: *const T, ppWriteStream: ?*?*IPrintWriteStream) callconv(.Inline) HRESULT {
return @as(*const IFixedPage.VTable, @ptrCast(self.vtable)).GetWriteStream(@as(*const IFixedPage, @ptrCast(self)), ppWriteStream);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IFixedPage_SetPrintTicket(self: *const T, ppPrintTicket: ?*IPartPrintTicket) callconv(.Inline) HRESULT {
return @as(*const IFixedPage.VTable, @ptrCast(self.vtable)).SetPrintTicket(@as(*const IFixedPage, @ptrCast(self)), ppPrintTicket);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IFixedPage_SetPagePart(self: *const T, pUnk: ?*IUnknown) callconv(.Inline) HRESULT {
return @as(*const IFixedPage.VTable, @ptrCast(self.vtable)).SetPagePart(@as(*const IFixedPage, @ptrCast(self)), pUnk);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IFixedPage_DeleteResource(self: *const T, uri: ?[*:0]const u16) callconv(.Inline) HRESULT {
return @as(*const IFixedPage.VTable, @ptrCast(self.vtable)).DeleteResource(@as(*const IFixedPage, @ptrCast(self)), uri);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IFixedPage_GetXpsPartIterator(self: *const T, pXpsPartIt: ?*?*IXpsPartIterator) callconv(.Inline) HRESULT {
return @as(*const IFixedPage.VTable, @ptrCast(self.vtable)).GetXpsPartIterator(@as(*const IFixedPage, @ptrCast(self)), pXpsPartIt);
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IPartImage_Value = Guid.initString("725f2e3c-401a-4705-9de0-fe6f1353b87f");
pub const IID_IPartImage = &IID_IPartImage_Value;
pub const IPartImage = extern struct {
pub const VTable = extern struct {
base: IPartBase.VTable,
GetImageProperties: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPartImage,
pContentType: ?*?BSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPartImage,
pContentType: ?*?BSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
SetImageContent: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPartImage,
pContentType: ?[*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPartImage,
pContentType: ?[*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IPartBase.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPartImage_GetImageProperties(self: *const T, pContentType: ?*?BSTR) callconv(.Inline) HRESULT {
return @as(*const IPartImage.VTable, @ptrCast(self.vtable)).GetImageProperties(@as(*const IPartImage, @ptrCast(self)), pContentType);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPartImage_SetImageContent(self: *const T, pContentType: ?[*:0]const u16) callconv(.Inline) HRESULT {
return @as(*const IPartImage.VTable, @ptrCast(self.vtable)).SetImageContent(@as(*const IPartImage, @ptrCast(self)), pContentType);
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IPartFont_Value = Guid.initString("e07fe0ab-1124-43d0-a865-e8ffb6a3ea82");
pub const IID_IPartFont = &IID_IPartFont_Value;
pub const IPartFont = extern struct {
pub const VTable = extern struct {
base: IPartBase.VTable,
GetFontProperties: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPartFont,
pContentType: ?*?BSTR,
pFontOptions: ?*EXpsFontOptions,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPartFont,
pContentType: ?*?BSTR,
pFontOptions: ?*EXpsFontOptions,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
SetFontContent: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPartFont,
pContentType: ?[*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPartFont,
pContentType: ?[*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
SetFontOptions: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPartFont,
options: EXpsFontOptions,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPartFont,
options: EXpsFontOptions,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IPartBase.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPartFont_GetFontProperties(self: *const T, pContentType: ?*?BSTR, pFontOptions: ?*EXpsFontOptions) callconv(.Inline) HRESULT {
return @as(*const IPartFont.VTable, @ptrCast(self.vtable)).GetFontProperties(@as(*const IPartFont, @ptrCast(self)), pContentType, pFontOptions);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPartFont_SetFontContent(self: *const T, pContentType: ?[*:0]const u16) callconv(.Inline) HRESULT {
return @as(*const IPartFont.VTable, @ptrCast(self.vtable)).SetFontContent(@as(*const IPartFont, @ptrCast(self)), pContentType);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPartFont_SetFontOptions(self: *const T, options: EXpsFontOptions) callconv(.Inline) HRESULT {
return @as(*const IPartFont.VTable, @ptrCast(self.vtable)).SetFontOptions(@as(*const IPartFont, @ptrCast(self)), options);
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IPartFont2_Value = Guid.initString("511e025f-d6cb-43be-bf65-63fe88515a39");
pub const IID_IPartFont2 = &IID_IPartFont2_Value;
pub const IPartFont2 = extern struct {
pub const VTable = extern struct {
base: IPartFont.VTable,
GetFontRestriction: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPartFont2,
pRestriction: ?*EXpsFontRestriction,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPartFont2,
pRestriction: ?*EXpsFontRestriction,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IPartFont.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPartFont2_GetFontRestriction(self: *const T, pRestriction: ?*EXpsFontRestriction) callconv(.Inline) HRESULT {
return @as(*const IPartFont2.VTable, @ptrCast(self.vtable)).GetFontRestriction(@as(*const IPartFont2, @ptrCast(self)), pRestriction);
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IPartThumbnail_Value = Guid.initString("027ed1c9-ba39-4cc5-aa55-7ec3a0de171a");
pub const IID_IPartThumbnail = &IID_IPartThumbnail_Value;
pub const IPartThumbnail = extern struct {
pub const VTable = extern struct {
base: IPartBase.VTable,
GetThumbnailProperties: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPartThumbnail,
pContentType: ?*?BSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPartThumbnail,
pContentType: ?*?BSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
SetThumbnailContent: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPartThumbnail,
pContentType: ?[*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPartThumbnail,
pContentType: ?[*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IPartBase.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPartThumbnail_GetThumbnailProperties(self: *const T, pContentType: ?*?BSTR) callconv(.Inline) HRESULT {
return @as(*const IPartThumbnail.VTable, @ptrCast(self.vtable)).GetThumbnailProperties(@as(*const IPartThumbnail, @ptrCast(self)), pContentType);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPartThumbnail_SetThumbnailContent(self: *const T, pContentType: ?[*:0]const u16) callconv(.Inline) HRESULT {
return @as(*const IPartThumbnail.VTable, @ptrCast(self.vtable)).SetThumbnailContent(@as(*const IPartThumbnail, @ptrCast(self)), pContentType);
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IPartPrintTicket_Value = Guid.initString("4a0f50f6-f9a2-41f0-99e7-5ae955be8e9e");
pub const IID_IPartPrintTicket = &IID_IPartPrintTicket_Value;
pub const IPartPrintTicket = extern struct {
pub const VTable = extern struct {
base: IPartBase.VTable,
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IPartBase.MethodMixin(T);
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IPartColorProfile_Value = Guid.initString("63cca95b-7d18-4762-b15e-98658693d24a");
pub const IID_IPartColorProfile = &IID_IPartColorProfile_Value;
pub const IPartColorProfile = extern struct {
pub const VTable = extern struct {
base: IPartBase.VTable,
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IPartBase.MethodMixin(T);
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IPartResourceDictionary_Value = Guid.initString("16cfce6d-e744-4fb3-b474-f1d54f024a01");
pub const IID_IPartResourceDictionary = &IID_IPartResourceDictionary_Value;
pub const IPartResourceDictionary = extern struct {
pub const VTable = extern struct {
base: IPartBase.VTable,
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IPartBase.MethodMixin(T);
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IXpsPartIterator_Value = Guid.initString("0021d3cd-af6f-42ab-9999-14bc82a62d2e");
pub const IID_IXpsPartIterator = &IID_IXpsPartIterator_Value;
pub const IXpsPartIterator = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
Reset: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IXpsPartIterator,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const IXpsPartIterator,
) callconv(@import("std").os.windows.WINAPI) void,
},
Current: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IXpsPartIterator,
pUri: ?*?BSTR,
ppXpsPart: ?*?*IUnknown,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IXpsPartIterator,
pUri: ?*?BSTR,
ppXpsPart: ?*?*IUnknown,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
IsDone: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IXpsPartIterator,
) callconv(@import("std").os.windows.WINAPI) BOOL,
else => *const fn(
self: *const IXpsPartIterator,
) callconv(@import("std").os.windows.WINAPI) BOOL,
},
Next: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IXpsPartIterator,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const IXpsPartIterator,
) callconv(@import("std").os.windows.WINAPI) void,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IUnknown.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IXpsPartIterator_Reset(self: *const T) callconv(.Inline) void {
return @as(*const IXpsPartIterator.VTable, @ptrCast(self.vtable)).Reset(@as(*const IXpsPartIterator, @ptrCast(self)));
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IXpsPartIterator_Current(self: *const T, pUri: ?*?BSTR, ppXpsPart: ?*?*IUnknown) callconv(.Inline) HRESULT {
return @as(*const IXpsPartIterator.VTable, @ptrCast(self.vtable)).Current(@as(*const IXpsPartIterator, @ptrCast(self)), pUri, ppXpsPart);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IXpsPartIterator_IsDone(self: *const T) callconv(.Inline) BOOL {
return @as(*const IXpsPartIterator.VTable, @ptrCast(self.vtable)).IsDone(@as(*const IXpsPartIterator, @ptrCast(self)));
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IXpsPartIterator_Next(self: *const T) callconv(.Inline) void {
return @as(*const IXpsPartIterator.VTable, @ptrCast(self.vtable)).Next(@as(*const IXpsPartIterator, @ptrCast(self)));
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IPrintReadStreamFactory_Value = Guid.initString("acb971e3-df8d-4fc2-bee6-0609d15f3cf9");
pub const IID_IPrintReadStreamFactory = &IID_IPrintReadStreamFactory_Value;
pub const IPrintReadStreamFactory = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
GetStream: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintReadStreamFactory,
ppStream: ?*?*IPrintReadStream,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintReadStreamFactory,
ppStream: ?*?*IPrintReadStream,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IUnknown.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintReadStreamFactory_GetStream(self: *const T, ppStream: ?*?*IPrintReadStream) callconv(.Inline) HRESULT {
return @as(*const IPrintReadStreamFactory.VTable, @ptrCast(self.vtable)).GetStream(@as(*const IPrintReadStreamFactory, @ptrCast(self)), ppStream);
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IPartDiscardControl_Value = Guid.initString("cc350c00-095b-42a5-bf0f-c8780edadb3c");
pub const IID_IPartDiscardControl = &IID_IPartDiscardControl_Value;
pub const IPartDiscardControl = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
GetDiscardProperties: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPartDiscardControl,
uriSentinelPage: ?*?BSTR,
uriPartToDiscard: ?*?BSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPartDiscardControl,
uriSentinelPage: ?*?BSTR,
uriPartToDiscard: ?*?BSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IUnknown.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPartDiscardControl_GetDiscardProperties(self: *const T, uriSentinelPage: ?*?BSTR, uriPartToDiscard: ?*?BSTR) callconv(.Inline) HRESULT {
return @as(*const IPartDiscardControl.VTable, @ptrCast(self.vtable)).GetDiscardProperties(@as(*const IPartDiscardControl, @ptrCast(self)), uriSentinelPage, uriPartToDiscard);
}
};}
pub usingnamespace MethodMixin(@This());
};
pub const OPTPARAM = extern struct {
cbSize: u16,
Flags: u8,
Style: u8,
pData: ?*i8,
IconID: usize,
lParam: LPARAM,
dwReserved: [2]usize,
};
pub const OPTCOMBO = extern struct {
cbSize: u16,
Flags: u8,
cListItem: u16,
pListItem: ?*OPTPARAM,
Sel: i32,
dwReserved: [3]u32,
};
pub const OPTTYPE = extern struct {
cbSize: u16,
Type: u8,
Flags: u8,
Count: u16,
BegCtrlID: u16,
pOptParam: ?*OPTPARAM,
Style: u16,
wReserved: [3]u16,
dwReserved: [3]usize,
};
pub const EXTPUSH = extern struct {
cbSize: u16,
Flags: u16,
pTitle: ?*i8,
Anonymous1: extern union {
DlgProc: ?DLGPROC,
pfnCallBack: ?FARPROC,
},
IconID: usize,
Anonymous2: extern union {
DlgTemplateID: u16,
hDlgTemplate: ?HANDLE,
},
dwReserved: [3]usize,
};
pub const EXTCHKBOX = extern struct {
cbSize: u16,
Flags: u16,
pTitle: ?*i8,
pSeparator: ?*i8,
pCheckedName: ?*i8,
IconID: usize,
wReserved: [4]u16,
dwReserved: [2]usize,
};
pub const OIEXT = extern struct {
cbSize: u16,
Flags: u16,
hInstCaller: ?HINSTANCE,
pHelpFile: ?*i8,
dwReserved: [4]usize,
};
pub const OPTITEM = extern struct {
cbSize: u16,
Level: u8,
DlgPageIdx: u8,
Flags: u32,
UserData: usize,
pName: ?*i8,
Anonymous1: extern union {
Sel: i32,
pSel: ?*i8,
},
Anonymous2: extern union {
pExtChkBox: ?*EXTCHKBOX,
pExtPush: ?*EXTPUSH,
},
pOptType: ?*OPTTYPE,
HelpIndex: u32,
DMPubID: u8,
UserItemID: u8,
wReserved: u16,
pOIExt: ?*OIEXT,
dwReserved: [3]usize,
};
pub const CPSUICBPARAM = extern struct {
cbSize: u16,
Reason: u16,
hDlg: ?HWND,
pOptItem: ?*OPTITEM,
cOptItem: u16,
Flags: u16,
pCurItem: ?*OPTITEM,
Anonymous: extern union {
OldSel: i32,
pOldSel: ?*i8,
},
UserData: usize,
Result: usize,
};
pub const _CPSUICALLBACK = switch (@import("builtin").zig_backend) {
.stage1 => fn(
pCPSUICBParam: ?*CPSUICBPARAM,
) callconv(@import("std").os.windows.WINAPI) i32,
else => *const fn(
pCPSUICBParam: ?*CPSUICBPARAM,
) callconv(@import("std").os.windows.WINAPI) i32,
} ;
pub const DLGPAGE = extern struct {
cbSize: u16,
Flags: u16,
DlgProc: ?DLGPROC,
pTabName: ?*i8,
IconID: usize,
Anonymous: extern union {
DlgTemplateID: u16,
hDlgTemplate: ?HANDLE,
},
};
pub const COMPROPSHEETUI = extern struct {
cbSize: u16,
Flags: u16,
hInstCaller: ?HINSTANCE,
pCallerName: ?*i8,
UserData: usize,
pHelpFile: ?*i8,
pfnCallBack: ?_CPSUICALLBACK,
pOptItem: ?*OPTITEM,
pDlgPage: ?*DLGPAGE,
cOptItem: u16,
cDlgPage: u16,
IconID: usize,
pOptItemName: ?*i8,
CallerVersion: u16,
OptItemVersion: u16,
dwReserved: [4]usize,
};
pub const SETRESULT_INFO = extern struct {
cbSize: u16,
wReserved: u16,
hSetResult: ?HANDLE,
Result: LRESULT,
};
pub const INSERTPSUIPAGE_INFO = extern struct {
cbSize: u16,
Type: u8,
Mode: u8,
dwData1: usize,
dwData2: usize,
dwData3: usize,
};
pub const PFNCOMPROPSHEET = switch (@import("builtin").zig_backend) {
.stage1 => fn(
hComPropSheet: ?HANDLE,
Function: u32,
lParam1: LPARAM,
lParam2: LPARAM,
) callconv(@import("std").os.windows.WINAPI) isize,
else => *const fn(
hComPropSheet: ?HANDLE,
Function: u32,
lParam1: LPARAM,
lParam2: LPARAM,
) callconv(@import("std").os.windows.WINAPI) isize,
} ;
pub const PSPINFO = extern struct {
cbSize: u16,
wReserved: u16,
hComPropSheet: ?HANDLE,
hCPSUIPage: ?HANDLE,
pfnComPropSheet: ?PFNCOMPROPSHEET,
};
pub const CPSUIDATABLOCK = extern struct {
cbData: u32,
pbData: ?*u8,
};
pub const PROPSHEETUI_INFO = extern struct {
cbSize: u16,
Version: u16,
Flags: u16,
Reason: u16,
hComPropSheet: ?HANDLE,
pfnComPropSheet: ?PFNCOMPROPSHEET,
lParamInit: LPARAM,
UserData: usize,
Result: usize,
};
pub const PROPSHEETUI_GETICON_INFO = extern struct {
cbSize: u16,
Flags: u16,
cxIcon: u16,
cyIcon: u16,
hIcon: ?HICON,
};
pub const PFNPROPSHEETUI = switch (@import("builtin").zig_backend) {
.stage1 => fn(
pPSUIInfo: ?*PROPSHEETUI_INFO,
lParam: LPARAM,
) callconv(@import("std").os.windows.WINAPI) i32,
else => *const fn(
pPSUIInfo: ?*PROPSHEETUI_INFO,
lParam: LPARAM,
) callconv(@import("std").os.windows.WINAPI) i32,
} ;
pub const PROPSHEETUI_INFO_HEADER = extern struct {
cbSize: u16,
Flags: u16,
pTitle: ?*i8,
hWndParent: ?HWND,
hInst: ?HINSTANCE,
Anonymous: extern union {
hIcon: ?HICON,
IconID: usize,
},
};
pub const PRINTER_INFO_1A = extern struct {
Flags: u32,
pDescription: ?PSTR,
pName: ?PSTR,
pComment: ?PSTR,
};
pub const PRINTER_INFO_1W = extern struct {
Flags: u32,
pDescription: ?PWSTR,
pName: ?PWSTR,
pComment: ?PWSTR,
};
pub const PRINTER_INFO_2A = extern struct {
pServerName: ?PSTR,
pPrinterName: ?PSTR,
pShareName: ?PSTR,
pPortName: ?PSTR,
pDriverName: ?PSTR,
pComment: ?PSTR,
pLocation: ?PSTR,
pDevMode: ?*DEVMODEA,
pSepFile: ?PSTR,
pPrintProcessor: ?PSTR,
pDatatype: ?PSTR,
pParameters: ?PSTR,
pSecurityDescriptor: ?PSECURITY_DESCRIPTOR,
Attributes: u32,
Priority: u32,
DefaultPriority: u32,
StartTime: u32,
UntilTime: u32,
Status: u32,
cJobs: u32,
AveragePPM: u32,
};
pub const PRINTER_INFO_2W = extern struct {
pServerName: ?PWSTR,
pPrinterName: ?PWSTR,
pShareName: ?PWSTR,
pPortName: ?PWSTR,
pDriverName: ?PWSTR,
pComment: ?PWSTR,
pLocation: ?PWSTR,
pDevMode: ?*DEVMODEW,
pSepFile: ?PWSTR,
pPrintProcessor: ?PWSTR,
pDatatype: ?PWSTR,
pParameters: ?PWSTR,
pSecurityDescriptor: ?PSECURITY_DESCRIPTOR,
Attributes: u32,
Priority: u32,
DefaultPriority: u32,
StartTime: u32,
UntilTime: u32,
Status: u32,
cJobs: u32,
AveragePPM: u32,
};
pub const PRINTER_INFO_3 = extern struct {
pSecurityDescriptor: ?PSECURITY_DESCRIPTOR,
};
pub const PRINTER_INFO_4A = extern struct {
pPrinterName: ?PSTR,
pServerName: ?PSTR,
Attributes: u32,
};
pub const PRINTER_INFO_4W = extern struct {
pPrinterName: ?PWSTR,
pServerName: ?PWSTR,
Attributes: u32,
};
pub const PRINTER_INFO_5A = extern struct {
pPrinterName: ?PSTR,
pPortName: ?PSTR,
Attributes: u32,
DeviceNotSelectedTimeout: u32,
TransmissionRetryTimeout: u32,
};
pub const PRINTER_INFO_5W = extern struct {
pPrinterName: ?PWSTR,
pPortName: ?PWSTR,
Attributes: u32,
DeviceNotSelectedTimeout: u32,
TransmissionRetryTimeout: u32,
};
pub const PRINTER_INFO_6 = extern struct {
dwStatus: u32,
};
pub const PRINTER_INFO_7A = extern struct {
pszObjectGUID: ?PSTR,
dwAction: u32,
};
pub const PRINTER_INFO_7W = extern struct {
pszObjectGUID: ?PWSTR,
dwAction: u32,
};
pub const PRINTER_INFO_8A = extern struct {
pDevMode: ?*DEVMODEA,
};
pub const PRINTER_INFO_8W = extern struct {
pDevMode: ?*DEVMODEW,
};
pub const PRINTER_INFO_9A = extern struct {
pDevMode: ?*DEVMODEA,
};
pub const PRINTER_INFO_9W = extern struct {
pDevMode: ?*DEVMODEW,
};
pub const JOB_INFO_1A = extern struct {
JobId: u32,
pPrinterName: ?PSTR,
pMachineName: ?PSTR,
pUserName: ?PSTR,
pDocument: ?PSTR,
pDatatype: ?PSTR,
pStatus: ?PSTR,
Status: u32,
Priority: u32,
Position: u32,
TotalPages: u32,
PagesPrinted: u32,
Submitted: SYSTEMTIME,
};
pub const JOB_INFO_1W = extern struct {
JobId: u32,
pPrinterName: ?PWSTR,
pMachineName: ?PWSTR,
pUserName: ?PWSTR,
pDocument: ?PWSTR,
pDatatype: ?PWSTR,
pStatus: ?PWSTR,
Status: u32,
Priority: u32,
Position: u32,
TotalPages: u32,
PagesPrinted: u32,
Submitted: SYSTEMTIME,
};
pub const JOB_INFO_2A = extern struct {
JobId: u32,
pPrinterName: ?PSTR,
pMachineName: ?PSTR,
pUserName: ?PSTR,
pDocument: ?PSTR,
pNotifyName: ?PSTR,
pDatatype: ?PSTR,
pPrintProcessor: ?PSTR,
pParameters: ?PSTR,
pDriverName: ?PSTR,
pDevMode: ?*DEVMODEA,
pStatus: ?PSTR,
pSecurityDescriptor: ?PSECURITY_DESCRIPTOR,
Status: u32,
Priority: u32,
Position: u32,
StartTime: u32,
UntilTime: u32,
TotalPages: u32,
Size: u32,
Submitted: SYSTEMTIME,
Time: u32,
PagesPrinted: u32,
};
pub const JOB_INFO_2W = extern struct {
JobId: u32,
pPrinterName: ?PWSTR,
pMachineName: ?PWSTR,
pUserName: ?PWSTR,
pDocument: ?PWSTR,
pNotifyName: ?PWSTR,
pDatatype: ?PWSTR,
pPrintProcessor: ?PWSTR,
pParameters: ?PWSTR,
pDriverName: ?PWSTR,
pDevMode: ?*DEVMODEW,
pStatus: ?PWSTR,
pSecurityDescriptor: ?PSECURITY_DESCRIPTOR,
Status: u32,
Priority: u32,
Position: u32,
StartTime: u32,
UntilTime: u32,
TotalPages: u32,
Size: u32,
Submitted: SYSTEMTIME,
Time: u32,
PagesPrinted: u32,
};
pub const JOB_INFO_3 = extern struct {
JobId: u32,
NextJobId: u32,
Reserved: u32,
};
pub const JOB_INFO_4A = extern struct {
JobId: u32,
pPrinterName: ?PSTR,
pMachineName: ?PSTR,
pUserName: ?PSTR,
pDocument: ?PSTR,
pNotifyName: ?PSTR,
pDatatype: ?PSTR,
pPrintProcessor: ?PSTR,
pParameters: ?PSTR,
pDriverName: ?PSTR,
pDevMode: ?*DEVMODEA,
pStatus: ?PSTR,
pSecurityDescriptor: ?PSECURITY_DESCRIPTOR,
Status: u32,
Priority: u32,
Position: u32,
StartTime: u32,
UntilTime: u32,
TotalPages: u32,
Size: u32,
Submitted: SYSTEMTIME,
Time: u32,
PagesPrinted: u32,
SizeHigh: i32,
};
pub const JOB_INFO_4W = extern struct {
JobId: u32,
pPrinterName: ?PWSTR,
pMachineName: ?PWSTR,
pUserName: ?PWSTR,
pDocument: ?PWSTR,
pNotifyName: ?PWSTR,
pDatatype: ?PWSTR,
pPrintProcessor: ?PWSTR,
pParameters: ?PWSTR,
pDriverName: ?PWSTR,
pDevMode: ?*DEVMODEW,
pStatus: ?PWSTR,
pSecurityDescriptor: ?PSECURITY_DESCRIPTOR,
Status: u32,
Priority: u32,
Position: u32,
StartTime: u32,
UntilTime: u32,
TotalPages: u32,
Size: u32,
Submitted: SYSTEMTIME,
Time: u32,
PagesPrinted: u32,
SizeHigh: i32,
};
pub const ADDJOB_INFO_1A = extern struct {
Path: ?PSTR,
JobId: u32,
};
pub const ADDJOB_INFO_1W = extern struct {
Path: ?PWSTR,
JobId: u32,
};
pub const DRIVER_INFO_1A = extern struct {
pName: ?PSTR,
};
pub const DRIVER_INFO_1W = extern struct {
pName: ?PWSTR,
};
pub const DRIVER_INFO_2A = extern struct {
cVersion: u32,
pName: ?PSTR,
pEnvironment: ?PSTR,
pDriverPath: ?PSTR,
pDataFile: ?PSTR,
pConfigFile: ?PSTR,
};
pub const DRIVER_INFO_2W = extern struct {
cVersion: u32,
pName: ?PWSTR,
pEnvironment: ?PWSTR,
pDriverPath: ?PWSTR,
pDataFile: ?PWSTR,
pConfigFile: ?PWSTR,
};
pub const DRIVER_INFO_3A = extern struct {
cVersion: u32,
pName: ?PSTR,
pEnvironment: ?PSTR,
pDriverPath: ?PSTR,
pDataFile: ?PSTR,
pConfigFile: ?PSTR,
pHelpFile: ?PSTR,
pDependentFiles: ?PSTR,
pMonitorName: ?PSTR,
pDefaultDataType: ?PSTR,
};
pub const DRIVER_INFO_3W = extern struct {
cVersion: u32,
pName: ?PWSTR,
pEnvironment: ?PWSTR,
pDriverPath: ?PWSTR,
pDataFile: ?PWSTR,
pConfigFile: ?PWSTR,
pHelpFile: ?PWSTR,
pDependentFiles: ?PWSTR,
pMonitorName: ?PWSTR,
pDefaultDataType: ?PWSTR,
};
pub const DRIVER_INFO_4A = extern struct {
cVersion: u32,
pName: ?PSTR,
pEnvironment: ?PSTR,
pDriverPath: ?PSTR,
pDataFile: ?PSTR,
pConfigFile: ?PSTR,
pHelpFile: ?PSTR,
pDependentFiles: ?PSTR,
pMonitorName: ?PSTR,
pDefaultDataType: ?PSTR,
pszzPreviousNames: ?PSTR,
};
pub const DRIVER_INFO_4W = extern struct {
cVersion: u32,
pName: ?PWSTR,
pEnvironment: ?PWSTR,
pDriverPath: ?PWSTR,
pDataFile: ?PWSTR,
pConfigFile: ?PWSTR,
pHelpFile: ?PWSTR,
pDependentFiles: ?PWSTR,
pMonitorName: ?PWSTR,
pDefaultDataType: ?PWSTR,
pszzPreviousNames: ?PWSTR,
};
pub const DRIVER_INFO_5A = extern struct {
cVersion: u32,
pName: ?PSTR,
pEnvironment: ?PSTR,
pDriverPath: ?PSTR,
pDataFile: ?PSTR,
pConfigFile: ?PSTR,
dwDriverAttributes: u32,
dwConfigVersion: u32,
dwDriverVersion: u32,
};
pub const DRIVER_INFO_5W = extern struct {
cVersion: u32,
pName: ?PWSTR,
pEnvironment: ?PWSTR,
pDriverPath: ?PWSTR,
pDataFile: ?PWSTR,
pConfigFile: ?PWSTR,
dwDriverAttributes: u32,
dwConfigVersion: u32,
dwDriverVersion: u32,
};
pub const DRIVER_INFO_6A = extern struct {
cVersion: u32,
pName: ?PSTR,
pEnvironment: ?PSTR,
pDriverPath: ?PSTR,
pDataFile: ?PSTR,
pConfigFile: ?PSTR,
pHelpFile: ?PSTR,
pDependentFiles: ?PSTR,
pMonitorName: ?PSTR,
pDefaultDataType: ?PSTR,
pszzPreviousNames: ?PSTR,
ftDriverDate: FILETIME,
dwlDriverVersion: u64,
pszMfgName: ?PSTR,
pszOEMUrl: ?PSTR,
pszHardwareID: ?PSTR,
pszProvider: ?PSTR,
};
pub const DRIVER_INFO_6W = extern struct {
cVersion: u32,
pName: ?PWSTR,
pEnvironment: ?PWSTR,
pDriverPath: ?PWSTR,
pDataFile: ?PWSTR,
pConfigFile: ?PWSTR,
pHelpFile: ?PWSTR,
pDependentFiles: ?PWSTR,
pMonitorName: ?PWSTR,
pDefaultDataType: ?PWSTR,
pszzPreviousNames: ?PWSTR,
ftDriverDate: FILETIME,
dwlDriverVersion: u64,
pszMfgName: ?PWSTR,
pszOEMUrl: ?PWSTR,
pszHardwareID: ?PWSTR,
pszProvider: ?PWSTR,
};
pub const DRIVER_INFO_8A = extern struct {
cVersion: u32,
pName: ?PSTR,
pEnvironment: ?PSTR,
pDriverPath: ?PSTR,
pDataFile: ?PSTR,
pConfigFile: ?PSTR,
pHelpFile: ?PSTR,
pDependentFiles: ?PSTR,
pMonitorName: ?PSTR,
pDefaultDataType: ?PSTR,
pszzPreviousNames: ?PSTR,
ftDriverDate: FILETIME,
dwlDriverVersion: u64,
pszMfgName: ?PSTR,
pszOEMUrl: ?PSTR,
pszHardwareID: ?PSTR,
pszProvider: ?PSTR,
pszPrintProcessor: ?PSTR,
pszVendorSetup: ?PSTR,
pszzColorProfiles: ?PSTR,
pszInfPath: ?PSTR,
dwPrinterDriverAttributes: u32,
pszzCoreDriverDependencies: ?PSTR,
ftMinInboxDriverVerDate: FILETIME,
dwlMinInboxDriverVerVersion: u64,
};
pub const DRIVER_INFO_8W = extern struct {
cVersion: u32,
pName: ?PWSTR,
pEnvironment: ?PWSTR,
pDriverPath: ?PWSTR,
pDataFile: ?PWSTR,
pConfigFile: ?PWSTR,
pHelpFile: ?PWSTR,
pDependentFiles: ?PWSTR,
pMonitorName: ?PWSTR,
pDefaultDataType: ?PWSTR,
pszzPreviousNames: ?PWSTR,
ftDriverDate: FILETIME,
dwlDriverVersion: u64,
pszMfgName: ?PWSTR,
pszOEMUrl: ?PWSTR,
pszHardwareID: ?PWSTR,
pszProvider: ?PWSTR,
pszPrintProcessor: ?PWSTR,
pszVendorSetup: ?PWSTR,
pszzColorProfiles: ?PWSTR,
pszInfPath: ?PWSTR,
dwPrinterDriverAttributes: u32,
pszzCoreDriverDependencies: ?PWSTR,
ftMinInboxDriverVerDate: FILETIME,
dwlMinInboxDriverVerVersion: u64,
};
pub const DOC_INFO_1A = extern struct {
pDocName: ?PSTR,
pOutputFile: ?PSTR,
pDatatype: ?PSTR,
};
pub const DOC_INFO_1W = extern struct {
pDocName: ?PWSTR,
pOutputFile: ?PWSTR,
pDatatype: ?PWSTR,
};
pub const FORM_INFO_1A = extern struct {
Flags: u32,
pName: ?PSTR,
Size: SIZE,
ImageableArea: RECTL,
};
pub const FORM_INFO_1W = extern struct {
Flags: u32,
pName: ?PWSTR,
Size: SIZE,
ImageableArea: RECTL,
};
pub const FORM_INFO_2A = extern struct {
Flags: u32,
pName: ?[*:0]const u8,
Size: SIZE,
ImageableArea: RECTL,
pKeyword: ?[*:0]const u8,
StringType: u32,
pMuiDll: ?[*:0]const u8,
dwResourceId: u32,
pDisplayName: ?[*:0]const u8,
wLangId: u16,
};
pub const FORM_INFO_2W = extern struct {
Flags: u32,
pName: ?[*:0]const u16,
Size: SIZE,
ImageableArea: RECTL,
pKeyword: ?[*:0]const u8,
StringType: u32,
pMuiDll: ?[*:0]const u16,
dwResourceId: u32,
pDisplayName: ?[*:0]const u16,
wLangId: u16,
};
pub const DOC_INFO_2A = extern struct {
pDocName: ?PSTR,
pOutputFile: ?PSTR,
pDatatype: ?PSTR,
dwMode: u32,
JobId: u32,
};
pub const DOC_INFO_2W = extern struct {
pDocName: ?PWSTR,
pOutputFile: ?PWSTR,
pDatatype: ?PWSTR,
dwMode: u32,
JobId: u32,
};
pub const DOC_INFO_3A = extern struct {
pDocName: ?PSTR,
pOutputFile: ?PSTR,
pDatatype: ?PSTR,
dwFlags: u32,
};
pub const DOC_INFO_3W = extern struct {
pDocName: ?PWSTR,
pOutputFile: ?PWSTR,
pDatatype: ?PWSTR,
dwFlags: u32,
};
pub const PRINTPROCESSOR_INFO_1A = extern struct {
pName: ?PSTR,
};
pub const PRINTPROCESSOR_INFO_1W = extern struct {
pName: ?PWSTR,
};
pub const PRINTPROCESSOR_CAPS_1 = extern struct {
dwLevel: u32,
dwNupOptions: u32,
dwPageOrderFlags: u32,
dwNumberOfCopies: u32,
};
pub const PRINTPROCESSOR_CAPS_2 = extern struct {
dwLevel: u32,
dwNupOptions: u32,
dwPageOrderFlags: u32,
dwNumberOfCopies: u32,
dwDuplexHandlingCaps: u32,
dwNupDirectionCaps: u32,
dwNupBorderCaps: u32,
dwBookletHandlingCaps: u32,
dwScalingCaps: u32,
};
pub const PORT_INFO_1A = extern struct {
pName: ?PSTR,
};
pub const PORT_INFO_1W = extern struct {
pName: ?PWSTR,
};
pub const PORT_INFO_2A = extern struct {
pPortName: ?PSTR,
pMonitorName: ?PSTR,
pDescription: ?PSTR,
fPortType: u32,
Reserved: u32,
};
pub const PORT_INFO_2W = extern struct {
pPortName: ?PWSTR,
pMonitorName: ?PWSTR,
pDescription: ?PWSTR,
fPortType: u32,
Reserved: u32,
};
pub const PORT_INFO_3A = extern struct {
dwStatus: u32,
pszStatus: ?PSTR,
dwSeverity: u32,
};
pub const PORT_INFO_3W = extern struct {
dwStatus: u32,
pszStatus: ?PWSTR,
dwSeverity: u32,
};
pub const MONITOR_INFO_1A = extern struct {
pName: ?PSTR,
};
pub const MONITOR_INFO_1W = extern struct {
pName: ?PWSTR,
};
pub const MONITOR_INFO_2A = extern struct {
pName: ?PSTR,
pEnvironment: ?PSTR,
pDLLName: ?PSTR,
};
pub const MONITOR_INFO_2W = extern struct {
pName: ?PWSTR,
pEnvironment: ?PWSTR,
pDLLName: ?PWSTR,
};
pub const DATATYPES_INFO_1A = extern struct {
pName: ?PSTR,
};
pub const DATATYPES_INFO_1W = extern struct {
pName: ?PWSTR,
};
pub const PRINTER_DEFAULTSA = extern struct {
pDatatype: ?PSTR,
pDevMode: ?*DEVMODEA,
DesiredAccess: PRINTER_ACCESS_RIGHTS,
};
pub const PRINTER_DEFAULTSW = extern struct {
pDatatype: ?PWSTR,
pDevMode: ?*DEVMODEW,
DesiredAccess: PRINTER_ACCESS_RIGHTS,
};
pub const PRINTER_ENUM_VALUESA = extern struct {
pValueName: ?PSTR,
cbValueName: u32,
dwType: u32,
pData: ?*u8,
cbData: u32,
};
pub const PRINTER_ENUM_VALUESW = extern struct {
pValueName: ?PWSTR,
cbValueName: u32,
dwType: u32,
pData: ?*u8,
cbData: u32,
};
pub const PRINTER_NOTIFY_OPTIONS_TYPE = extern struct {
Type: u16,
Reserved0: u16,
Reserved1: u32,
Reserved2: u32,
Count: u32,
pFields: ?*u16,
};
pub const PRINTER_NOTIFY_OPTIONS = extern struct {
Version: u32,
Flags: u32,
Count: u32,
pTypes: ?*PRINTER_NOTIFY_OPTIONS_TYPE,
};
pub const PRINTER_NOTIFY_INFO_DATA = extern struct {
Type: u16,
Field: u16,
Reserved: u32,
Id: u32,
NotifyData: extern union {
adwData: [2]u32,
Data: extern struct {
cbBuf: u32,
pBuf: ?*anyopaque,
},
},
};
pub const PRINTER_NOTIFY_INFO = extern struct {
Version: u32,
Flags: u32,
Count: u32,
aData: [1]PRINTER_NOTIFY_INFO_DATA,
};
pub const BINARY_CONTAINER = extern struct {
cbBuf: u32,
pData: ?*u8,
};
pub const BIDI_DATA = extern struct {
dwBidiType: u32,
u: extern union {
bData: BOOL,
iData: i32,
sData: ?PWSTR,
fData: f32,
biData: BINARY_CONTAINER,
},
};
pub const BIDI_REQUEST_DATA = extern struct {
dwReqNumber: u32,
pSchema: ?PWSTR,
data: BIDI_DATA,
};
pub const BIDI_REQUEST_CONTAINER = extern struct {
Version: u32,
Flags: u32,
Count: u32,
aData: [1]BIDI_REQUEST_DATA,
};
pub const BIDI_RESPONSE_DATA = extern struct {
dwResult: u32,
dwReqNumber: u32,
pSchema: ?PWSTR,
data: BIDI_DATA,
};
pub const BIDI_RESPONSE_CONTAINER = extern struct {
Version: u32,
Flags: u32,
Count: u32,
aData: [1]BIDI_RESPONSE_DATA,
};
pub const BIDI_TYPE = enum(i32) {
NULL = 0,
INT = 1,
FLOAT = 2,
BOOL = 3,
STRING = 4,
TEXT = 5,
ENUM = 6,
BLOB = 7,
};
pub const BIDI_NULL = BIDI_TYPE.NULL;
pub const BIDI_INT = BIDI_TYPE.INT;
pub const BIDI_FLOAT = BIDI_TYPE.FLOAT;
pub const BIDI_BOOL = BIDI_TYPE.BOOL;
pub const BIDI_STRING = BIDI_TYPE.STRING;
pub const BIDI_TEXT = BIDI_TYPE.TEXT;
pub const BIDI_ENUM = BIDI_TYPE.ENUM;
pub const BIDI_BLOB = BIDI_TYPE.BLOB;
pub const PROVIDOR_INFO_1A = extern struct {
pName: ?PSTR,
pEnvironment: ?PSTR,
pDLLName: ?PSTR,
};
pub const PROVIDOR_INFO_1W = extern struct {
pName: ?PWSTR,
pEnvironment: ?PWSTR,
pDLLName: ?PWSTR,
};
pub const PROVIDOR_INFO_2A = extern struct {
pOrder: ?PSTR,
};
pub const PROVIDOR_INFO_2W = extern struct {
pOrder: ?PWSTR,
};
pub const PRINTER_OPTION_FLAGS = enum(i32) {
NO_CACHE = 1,
CACHE = 2,
CLIENT_CHANGE = 4,
NO_CLIENT_DATA = 8,
};
pub const PRINTER_OPTION_NO_CACHE = PRINTER_OPTION_FLAGS.NO_CACHE;
pub const PRINTER_OPTION_CACHE = PRINTER_OPTION_FLAGS.CACHE;
pub const PRINTER_OPTION_CLIENT_CHANGE = PRINTER_OPTION_FLAGS.CLIENT_CHANGE;
pub const PRINTER_OPTION_NO_CLIENT_DATA = PRINTER_OPTION_FLAGS.NO_CLIENT_DATA;
pub const PRINTER_OPTIONSA = extern struct {
cbSize: u32,
dwFlags: PRINTER_OPTION_FLAGS,
};
pub const PRINTER_OPTIONSW = extern struct {
cbSize: u32,
dwFlags: PRINTER_OPTION_FLAGS,
};
pub const PRINTER_CONNECTION_INFO_1A = extern struct {
dwFlags: u32,
pszDriverName: ?PSTR,
};
pub const PRINTER_CONNECTION_INFO_1W = extern struct {
dwFlags: u32,
pszDriverName: ?PWSTR,
};
pub const CORE_PRINTER_DRIVERA = extern struct {
CoreDriverGUID: Guid,
ftDriverDate: FILETIME,
dwlDriverVersion: u64,
szPackageID: [260]CHAR,
};
pub const CORE_PRINTER_DRIVERW = extern struct {
CoreDriverGUID: Guid,
ftDriverDate: FILETIME,
dwlDriverVersion: u64,
szPackageID: [260]u16,
};
pub const EPrintPropertyType = enum(i32) {
String = 1,
Int32 = 2,
Int64 = 3,
Byte = 4,
Time = 5,
DevMode = 6,
SD = 7,
NotificationReply = 8,
NotificationOptions = 9,
Buffer = 10,
};
pub const kPropertyTypeString = EPrintPropertyType.String;
pub const kPropertyTypeInt32 = EPrintPropertyType.Int32;
pub const kPropertyTypeInt64 = EPrintPropertyType.Int64;
pub const kPropertyTypeByte = EPrintPropertyType.Byte;
pub const kPropertyTypeTime = EPrintPropertyType.Time;
pub const kPropertyTypeDevMode = EPrintPropertyType.DevMode;
pub const kPropertyTypeSD = EPrintPropertyType.SD;
pub const kPropertyTypeNotificationReply = EPrintPropertyType.NotificationReply;
pub const kPropertyTypeNotificationOptions = EPrintPropertyType.NotificationOptions;
pub const kPropertyTypeBuffer = EPrintPropertyType.Buffer;
pub const EPrintXPSJobProgress = enum(i32) {
AddingDocumentSequence = 0,
DocumentSequenceAdded = 1,
AddingFixedDocument = 2,
FixedDocumentAdded = 3,
AddingFixedPage = 4,
FixedPageAdded = 5,
ResourceAdded = 6,
FontAdded = 7,
ImageAdded = 8,
XpsDocumentCommitted = 9,
};
pub const kAddingDocumentSequence = EPrintXPSJobProgress.AddingDocumentSequence;
pub const kDocumentSequenceAdded = EPrintXPSJobProgress.DocumentSequenceAdded;
pub const kAddingFixedDocument = EPrintXPSJobProgress.AddingFixedDocument;
pub const kFixedDocumentAdded = EPrintXPSJobProgress.FixedDocumentAdded;
pub const kAddingFixedPage = EPrintXPSJobProgress.AddingFixedPage;
pub const kFixedPageAdded = EPrintXPSJobProgress.FixedPageAdded;
pub const kResourceAdded = EPrintXPSJobProgress.ResourceAdded;
pub const kFontAdded = EPrintXPSJobProgress.FontAdded;
pub const kImageAdded = EPrintXPSJobProgress.ImageAdded;
pub const kXpsDocumentCommitted = EPrintXPSJobProgress.XpsDocumentCommitted;
pub const EPrintXPSJobOperation = enum(i32) {
Production = 1,
Consumption = 2,
};
pub const kJobProduction = EPrintXPSJobOperation.Production;
pub const kJobConsumption = EPrintXPSJobOperation.Consumption;
pub const PrintPropertyValue = extern struct {
ePropertyType: EPrintPropertyType,
value: extern union {
propertyByte: u8,
propertyString: ?PWSTR,
propertyInt32: i32,
propertyInt64: i64,
propertyBlob: extern struct {
cbBuf: u32,
pBuf: ?*anyopaque,
},
},
};
pub const PrintNamedProperty = extern struct {
propertyName: ?PWSTR,
propertyValue: PrintPropertyValue,
};
pub const PrintPropertiesCollection = extern struct {
numberOfProperties: u32,
propertiesCollection: ?*PrintNamedProperty,
};
pub const PRINT_EXECUTION_CONTEXT = enum(i32) {
APPLICATION = 0,
SPOOLER_SERVICE = 1,
SPOOLER_ISOLATION_HOST = 2,
FILTER_PIPELINE = 3,
WOW64 = 4,
};
pub const PRINT_EXECUTION_CONTEXT_APPLICATION = PRINT_EXECUTION_CONTEXT.APPLICATION;
pub const PRINT_EXECUTION_CONTEXT_SPOOLER_SERVICE = PRINT_EXECUTION_CONTEXT.SPOOLER_SERVICE;
pub const PRINT_EXECUTION_CONTEXT_SPOOLER_ISOLATION_HOST = PRINT_EXECUTION_CONTEXT.SPOOLER_ISOLATION_HOST;
pub const PRINT_EXECUTION_CONTEXT_FILTER_PIPELINE = PRINT_EXECUTION_CONTEXT.FILTER_PIPELINE;
pub const PRINT_EXECUTION_CONTEXT_WOW64 = PRINT_EXECUTION_CONTEXT.WOW64;
pub const PRINT_EXECUTION_DATA = extern struct {
context: PRINT_EXECUTION_CONTEXT,
clientAppPID: u32,
};
pub const MxdcLandscapeRotationEnums = enum(i32) {
COUNTERCLOCKWISE_90_DEGREES = 90,
NONE = 0,
COUNTERCLOCKWISE_270_DEGREES = -90,
};
pub const MXDC_LANDSCAPE_ROTATE_COUNTERCLOCKWISE_90_DEGREES = MxdcLandscapeRotationEnums.COUNTERCLOCKWISE_90_DEGREES;
pub const MXDC_LANDSCAPE_ROTATE_NONE = MxdcLandscapeRotationEnums.NONE;
pub const MXDC_LANDSCAPE_ROTATE_COUNTERCLOCKWISE_270_DEGREES = MxdcLandscapeRotationEnums.COUNTERCLOCKWISE_270_DEGREES;
pub const MxdcImageTypeEnums = enum(i32) {
JPEGHIGH_COMPRESSION = 1,
JPEGMEDIUM_COMPRESSION = 2,
JPEGLOW_COMPRESSION = 3,
PNG = 4,
};
pub const MXDC_IMAGETYPE_JPEGHIGH_COMPRESSION = MxdcImageTypeEnums.JPEGHIGH_COMPRESSION;
pub const MXDC_IMAGETYPE_JPEGMEDIUM_COMPRESSION = MxdcImageTypeEnums.JPEGMEDIUM_COMPRESSION;
pub const MXDC_IMAGETYPE_JPEGLOW_COMPRESSION = MxdcImageTypeEnums.JPEGLOW_COMPRESSION;
pub const MXDC_IMAGETYPE_PNG = MxdcImageTypeEnums.PNG;
pub const MxdcEscapeHeader = extern struct {
cbInput: u32 align(1),
cbOutput: u32 align(1),
opCode: u32 align(1),
};
pub const MxdcGetFileNameData = extern struct {
cbOutput: u32 align(1),
wszData: [1]u16 align(1),
};
pub const MxdcS0PageData = extern struct {
dwSize: u32 align(1),
bData: [1]u8 align(1),
};
pub const MxdcS0PageEnums = enum(i32) {
TTF = 0,
JPEG = 1,
PNG = 2,
TIFF = 3,
WDP = 4,
DICTIONARY = 5,
ICC_PROFILE = 6,
JPEG_THUMBNAIL = 7,
PNG_THUMBNAIL = 8,
MAX = 9,
};
pub const MXDC_RESOURCE_TTF = MxdcS0PageEnums.TTF;
pub const MXDC_RESOURCE_JPEG = MxdcS0PageEnums.JPEG;
pub const MXDC_RESOURCE_PNG = MxdcS0PageEnums.PNG;
pub const MXDC_RESOURCE_TIFF = MxdcS0PageEnums.TIFF;
pub const MXDC_RESOURCE_WDP = MxdcS0PageEnums.WDP;
pub const MXDC_RESOURCE_DICTIONARY = MxdcS0PageEnums.DICTIONARY;
pub const MXDC_RESOURCE_ICC_PROFILE = MxdcS0PageEnums.ICC_PROFILE;
pub const MXDC_RESOURCE_JPEG_THUMBNAIL = MxdcS0PageEnums.JPEG_THUMBNAIL;
pub const MXDC_RESOURCE_PNG_THUMBNAIL = MxdcS0PageEnums.PNG_THUMBNAIL;
pub const MXDC_RESOURCE_MAX = MxdcS0PageEnums.MAX;
pub const MxdcXpsS0PageResource = extern struct {
dwSize: u32 align(1),
dwResourceType: u32 align(1),
szUri: [260]u8 align(1),
dwDataSize: u32 align(1),
bData: [1]u8 align(1),
};
pub const MxdcPrintTicketPassthrough = extern struct {
dwDataSize: u32 align(1),
bData: [1]u8 align(1),
};
pub const MxdcPrintTicketEscape = extern struct {
mxdcEscape: MxdcEscapeHeader,
printTicketData: MxdcPrintTicketPassthrough,
};
pub const MxdcS0PagePassthroughEscape = extern struct {
mxdcEscape: MxdcEscapeHeader,
xpsS0PageData: MxdcS0PageData,
};
pub const MxdcS0PageResourceEscape = extern struct {
mxdcEscape: MxdcEscapeHeader,
xpsS0PageResourcePassthrough: MxdcXpsS0PageResource,
};
pub const DEVICEPROPERTYHEADER = extern struct {
cbSize: u16,
Flags: u16,
hPrinter: ?HANDLE,
pszPrinterName: ?*i8,
};
pub const DOCUMENTPROPERTYHEADER = extern struct {
cbSize: u16,
Reserved: u16,
hPrinter: ?HANDLE,
pszPrinterName: ?*i8,
pdmIn: ?*DEVMODEA,
pdmOut: ?*DEVMODEA,
cbOut: u32,
fMode: u32,
};
pub const DEVQUERYPRINT_INFO = extern struct {
cbSize: u16,
Level: u16,
hPrinter: ?HANDLE,
pDevMode: ?*DEVMODEA,
pszErrorStr: ?PWSTR,
cchErrorStr: u32,
cchNeeded: u32,
};
pub const DRIVER_UPGRADE_INFO_1 = extern struct {
pPrinterName: ?*i8,
pOldDriverDirectory: ?*i8,
};
pub const DRIVER_UPGRADE_INFO_2 = extern struct {
pPrinterName: ?*i8,
pOldDriverDirectory: ?*i8,
cVersion: u32,
pName: ?*i8,
pEnvironment: ?*i8,
pDriverPath: ?*i8,
pDataFile: ?*i8,
pConfigFile: ?*i8,
pHelpFile: ?*i8,
pDependentFiles: ?*i8,
pMonitorName: ?*i8,
pDefaultDataType: ?*i8,
pszzPreviousNames: ?*i8,
};
pub const DOCEVENT_FILTER = extern struct {
cbSize: u32,
cElementsAllocated: u32,
cElementsNeeded: u32,
cElementsReturned: u32,
aDocEventCall: [1]u32,
};
pub const DOCEVENT_CREATEDCPRE = extern struct {
pszDriver: ?PWSTR,
pszDevice: ?PWSTR,
pdm: ?*DEVMODEW,
bIC: BOOL,
};
pub const DOCEVENT_ESCAPE = extern struct {
iEscape: i32,
cjInput: i32,
pvInData: ?*anyopaque,
};
pub const PRINTER_EVENT_ATTRIBUTES_INFO = extern struct {
cbSize: u32,
dwOldAttributes: u32,
dwNewAttributes: u32,
};
pub const ATTRIBUTE_INFO_1 = extern struct {
dwJobNumberOfPagesPerSide: u32,
dwDrvNumberOfPagesPerSide: u32,
dwNupBorderFlags: u32,
dwJobPageOrderFlags: u32,
dwDrvPageOrderFlags: u32,
dwJobNumberOfCopies: u32,
dwDrvNumberOfCopies: u32,
};
pub const ATTRIBUTE_INFO_2 = extern struct {
dwJobNumberOfPagesPerSide: u32,
dwDrvNumberOfPagesPerSide: u32,
dwNupBorderFlags: u32,
dwJobPageOrderFlags: u32,
dwDrvPageOrderFlags: u32,
dwJobNumberOfCopies: u32,
dwDrvNumberOfCopies: u32,
dwColorOptimization: u32,
};
pub const ATTRIBUTE_INFO_3 = extern struct {
dwJobNumberOfPagesPerSide: u32,
dwDrvNumberOfPagesPerSide: u32,
dwNupBorderFlags: u32,
dwJobPageOrderFlags: u32,
dwDrvPageOrderFlags: u32,
dwJobNumberOfCopies: u32,
dwDrvNumberOfCopies: u32,
dwColorOptimization: u32,
dmPrintQuality: i16,
dmYResolution: i16,
};
pub const ATTRIBUTE_INFO_4 = extern struct {
dwJobNumberOfPagesPerSide: u32,
dwDrvNumberOfPagesPerSide: u32,
dwNupBorderFlags: u32,
dwJobPageOrderFlags: u32,
dwDrvPageOrderFlags: u32,
dwJobNumberOfCopies: u32,
dwDrvNumberOfCopies: u32,
dwColorOptimization: u32,
dmPrintQuality: i16,
dmYResolution: i16,
dwDuplexFlags: u32,
dwNupDirection: u32,
dwBookletFlags: u32,
dwScalingPercentX: u32,
dwScalingPercentY: u32,
};
pub const PSCRIPT5_PRIVATE_DEVMODE = extern struct {
wReserved: [57]u16,
wSize: u16,
};
pub const UNIDRV_PRIVATE_DEVMODE = extern struct {
wReserved: [4]u16,
wSize: u16,
};
pub const PUBLISHERINFO = extern struct {
dwMode: u32,
wMinoutlinePPEM: u16,
wMaxbitmapPPEM: u16,
};
pub const OEMDMPARAM = extern struct {
cbSize: u32,
pdriverobj: ?*anyopaque,
hPrinter: ?HANDLE,
hModule: ?HANDLE,
pPublicDMIn: ?*DEVMODEA,
pPublicDMOut: ?*DEVMODEA,
pOEMDMIn: ?*anyopaque,
pOEMDMOut: ?*anyopaque,
cbBufSize: u32,
};
pub const OEM_DMEXTRAHEADER = extern struct {
dwSize: u32,
dwSignature: u32,
dwVersion: u32,
};
pub const USERDATA = extern struct {
dwSize: u32,
dwItemID: usize,
pKeyWordName: ?PSTR,
dwReserved: [8]u32,
};
pub const PFN_DrvGetDriverSetting = switch (@import("builtin").zig_backend) {
.stage1 => fn(
pdriverobj: ?*anyopaque,
Feature: ?[*:0]const u8,
// TODO: what to do with BytesParamIndex 3?
pOutput: ?*anyopaque,
cbSize: u32,
pcbNeeded: ?*u32,
pdwOptionsReturned: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL,
else => *const fn(
pdriverobj: ?*anyopaque,
Feature: ?[*:0]const u8,
// TODO: what to do with BytesParamIndex 3?
pOutput: ?*anyopaque,
cbSize: u32,
pcbNeeded: ?*u32,
pdwOptionsReturned: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL,
} ;
pub const PFN_DrvUpgradeRegistrySetting = switch (@import("builtin").zig_backend) {
.stage1 => fn(
hPrinter: ?HANDLE,
pFeature: ?[*:0]const u8,
pOption: ?[*:0]const u8,
) callconv(@import("std").os.windows.WINAPI) BOOL,
else => *const fn(
hPrinter: ?HANDLE,
pFeature: ?[*:0]const u8,
pOption: ?[*:0]const u8,
) callconv(@import("std").os.windows.WINAPI) BOOL,
} ;
pub const PFN_DrvUpdateUISetting = switch (@import("builtin").zig_backend) {
.stage1 => fn(
pdriverobj: ?*anyopaque,
pOptItem: ?*anyopaque,
dwPreviousSelection: u32,
dwMode: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL,
else => *const fn(
pdriverobj: ?*anyopaque,
pOptItem: ?*anyopaque,
dwPreviousSelection: u32,
dwMode: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL,
} ;
pub const SIMULATE_CAPS_1 = extern struct {
dwLevel: u32,
dwPageOrderFlags: u32,
dwNumberOfCopies: u32,
dwCollate: u32,
dwNupOptions: u32,
};
pub const OEMUIPROCS = extern struct {
DrvGetDriverSetting: ?PFN_DrvGetDriverSetting,
DrvUpdateUISetting: ?PFN_DrvUpdateUISetting,
};
pub const OEMUIOBJ = extern struct {
cbSize: u32,
pOemUIProcs: ?*OEMUIPROCS,
};
// TODO: this function pointer causes dependency loop problems, so it's stubbed out
pub const OEMCUIPCALLBACK = switch (@import("builtin").zig_backend) { .stage1 => fn() callconv(@import("std").os.windows.WINAPI) void, else => *const fn() callconv(@import("std").os.windows.WINAPI) void};
pub const OEMCUIPPARAM = extern struct {
cbSize: u32,
poemuiobj: ?*OEMUIOBJ,
hPrinter: ?HANDLE,
pPrinterName: ?PWSTR,
hModule: ?HANDLE,
hOEMHeap: ?HANDLE,
pPublicDM: ?*DEVMODEA,
pOEMDM: ?*anyopaque,
dwFlags: u32,
pDrvOptItems: ?*OPTITEM,
cDrvOptItems: u32,
pOEMOptItems: ?*OPTITEM,
cOEMOptItems: u32,
pOEMUserData: ?*anyopaque,
OEMCUIPCallback: ?OEMCUIPCALLBACK,
};
pub const OEMUIPSPARAM = extern struct {
cbSize: u32,
poemuiobj: ?*OEMUIOBJ,
hPrinter: ?HANDLE,
pPrinterName: ?PWSTR,
hModule: ?HANDLE,
hOEMHeap: ?HANDLE,
pPublicDM: ?*DEVMODEA,
pOEMDM: ?*anyopaque,
pOEMUserData: ?*anyopaque,
dwFlags: u32,
pOemEntry: ?*anyopaque,
};
pub const EATTRIBUTE_DATATYPE = enum(i32) {
UNKNOWN = 0,
BOOL = 1,
INT = 2,
LONG = 3,
DWORD = 4,
ASCII = 5,
UNICODE = 6,
BINARY = 7,
SIZE = 8,
RECT = 9,
CUSTOMSIZEPARAMS = 10,
};
pub const kADT_UNKNOWN = EATTRIBUTE_DATATYPE.UNKNOWN;
pub const kADT_BOOL = EATTRIBUTE_DATATYPE.BOOL;
pub const kADT_INT = EATTRIBUTE_DATATYPE.INT;
pub const kADT_LONG = EATTRIBUTE_DATATYPE.LONG;
pub const kADT_DWORD = EATTRIBUTE_DATATYPE.DWORD;
pub const kADT_ASCII = EATTRIBUTE_DATATYPE.ASCII;
pub const kADT_UNICODE = EATTRIBUTE_DATATYPE.UNICODE;
pub const kADT_BINARY = EATTRIBUTE_DATATYPE.BINARY;
pub const kADT_SIZE = EATTRIBUTE_DATATYPE.SIZE;
pub const kADT_RECT = EATTRIBUTE_DATATYPE.RECT;
pub const kADT_CUSTOMSIZEPARAMS = EATTRIBUTE_DATATYPE.CUSTOMSIZEPARAMS;
pub const CUSTOMSIZEPARAM = extern struct {
dwOrder: i32,
lMinVal: i32,
lMaxVal: i32,
};
pub const PRINT_FEATURE_OPTION = extern struct {
pszFeature: ?[*:0]const u8,
pszOption: ?[*:0]const u8,
};
const IID_IPrintCoreHelper_Value = Guid.initString("a89ec53e-3905-49c6-9c1a-c0a88117fdb6");
pub const IID_IPrintCoreHelper = &IID_IPrintCoreHelper_Value;
pub const IPrintCoreHelper = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
GetOption: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintCoreHelper,
// TODO: what to do with BytesParamIndex 1?
pDevmode: ?*const DEVMODEA,
cbSize: u32,
pszFeatureRequested: ?[*:0]const u8,
ppszOption: ?*?PSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintCoreHelper,
// TODO: what to do with BytesParamIndex 1?
pDevmode: ?*const DEVMODEA,
cbSize: u32,
pszFeatureRequested: ?[*:0]const u8,
ppszOption: ?*?PSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
SetOptions: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintCoreHelper,
pDevmode: ?*DEVMODEA,
cbSize: u32,
bResolveConflicts: BOOL,
pFOPairs: ?*const PRINT_FEATURE_OPTION,
cPairs: u32,
pcPairsWritten: ?*u32,
pdwResult: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintCoreHelper,
pDevmode: ?*DEVMODEA,
cbSize: u32,
bResolveConflicts: BOOL,
pFOPairs: ?*const PRINT_FEATURE_OPTION,
cPairs: u32,
pcPairsWritten: ?*u32,
pdwResult: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
EnumConstrainedOptions: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintCoreHelper,
pDevmode: ?*const DEVMODEA,
cbSize: u32,
pszFeatureKeyword: ?[*:0]const u8,
pConstrainedOptionList: ?*?*?*?PSTR,
pdwNumOptions: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintCoreHelper,
pDevmode: ?*const DEVMODEA,
cbSize: u32,
pszFeatureKeyword: ?[*:0]const u8,
pConstrainedOptionList: ?*?*?*?PSTR,
pdwNumOptions: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
WhyConstrained: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintCoreHelper,
// TODO: what to do with BytesParamIndex 1?
pDevmode: ?*const DEVMODEA,
cbSize: u32,
pszFeatureKeyword: ?[*:0]const u8,
pszOptionKeyword: ?[*:0]const u8,
ppFOConstraints: ?*const ?*PRINT_FEATURE_OPTION,
pdwNumOptions: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintCoreHelper,
// TODO: what to do with BytesParamIndex 1?
pDevmode: ?*const DEVMODEA,
cbSize: u32,
pszFeatureKeyword: ?[*:0]const u8,
pszOptionKeyword: ?[*:0]const u8,
ppFOConstraints: ?*const ?*PRINT_FEATURE_OPTION,
pdwNumOptions: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
EnumFeatures: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintCoreHelper,
pFeatureList: ?*?*?*?PSTR,
pdwNumFeatures: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintCoreHelper,
pFeatureList: ?*?*?*?PSTR,
pdwNumFeatures: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
EnumOptions: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintCoreHelper,
pszFeatureKeyword: ?[*:0]const u8,
pOptionList: ?*?*?*?PSTR,
pdwNumOptions: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintCoreHelper,
pszFeatureKeyword: ?[*:0]const u8,
pOptionList: ?*?*?*?PSTR,
pdwNumOptions: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetFontSubstitution: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintCoreHelper,
pszTrueTypeFontName: ?[*:0]const u16,
ppszDevFontName: ?*?PWSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintCoreHelper,
pszTrueTypeFontName: ?[*:0]const u16,
ppszDevFontName: ?*?PWSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
SetFontSubstitution: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintCoreHelper,
pszTrueTypeFontName: ?[*:0]const u16,
pszDevFontName: ?[*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintCoreHelper,
pszTrueTypeFontName: ?[*:0]const u16,
pszDevFontName: ?[*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
CreateInstanceOfMSXMLObject: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintCoreHelper,
rclsid: ?*const Guid,
pUnkOuter: ?*IUnknown,
dwClsContext: u32,
riid: ?*const Guid,
ppv: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintCoreHelper,
rclsid: ?*const Guid,
pUnkOuter: ?*IUnknown,
dwClsContext: u32,
riid: ?*const Guid,
ppv: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IUnknown.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintCoreHelper_GetOption(self: *const T, pDevmode: ?*const DEVMODEA, cbSize: u32, pszFeatureRequested: ?[*:0]const u8, ppszOption: ?*?PSTR) callconv(.Inline) HRESULT {
return @as(*const IPrintCoreHelper.VTable, @ptrCast(self.vtable)).GetOption(@as(*const IPrintCoreHelper, @ptrCast(self)), pDevmode, cbSize, pszFeatureRequested, ppszOption);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintCoreHelper_SetOptions(self: *const T, pDevmode: ?*DEVMODEA, cbSize: u32, bResolveConflicts: BOOL, pFOPairs: ?*const PRINT_FEATURE_OPTION, cPairs: u32, pcPairsWritten: ?*u32, pdwResult: ?*u32) callconv(.Inline) HRESULT {
return @as(*const IPrintCoreHelper.VTable, @ptrCast(self.vtable)).SetOptions(@as(*const IPrintCoreHelper, @ptrCast(self)), pDevmode, cbSize, bResolveConflicts, pFOPairs, cPairs, pcPairsWritten, pdwResult);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintCoreHelper_EnumConstrainedOptions(self: *const T, pDevmode: ?*const DEVMODEA, cbSize: u32, pszFeatureKeyword: ?[*:0]const u8, pConstrainedOptionList: ?*?*?*?PSTR, pdwNumOptions: ?*u32) callconv(.Inline) HRESULT {
return @as(*const IPrintCoreHelper.VTable, @ptrCast(self.vtable)).EnumConstrainedOptions(@as(*const IPrintCoreHelper, @ptrCast(self)), pDevmode, cbSize, pszFeatureKeyword, pConstrainedOptionList, pdwNumOptions);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintCoreHelper_WhyConstrained(self: *const T, pDevmode: ?*const DEVMODEA, cbSize: u32, pszFeatureKeyword: ?[*:0]const u8, pszOptionKeyword: ?[*:0]const u8, ppFOConstraints: ?*const ?*PRINT_FEATURE_OPTION, pdwNumOptions: ?*u32) callconv(.Inline) HRESULT {
return @as(*const IPrintCoreHelper.VTable, @ptrCast(self.vtable)).WhyConstrained(@as(*const IPrintCoreHelper, @ptrCast(self)), pDevmode, cbSize, pszFeatureKeyword, pszOptionKeyword, ppFOConstraints, pdwNumOptions);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintCoreHelper_EnumFeatures(self: *const T, pFeatureList: ?*?*?*?PSTR, pdwNumFeatures: ?*u32) callconv(.Inline) HRESULT {
return @as(*const IPrintCoreHelper.VTable, @ptrCast(self.vtable)).EnumFeatures(@as(*const IPrintCoreHelper, @ptrCast(self)), pFeatureList, pdwNumFeatures);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintCoreHelper_EnumOptions(self: *const T, pszFeatureKeyword: ?[*:0]const u8, pOptionList: ?*?*?*?PSTR, pdwNumOptions: ?*u32) callconv(.Inline) HRESULT {
return @as(*const IPrintCoreHelper.VTable, @ptrCast(self.vtable)).EnumOptions(@as(*const IPrintCoreHelper, @ptrCast(self)), pszFeatureKeyword, pOptionList, pdwNumOptions);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintCoreHelper_GetFontSubstitution(self: *const T, pszTrueTypeFontName: ?[*:0]const u16, ppszDevFontName: ?*?PWSTR) callconv(.Inline) HRESULT {
return @as(*const IPrintCoreHelper.VTable, @ptrCast(self.vtable)).GetFontSubstitution(@as(*const IPrintCoreHelper, @ptrCast(self)), pszTrueTypeFontName, ppszDevFontName);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintCoreHelper_SetFontSubstitution(self: *const T, pszTrueTypeFontName: ?[*:0]const u16, pszDevFontName: ?[*:0]const u16) callconv(.Inline) HRESULT {
return @as(*const IPrintCoreHelper.VTable, @ptrCast(self.vtable)).SetFontSubstitution(@as(*const IPrintCoreHelper, @ptrCast(self)), pszTrueTypeFontName, pszDevFontName);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintCoreHelper_CreateInstanceOfMSXMLObject(self: *const T, rclsid: ?*const Guid, pUnkOuter: ?*IUnknown, dwClsContext: u32, riid: ?*const Guid, ppv: ?*?*anyopaque) callconv(.Inline) HRESULT {
return @as(*const IPrintCoreHelper.VTable, @ptrCast(self.vtable)).CreateInstanceOfMSXMLObject(@as(*const IPrintCoreHelper, @ptrCast(self)), rclsid, pUnkOuter, dwClsContext, riid, ppv);
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IPrintCoreHelperUni_Value = Guid.initString("7e8e51d6-e5ee-4426-817b-958b9444eb79");
pub const IID_IPrintCoreHelperUni = &IID_IPrintCoreHelperUni_Value;
pub const IPrintCoreHelperUni = extern struct {
pub const VTable = extern struct {
base: IPrintCoreHelper.VTable,
CreateGDLSnapshot: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintCoreHelperUni,
pDevmode: ?*DEVMODEA,
cbSize: u32,
dwFlags: u32,
ppSnapshotStream: ?*?*IStream,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintCoreHelperUni,
pDevmode: ?*DEVMODEA,
cbSize: u32,
dwFlags: u32,
ppSnapshotStream: ?*?*IStream,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
CreateDefaultGDLSnapshot: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintCoreHelperUni,
dwFlags: u32,
ppSnapshotStream: ?*?*IStream,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintCoreHelperUni,
dwFlags: u32,
ppSnapshotStream: ?*?*IStream,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IPrintCoreHelper.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintCoreHelperUni_CreateGDLSnapshot(self: *const T, pDevmode: ?*DEVMODEA, cbSize: u32, dwFlags: u32, ppSnapshotStream: ?*?*IStream) callconv(.Inline) HRESULT {
return @as(*const IPrintCoreHelperUni.VTable, @ptrCast(self.vtable)).CreateGDLSnapshot(@as(*const IPrintCoreHelperUni, @ptrCast(self)), pDevmode, cbSize, dwFlags, ppSnapshotStream);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintCoreHelperUni_CreateDefaultGDLSnapshot(self: *const T, dwFlags: u32, ppSnapshotStream: ?*?*IStream) callconv(.Inline) HRESULT {
return @as(*const IPrintCoreHelperUni.VTable, @ptrCast(self.vtable)).CreateDefaultGDLSnapshot(@as(*const IPrintCoreHelperUni, @ptrCast(self)), dwFlags, ppSnapshotStream);
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IPrintCoreHelperUni2_Value = Guid.initString("6c8afdfc-ead0-4d2d-8071-9bf0175a6c3a");
pub const IID_IPrintCoreHelperUni2 = &IID_IPrintCoreHelperUni2_Value;
pub const IPrintCoreHelperUni2 = extern struct {
pub const VTable = extern struct {
base: IPrintCoreHelperUni.VTable,
GetNamedCommand: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintCoreHelperUni2,
// TODO: what to do with BytesParamIndex 1?
pDevmode: ?*DEVMODEA,
cbSize: u32,
pszCommandName: ?[*:0]const u16,
ppCommandBytes: ?*?*u8,
pcbCommandSize: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintCoreHelperUni2,
// TODO: what to do with BytesParamIndex 1?
pDevmode: ?*DEVMODEA,
cbSize: u32,
pszCommandName: ?[*:0]const u16,
ppCommandBytes: ?*?*u8,
pcbCommandSize: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IPrintCoreHelperUni.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintCoreHelperUni2_GetNamedCommand(self: *const T, pDevmode: ?*DEVMODEA, cbSize: u32, pszCommandName: ?[*:0]const u16, ppCommandBytes: ?*?*u8, pcbCommandSize: ?*u32) callconv(.Inline) HRESULT {
return @as(*const IPrintCoreHelperUni2.VTable, @ptrCast(self.vtable)).GetNamedCommand(@as(*const IPrintCoreHelperUni2, @ptrCast(self)), pDevmode, cbSize, pszCommandName, ppCommandBytes, pcbCommandSize);
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IPrintCoreHelperPS_Value = Guid.initString("c2c14f6f-95d3-4d63-96cf-6bd9e6c907c2");
pub const IID_IPrintCoreHelperPS = &IID_IPrintCoreHelperPS_Value;
pub const IPrintCoreHelperPS = extern struct {
pub const VTable = extern struct {
base: IPrintCoreHelper.VTable,
GetGlobalAttribute: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintCoreHelperPS,
pszAttribute: ?[*:0]const u8,
pdwDataType: ?*u32,
ppbData: ?*?*u8,
pcbSize: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintCoreHelperPS,
pszAttribute: ?[*:0]const u8,
pdwDataType: ?*u32,
ppbData: ?*?*u8,
pcbSize: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetFeatureAttribute: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintCoreHelperPS,
pszFeatureKeyword: ?[*:0]const u8,
pszAttribute: ?[*:0]const u8,
pdwDataType: ?*u32,
ppbData: ?*?*u8,
pcbSize: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintCoreHelperPS,
pszFeatureKeyword: ?[*:0]const u8,
pszAttribute: ?[*:0]const u8,
pdwDataType: ?*u32,
ppbData: ?*?*u8,
pcbSize: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetOptionAttribute: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintCoreHelperPS,
pszFeatureKeyword: ?[*:0]const u8,
pszOptionKeyword: ?[*:0]const u8,
pszAttribute: ?[*:0]const u8,
pdwDataType: ?*u32,
ppbData: ?*?*u8,
pcbSize: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintCoreHelperPS,
pszFeatureKeyword: ?[*:0]const u8,
pszOptionKeyword: ?[*:0]const u8,
pszAttribute: ?[*:0]const u8,
pdwDataType: ?*u32,
ppbData: ?*?*u8,
pcbSize: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IPrintCoreHelper.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintCoreHelperPS_GetGlobalAttribute(self: *const T, pszAttribute: ?[*:0]const u8, pdwDataType: ?*u32, ppbData: ?*?*u8, pcbSize: ?*u32) callconv(.Inline) HRESULT {
return @as(*const IPrintCoreHelperPS.VTable, @ptrCast(self.vtable)).GetGlobalAttribute(@as(*const IPrintCoreHelperPS, @ptrCast(self)), pszAttribute, pdwDataType, ppbData, pcbSize);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintCoreHelperPS_GetFeatureAttribute(self: *const T, pszFeatureKeyword: ?[*:0]const u8, pszAttribute: ?[*:0]const u8, pdwDataType: ?*u32, ppbData: ?*?*u8, pcbSize: ?*u32) callconv(.Inline) HRESULT {
return @as(*const IPrintCoreHelperPS.VTable, @ptrCast(self.vtable)).GetFeatureAttribute(@as(*const IPrintCoreHelperPS, @ptrCast(self)), pszFeatureKeyword, pszAttribute, pdwDataType, ppbData, pcbSize);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintCoreHelperPS_GetOptionAttribute(self: *const T, pszFeatureKeyword: ?[*:0]const u8, pszOptionKeyword: ?[*:0]const u8, pszAttribute: ?[*:0]const u8, pdwDataType: ?*u32, ppbData: ?*?*u8, pcbSize: ?*u32) callconv(.Inline) HRESULT {
return @as(*const IPrintCoreHelperPS.VTable, @ptrCast(self.vtable)).GetOptionAttribute(@as(*const IPrintCoreHelperPS, @ptrCast(self)), pszFeatureKeyword, pszOptionKeyword, pszAttribute, pdwDataType, ppbData, pcbSize);
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IPrintOemCommon_Value = Guid.initString("7f42285e-91d5-11d1-8820-00c04fb961ec");
pub const IID_IPrintOemCommon = &IID_IPrintOemCommon_Value;
pub const IPrintOemCommon = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
GetInfo: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintOemCommon,
dwMode: u32,
// TODO: what to do with BytesParamIndex 2?
pBuffer: ?*anyopaque,
cbSize: u32,
pcbNeeded: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintOemCommon,
dwMode: u32,
// TODO: what to do with BytesParamIndex 2?
pBuffer: ?*anyopaque,
cbSize: u32,
pcbNeeded: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
DevMode: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintOemCommon,
dwMode: u32,
pOemDMParam: ?*OEMDMPARAM,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintOemCommon,
dwMode: u32,
pOemDMParam: ?*OEMDMPARAM,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IUnknown.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintOemCommon_GetInfo(self: *const T, dwMode: u32, pBuffer: ?*anyopaque, cbSize: u32, pcbNeeded: ?*u32) callconv(.Inline) HRESULT {
return @as(*const IPrintOemCommon.VTable, @ptrCast(self.vtable)).GetInfo(@as(*const IPrintOemCommon, @ptrCast(self)), dwMode, pBuffer, cbSize, pcbNeeded);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintOemCommon_DevMode(self: *const T, dwMode: u32, pOemDMParam: ?*OEMDMPARAM) callconv(.Inline) HRESULT {
return @as(*const IPrintOemCommon.VTable, @ptrCast(self.vtable)).DevMode(@as(*const IPrintOemCommon, @ptrCast(self)), dwMode, pOemDMParam);
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IPrintOemUI_Value = Guid.initString("c6a7a9d0-774c-11d1-947f-00a0c90640b8");
pub const IID_IPrintOemUI = &IID_IPrintOemUI_Value;
pub const IPrintOemUI = extern struct {
pub const VTable = extern struct {
base: IPrintOemCommon.VTable,
PublishDriverInterface: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintOemUI,
pIUnknown: ?*IUnknown,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintOemUI,
pIUnknown: ?*IUnknown,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
CommonUIProp: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintOemUI,
dwMode: u32,
pOemCUIPParam: ?*OEMCUIPPARAM,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintOemUI,
dwMode: u32,
pOemCUIPParam: ?*OEMCUIPPARAM,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
DocumentPropertySheets: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintOemUI,
pPSUIInfo: ?*PROPSHEETUI_INFO,
lParam: LPARAM,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintOemUI,
pPSUIInfo: ?*PROPSHEETUI_INFO,
lParam: LPARAM,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
DevicePropertySheets: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintOemUI,
pPSUIInfo: ?*PROPSHEETUI_INFO,
lParam: LPARAM,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintOemUI,
pPSUIInfo: ?*PROPSHEETUI_INFO,
lParam: LPARAM,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
DevQueryPrintEx: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintOemUI,
poemuiobj: ?*OEMUIOBJ,
pDQPInfo: ?*DEVQUERYPRINT_INFO,
pPublicDM: ?*DEVMODEA,
pOEMDM: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintOemUI,
poemuiobj: ?*OEMUIOBJ,
pDQPInfo: ?*DEVQUERYPRINT_INFO,
pPublicDM: ?*DEVMODEA,
pOEMDM: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
DeviceCapabilitiesA: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintOemUI,
poemuiobj: ?*OEMUIOBJ,
hPrinter: ?HANDLE,
pDeviceName: ?PWSTR,
wCapability: u16,
pOutput: ?*anyopaque,
pPublicDM: ?*DEVMODEA,
pOEMDM: ?*anyopaque,
dwOld: u32,
dwResult: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintOemUI,
poemuiobj: ?*OEMUIOBJ,
hPrinter: ?HANDLE,
pDeviceName: ?PWSTR,
wCapability: u16,
pOutput: ?*anyopaque,
pPublicDM: ?*DEVMODEA,
pOEMDM: ?*anyopaque,
dwOld: u32,
dwResult: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
UpgradePrinter: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintOemUI,
dwLevel: u32,
pDriverUpgradeInfo: ?*u8,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintOemUI,
dwLevel: u32,
pDriverUpgradeInfo: ?*u8,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
PrinterEvent: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintOemUI,
pPrinterName: ?PWSTR,
iDriverEvent: i32,
dwFlags: u32,
lParam: LPARAM,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintOemUI,
pPrinterName: ?PWSTR,
iDriverEvent: i32,
dwFlags: u32,
lParam: LPARAM,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
DriverEvent: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintOemUI,
dwDriverEvent: u32,
dwLevel: u32,
pDriverInfo: ?*u8,
lParam: LPARAM,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintOemUI,
dwDriverEvent: u32,
dwLevel: u32,
pDriverInfo: ?*u8,
lParam: LPARAM,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
QueryColorProfile: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintOemUI,
hPrinter: ?HANDLE,
poemuiobj: ?*OEMUIOBJ,
pPublicDM: ?*DEVMODEA,
pOEMDM: ?*anyopaque,
ulQueryMode: u32,
pvProfileData: [*]u8,
pcbProfileData: ?*u32,
pflProfileData: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintOemUI,
hPrinter: ?HANDLE,
poemuiobj: ?*OEMUIOBJ,
pPublicDM: ?*DEVMODEA,
pOEMDM: ?*anyopaque,
ulQueryMode: u32,
pvProfileData: [*]u8,
pcbProfileData: ?*u32,
pflProfileData: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
FontInstallerDlgProc: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintOemUI,
hWnd: ?HWND,
usMsg: u32,
wParam: WPARAM,
lParam: LPARAM,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintOemUI,
hWnd: ?HWND,
usMsg: u32,
wParam: WPARAM,
lParam: LPARAM,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
UpdateExternalFonts: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintOemUI,
hPrinter: ?HANDLE,
hHeap: ?HANDLE,
pwstrCartridges: ?PWSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintOemUI,
hPrinter: ?HANDLE,
hHeap: ?HANDLE,
pwstrCartridges: ?PWSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IPrintOemCommon.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintOemUI_PublishDriverInterface(self: *const T, pIUnknown: ?*IUnknown) callconv(.Inline) HRESULT {
return @as(*const IPrintOemUI.VTable, @ptrCast(self.vtable)).PublishDriverInterface(@as(*const IPrintOemUI, @ptrCast(self)), pIUnknown);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintOemUI_CommonUIProp(self: *const T, dwMode: u32, pOemCUIPParam: ?*OEMCUIPPARAM) callconv(.Inline) HRESULT {
return @as(*const IPrintOemUI.VTable, @ptrCast(self.vtable)).CommonUIProp(@as(*const IPrintOemUI, @ptrCast(self)), dwMode, pOemCUIPParam);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintOemUI_DocumentPropertySheets(self: *const T, pPSUIInfo: ?*PROPSHEETUI_INFO, lParam: LPARAM) callconv(.Inline) HRESULT {
return @as(*const IPrintOemUI.VTable, @ptrCast(self.vtable)).DocumentPropertySheets(@as(*const IPrintOemUI, @ptrCast(self)), pPSUIInfo, lParam);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintOemUI_DevicePropertySheets(self: *const T, pPSUIInfo: ?*PROPSHEETUI_INFO, lParam: LPARAM) callconv(.Inline) HRESULT {
return @as(*const IPrintOemUI.VTable, @ptrCast(self.vtable)).DevicePropertySheets(@as(*const IPrintOemUI, @ptrCast(self)), pPSUIInfo, lParam);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintOemUI_DevQueryPrintEx(self: *const T, poemuiobj: ?*OEMUIOBJ, pDQPInfo: ?*DEVQUERYPRINT_INFO, pPublicDM: ?*DEVMODEA, pOEMDM: ?*anyopaque) callconv(.Inline) HRESULT {
return @as(*const IPrintOemUI.VTable, @ptrCast(self.vtable)).DevQueryPrintEx(@as(*const IPrintOemUI, @ptrCast(self)), poemuiobj, pDQPInfo, pPublicDM, pOEMDM);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintOemUI_DeviceCapabilitiesA(self: *const T, poemuiobj: ?*OEMUIOBJ, hPrinter: ?HANDLE, pDeviceName: ?PWSTR, wCapability: u16, pOutput: ?*anyopaque, pPublicDM: ?*DEVMODEA, pOEMDM: ?*anyopaque, dwOld: u32, dwResult: ?*u32) callconv(.Inline) HRESULT {
return @as(*const IPrintOemUI.VTable, @ptrCast(self.vtable)).DeviceCapabilitiesA(@as(*const IPrintOemUI, @ptrCast(self)), poemuiobj, hPrinter, pDeviceName, wCapability, pOutput, pPublicDM, pOEMDM, dwOld, dwResult);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintOemUI_UpgradePrinter(self: *const T, dwLevel: u32, pDriverUpgradeInfo: ?*u8) callconv(.Inline) HRESULT {
return @as(*const IPrintOemUI.VTable, @ptrCast(self.vtable)).UpgradePrinter(@as(*const IPrintOemUI, @ptrCast(self)), dwLevel, pDriverUpgradeInfo);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintOemUI_PrinterEvent(self: *const T, pPrinterName: ?PWSTR, iDriverEvent: i32, dwFlags: u32, lParam: LPARAM) callconv(.Inline) HRESULT {
return @as(*const IPrintOemUI.VTable, @ptrCast(self.vtable)).PrinterEvent(@as(*const IPrintOemUI, @ptrCast(self)), pPrinterName, iDriverEvent, dwFlags, lParam);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintOemUI_DriverEvent(self: *const T, dwDriverEvent: u32, dwLevel: u32, pDriverInfo: ?*u8, lParam: LPARAM) callconv(.Inline) HRESULT {
return @as(*const IPrintOemUI.VTable, @ptrCast(self.vtable)).DriverEvent(@as(*const IPrintOemUI, @ptrCast(self)), dwDriverEvent, dwLevel, pDriverInfo, lParam);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintOemUI_QueryColorProfile(self: *const T, hPrinter: ?HANDLE, poemuiobj: ?*OEMUIOBJ, pPublicDM: ?*DEVMODEA, pOEMDM: ?*anyopaque, ulQueryMode: u32, pvProfileData: [*]u8, pcbProfileData: ?*u32, pflProfileData: ?*u32) callconv(.Inline) HRESULT {
return @as(*const IPrintOemUI.VTable, @ptrCast(self.vtable)).QueryColorProfile(@as(*const IPrintOemUI, @ptrCast(self)), hPrinter, poemuiobj, pPublicDM, pOEMDM, ulQueryMode, pvProfileData, pcbProfileData, pflProfileData);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintOemUI_FontInstallerDlgProc(self: *const T, hWnd: ?HWND, usMsg: u32, wParam: WPARAM, lParam: LPARAM) callconv(.Inline) HRESULT {
return @as(*const IPrintOemUI.VTable, @ptrCast(self.vtable)).FontInstallerDlgProc(@as(*const IPrintOemUI, @ptrCast(self)), hWnd, usMsg, wParam, lParam);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintOemUI_UpdateExternalFonts(self: *const T, hPrinter: ?HANDLE, hHeap: ?HANDLE, pwstrCartridges: ?PWSTR) callconv(.Inline) HRESULT {
return @as(*const IPrintOemUI.VTable, @ptrCast(self.vtable)).UpdateExternalFonts(@as(*const IPrintOemUI, @ptrCast(self)), hPrinter, hHeap, pwstrCartridges);
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IPrintOemUI2_Value = Guid.initString("292515f9-b54b-489b-9275-bab56821395e");
pub const IID_IPrintOemUI2 = &IID_IPrintOemUI2_Value;
pub const IPrintOemUI2 = extern struct {
pub const VTable = extern struct {
base: IPrintOemUI.VTable,
QueryJobAttributes: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintOemUI2,
hPrinter: ?HANDLE,
pDevmode: ?*DEVMODEA,
dwLevel: u32,
lpAttributeInfo: ?*u8,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintOemUI2,
hPrinter: ?HANDLE,
pDevmode: ?*DEVMODEA,
dwLevel: u32,
lpAttributeInfo: ?*u8,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
HideStandardUI: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintOemUI2,
dwMode: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintOemUI2,
dwMode: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
DocumentEvent: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintOemUI2,
hPrinter: ?HANDLE,
hdc: ?HDC,
iEsc: i32,
cbIn: u32,
pvIn: ?*anyopaque,
cbOut: u32,
pvOut: ?*anyopaque,
piResult: ?*i32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintOemUI2,
hPrinter: ?HANDLE,
hdc: ?HDC,
iEsc: i32,
cbIn: u32,
pvIn: ?*anyopaque,
cbOut: u32,
pvOut: ?*anyopaque,
piResult: ?*i32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IPrintOemUI.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintOemUI2_QueryJobAttributes(self: *const T, hPrinter: ?HANDLE, pDevmode: ?*DEVMODEA, dwLevel: u32, lpAttributeInfo: ?*u8) callconv(.Inline) HRESULT {
return @as(*const IPrintOemUI2.VTable, @ptrCast(self.vtable)).QueryJobAttributes(@as(*const IPrintOemUI2, @ptrCast(self)), hPrinter, pDevmode, dwLevel, lpAttributeInfo);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintOemUI2_HideStandardUI(self: *const T, dwMode: u32) callconv(.Inline) HRESULT {
return @as(*const IPrintOemUI2.VTable, @ptrCast(self.vtable)).HideStandardUI(@as(*const IPrintOemUI2, @ptrCast(self)), dwMode);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintOemUI2_DocumentEvent(self: *const T, hPrinter: ?HANDLE, hdc: ?HDC, iEsc: i32, cbIn: u32, pvIn: ?*anyopaque, cbOut: u32, pvOut: ?*anyopaque, piResult: ?*i32) callconv(.Inline) HRESULT {
return @as(*const IPrintOemUI2.VTable, @ptrCast(self.vtable)).DocumentEvent(@as(*const IPrintOemUI2, @ptrCast(self)), hPrinter, hdc, iEsc, cbIn, pvIn, cbOut, pvOut, piResult);
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IPrintOemUIMXDC_Value = Guid.initString("7349d725-e2c1-4dca-afb5-c13e91bc9306");
pub const IID_IPrintOemUIMXDC = &IID_IPrintOemUIMXDC_Value;
pub const IPrintOemUIMXDC = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
AdjustImageableArea: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintOemUIMXDC,
hPrinter: ?HANDLE,
cbDevMode: u32,
pDevMode: ?*const DEVMODEA,
cbOEMDM: u32,
pOEMDM: ?*const anyopaque,
prclImageableArea: ?*RECTL,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintOemUIMXDC,
hPrinter: ?HANDLE,
cbDevMode: u32,
pDevMode: ?*const DEVMODEA,
cbOEMDM: u32,
pOEMDM: ?*const anyopaque,
prclImageableArea: ?*RECTL,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
AdjustImageCompression: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintOemUIMXDC,
hPrinter: ?HANDLE,
cbDevMode: u32,
pDevMode: ?*const DEVMODEA,
cbOEMDM: u32,
pOEMDM: ?*const anyopaque,
pCompressionMode: ?*i32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintOemUIMXDC,
hPrinter: ?HANDLE,
cbDevMode: u32,
pDevMode: ?*const DEVMODEA,
cbOEMDM: u32,
pOEMDM: ?*const anyopaque,
pCompressionMode: ?*i32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
AdjustDPI: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintOemUIMXDC,
hPrinter: ?HANDLE,
cbDevMode: u32,
pDevMode: ?*const DEVMODEA,
cbOEMDM: u32,
pOEMDM: ?*const anyopaque,
pDPI: ?*i32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintOemUIMXDC,
hPrinter: ?HANDLE,
cbDevMode: u32,
pDevMode: ?*const DEVMODEA,
cbOEMDM: u32,
pOEMDM: ?*const anyopaque,
pDPI: ?*i32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IUnknown.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintOemUIMXDC_AdjustImageableArea(self: *const T, hPrinter: ?HANDLE, cbDevMode: u32, pDevMode: ?*const DEVMODEA, cbOEMDM: u32, pOEMDM: ?*const anyopaque, prclImageableArea: ?*RECTL) callconv(.Inline) HRESULT {
return @as(*const IPrintOemUIMXDC.VTable, @ptrCast(self.vtable)).AdjustImageableArea(@as(*const IPrintOemUIMXDC, @ptrCast(self)), hPrinter, cbDevMode, pDevMode, cbOEMDM, pOEMDM, prclImageableArea);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintOemUIMXDC_AdjustImageCompression(self: *const T, hPrinter: ?HANDLE, cbDevMode: u32, pDevMode: ?*const DEVMODEA, cbOEMDM: u32, pOEMDM: ?*const anyopaque, pCompressionMode: ?*i32) callconv(.Inline) HRESULT {
return @as(*const IPrintOemUIMXDC.VTable, @ptrCast(self.vtable)).AdjustImageCompression(@as(*const IPrintOemUIMXDC, @ptrCast(self)), hPrinter, cbDevMode, pDevMode, cbOEMDM, pOEMDM, pCompressionMode);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintOemUIMXDC_AdjustDPI(self: *const T, hPrinter: ?HANDLE, cbDevMode: u32, pDevMode: ?*const DEVMODEA, cbOEMDM: u32, pOEMDM: ?*const anyopaque, pDPI: ?*i32) callconv(.Inline) HRESULT {
return @as(*const IPrintOemUIMXDC.VTable, @ptrCast(self.vtable)).AdjustDPI(@as(*const IPrintOemUIMXDC, @ptrCast(self)), hPrinter, cbDevMode, pDevMode, cbOEMDM, pOEMDM, pDPI);
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IPrintOemDriverUI_Value = Guid.initString("92b05d50-78bc-11d1-9480-00a0c90640b8");
pub const IID_IPrintOemDriverUI = &IID_IPrintOemDriverUI_Value;
pub const IPrintOemDriverUI = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
DrvGetDriverSetting: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintOemDriverUI,
pci: ?*anyopaque,
Feature: ?[*:0]const u8,
pOutput: ?*anyopaque,
cbSize: u32,
pcbNeeded: ?*u32,
pdwOptionsReturned: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintOemDriverUI,
pci: ?*anyopaque,
Feature: ?[*:0]const u8,
pOutput: ?*anyopaque,
cbSize: u32,
pcbNeeded: ?*u32,
pdwOptionsReturned: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
DrvUpgradeRegistrySetting: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintOemDriverUI,
hPrinter: ?HANDLE,
pFeature: ?[*:0]const u8,
pOption: ?[*:0]const u8,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintOemDriverUI,
hPrinter: ?HANDLE,
pFeature: ?[*:0]const u8,
pOption: ?[*:0]const u8,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
DrvUpdateUISetting: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintOemDriverUI,
pci: ?*anyopaque,
pOptItem: ?*anyopaque,
dwPreviousSelection: u32,
dwMode: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintOemDriverUI,
pci: ?*anyopaque,
pOptItem: ?*anyopaque,
dwPreviousSelection: u32,
dwMode: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IUnknown.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintOemDriverUI_DrvGetDriverSetting(self: *const T, pci: ?*anyopaque, Feature: ?[*:0]const u8, pOutput: ?*anyopaque, cbSize: u32, pcbNeeded: ?*u32, pdwOptionsReturned: ?*u32) callconv(.Inline) HRESULT {
return @as(*const IPrintOemDriverUI.VTable, @ptrCast(self.vtable)).DrvGetDriverSetting(@as(*const IPrintOemDriverUI, @ptrCast(self)), pci, Feature, pOutput, cbSize, pcbNeeded, pdwOptionsReturned);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintOemDriverUI_DrvUpgradeRegistrySetting(self: *const T, hPrinter: ?HANDLE, pFeature: ?[*:0]const u8, pOption: ?[*:0]const u8) callconv(.Inline) HRESULT {
return @as(*const IPrintOemDriverUI.VTable, @ptrCast(self.vtable)).DrvUpgradeRegistrySetting(@as(*const IPrintOemDriverUI, @ptrCast(self)), hPrinter, pFeature, pOption);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintOemDriverUI_DrvUpdateUISetting(self: *const T, pci: ?*anyopaque, pOptItem: ?*anyopaque, dwPreviousSelection: u32, dwMode: u32) callconv(.Inline) HRESULT {
return @as(*const IPrintOemDriverUI.VTable, @ptrCast(self.vtable)).DrvUpdateUISetting(@as(*const IPrintOemDriverUI, @ptrCast(self)), pci, pOptItem, dwPreviousSelection, dwMode);
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IPrintCoreUI2_Value = Guid.initString("085ccfca-3adf-4c9e-b491-d851a6edc997");
pub const IID_IPrintCoreUI2 = &IID_IPrintCoreUI2_Value;
pub const IPrintCoreUI2 = extern struct {
pub const VTable = extern struct {
base: IPrintOemDriverUI.VTable,
GetOptions: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintCoreUI2,
poemuiobj: ?*OEMUIOBJ,
dwFlags: u32,
// TODO: what to do with BytesParamIndex 3?
pmszFeaturesRequested: ?*i8,
cbIn: u32,
// TODO: what to do with BytesParamIndex 5?
pmszFeatureOptionBuf: ?[*]u8,
cbSize: u32,
pcbNeeded: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintCoreUI2,
poemuiobj: ?*OEMUIOBJ,
dwFlags: u32,
// TODO: what to do with BytesParamIndex 3?
pmszFeaturesRequested: ?*i8,
cbIn: u32,
// TODO: what to do with BytesParamIndex 5?
pmszFeatureOptionBuf: ?[*]u8,
cbSize: u32,
pcbNeeded: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
SetOptions: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintCoreUI2,
poemuiobj: ?*OEMUIOBJ,
dwFlags: u32,
// TODO: what to do with BytesParamIndex 3?
pmszFeatureOptionBuf: ?*i8,
cbIn: u32,
pdwResult: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintCoreUI2,
poemuiobj: ?*OEMUIOBJ,
dwFlags: u32,
// TODO: what to do with BytesParamIndex 3?
pmszFeatureOptionBuf: ?*i8,
cbIn: u32,
pdwResult: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
EnumConstrainedOptions: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintCoreUI2,
poemuiobj: ?*OEMUIOBJ,
dwFlags: u32,
pszFeatureKeyword: ?[*:0]const u8,
// TODO: what to do with BytesParamIndex 4?
pmszConstrainedOptionList: ?[*]u8,
cbSize: u32,
pcbNeeded: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintCoreUI2,
poemuiobj: ?*OEMUIOBJ,
dwFlags: u32,
pszFeatureKeyword: ?[*:0]const u8,
// TODO: what to do with BytesParamIndex 4?
pmszConstrainedOptionList: ?[*]u8,
cbSize: u32,
pcbNeeded: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
WhyConstrained: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintCoreUI2,
poemuiobj: ?*OEMUIOBJ,
dwFlags: u32,
pszFeatureKeyword: ?[*:0]const u8,
pszOptionKeyword: ?[*:0]const u8,
// TODO: what to do with BytesParamIndex 5?
pmszReasonList: ?[*]u8,
cbSize: u32,
pcbNeeded: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintCoreUI2,
poemuiobj: ?*OEMUIOBJ,
dwFlags: u32,
pszFeatureKeyword: ?[*:0]const u8,
pszOptionKeyword: ?[*:0]const u8,
// TODO: what to do with BytesParamIndex 5?
pmszReasonList: ?[*]u8,
cbSize: u32,
pcbNeeded: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetGlobalAttribute: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintCoreUI2,
poemuiobj: ?*OEMUIOBJ,
dwFlags: u32,
pszAttribute: ?[*:0]const u8,
pdwDataType: ?*u32,
// TODO: what to do with BytesParamIndex 5?
pbData: ?*u8,
cbSize: u32,
pcbNeeded: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintCoreUI2,
poemuiobj: ?*OEMUIOBJ,
dwFlags: u32,
pszAttribute: ?[*:0]const u8,
pdwDataType: ?*u32,
// TODO: what to do with BytesParamIndex 5?
pbData: ?*u8,
cbSize: u32,
pcbNeeded: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetFeatureAttribute: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintCoreUI2,
poemuiobj: ?*OEMUIOBJ,
dwFlags: u32,
pszFeatureKeyword: ?[*:0]const u8,
pszAttribute: ?[*:0]const u8,
pdwDataType: ?*u32,
// TODO: what to do with BytesParamIndex 6?
pbData: ?*u8,
cbSize: u32,
pcbNeeded: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintCoreUI2,
poemuiobj: ?*OEMUIOBJ,
dwFlags: u32,
pszFeatureKeyword: ?[*:0]const u8,
pszAttribute: ?[*:0]const u8,
pdwDataType: ?*u32,
// TODO: what to do with BytesParamIndex 6?
pbData: ?*u8,
cbSize: u32,
pcbNeeded: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetOptionAttribute: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintCoreUI2,
poemuiobj: ?*OEMUIOBJ,
dwFlags: u32,
pszFeatureKeyword: ?[*:0]const u8,
pszOptionKeyword: ?[*:0]const u8,
pszAttribute: ?[*:0]const u8,
pdwDataType: ?*u32,
// TODO: what to do with BytesParamIndex 7?
pbData: ?*u8,
cbSize: u32,
pcbNeeded: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintCoreUI2,
poemuiobj: ?*OEMUIOBJ,
dwFlags: u32,
pszFeatureKeyword: ?[*:0]const u8,
pszOptionKeyword: ?[*:0]const u8,
pszAttribute: ?[*:0]const u8,
pdwDataType: ?*u32,
// TODO: what to do with BytesParamIndex 7?
pbData: ?*u8,
cbSize: u32,
pcbNeeded: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
EnumFeatures: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintCoreUI2,
poemuiobj: ?*OEMUIOBJ,
dwFlags: u32,
// TODO: what to do with BytesParamIndex 3?
pmszFeatureList: ?[*]u8,
cbSize: u32,
pcbNeeded: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintCoreUI2,
poemuiobj: ?*OEMUIOBJ,
dwFlags: u32,
// TODO: what to do with BytesParamIndex 3?
pmszFeatureList: ?[*]u8,
cbSize: u32,
pcbNeeded: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
EnumOptions: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintCoreUI2,
poemuiobj: ?*OEMUIOBJ,
dwFlags: u32,
pszFeatureKeyword: ?[*:0]const u8,
// TODO: what to do with BytesParamIndex 4?
pmszOptionList: ?[*]u8,
cbSize: u32,
pcbNeeded: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintCoreUI2,
poemuiobj: ?*OEMUIOBJ,
dwFlags: u32,
pszFeatureKeyword: ?[*:0]const u8,
// TODO: what to do with BytesParamIndex 4?
pmszOptionList: ?[*]u8,
cbSize: u32,
pcbNeeded: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
QuerySimulationSupport: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintCoreUI2,
hPrinter: ?HANDLE,
dwLevel: u32,
// TODO: what to do with BytesParamIndex 3?
pCaps: ?*u8,
cbSize: u32,
pcbNeeded: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintCoreUI2,
hPrinter: ?HANDLE,
dwLevel: u32,
// TODO: what to do with BytesParamIndex 3?
pCaps: ?*u8,
cbSize: u32,
pcbNeeded: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IPrintOemDriverUI.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintCoreUI2_GetOptions(self: *const T, poemuiobj: ?*OEMUIOBJ, dwFlags: u32, pmszFeaturesRequested: ?*i8, cbIn: u32, pmszFeatureOptionBuf: ?[*]u8, cbSize: u32, pcbNeeded: ?*u32) callconv(.Inline) HRESULT {
return @as(*const IPrintCoreUI2.VTable, @ptrCast(self.vtable)).GetOptions(@as(*const IPrintCoreUI2, @ptrCast(self)), poemuiobj, dwFlags, pmszFeaturesRequested, cbIn, pmszFeatureOptionBuf, cbSize, pcbNeeded);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintCoreUI2_SetOptions(self: *const T, poemuiobj: ?*OEMUIOBJ, dwFlags: u32, pmszFeatureOptionBuf: ?*i8, cbIn: u32, pdwResult: ?*u32) callconv(.Inline) HRESULT {
return @as(*const IPrintCoreUI2.VTable, @ptrCast(self.vtable)).SetOptions(@as(*const IPrintCoreUI2, @ptrCast(self)), poemuiobj, dwFlags, pmszFeatureOptionBuf, cbIn, pdwResult);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintCoreUI2_EnumConstrainedOptions(self: *const T, poemuiobj: ?*OEMUIOBJ, dwFlags: u32, pszFeatureKeyword: ?[*:0]const u8, pmszConstrainedOptionList: ?[*]u8, cbSize: u32, pcbNeeded: ?*u32) callconv(.Inline) HRESULT {
return @as(*const IPrintCoreUI2.VTable, @ptrCast(self.vtable)).EnumConstrainedOptions(@as(*const IPrintCoreUI2, @ptrCast(self)), poemuiobj, dwFlags, pszFeatureKeyword, pmszConstrainedOptionList, cbSize, pcbNeeded);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintCoreUI2_WhyConstrained(self: *const T, poemuiobj: ?*OEMUIOBJ, dwFlags: u32, pszFeatureKeyword: ?[*:0]const u8, pszOptionKeyword: ?[*:0]const u8, pmszReasonList: ?[*]u8, cbSize: u32, pcbNeeded: ?*u32) callconv(.Inline) HRESULT {
return @as(*const IPrintCoreUI2.VTable, @ptrCast(self.vtable)).WhyConstrained(@as(*const IPrintCoreUI2, @ptrCast(self)), poemuiobj, dwFlags, pszFeatureKeyword, pszOptionKeyword, pmszReasonList, cbSize, pcbNeeded);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintCoreUI2_GetGlobalAttribute(self: *const T, poemuiobj: ?*OEMUIOBJ, dwFlags: u32, pszAttribute: ?[*:0]const u8, pdwDataType: ?*u32, pbData: ?*u8, cbSize: u32, pcbNeeded: ?*u32) callconv(.Inline) HRESULT {
return @as(*const IPrintCoreUI2.VTable, @ptrCast(self.vtable)).GetGlobalAttribute(@as(*const IPrintCoreUI2, @ptrCast(self)), poemuiobj, dwFlags, pszAttribute, pdwDataType, pbData, cbSize, pcbNeeded);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintCoreUI2_GetFeatureAttribute(self: *const T, poemuiobj: ?*OEMUIOBJ, dwFlags: u32, pszFeatureKeyword: ?[*:0]const u8, pszAttribute: ?[*:0]const u8, pdwDataType: ?*u32, pbData: ?*u8, cbSize: u32, pcbNeeded: ?*u32) callconv(.Inline) HRESULT {
return @as(*const IPrintCoreUI2.VTable, @ptrCast(self.vtable)).GetFeatureAttribute(@as(*const IPrintCoreUI2, @ptrCast(self)), poemuiobj, dwFlags, pszFeatureKeyword, pszAttribute, pdwDataType, pbData, cbSize, pcbNeeded);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintCoreUI2_GetOptionAttribute(self: *const T, poemuiobj: ?*OEMUIOBJ, dwFlags: u32, pszFeatureKeyword: ?[*:0]const u8, pszOptionKeyword: ?[*:0]const u8, pszAttribute: ?[*:0]const u8, pdwDataType: ?*u32, pbData: ?*u8, cbSize: u32, pcbNeeded: ?*u32) callconv(.Inline) HRESULT {
return @as(*const IPrintCoreUI2.VTable, @ptrCast(self.vtable)).GetOptionAttribute(@as(*const IPrintCoreUI2, @ptrCast(self)), poemuiobj, dwFlags, pszFeatureKeyword, pszOptionKeyword, pszAttribute, pdwDataType, pbData, cbSize, pcbNeeded);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintCoreUI2_EnumFeatures(self: *const T, poemuiobj: ?*OEMUIOBJ, dwFlags: u32, pmszFeatureList: ?[*]u8, cbSize: u32, pcbNeeded: ?*u32) callconv(.Inline) HRESULT {
return @as(*const IPrintCoreUI2.VTable, @ptrCast(self.vtable)).EnumFeatures(@as(*const IPrintCoreUI2, @ptrCast(self)), poemuiobj, dwFlags, pmszFeatureList, cbSize, pcbNeeded);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintCoreUI2_EnumOptions(self: *const T, poemuiobj: ?*OEMUIOBJ, dwFlags: u32, pszFeatureKeyword: ?[*:0]const u8, pmszOptionList: ?[*]u8, cbSize: u32, pcbNeeded: ?*u32) callconv(.Inline) HRESULT {
return @as(*const IPrintCoreUI2.VTable, @ptrCast(self.vtable)).EnumOptions(@as(*const IPrintCoreUI2, @ptrCast(self)), poemuiobj, dwFlags, pszFeatureKeyword, pmszOptionList, cbSize, pcbNeeded);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintCoreUI2_QuerySimulationSupport(self: *const T, hPrinter: ?HANDLE, dwLevel: u32, pCaps: ?*u8, cbSize: u32, pcbNeeded: ?*u32) callconv(.Inline) HRESULT {
return @as(*const IPrintCoreUI2.VTable, @ptrCast(self.vtable)).QuerySimulationSupport(@as(*const IPrintCoreUI2, @ptrCast(self)), hPrinter, dwLevel, pCaps, cbSize, pcbNeeded);
}
};}
pub usingnamespace MethodMixin(@This());
};
pub const SHIMOPTS = enum(i32) {
DEFAULT = 0,
NOSNAPSHOT = 1,
};
pub const PTSHIM_DEFAULT = SHIMOPTS.DEFAULT;
pub const PTSHIM_NOSNAPSHOT = SHIMOPTS.NOSNAPSHOT;
const IID_IPrintTicketProvider_Value = Guid.initString("bb5116db-0a23-4c3a-a6b6-89e5558dfb5d");
pub const IID_IPrintTicketProvider = &IID_IPrintTicketProvider_Value;
pub const IPrintTicketProvider = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
GetSupportedVersions: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintTicketProvider,
hPrinter: ?HANDLE,
ppVersions: ?*?*i32,
cVersions: ?*i32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintTicketProvider,
hPrinter: ?HANDLE,
ppVersions: ?*?*i32,
cVersions: ?*i32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
BindPrinter: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintTicketProvider,
hPrinter: ?HANDLE,
version: i32,
pOptions: ?*SHIMOPTS,
pDevModeFlags: ?*u32,
cNamespaces: ?*i32,
ppNamespaces: ?*?*?BSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintTicketProvider,
hPrinter: ?HANDLE,
version: i32,
pOptions: ?*SHIMOPTS,
pDevModeFlags: ?*u32,
cNamespaces: ?*i32,
ppNamespaces: ?*?*?BSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
QueryDeviceNamespace: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintTicketProvider,
pDefaultNamespace: ?*?BSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintTicketProvider,
pDefaultNamespace: ?*?BSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
ConvertPrintTicketToDevMode: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintTicketProvider,
pPrintTicket: ?*IXMLDOMDocument2,
cbDevmodeIn: u32,
pDevmodeIn: ?*DEVMODEA,
pcbDevmodeOut: ?*u32,
ppDevmodeOut: ?*?*DEVMODEA,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintTicketProvider,
pPrintTicket: ?*IXMLDOMDocument2,
cbDevmodeIn: u32,
pDevmodeIn: ?*DEVMODEA,
pcbDevmodeOut: ?*u32,
ppDevmodeOut: ?*?*DEVMODEA,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
ConvertDevModeToPrintTicket: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintTicketProvider,
cbDevmode: u32,
pDevmode: ?*DEVMODEA,
pPrintTicket: ?*IXMLDOMDocument2,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintTicketProvider,
cbDevmode: u32,
pDevmode: ?*DEVMODEA,
pPrintTicket: ?*IXMLDOMDocument2,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetPrintCapabilities: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintTicketProvider,
pPrintTicket: ?*IXMLDOMDocument2,
ppCapabilities: ?*?*IXMLDOMDocument2,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintTicketProvider,
pPrintTicket: ?*IXMLDOMDocument2,
ppCapabilities: ?*?*IXMLDOMDocument2,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
ValidatePrintTicket: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintTicketProvider,
pBaseTicket: ?*IXMLDOMDocument2,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintTicketProvider,
pBaseTicket: ?*IXMLDOMDocument2,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IUnknown.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintTicketProvider_GetSupportedVersions(self: *const T, hPrinter: ?HANDLE, ppVersions: ?*?*i32, cVersions: ?*i32) callconv(.Inline) HRESULT {
return @as(*const IPrintTicketProvider.VTable, @ptrCast(self.vtable)).GetSupportedVersions(@as(*const IPrintTicketProvider, @ptrCast(self)), hPrinter, ppVersions, cVersions);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintTicketProvider_BindPrinter(self: *const T, hPrinter: ?HANDLE, version: i32, pOptions: ?*SHIMOPTS, pDevModeFlags: ?*u32, cNamespaces: ?*i32, ppNamespaces: ?*?*?BSTR) callconv(.Inline) HRESULT {
return @as(*const IPrintTicketProvider.VTable, @ptrCast(self.vtable)).BindPrinter(@as(*const IPrintTicketProvider, @ptrCast(self)), hPrinter, version, pOptions, pDevModeFlags, cNamespaces, ppNamespaces);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintTicketProvider_QueryDeviceNamespace(self: *const T, pDefaultNamespace: ?*?BSTR) callconv(.Inline) HRESULT {
return @as(*const IPrintTicketProvider.VTable, @ptrCast(self.vtable)).QueryDeviceNamespace(@as(*const IPrintTicketProvider, @ptrCast(self)), pDefaultNamespace);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintTicketProvider_ConvertPrintTicketToDevMode(self: *const T, pPrintTicket: ?*IXMLDOMDocument2, cbDevmodeIn: u32, pDevmodeIn: ?*DEVMODEA, pcbDevmodeOut: ?*u32, ppDevmodeOut: ?*?*DEVMODEA) callconv(.Inline) HRESULT {
return @as(*const IPrintTicketProvider.VTable, @ptrCast(self.vtable)).ConvertPrintTicketToDevMode(@as(*const IPrintTicketProvider, @ptrCast(self)), pPrintTicket, cbDevmodeIn, pDevmodeIn, pcbDevmodeOut, ppDevmodeOut);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintTicketProvider_ConvertDevModeToPrintTicket(self: *const T, cbDevmode: u32, pDevmode: ?*DEVMODEA, pPrintTicket: ?*IXMLDOMDocument2) callconv(.Inline) HRESULT {
return @as(*const IPrintTicketProvider.VTable, @ptrCast(self.vtable)).ConvertDevModeToPrintTicket(@as(*const IPrintTicketProvider, @ptrCast(self)), cbDevmode, pDevmode, pPrintTicket);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintTicketProvider_GetPrintCapabilities(self: *const T, pPrintTicket: ?*IXMLDOMDocument2, ppCapabilities: ?*?*IXMLDOMDocument2) callconv(.Inline) HRESULT {
return @as(*const IPrintTicketProvider.VTable, @ptrCast(self.vtable)).GetPrintCapabilities(@as(*const IPrintTicketProvider, @ptrCast(self)), pPrintTicket, ppCapabilities);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintTicketProvider_ValidatePrintTicket(self: *const T, pBaseTicket: ?*IXMLDOMDocument2) callconv(.Inline) HRESULT {
return @as(*const IPrintTicketProvider.VTable, @ptrCast(self.vtable)).ValidatePrintTicket(@as(*const IPrintTicketProvider, @ptrCast(self)), pBaseTicket);
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IPrintTicketProvider2_Value = Guid.initString("b8a70ab2-3dfc-4fec-a074-511b13c651cb");
pub const IID_IPrintTicketProvider2 = &IID_IPrintTicketProvider2_Value;
pub const IPrintTicketProvider2 = extern struct {
pub const VTable = extern struct {
base: IPrintTicketProvider.VTable,
GetPrintDeviceCapabilities: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintTicketProvider2,
pPrintTicket: ?*IXMLDOMDocument2,
ppDeviceCapabilities: ?*?*IXMLDOMDocument2,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintTicketProvider2,
pPrintTicket: ?*IXMLDOMDocument2,
ppDeviceCapabilities: ?*?*IXMLDOMDocument2,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetPrintDeviceResources: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintTicketProvider2,
pszLocaleName: ?[*:0]const u16,
pPrintTicket: ?*IXMLDOMDocument2,
ppDeviceResources: ?*?*IXMLDOMDocument2,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintTicketProvider2,
pszLocaleName: ?[*:0]const u16,
pPrintTicket: ?*IXMLDOMDocument2,
ppDeviceResources: ?*?*IXMLDOMDocument2,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IPrintTicketProvider.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintTicketProvider2_GetPrintDeviceCapabilities(self: *const T, pPrintTicket: ?*IXMLDOMDocument2, ppDeviceCapabilities: ?*?*IXMLDOMDocument2) callconv(.Inline) HRESULT {
return @as(*const IPrintTicketProvider2.VTable, @ptrCast(self.vtable)).GetPrintDeviceCapabilities(@as(*const IPrintTicketProvider2, @ptrCast(self)), pPrintTicket, ppDeviceCapabilities);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintTicketProvider2_GetPrintDeviceResources(self: *const T, pszLocaleName: ?[*:0]const u16, pPrintTicket: ?*IXMLDOMDocument2, ppDeviceResources: ?*?*IXMLDOMDocument2) callconv(.Inline) HRESULT {
return @as(*const IPrintTicketProvider2.VTable, @ptrCast(self.vtable)).GetPrintDeviceResources(@as(*const IPrintTicketProvider2, @ptrCast(self)), pszLocaleName, pPrintTicket, ppDeviceResources);
}
};}
pub usingnamespace MethodMixin(@This());
};
const CLSID_PrinterQueue_Value = Guid.initString("eb54c230-798c-4c9e-b461-29fad04039b1");
pub const CLSID_PrinterQueue = &CLSID_PrinterQueue_Value;
const CLSID_PrinterQueueView_Value = Guid.initString("eb54c231-798c-4c9e-b461-29fad04039b1");
pub const CLSID_PrinterQueueView = &CLSID_PrinterQueueView_Value;
const CLSID_PrintSchemaAsyncOperation_Value = Guid.initString("43b2f83d-10f2-48ab-831b-55fdbdbd34a4");
pub const CLSID_PrintSchemaAsyncOperation = &CLSID_PrintSchemaAsyncOperation_Value;
const CLSID_PrinterExtensionManager_Value = Guid.initString("331b60da-9e90-4dd0-9c84-eac4e659b61f");
pub const CLSID_PrinterExtensionManager = &CLSID_PrinterExtensionManager_Value;
const IID_IPrintSchemaElement_Value = Guid.initString("724c1646-e64b-4bbf-8eb4-d45e4fd580da");
pub const IID_IPrintSchemaElement = &IID_IPrintSchemaElement_Value;
pub const IPrintSchemaElement = extern struct {
pub const VTable = extern struct {
base: IDispatch.VTable,
// TODO: this function has a "SpecialName", should Zig do anything with this?
get_XmlNode: switch (@import("builtin").zig_backend) {
// TODO: this function has a "SpecialName", should Zig do anything with this?
.stage1 => fn(
self: *const IPrintSchemaElement,
ppXmlNode: ?*?*IUnknown,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
else => *const fn(
self: *const IPrintSchemaElement,
ppXmlNode: ?*?*IUnknown,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
// TODO: this function has a "SpecialName", should Zig do anything with this?
get_Name: switch (@import("builtin").zig_backend) {
// TODO: this function has a "SpecialName", should Zig do anything with this?
.stage1 => fn(
self: *const IPrintSchemaElement,
pbstrName: ?*?BSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
else => *const fn(
self: *const IPrintSchemaElement,
pbstrName: ?*?BSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
// TODO: this function has a "SpecialName", should Zig do anything with this?
get_NamespaceUri: switch (@import("builtin").zig_backend) {
// TODO: this function has a "SpecialName", should Zig do anything with this?
.stage1 => fn(
self: *const IPrintSchemaElement,
pbstrNamespaceUri: ?*?BSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
else => *const fn(
self: *const IPrintSchemaElement,
pbstrNamespaceUri: ?*?BSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IDispatch.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintSchemaElement_get_XmlNode(self: *const T, ppXmlNode: ?*?*IUnknown) callconv(.Inline) HRESULT {
return @as(*const IPrintSchemaElement.VTable, @ptrCast(self.vtable)).get_XmlNode(@as(*const IPrintSchemaElement, @ptrCast(self)), ppXmlNode);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintSchemaElement_get_Name(self: *const T, pbstrName: ?*?BSTR) callconv(.Inline) HRESULT {
return @as(*const IPrintSchemaElement.VTable, @ptrCast(self.vtable)).get_Name(@as(*const IPrintSchemaElement, @ptrCast(self)), pbstrName);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintSchemaElement_get_NamespaceUri(self: *const T, pbstrNamespaceUri: ?*?BSTR) callconv(.Inline) HRESULT {
return @as(*const IPrintSchemaElement.VTable, @ptrCast(self.vtable)).get_NamespaceUri(@as(*const IPrintSchemaElement, @ptrCast(self)), pbstrNamespaceUri);
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IPrintSchemaDisplayableElement_Value = Guid.initString("af45af49-d6aa-407d-bf87-3912236e9d94");
pub const IID_IPrintSchemaDisplayableElement = &IID_IPrintSchemaDisplayableElement_Value;
pub const IPrintSchemaDisplayableElement = extern struct {
pub const VTable = extern struct {
base: IPrintSchemaElement.VTable,
// TODO: this function has a "SpecialName", should Zig do anything with this?
get_DisplayName: switch (@import("builtin").zig_backend) {
// TODO: this function has a "SpecialName", should Zig do anything with this?
.stage1 => fn(
self: *const IPrintSchemaDisplayableElement,
pbstrDisplayName: ?*?BSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
else => *const fn(
self: *const IPrintSchemaDisplayableElement,
pbstrDisplayName: ?*?BSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IPrintSchemaElement.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintSchemaDisplayableElement_get_DisplayName(self: *const T, pbstrDisplayName: ?*?BSTR) callconv(.Inline) HRESULT {
return @as(*const IPrintSchemaDisplayableElement.VTable, @ptrCast(self.vtable)).get_DisplayName(@as(*const IPrintSchemaDisplayableElement, @ptrCast(self)), pbstrDisplayName);
}
};}
pub usingnamespace MethodMixin(@This());
};
pub const PrintSchemaConstrainedSetting = enum(i32) {
None = 0,
PrintTicket = 1,
Admin = 2,
Device = 3,
};
pub const PrintSchemaConstrainedSetting_None = PrintSchemaConstrainedSetting.None;
pub const PrintSchemaConstrainedSetting_PrintTicket = PrintSchemaConstrainedSetting.PrintTicket;
pub const PrintSchemaConstrainedSetting_Admin = PrintSchemaConstrainedSetting.Admin;
pub const PrintSchemaConstrainedSetting_Device = PrintSchemaConstrainedSetting.Device;
const IID_IPrintSchemaOption_Value = Guid.initString("66bb2f51-5844-4997-8d70-4b7cc221cf92");
pub const IID_IPrintSchemaOption = &IID_IPrintSchemaOption_Value;
pub const IPrintSchemaOption = extern struct {
pub const VTable = extern struct {
base: IPrintSchemaDisplayableElement.VTable,
// TODO: this function has a "SpecialName", should Zig do anything with this?
get_Selected: switch (@import("builtin").zig_backend) {
// TODO: this function has a "SpecialName", should Zig do anything with this?
.stage1 => fn(
self: *const IPrintSchemaOption,
pbIsSelected: ?*BOOL,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
else => *const fn(
self: *const IPrintSchemaOption,
pbIsSelected: ?*BOOL,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
// TODO: this function has a "SpecialName", should Zig do anything with this?
get_Constrained: switch (@import("builtin").zig_backend) {
// TODO: this function has a "SpecialName", should Zig do anything with this?
.stage1 => fn(
self: *const IPrintSchemaOption,
pSetting: ?*PrintSchemaConstrainedSetting,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
else => *const fn(
self: *const IPrintSchemaOption,
pSetting: ?*PrintSchemaConstrainedSetting,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetPropertyValue: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintSchemaOption,
bstrName: ?BSTR,
bstrNamespaceUri: ?BSTR,
ppXmlValueNode: ?*?*IUnknown,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintSchemaOption,
bstrName: ?BSTR,
bstrNamespaceUri: ?BSTR,
ppXmlValueNode: ?*?*IUnknown,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IPrintSchemaDisplayableElement.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintSchemaOption_get_Selected(self: *const T, pbIsSelected: ?*BOOL) callconv(.Inline) HRESULT {
return @as(*const IPrintSchemaOption.VTable, @ptrCast(self.vtable)).get_Selected(@as(*const IPrintSchemaOption, @ptrCast(self)), pbIsSelected);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintSchemaOption_get_Constrained(self: *const T, pSetting: ?*PrintSchemaConstrainedSetting) callconv(.Inline) HRESULT {
return @as(*const IPrintSchemaOption.VTable, @ptrCast(self.vtable)).get_Constrained(@as(*const IPrintSchemaOption, @ptrCast(self)), pSetting);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintSchemaOption_GetPropertyValue(self: *const T, bstrName: ?BSTR, bstrNamespaceUri: ?BSTR, ppXmlValueNode: ?*?*IUnknown) callconv(.Inline) HRESULT {
return @as(*const IPrintSchemaOption.VTable, @ptrCast(self.vtable)).GetPropertyValue(@as(*const IPrintSchemaOption, @ptrCast(self)), bstrName, bstrNamespaceUri, ppXmlValueNode);
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IPrintSchemaPageMediaSizeOption_Value = Guid.initString("68746729-f493-4830-a10f-69028774605d");
pub const IID_IPrintSchemaPageMediaSizeOption = &IID_IPrintSchemaPageMediaSizeOption_Value;
pub const IPrintSchemaPageMediaSizeOption = extern struct {
pub const VTable = extern struct {
base: IPrintSchemaOption.VTable,
// TODO: this function has a "SpecialName", should Zig do anything with this?
get_WidthInMicrons: switch (@import("builtin").zig_backend) {
// TODO: this function has a "SpecialName", should Zig do anything with this?
.stage1 => fn(
self: *const IPrintSchemaPageMediaSizeOption,
pulWidth: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
else => *const fn(
self: *const IPrintSchemaPageMediaSizeOption,
pulWidth: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
// TODO: this function has a "SpecialName", should Zig do anything with this?
get_HeightInMicrons: switch (@import("builtin").zig_backend) {
// TODO: this function has a "SpecialName", should Zig do anything with this?
.stage1 => fn(
self: *const IPrintSchemaPageMediaSizeOption,
pulHeight: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
else => *const fn(
self: *const IPrintSchemaPageMediaSizeOption,
pulHeight: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IPrintSchemaOption.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintSchemaPageMediaSizeOption_get_WidthInMicrons(self: *const T, pulWidth: ?*u32) callconv(.Inline) HRESULT {
return @as(*const IPrintSchemaPageMediaSizeOption.VTable, @ptrCast(self.vtable)).get_WidthInMicrons(@as(*const IPrintSchemaPageMediaSizeOption, @ptrCast(self)), pulWidth);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintSchemaPageMediaSizeOption_get_HeightInMicrons(self: *const T, pulHeight: ?*u32) callconv(.Inline) HRESULT {
return @as(*const IPrintSchemaPageMediaSizeOption.VTable, @ptrCast(self.vtable)).get_HeightInMicrons(@as(*const IPrintSchemaPageMediaSizeOption, @ptrCast(self)), pulHeight);
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IPrintSchemaNUpOption_Value = Guid.initString("1f6342f2-d848-42e3-8995-c10a9ef9a3ba");
pub const IID_IPrintSchemaNUpOption = &IID_IPrintSchemaNUpOption_Value;
pub const IPrintSchemaNUpOption = extern struct {
pub const VTable = extern struct {
base: IPrintSchemaOption.VTable,
// TODO: this function has a "SpecialName", should Zig do anything with this?
get_PagesPerSheet: switch (@import("builtin").zig_backend) {
// TODO: this function has a "SpecialName", should Zig do anything with this?
.stage1 => fn(
self: *const IPrintSchemaNUpOption,
pulPagesPerSheet: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
else => *const fn(
self: *const IPrintSchemaNUpOption,
pulPagesPerSheet: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IPrintSchemaOption.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintSchemaNUpOption_get_PagesPerSheet(self: *const T, pulPagesPerSheet: ?*u32) callconv(.Inline) HRESULT {
return @as(*const IPrintSchemaNUpOption.VTable, @ptrCast(self.vtable)).get_PagesPerSheet(@as(*const IPrintSchemaNUpOption, @ptrCast(self)), pulPagesPerSheet);
}
};}
pub usingnamespace MethodMixin(@This());
};
pub const PrintSchemaSelectionType = enum(i32) {
One = 0,
Many = 1,
};
pub const PrintSchemaSelectionType_PickOne = PrintSchemaSelectionType.One;
pub const PrintSchemaSelectionType_PickMany = PrintSchemaSelectionType.Many;
const IID_IPrintSchemaOptionCollection_Value = Guid.initString("baecb0bd-a946-4771-bc30-e8b24f8d45c1");
pub const IID_IPrintSchemaOptionCollection = &IID_IPrintSchemaOptionCollection_Value;
pub const IPrintSchemaOptionCollection = extern struct {
pub const VTable = extern struct {
base: IDispatch.VTable,
// TODO: this function has a "SpecialName", should Zig do anything with this?
get_Count: switch (@import("builtin").zig_backend) {
// TODO: this function has a "SpecialName", should Zig do anything with this?
.stage1 => fn(
self: *const IPrintSchemaOptionCollection,
pulCount: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
else => *const fn(
self: *const IPrintSchemaOptionCollection,
pulCount: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetAt: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintSchemaOptionCollection,
ulIndex: u32,
ppOption: ?*?*IPrintSchemaOption,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintSchemaOptionCollection,
ulIndex: u32,
ppOption: ?*?*IPrintSchemaOption,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
// TODO: this function has a "SpecialName", should Zig do anything with this?
get__NewEnum: switch (@import("builtin").zig_backend) {
// TODO: this function has a "SpecialName", should Zig do anything with this?
.stage1 => fn(
self: *const IPrintSchemaOptionCollection,
ppUnk: ?*?*IUnknown,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
else => *const fn(
self: *const IPrintSchemaOptionCollection,
ppUnk: ?*?*IUnknown,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IDispatch.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintSchemaOptionCollection_get_Count(self: *const T, pulCount: ?*u32) callconv(.Inline) HRESULT {
return @as(*const IPrintSchemaOptionCollection.VTable, @ptrCast(self.vtable)).get_Count(@as(*const IPrintSchemaOptionCollection, @ptrCast(self)), pulCount);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintSchemaOptionCollection_GetAt(self: *const T, ulIndex: u32, ppOption: ?*?*IPrintSchemaOption) callconv(.Inline) HRESULT {
return @as(*const IPrintSchemaOptionCollection.VTable, @ptrCast(self.vtable)).GetAt(@as(*const IPrintSchemaOptionCollection, @ptrCast(self)), ulIndex, ppOption);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintSchemaOptionCollection_get__NewEnum(self: *const T, ppUnk: ?*?*IUnknown) callconv(.Inline) HRESULT {
return @as(*const IPrintSchemaOptionCollection.VTable, @ptrCast(self.vtable)).get__NewEnum(@as(*const IPrintSchemaOptionCollection, @ptrCast(self)), ppUnk);
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IPrintSchemaFeature_Value = Guid.initString("ef189461-5d62-4626-8e57-ff83583c4826");
pub const IID_IPrintSchemaFeature = &IID_IPrintSchemaFeature_Value;
pub const IPrintSchemaFeature = extern struct {
pub const VTable = extern struct {
base: IPrintSchemaDisplayableElement.VTable,
// TODO: this function has a "SpecialName", should Zig do anything with this?
get_SelectedOption: switch (@import("builtin").zig_backend) {
// TODO: this function has a "SpecialName", should Zig do anything with this?
.stage1 => fn(
self: *const IPrintSchemaFeature,
ppOption: ?*?*IPrintSchemaOption,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
else => *const fn(
self: *const IPrintSchemaFeature,
ppOption: ?*?*IPrintSchemaOption,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
// TODO: this function has a "SpecialName", should Zig do anything with this?
put_SelectedOption: switch (@import("builtin").zig_backend) {
// TODO: this function has a "SpecialName", should Zig do anything with this?
.stage1 => fn(
self: *const IPrintSchemaFeature,
pOption: ?*IPrintSchemaOption,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
else => *const fn(
self: *const IPrintSchemaFeature,
pOption: ?*IPrintSchemaOption,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
// TODO: this function has a "SpecialName", should Zig do anything with this?
get_SelectionType: switch (@import("builtin").zig_backend) {
// TODO: this function has a "SpecialName", should Zig do anything with this?
.stage1 => fn(
self: *const IPrintSchemaFeature,
pSelectionType: ?*PrintSchemaSelectionType,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
else => *const fn(
self: *const IPrintSchemaFeature,
pSelectionType: ?*PrintSchemaSelectionType,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetOption: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintSchemaFeature,
bstrName: ?BSTR,
bstrNamespaceUri: ?BSTR,
ppOption: ?*?*IPrintSchemaOption,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintSchemaFeature,
bstrName: ?BSTR,
bstrNamespaceUri: ?BSTR,
ppOption: ?*?*IPrintSchemaOption,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
// TODO: this function has a "SpecialName", should Zig do anything with this?
get_DisplayUI: switch (@import("builtin").zig_backend) {
// TODO: this function has a "SpecialName", should Zig do anything with this?
.stage1 => fn(
self: *const IPrintSchemaFeature,
pbShow: ?*BOOL,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
else => *const fn(
self: *const IPrintSchemaFeature,
pbShow: ?*BOOL,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IPrintSchemaDisplayableElement.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintSchemaFeature_get_SelectedOption(self: *const T, ppOption: ?*?*IPrintSchemaOption) callconv(.Inline) HRESULT {
return @as(*const IPrintSchemaFeature.VTable, @ptrCast(self.vtable)).get_SelectedOption(@as(*const IPrintSchemaFeature, @ptrCast(self)), ppOption);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintSchemaFeature_put_SelectedOption(self: *const T, pOption: ?*IPrintSchemaOption) callconv(.Inline) HRESULT {
return @as(*const IPrintSchemaFeature.VTable, @ptrCast(self.vtable)).put_SelectedOption(@as(*const IPrintSchemaFeature, @ptrCast(self)), pOption);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintSchemaFeature_get_SelectionType(self: *const T, pSelectionType: ?*PrintSchemaSelectionType) callconv(.Inline) HRESULT {
return @as(*const IPrintSchemaFeature.VTable, @ptrCast(self.vtable)).get_SelectionType(@as(*const IPrintSchemaFeature, @ptrCast(self)), pSelectionType);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintSchemaFeature_GetOption(self: *const T, bstrName: ?BSTR, bstrNamespaceUri: ?BSTR, ppOption: ?*?*IPrintSchemaOption) callconv(.Inline) HRESULT {
return @as(*const IPrintSchemaFeature.VTable, @ptrCast(self.vtable)).GetOption(@as(*const IPrintSchemaFeature, @ptrCast(self)), bstrName, bstrNamespaceUri, ppOption);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintSchemaFeature_get_DisplayUI(self: *const T, pbShow: ?*BOOL) callconv(.Inline) HRESULT {
return @as(*const IPrintSchemaFeature.VTable, @ptrCast(self.vtable)).get_DisplayUI(@as(*const IPrintSchemaFeature, @ptrCast(self)), pbShow);
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IPrintSchemaPageImageableSize_Value = Guid.initString("7c85bf5e-dc7c-4f61-839b-4107e1c9b68e");
pub const IID_IPrintSchemaPageImageableSize = &IID_IPrintSchemaPageImageableSize_Value;
pub const IPrintSchemaPageImageableSize = extern struct {
pub const VTable = extern struct {
base: IPrintSchemaElement.VTable,
// TODO: this function has a "SpecialName", should Zig do anything with this?
get_ImageableSizeWidthInMicrons: switch (@import("builtin").zig_backend) {
// TODO: this function has a "SpecialName", should Zig do anything with this?
.stage1 => fn(
self: *const IPrintSchemaPageImageableSize,
pulImageableSizeWidth: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
else => *const fn(
self: *const IPrintSchemaPageImageableSize,
pulImageableSizeWidth: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
// TODO: this function has a "SpecialName", should Zig do anything with this?
get_ImageableSizeHeightInMicrons: switch (@import("builtin").zig_backend) {
// TODO: this function has a "SpecialName", should Zig do anything with this?
.stage1 => fn(
self: *const IPrintSchemaPageImageableSize,
pulImageableSizeHeight: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
else => *const fn(
self: *const IPrintSchemaPageImageableSize,
pulImageableSizeHeight: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
// TODO: this function has a "SpecialName", should Zig do anything with this?
get_OriginWidthInMicrons: switch (@import("builtin").zig_backend) {
// TODO: this function has a "SpecialName", should Zig do anything with this?
.stage1 => fn(
self: *const IPrintSchemaPageImageableSize,
pulOriginWidth: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
else => *const fn(
self: *const IPrintSchemaPageImageableSize,
pulOriginWidth: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
// TODO: this function has a "SpecialName", should Zig do anything with this?
get_OriginHeightInMicrons: switch (@import("builtin").zig_backend) {
// TODO: this function has a "SpecialName", should Zig do anything with this?
.stage1 => fn(
self: *const IPrintSchemaPageImageableSize,
pulOriginHeight: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
else => *const fn(
self: *const IPrintSchemaPageImageableSize,
pulOriginHeight: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
// TODO: this function has a "SpecialName", should Zig do anything with this?
get_ExtentWidthInMicrons: switch (@import("builtin").zig_backend) {
// TODO: this function has a "SpecialName", should Zig do anything with this?
.stage1 => fn(
self: *const IPrintSchemaPageImageableSize,
pulExtentWidth: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
else => *const fn(
self: *const IPrintSchemaPageImageableSize,
pulExtentWidth: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
// TODO: this function has a "SpecialName", should Zig do anything with this?
get_ExtentHeightInMicrons: switch (@import("builtin").zig_backend) {
// TODO: this function has a "SpecialName", should Zig do anything with this?
.stage1 => fn(
self: *const IPrintSchemaPageImageableSize,
pulExtentHeight: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
else => *const fn(
self: *const IPrintSchemaPageImageableSize,
pulExtentHeight: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IPrintSchemaElement.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintSchemaPageImageableSize_get_ImageableSizeWidthInMicrons(self: *const T, pulImageableSizeWidth: ?*u32) callconv(.Inline) HRESULT {
return @as(*const IPrintSchemaPageImageableSize.VTable, @ptrCast(self.vtable)).get_ImageableSizeWidthInMicrons(@as(*const IPrintSchemaPageImageableSize, @ptrCast(self)), pulImageableSizeWidth);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintSchemaPageImageableSize_get_ImageableSizeHeightInMicrons(self: *const T, pulImageableSizeHeight: ?*u32) callconv(.Inline) HRESULT {
return @as(*const IPrintSchemaPageImageableSize.VTable, @ptrCast(self.vtable)).get_ImageableSizeHeightInMicrons(@as(*const IPrintSchemaPageImageableSize, @ptrCast(self)), pulImageableSizeHeight);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintSchemaPageImageableSize_get_OriginWidthInMicrons(self: *const T, pulOriginWidth: ?*u32) callconv(.Inline) HRESULT {
return @as(*const IPrintSchemaPageImageableSize.VTable, @ptrCast(self.vtable)).get_OriginWidthInMicrons(@as(*const IPrintSchemaPageImageableSize, @ptrCast(self)), pulOriginWidth);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintSchemaPageImageableSize_get_OriginHeightInMicrons(self: *const T, pulOriginHeight: ?*u32) callconv(.Inline) HRESULT {
return @as(*const IPrintSchemaPageImageableSize.VTable, @ptrCast(self.vtable)).get_OriginHeightInMicrons(@as(*const IPrintSchemaPageImageableSize, @ptrCast(self)), pulOriginHeight);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintSchemaPageImageableSize_get_ExtentWidthInMicrons(self: *const T, pulExtentWidth: ?*u32) callconv(.Inline) HRESULT {
return @as(*const IPrintSchemaPageImageableSize.VTable, @ptrCast(self.vtable)).get_ExtentWidthInMicrons(@as(*const IPrintSchemaPageImageableSize, @ptrCast(self)), pulExtentWidth);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintSchemaPageImageableSize_get_ExtentHeightInMicrons(self: *const T, pulExtentHeight: ?*u32) callconv(.Inline) HRESULT {
return @as(*const IPrintSchemaPageImageableSize.VTable, @ptrCast(self.vtable)).get_ExtentHeightInMicrons(@as(*const IPrintSchemaPageImageableSize, @ptrCast(self)), pulExtentHeight);
}
};}
pub usingnamespace MethodMixin(@This());
};
pub const PrintSchemaParameterDataType = enum(i32) {
Integer = 0,
NumericString = 1,
String = 2,
};
pub const PrintSchemaParameterDataType_Integer = PrintSchemaParameterDataType.Integer;
pub const PrintSchemaParameterDataType_NumericString = PrintSchemaParameterDataType.NumericString;
pub const PrintSchemaParameterDataType_String = PrintSchemaParameterDataType.String;
const IID_IPrintSchemaParameterDefinition_Value = Guid.initString("b5ade81e-0e61-4fe1-81c6-c333e4ffe0f1");
pub const IID_IPrintSchemaParameterDefinition = &IID_IPrintSchemaParameterDefinition_Value;
pub const IPrintSchemaParameterDefinition = extern struct {
pub const VTable = extern struct {
base: IPrintSchemaDisplayableElement.VTable,
// TODO: this function has a "SpecialName", should Zig do anything with this?
get_UserInputRequired: switch (@import("builtin").zig_backend) {
// TODO: this function has a "SpecialName", should Zig do anything with this?
.stage1 => fn(
self: *const IPrintSchemaParameterDefinition,
pbIsRequired: ?*BOOL,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
else => *const fn(
self: *const IPrintSchemaParameterDefinition,
pbIsRequired: ?*BOOL,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
// TODO: this function has a "SpecialName", should Zig do anything with this?
get_UnitType: switch (@import("builtin").zig_backend) {
// TODO: this function has a "SpecialName", should Zig do anything with this?
.stage1 => fn(
self: *const IPrintSchemaParameterDefinition,
pbstrUnitType: ?*?BSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
else => *const fn(
self: *const IPrintSchemaParameterDefinition,
pbstrUnitType: ?*?BSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
// TODO: this function has a "SpecialName", should Zig do anything with this?
get_DataType: switch (@import("builtin").zig_backend) {
// TODO: this function has a "SpecialName", should Zig do anything with this?
.stage1 => fn(
self: *const IPrintSchemaParameterDefinition,
pDataType: ?*PrintSchemaParameterDataType,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
else => *const fn(
self: *const IPrintSchemaParameterDefinition,
pDataType: ?*PrintSchemaParameterDataType,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
// TODO: this function has a "SpecialName", should Zig do anything with this?
get_RangeMin: switch (@import("builtin").zig_backend) {
// TODO: this function has a "SpecialName", should Zig do anything with this?
.stage1 => fn(
self: *const IPrintSchemaParameterDefinition,
pRangeMin: ?*i32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
else => *const fn(
self: *const IPrintSchemaParameterDefinition,
pRangeMin: ?*i32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
// TODO: this function has a "SpecialName", should Zig do anything with this?
get_RangeMax: switch (@import("builtin").zig_backend) {
// TODO: this function has a "SpecialName", should Zig do anything with this?
.stage1 => fn(
self: *const IPrintSchemaParameterDefinition,
pRangeMax: ?*i32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
else => *const fn(
self: *const IPrintSchemaParameterDefinition,
pRangeMax: ?*i32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IPrintSchemaDisplayableElement.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintSchemaParameterDefinition_get_UserInputRequired(self: *const T, pbIsRequired: ?*BOOL) callconv(.Inline) HRESULT {
return @as(*const IPrintSchemaParameterDefinition.VTable, @ptrCast(self.vtable)).get_UserInputRequired(@as(*const IPrintSchemaParameterDefinition, @ptrCast(self)), pbIsRequired);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintSchemaParameterDefinition_get_UnitType(self: *const T, pbstrUnitType: ?*?BSTR) callconv(.Inline) HRESULT {
return @as(*const IPrintSchemaParameterDefinition.VTable, @ptrCast(self.vtable)).get_UnitType(@as(*const IPrintSchemaParameterDefinition, @ptrCast(self)), pbstrUnitType);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintSchemaParameterDefinition_get_DataType(self: *const T, pDataType: ?*PrintSchemaParameterDataType) callconv(.Inline) HRESULT {
return @as(*const IPrintSchemaParameterDefinition.VTable, @ptrCast(self.vtable)).get_DataType(@as(*const IPrintSchemaParameterDefinition, @ptrCast(self)), pDataType);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintSchemaParameterDefinition_get_RangeMin(self: *const T, pRangeMin: ?*i32) callconv(.Inline) HRESULT {
return @as(*const IPrintSchemaParameterDefinition.VTable, @ptrCast(self.vtable)).get_RangeMin(@as(*const IPrintSchemaParameterDefinition, @ptrCast(self)), pRangeMin);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintSchemaParameterDefinition_get_RangeMax(self: *const T, pRangeMax: ?*i32) callconv(.Inline) HRESULT {
return @as(*const IPrintSchemaParameterDefinition.VTable, @ptrCast(self.vtable)).get_RangeMax(@as(*const IPrintSchemaParameterDefinition, @ptrCast(self)), pRangeMax);
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IPrintSchemaParameterInitializer_Value = Guid.initString("52027082-0b74-4648-9564-828cc6cb656c");
pub const IID_IPrintSchemaParameterInitializer = &IID_IPrintSchemaParameterInitializer_Value;
pub const IPrintSchemaParameterInitializer = extern struct {
pub const VTable = extern struct {
base: IPrintSchemaElement.VTable,
// TODO: this function has a "SpecialName", should Zig do anything with this?
get_Value: switch (@import("builtin").zig_backend) {
// TODO: this function has a "SpecialName", should Zig do anything with this?
.stage1 => fn(
self: *const IPrintSchemaParameterInitializer,
pVar: ?*VARIANT,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
else => *const fn(
self: *const IPrintSchemaParameterInitializer,
pVar: ?*VARIANT,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
// TODO: this function has a "SpecialName", should Zig do anything with this?
put_Value: switch (@import("builtin").zig_backend) {
// TODO: this function has a "SpecialName", should Zig do anything with this?
.stage1 => fn(
self: *const IPrintSchemaParameterInitializer,
pVar: ?*VARIANT,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
else => *const fn(
self: *const IPrintSchemaParameterInitializer,
pVar: ?*VARIANT,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IPrintSchemaElement.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintSchemaParameterInitializer_get_Value(self: *const T, pVar: ?*VARIANT) callconv(.Inline) HRESULT {
return @as(*const IPrintSchemaParameterInitializer.VTable, @ptrCast(self.vtable)).get_Value(@as(*const IPrintSchemaParameterInitializer, @ptrCast(self)), pVar);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintSchemaParameterInitializer_put_Value(self: *const T, pVar: ?*VARIANT) callconv(.Inline) HRESULT {
return @as(*const IPrintSchemaParameterInitializer.VTable, @ptrCast(self.vtable)).put_Value(@as(*const IPrintSchemaParameterInitializer, @ptrCast(self)), pVar);
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IPrintSchemaCapabilities_Value = Guid.initString("5a577640-501d-4927-bcd0-5ef57a7ed175");
pub const IID_IPrintSchemaCapabilities = &IID_IPrintSchemaCapabilities_Value;
pub const IPrintSchemaCapabilities = extern struct {
pub const VTable = extern struct {
base: IPrintSchemaElement.VTable,
GetFeatureByKeyName: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintSchemaCapabilities,
bstrKeyName: ?BSTR,
ppFeature: ?*?*IPrintSchemaFeature,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintSchemaCapabilities,
bstrKeyName: ?BSTR,
ppFeature: ?*?*IPrintSchemaFeature,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetFeature: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintSchemaCapabilities,
bstrName: ?BSTR,
bstrNamespaceUri: ?BSTR,
ppFeature: ?*?*IPrintSchemaFeature,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintSchemaCapabilities,
bstrName: ?BSTR,
bstrNamespaceUri: ?BSTR,
ppFeature: ?*?*IPrintSchemaFeature,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
// TODO: this function has a "SpecialName", should Zig do anything with this?
get_PageImageableSize: switch (@import("builtin").zig_backend) {
// TODO: this function has a "SpecialName", should Zig do anything with this?
.stage1 => fn(
self: *const IPrintSchemaCapabilities,
ppPageImageableSize: ?*?*IPrintSchemaPageImageableSize,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
else => *const fn(
self: *const IPrintSchemaCapabilities,
ppPageImageableSize: ?*?*IPrintSchemaPageImageableSize,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
// TODO: this function has a "SpecialName", should Zig do anything with this?
get_JobCopiesAllDocumentsMinValue: switch (@import("builtin").zig_backend) {
// TODO: this function has a "SpecialName", should Zig do anything with this?
.stage1 => fn(
self: *const IPrintSchemaCapabilities,
pulJobCopiesAllDocumentsMinValue: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
else => *const fn(
self: *const IPrintSchemaCapabilities,
pulJobCopiesAllDocumentsMinValue: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
// TODO: this function has a "SpecialName", should Zig do anything with this?
get_JobCopiesAllDocumentsMaxValue: switch (@import("builtin").zig_backend) {
// TODO: this function has a "SpecialName", should Zig do anything with this?
.stage1 => fn(
self: *const IPrintSchemaCapabilities,
pulJobCopiesAllDocumentsMaxValue: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
else => *const fn(
self: *const IPrintSchemaCapabilities,
pulJobCopiesAllDocumentsMaxValue: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetSelectedOptionInPrintTicket: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintSchemaCapabilities,
pFeature: ?*IPrintSchemaFeature,
ppOption: ?*?*IPrintSchemaOption,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintSchemaCapabilities,
pFeature: ?*IPrintSchemaFeature,
ppOption: ?*?*IPrintSchemaOption,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetOptions: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintSchemaCapabilities,
pFeature: ?*IPrintSchemaFeature,
ppOptionCollection: ?*?*IPrintSchemaOptionCollection,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintSchemaCapabilities,
pFeature: ?*IPrintSchemaFeature,
ppOptionCollection: ?*?*IPrintSchemaOptionCollection,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IPrintSchemaElement.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintSchemaCapabilities_GetFeatureByKeyName(self: *const T, bstrKeyName: ?BSTR, ppFeature: ?*?*IPrintSchemaFeature) callconv(.Inline) HRESULT {
return @as(*const IPrintSchemaCapabilities.VTable, @ptrCast(self.vtable)).GetFeatureByKeyName(@as(*const IPrintSchemaCapabilities, @ptrCast(self)), bstrKeyName, ppFeature);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintSchemaCapabilities_GetFeature(self: *const T, bstrName: ?BSTR, bstrNamespaceUri: ?BSTR, ppFeature: ?*?*IPrintSchemaFeature) callconv(.Inline) HRESULT {
return @as(*const IPrintSchemaCapabilities.VTable, @ptrCast(self.vtable)).GetFeature(@as(*const IPrintSchemaCapabilities, @ptrCast(self)), bstrName, bstrNamespaceUri, ppFeature);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintSchemaCapabilities_get_PageImageableSize(self: *const T, ppPageImageableSize: ?*?*IPrintSchemaPageImageableSize) callconv(.Inline) HRESULT {
return @as(*const IPrintSchemaCapabilities.VTable, @ptrCast(self.vtable)).get_PageImageableSize(@as(*const IPrintSchemaCapabilities, @ptrCast(self)), ppPageImageableSize);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintSchemaCapabilities_get_JobCopiesAllDocumentsMinValue(self: *const T, pulJobCopiesAllDocumentsMinValue: ?*u32) callconv(.Inline) HRESULT {
return @as(*const IPrintSchemaCapabilities.VTable, @ptrCast(self.vtable)).get_JobCopiesAllDocumentsMinValue(@as(*const IPrintSchemaCapabilities, @ptrCast(self)), pulJobCopiesAllDocumentsMinValue);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintSchemaCapabilities_get_JobCopiesAllDocumentsMaxValue(self: *const T, pulJobCopiesAllDocumentsMaxValue: ?*u32) callconv(.Inline) HRESULT {
return @as(*const IPrintSchemaCapabilities.VTable, @ptrCast(self.vtable)).get_JobCopiesAllDocumentsMaxValue(@as(*const IPrintSchemaCapabilities, @ptrCast(self)), pulJobCopiesAllDocumentsMaxValue);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintSchemaCapabilities_GetSelectedOptionInPrintTicket(self: *const T, pFeature: ?*IPrintSchemaFeature, ppOption: ?*?*IPrintSchemaOption) callconv(.Inline) HRESULT {
return @as(*const IPrintSchemaCapabilities.VTable, @ptrCast(self.vtable)).GetSelectedOptionInPrintTicket(@as(*const IPrintSchemaCapabilities, @ptrCast(self)), pFeature, ppOption);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintSchemaCapabilities_GetOptions(self: *const T, pFeature: ?*IPrintSchemaFeature, ppOptionCollection: ?*?*IPrintSchemaOptionCollection) callconv(.Inline) HRESULT {
return @as(*const IPrintSchemaCapabilities.VTable, @ptrCast(self.vtable)).GetOptions(@as(*const IPrintSchemaCapabilities, @ptrCast(self)), pFeature, ppOptionCollection);
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IPrintSchemaCapabilities2_Value = Guid.initString("b58845f4-9970-4d87-a636-169fb82ed642");
pub const IID_IPrintSchemaCapabilities2 = &IID_IPrintSchemaCapabilities2_Value;
pub const IPrintSchemaCapabilities2 = extern struct {
pub const VTable = extern struct {
base: IPrintSchemaCapabilities.VTable,
GetParameterDefinition: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintSchemaCapabilities2,
bstrName: ?BSTR,
bstrNamespaceUri: ?BSTR,
ppParameterDefinition: ?*?*IPrintSchemaParameterDefinition,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintSchemaCapabilities2,
bstrName: ?BSTR,
bstrNamespaceUri: ?BSTR,
ppParameterDefinition: ?*?*IPrintSchemaParameterDefinition,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IPrintSchemaCapabilities.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintSchemaCapabilities2_GetParameterDefinition(self: *const T, bstrName: ?BSTR, bstrNamespaceUri: ?BSTR, ppParameterDefinition: ?*?*IPrintSchemaParameterDefinition) callconv(.Inline) HRESULT {
return @as(*const IPrintSchemaCapabilities2.VTable, @ptrCast(self.vtable)).GetParameterDefinition(@as(*const IPrintSchemaCapabilities2, @ptrCast(self)), bstrName, bstrNamespaceUri, ppParameterDefinition);
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IPrintSchemaAsyncOperation_Value = Guid.initString("143c8dcb-d37f-47f7-88e8-6b1d21f2c5f7");
pub const IID_IPrintSchemaAsyncOperation = &IID_IPrintSchemaAsyncOperation_Value;
pub const IPrintSchemaAsyncOperation = extern struct {
pub const VTable = extern struct {
base: IDispatch.VTable,
Start: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintSchemaAsyncOperation,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintSchemaAsyncOperation,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
Cancel: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintSchemaAsyncOperation,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintSchemaAsyncOperation,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IDispatch.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintSchemaAsyncOperation_Start(self: *const T) callconv(.Inline) HRESULT {
return @as(*const IPrintSchemaAsyncOperation.VTable, @ptrCast(self.vtable)).Start(@as(*const IPrintSchemaAsyncOperation, @ptrCast(self)));
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintSchemaAsyncOperation_Cancel(self: *const T) callconv(.Inline) HRESULT {
return @as(*const IPrintSchemaAsyncOperation.VTable, @ptrCast(self.vtable)).Cancel(@as(*const IPrintSchemaAsyncOperation, @ptrCast(self)));
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IPrintSchemaTicket_Value = Guid.initString("e480b861-4708-4e6d-a5b4-a2b4eeb9baa4");
pub const IID_IPrintSchemaTicket = &IID_IPrintSchemaTicket_Value;
pub const IPrintSchemaTicket = extern struct {
pub const VTable = extern struct {
base: IPrintSchemaElement.VTable,
GetFeatureByKeyName: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintSchemaTicket,
bstrKeyName: ?BSTR,
ppFeature: ?*?*IPrintSchemaFeature,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintSchemaTicket,
bstrKeyName: ?BSTR,
ppFeature: ?*?*IPrintSchemaFeature,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetFeature: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintSchemaTicket,
bstrName: ?BSTR,
bstrNamespaceUri: ?BSTR,
ppFeature: ?*?*IPrintSchemaFeature,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintSchemaTicket,
bstrName: ?BSTR,
bstrNamespaceUri: ?BSTR,
ppFeature: ?*?*IPrintSchemaFeature,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
ValidateAsync: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintSchemaTicket,
ppAsyncOperation: ?*?*IPrintSchemaAsyncOperation,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintSchemaTicket,
ppAsyncOperation: ?*?*IPrintSchemaAsyncOperation,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
CommitAsync: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintSchemaTicket,
pPrintTicketCommit: ?*IPrintSchemaTicket,
ppAsyncOperation: ?*?*IPrintSchemaAsyncOperation,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintSchemaTicket,
pPrintTicketCommit: ?*IPrintSchemaTicket,
ppAsyncOperation: ?*?*IPrintSchemaAsyncOperation,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
NotifyXmlChanged: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintSchemaTicket,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintSchemaTicket,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetCapabilities: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintSchemaTicket,
ppCapabilities: ?*?*IPrintSchemaCapabilities,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintSchemaTicket,
ppCapabilities: ?*?*IPrintSchemaCapabilities,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
// TODO: this function has a "SpecialName", should Zig do anything with this?
get_JobCopiesAllDocuments: switch (@import("builtin").zig_backend) {
// TODO: this function has a "SpecialName", should Zig do anything with this?
.stage1 => fn(
self: *const IPrintSchemaTicket,
pulJobCopiesAllDocuments: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
else => *const fn(
self: *const IPrintSchemaTicket,
pulJobCopiesAllDocuments: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
// TODO: this function has a "SpecialName", should Zig do anything with this?
put_JobCopiesAllDocuments: switch (@import("builtin").zig_backend) {
// TODO: this function has a "SpecialName", should Zig do anything with this?
.stage1 => fn(
self: *const IPrintSchemaTicket,
ulJobCopiesAllDocuments: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
else => *const fn(
self: *const IPrintSchemaTicket,
ulJobCopiesAllDocuments: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IPrintSchemaElement.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintSchemaTicket_GetFeatureByKeyName(self: *const T, bstrKeyName: ?BSTR, ppFeature: ?*?*IPrintSchemaFeature) callconv(.Inline) HRESULT {
return @as(*const IPrintSchemaTicket.VTable, @ptrCast(self.vtable)).GetFeatureByKeyName(@as(*const IPrintSchemaTicket, @ptrCast(self)), bstrKeyName, ppFeature);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintSchemaTicket_GetFeature(self: *const T, bstrName: ?BSTR, bstrNamespaceUri: ?BSTR, ppFeature: ?*?*IPrintSchemaFeature) callconv(.Inline) HRESULT {
return @as(*const IPrintSchemaTicket.VTable, @ptrCast(self.vtable)).GetFeature(@as(*const IPrintSchemaTicket, @ptrCast(self)), bstrName, bstrNamespaceUri, ppFeature);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintSchemaTicket_ValidateAsync(self: *const T, ppAsyncOperation: ?*?*IPrintSchemaAsyncOperation) callconv(.Inline) HRESULT {
return @as(*const IPrintSchemaTicket.VTable, @ptrCast(self.vtable)).ValidateAsync(@as(*const IPrintSchemaTicket, @ptrCast(self)), ppAsyncOperation);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintSchemaTicket_CommitAsync(self: *const T, pPrintTicketCommit: ?*IPrintSchemaTicket, ppAsyncOperation: ?*?*IPrintSchemaAsyncOperation) callconv(.Inline) HRESULT {
return @as(*const IPrintSchemaTicket.VTable, @ptrCast(self.vtable)).CommitAsync(@as(*const IPrintSchemaTicket, @ptrCast(self)), pPrintTicketCommit, ppAsyncOperation);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintSchemaTicket_NotifyXmlChanged(self: *const T) callconv(.Inline) HRESULT {
return @as(*const IPrintSchemaTicket.VTable, @ptrCast(self.vtable)).NotifyXmlChanged(@as(*const IPrintSchemaTicket, @ptrCast(self)));
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintSchemaTicket_GetCapabilities(self: *const T, ppCapabilities: ?*?*IPrintSchemaCapabilities) callconv(.Inline) HRESULT {
return @as(*const IPrintSchemaTicket.VTable, @ptrCast(self.vtable)).GetCapabilities(@as(*const IPrintSchemaTicket, @ptrCast(self)), ppCapabilities);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintSchemaTicket_get_JobCopiesAllDocuments(self: *const T, pulJobCopiesAllDocuments: ?*u32) callconv(.Inline) HRESULT {
return @as(*const IPrintSchemaTicket.VTable, @ptrCast(self.vtable)).get_JobCopiesAllDocuments(@as(*const IPrintSchemaTicket, @ptrCast(self)), pulJobCopiesAllDocuments);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintSchemaTicket_put_JobCopiesAllDocuments(self: *const T, ulJobCopiesAllDocuments: u32) callconv(.Inline) HRESULT {
return @as(*const IPrintSchemaTicket.VTable, @ptrCast(self.vtable)).put_JobCopiesAllDocuments(@as(*const IPrintSchemaTicket, @ptrCast(self)), ulJobCopiesAllDocuments);
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IPrintSchemaTicket2_Value = Guid.initString("2ec1f844-766a-47a1-91f4-2eeb6190f80c");
pub const IID_IPrintSchemaTicket2 = &IID_IPrintSchemaTicket2_Value;
pub const IPrintSchemaTicket2 = extern struct {
pub const VTable = extern struct {
base: IPrintSchemaTicket.VTable,
GetParameterInitializer: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintSchemaTicket2,
bstrName: ?BSTR,
bstrNamespaceUri: ?BSTR,
ppParameterInitializer: ?*?*IPrintSchemaParameterInitializer,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintSchemaTicket2,
bstrName: ?BSTR,
bstrNamespaceUri: ?BSTR,
ppParameterInitializer: ?*?*IPrintSchemaParameterInitializer,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IPrintSchemaTicket.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintSchemaTicket2_GetParameterInitializer(self: *const T, bstrName: ?BSTR, bstrNamespaceUri: ?BSTR, ppParameterInitializer: ?*?*IPrintSchemaParameterInitializer) callconv(.Inline) HRESULT {
return @as(*const IPrintSchemaTicket2.VTable, @ptrCast(self.vtable)).GetParameterInitializer(@as(*const IPrintSchemaTicket2, @ptrCast(self)), bstrName, bstrNamespaceUri, ppParameterInitializer);
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IPrintSchemaAsyncOperationEvent_Value = Guid.initString("23adbb16-0133-4906-b29a-1dce1d026379");
pub const IID_IPrintSchemaAsyncOperationEvent = &IID_IPrintSchemaAsyncOperationEvent_Value;
pub const IPrintSchemaAsyncOperationEvent = extern struct {
pub const VTable = extern struct {
base: IDispatch.VTable,
Completed: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintSchemaAsyncOperationEvent,
pTicket: ?*IPrintSchemaTicket,
hrOperation: HRESULT,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintSchemaAsyncOperationEvent,
pTicket: ?*IPrintSchemaTicket,
hrOperation: HRESULT,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IDispatch.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintSchemaAsyncOperationEvent_Completed(self: *const T, pTicket: ?*IPrintSchemaTicket, hrOperation: HRESULT) callconv(.Inline) HRESULT {
return @as(*const IPrintSchemaAsyncOperationEvent.VTable, @ptrCast(self.vtable)).Completed(@as(*const IPrintSchemaAsyncOperationEvent, @ptrCast(self)), pTicket, hrOperation);
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IPrinterScriptableSequentialStream_Value = Guid.initString("2072838a-316f-467a-a949-27f68c44a854");
pub const IID_IPrinterScriptableSequentialStream = &IID_IPrinterScriptableSequentialStream_Value;
pub const IPrinterScriptableSequentialStream = extern struct {
pub const VTable = extern struct {
base: IDispatch.VTable,
Read: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrinterScriptableSequentialStream,
cbRead: i32,
ppArray: ?*?*IDispatch,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrinterScriptableSequentialStream,
cbRead: i32,
ppArray: ?*?*IDispatch,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
Write: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrinterScriptableSequentialStream,
pArray: ?*IDispatch,
pcbWritten: ?*i32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrinterScriptableSequentialStream,
pArray: ?*IDispatch,
pcbWritten: ?*i32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IDispatch.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrinterScriptableSequentialStream_Read(self: *const T, cbRead: i32, ppArray: ?*?*IDispatch) callconv(.Inline) HRESULT {
return @as(*const IPrinterScriptableSequentialStream.VTable, @ptrCast(self.vtable)).Read(@as(*const IPrinterScriptableSequentialStream, @ptrCast(self)), cbRead, ppArray);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrinterScriptableSequentialStream_Write(self: *const T, pArray: ?*IDispatch, pcbWritten: ?*i32) callconv(.Inline) HRESULT {
return @as(*const IPrinterScriptableSequentialStream.VTable, @ptrCast(self.vtable)).Write(@as(*const IPrinterScriptableSequentialStream, @ptrCast(self)), pArray, pcbWritten);
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IPrinterScriptableStream_Value = Guid.initString("7edf9a92-4750-41a5-a17f-879a6f4f7dcb");
pub const IID_IPrinterScriptableStream = &IID_IPrinterScriptableStream_Value;
pub const IPrinterScriptableStream = extern struct {
pub const VTable = extern struct {
base: IPrinterScriptableSequentialStream.VTable,
Commit: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrinterScriptableStream,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrinterScriptableStream,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
Seek: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrinterScriptableStream,
lOffset: i32,
streamSeek: STREAM_SEEK,
plPosition: ?*i32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrinterScriptableStream,
lOffset: i32,
streamSeek: STREAM_SEEK,
plPosition: ?*i32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
SetSize: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrinterScriptableStream,
lSize: i32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrinterScriptableStream,
lSize: i32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IPrinterScriptableSequentialStream.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrinterScriptableStream_Commit(self: *const T) callconv(.Inline) HRESULT {
return @as(*const IPrinterScriptableStream.VTable, @ptrCast(self.vtable)).Commit(@as(*const IPrinterScriptableStream, @ptrCast(self)));
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrinterScriptableStream_Seek(self: *const T, lOffset: i32, streamSeek: STREAM_SEEK, plPosition: ?*i32) callconv(.Inline) HRESULT {
return @as(*const IPrinterScriptableStream.VTable, @ptrCast(self.vtable)).Seek(@as(*const IPrinterScriptableStream, @ptrCast(self)), lOffset, streamSeek, plPosition);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrinterScriptableStream_SetSize(self: *const T, lSize: i32) callconv(.Inline) HRESULT {
return @as(*const IPrinterScriptableStream.VTable, @ptrCast(self.vtable)).SetSize(@as(*const IPrinterScriptableStream, @ptrCast(self)), lSize);
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IPrinterPropertyBag_Value = Guid.initString("fea77364-df95-4a23-a905-019b79a8e481");
pub const IID_IPrinterPropertyBag = &IID_IPrinterPropertyBag_Value;
pub const IPrinterPropertyBag = extern struct {
pub const VTable = extern struct {
base: IDispatch.VTable,
GetBool: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrinterPropertyBag,
bstrName: ?BSTR,
pbValue: ?*BOOL,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrinterPropertyBag,
bstrName: ?BSTR,
pbValue: ?*BOOL,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
SetBool: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrinterPropertyBag,
bstrName: ?BSTR,
bValue: BOOL,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrinterPropertyBag,
bstrName: ?BSTR,
bValue: BOOL,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetInt32: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrinterPropertyBag,
bstrName: ?BSTR,
pnValue: ?*i32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrinterPropertyBag,
bstrName: ?BSTR,
pnValue: ?*i32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
SetInt32: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrinterPropertyBag,
bstrName: ?BSTR,
nValue: i32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrinterPropertyBag,
bstrName: ?BSTR,
nValue: i32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetString: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrinterPropertyBag,
bstrName: ?BSTR,
pbstrValue: ?*?BSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrinterPropertyBag,
bstrName: ?BSTR,
pbstrValue: ?*?BSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
SetString: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrinterPropertyBag,
bstrName: ?BSTR,
bstrValue: ?BSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrinterPropertyBag,
bstrName: ?BSTR,
bstrValue: ?BSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetBytes: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrinterPropertyBag,
bstrName: ?BSTR,
pcbValue: ?*u32,
ppValue: [*]?*u8,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrinterPropertyBag,
bstrName: ?BSTR,
pcbValue: ?*u32,
ppValue: [*]?*u8,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
SetBytes: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrinterPropertyBag,
bstrName: ?BSTR,
cbValue: u32,
pValue: [*:0]u8,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrinterPropertyBag,
bstrName: ?BSTR,
cbValue: u32,
pValue: [*:0]u8,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetReadStream: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrinterPropertyBag,
bstrName: ?BSTR,
ppValue: ?*?*IStream,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrinterPropertyBag,
bstrName: ?BSTR,
ppValue: ?*?*IStream,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetWriteStream: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrinterPropertyBag,
bstrName: ?BSTR,
ppValue: ?*?*IStream,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrinterPropertyBag,
bstrName: ?BSTR,
ppValue: ?*?*IStream,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IDispatch.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrinterPropertyBag_GetBool(self: *const T, bstrName: ?BSTR, pbValue: ?*BOOL) callconv(.Inline) HRESULT {
return @as(*const IPrinterPropertyBag.VTable, @ptrCast(self.vtable)).GetBool(@as(*const IPrinterPropertyBag, @ptrCast(self)), bstrName, pbValue);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrinterPropertyBag_SetBool(self: *const T, bstrName: ?BSTR, bValue: BOOL) callconv(.Inline) HRESULT {
return @as(*const IPrinterPropertyBag.VTable, @ptrCast(self.vtable)).SetBool(@as(*const IPrinterPropertyBag, @ptrCast(self)), bstrName, bValue);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrinterPropertyBag_GetInt32(self: *const T, bstrName: ?BSTR, pnValue: ?*i32) callconv(.Inline) HRESULT {
return @as(*const IPrinterPropertyBag.VTable, @ptrCast(self.vtable)).GetInt32(@as(*const IPrinterPropertyBag, @ptrCast(self)), bstrName, pnValue);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrinterPropertyBag_SetInt32(self: *const T, bstrName: ?BSTR, nValue: i32) callconv(.Inline) HRESULT {
return @as(*const IPrinterPropertyBag.VTable, @ptrCast(self.vtable)).SetInt32(@as(*const IPrinterPropertyBag, @ptrCast(self)), bstrName, nValue);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrinterPropertyBag_GetString(self: *const T, bstrName: ?BSTR, pbstrValue: ?*?BSTR) callconv(.Inline) HRESULT {
return @as(*const IPrinterPropertyBag.VTable, @ptrCast(self.vtable)).GetString(@as(*const IPrinterPropertyBag, @ptrCast(self)), bstrName, pbstrValue);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrinterPropertyBag_SetString(self: *const T, bstrName: ?BSTR, bstrValue: ?BSTR) callconv(.Inline) HRESULT {
return @as(*const IPrinterPropertyBag.VTable, @ptrCast(self.vtable)).SetString(@as(*const IPrinterPropertyBag, @ptrCast(self)), bstrName, bstrValue);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrinterPropertyBag_GetBytes(self: *const T, bstrName: ?BSTR, pcbValue: ?*u32, ppValue: [*]?*u8) callconv(.Inline) HRESULT {
return @as(*const IPrinterPropertyBag.VTable, @ptrCast(self.vtable)).GetBytes(@as(*const IPrinterPropertyBag, @ptrCast(self)), bstrName, pcbValue, ppValue);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrinterPropertyBag_SetBytes(self: *const T, bstrName: ?BSTR, cbValue: u32, pValue: [*:0]u8) callconv(.Inline) HRESULT {
return @as(*const IPrinterPropertyBag.VTable, @ptrCast(self.vtable)).SetBytes(@as(*const IPrinterPropertyBag, @ptrCast(self)), bstrName, cbValue, pValue);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrinterPropertyBag_GetReadStream(self: *const T, bstrName: ?BSTR, ppValue: ?*?*IStream) callconv(.Inline) HRESULT {
return @as(*const IPrinterPropertyBag.VTable, @ptrCast(self.vtable)).GetReadStream(@as(*const IPrinterPropertyBag, @ptrCast(self)), bstrName, ppValue);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrinterPropertyBag_GetWriteStream(self: *const T, bstrName: ?BSTR, ppValue: ?*?*IStream) callconv(.Inline) HRESULT {
return @as(*const IPrinterPropertyBag.VTable, @ptrCast(self.vtable)).GetWriteStream(@as(*const IPrinterPropertyBag, @ptrCast(self)), bstrName, ppValue);
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IPrinterScriptablePropertyBag_Value = Guid.initString("91c7765f-ed57-49ad-8b01-dc24816a5294");
pub const IID_IPrinterScriptablePropertyBag = &IID_IPrinterScriptablePropertyBag_Value;
pub const IPrinterScriptablePropertyBag = extern struct {
pub const VTable = extern struct {
base: IDispatch.VTable,
GetBool: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrinterScriptablePropertyBag,
bstrName: ?BSTR,
pbValue: ?*BOOL,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrinterScriptablePropertyBag,
bstrName: ?BSTR,
pbValue: ?*BOOL,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
SetBool: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrinterScriptablePropertyBag,
bstrName: ?BSTR,
bValue: BOOL,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrinterScriptablePropertyBag,
bstrName: ?BSTR,
bValue: BOOL,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetInt32: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrinterScriptablePropertyBag,
bstrName: ?BSTR,
pnValue: ?*i32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrinterScriptablePropertyBag,
bstrName: ?BSTR,
pnValue: ?*i32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
SetInt32: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrinterScriptablePropertyBag,
bstrName: ?BSTR,
nValue: i32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrinterScriptablePropertyBag,
bstrName: ?BSTR,
nValue: i32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetString: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrinterScriptablePropertyBag,
bstrName: ?BSTR,
pbstrValue: ?*?BSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrinterScriptablePropertyBag,
bstrName: ?BSTR,
pbstrValue: ?*?BSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
SetString: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrinterScriptablePropertyBag,
bstrName: ?BSTR,
bstrValue: ?BSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrinterScriptablePropertyBag,
bstrName: ?BSTR,
bstrValue: ?BSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetBytes: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrinterScriptablePropertyBag,
bstrName: ?BSTR,
ppArray: ?*?*IDispatch,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrinterScriptablePropertyBag,
bstrName: ?BSTR,
ppArray: ?*?*IDispatch,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
SetBytes: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrinterScriptablePropertyBag,
bstrName: ?BSTR,
pArray: ?*IDispatch,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrinterScriptablePropertyBag,
bstrName: ?BSTR,
pArray: ?*IDispatch,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetReadStream: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrinterScriptablePropertyBag,
bstrName: ?BSTR,
ppStream: ?*?*IPrinterScriptableStream,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrinterScriptablePropertyBag,
bstrName: ?BSTR,
ppStream: ?*?*IPrinterScriptableStream,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetWriteStream: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrinterScriptablePropertyBag,
bstrName: ?BSTR,
ppStream: ?*?*IPrinterScriptableStream,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrinterScriptablePropertyBag,
bstrName: ?BSTR,
ppStream: ?*?*IPrinterScriptableStream,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IDispatch.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrinterScriptablePropertyBag_GetBool(self: *const T, bstrName: ?BSTR, pbValue: ?*BOOL) callconv(.Inline) HRESULT {
return @as(*const IPrinterScriptablePropertyBag.VTable, @ptrCast(self.vtable)).GetBool(@as(*const IPrinterScriptablePropertyBag, @ptrCast(self)), bstrName, pbValue);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrinterScriptablePropertyBag_SetBool(self: *const T, bstrName: ?BSTR, bValue: BOOL) callconv(.Inline) HRESULT {
return @as(*const IPrinterScriptablePropertyBag.VTable, @ptrCast(self.vtable)).SetBool(@as(*const IPrinterScriptablePropertyBag, @ptrCast(self)), bstrName, bValue);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrinterScriptablePropertyBag_GetInt32(self: *const T, bstrName: ?BSTR, pnValue: ?*i32) callconv(.Inline) HRESULT {
return @as(*const IPrinterScriptablePropertyBag.VTable, @ptrCast(self.vtable)).GetInt32(@as(*const IPrinterScriptablePropertyBag, @ptrCast(self)), bstrName, pnValue);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrinterScriptablePropertyBag_SetInt32(self: *const T, bstrName: ?BSTR, nValue: i32) callconv(.Inline) HRESULT {
return @as(*const IPrinterScriptablePropertyBag.VTable, @ptrCast(self.vtable)).SetInt32(@as(*const IPrinterScriptablePropertyBag, @ptrCast(self)), bstrName, nValue);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrinterScriptablePropertyBag_GetString(self: *const T, bstrName: ?BSTR, pbstrValue: ?*?BSTR) callconv(.Inline) HRESULT {
return @as(*const IPrinterScriptablePropertyBag.VTable, @ptrCast(self.vtable)).GetString(@as(*const IPrinterScriptablePropertyBag, @ptrCast(self)), bstrName, pbstrValue);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrinterScriptablePropertyBag_SetString(self: *const T, bstrName: ?BSTR, bstrValue: ?BSTR) callconv(.Inline) HRESULT {
return @as(*const IPrinterScriptablePropertyBag.VTable, @ptrCast(self.vtable)).SetString(@as(*const IPrinterScriptablePropertyBag, @ptrCast(self)), bstrName, bstrValue);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrinterScriptablePropertyBag_GetBytes(self: *const T, bstrName: ?BSTR, ppArray: ?*?*IDispatch) callconv(.Inline) HRESULT {
return @as(*const IPrinterScriptablePropertyBag.VTable, @ptrCast(self.vtable)).GetBytes(@as(*const IPrinterScriptablePropertyBag, @ptrCast(self)), bstrName, ppArray);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrinterScriptablePropertyBag_SetBytes(self: *const T, bstrName: ?BSTR, pArray: ?*IDispatch) callconv(.Inline) HRESULT {
return @as(*const IPrinterScriptablePropertyBag.VTable, @ptrCast(self.vtable)).SetBytes(@as(*const IPrinterScriptablePropertyBag, @ptrCast(self)), bstrName, pArray);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrinterScriptablePropertyBag_GetReadStream(self: *const T, bstrName: ?BSTR, ppStream: ?*?*IPrinterScriptableStream) callconv(.Inline) HRESULT {
return @as(*const IPrinterScriptablePropertyBag.VTable, @ptrCast(self.vtable)).GetReadStream(@as(*const IPrinterScriptablePropertyBag, @ptrCast(self)), bstrName, ppStream);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrinterScriptablePropertyBag_GetWriteStream(self: *const T, bstrName: ?BSTR, ppStream: ?*?*IPrinterScriptableStream) callconv(.Inline) HRESULT {
return @as(*const IPrinterScriptablePropertyBag.VTable, @ptrCast(self.vtable)).GetWriteStream(@as(*const IPrinterScriptablePropertyBag, @ptrCast(self)), bstrName, ppStream);
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IPrinterScriptablePropertyBag2_Value = Guid.initString("2a1c53c4-8638-4b3e-b518-2773c94556a3");
pub const IID_IPrinterScriptablePropertyBag2 = &IID_IPrinterScriptablePropertyBag2_Value;
pub const IPrinterScriptablePropertyBag2 = extern struct {
pub const VTable = extern struct {
base: IPrinterScriptablePropertyBag.VTable,
GetReadStreamAsXML: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrinterScriptablePropertyBag2,
bstrName: ?BSTR,
ppXmlNode: ?*?*IUnknown,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrinterScriptablePropertyBag2,
bstrName: ?BSTR,
ppXmlNode: ?*?*IUnknown,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IPrinterScriptablePropertyBag.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrinterScriptablePropertyBag2_GetReadStreamAsXML(self: *const T, bstrName: ?BSTR, ppXmlNode: ?*?*IUnknown) callconv(.Inline) HRESULT {
return @as(*const IPrinterScriptablePropertyBag2.VTable, @ptrCast(self.vtable)).GetReadStreamAsXML(@as(*const IPrinterScriptablePropertyBag2, @ptrCast(self)), bstrName, ppXmlNode);
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IPrinterQueue_Value = Guid.initString("3580a828-07fe-4b94-ac1a-757d9d2d3056");
pub const IID_IPrinterQueue = &IID_IPrinterQueue_Value;
pub const IPrinterQueue = extern struct {
pub const VTable = extern struct {
base: IDispatch.VTable,
// TODO: this function has a "SpecialName", should Zig do anything with this?
get_Handle: switch (@import("builtin").zig_backend) {
// TODO: this function has a "SpecialName", should Zig do anything with this?
.stage1 => fn(
self: *const IPrinterQueue,
phPrinter: ?*?HANDLE,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
else => *const fn(
self: *const IPrinterQueue,
phPrinter: ?*?HANDLE,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
// TODO: this function has a "SpecialName", should Zig do anything with this?
get_Name: switch (@import("builtin").zig_backend) {
// TODO: this function has a "SpecialName", should Zig do anything with this?
.stage1 => fn(
self: *const IPrinterQueue,
pbstrName: ?*?BSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
else => *const fn(
self: *const IPrinterQueue,
pbstrName: ?*?BSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
SendBidiQuery: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrinterQueue,
bstrBidiQuery: ?BSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrinterQueue,
bstrBidiQuery: ?BSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetProperties: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrinterQueue,
ppPropertyBag: ?*?*IPrinterPropertyBag,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrinterQueue,
ppPropertyBag: ?*?*IPrinterPropertyBag,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IDispatch.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrinterQueue_get_Handle(self: *const T, phPrinter: ?*?HANDLE) callconv(.Inline) HRESULT {
return @as(*const IPrinterQueue.VTable, @ptrCast(self.vtable)).get_Handle(@as(*const IPrinterQueue, @ptrCast(self)), phPrinter);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrinterQueue_get_Name(self: *const T, pbstrName: ?*?BSTR) callconv(.Inline) HRESULT {
return @as(*const IPrinterQueue.VTable, @ptrCast(self.vtable)).get_Name(@as(*const IPrinterQueue, @ptrCast(self)), pbstrName);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrinterQueue_SendBidiQuery(self: *const T, bstrBidiQuery: ?BSTR) callconv(.Inline) HRESULT {
return @as(*const IPrinterQueue.VTable, @ptrCast(self.vtable)).SendBidiQuery(@as(*const IPrinterQueue, @ptrCast(self)), bstrBidiQuery);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrinterQueue_GetProperties(self: *const T, ppPropertyBag: ?*?*IPrinterPropertyBag) callconv(.Inline) HRESULT {
return @as(*const IPrinterQueue.VTable, @ptrCast(self.vtable)).GetProperties(@as(*const IPrinterQueue, @ptrCast(self)), ppPropertyBag);
}
};}
pub usingnamespace MethodMixin(@This());
};
pub const PrintJobStatus = enum(i32) {
Paused = 1,
Error = 2,
Deleting = 4,
Spooling = 8,
Printing = 16,
Offline = 32,
PaperOut = 64,
Printed = 128,
Deleted = 256,
BlockedDeviceQueue = 512,
UserIntervention = 1024,
Restarted = 2048,
Complete = 4096,
Retained = 8192,
};
pub const PrintJobStatus_Paused = PrintJobStatus.Paused;
pub const PrintJobStatus_Error = PrintJobStatus.Error;
pub const PrintJobStatus_Deleting = PrintJobStatus.Deleting;
pub const PrintJobStatus_Spooling = PrintJobStatus.Spooling;
pub const PrintJobStatus_Printing = PrintJobStatus.Printing;
pub const PrintJobStatus_Offline = PrintJobStatus.Offline;
pub const PrintJobStatus_PaperOut = PrintJobStatus.PaperOut;
pub const PrintJobStatus_Printed = PrintJobStatus.Printed;
pub const PrintJobStatus_Deleted = PrintJobStatus.Deleted;
pub const PrintJobStatus_BlockedDeviceQueue = PrintJobStatus.BlockedDeviceQueue;
pub const PrintJobStatus_UserIntervention = PrintJobStatus.UserIntervention;
pub const PrintJobStatus_Restarted = PrintJobStatus.Restarted;
pub const PrintJobStatus_Complete = PrintJobStatus.Complete;
pub const PrintJobStatus_Retained = PrintJobStatus.Retained;
const IID_IPrintJob_Value = Guid.initString("b771dab8-1282-41b7-858c-f206e4d20577");
pub const IID_IPrintJob = &IID_IPrintJob_Value;
pub const IPrintJob = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
// TODO: this function has a "SpecialName", should Zig do anything with this?
get_Name: switch (@import("builtin").zig_backend) {
// TODO: this function has a "SpecialName", should Zig do anything with this?
.stage1 => fn(
self: *const IPrintJob,
pbstrName: ?*?BSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
else => *const fn(
self: *const IPrintJob,
pbstrName: ?*?BSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
// TODO: this function has a "SpecialName", should Zig do anything with this?
get_Id: switch (@import("builtin").zig_backend) {
// TODO: this function has a "SpecialName", should Zig do anything with this?
.stage1 => fn(
self: *const IPrintJob,
pulID: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
else => *const fn(
self: *const IPrintJob,
pulID: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
// TODO: this function has a "SpecialName", should Zig do anything with this?
get_PrintedPages: switch (@import("builtin").zig_backend) {
// TODO: this function has a "SpecialName", should Zig do anything with this?
.stage1 => fn(
self: *const IPrintJob,
pulPages: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
else => *const fn(
self: *const IPrintJob,
pulPages: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
// TODO: this function has a "SpecialName", should Zig do anything with this?
get_TotalPages: switch (@import("builtin").zig_backend) {
// TODO: this function has a "SpecialName", should Zig do anything with this?
.stage1 => fn(
self: *const IPrintJob,
pulPages: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
else => *const fn(
self: *const IPrintJob,
pulPages: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
// TODO: this function has a "SpecialName", should Zig do anything with this?
get_Status: switch (@import("builtin").zig_backend) {
// TODO: this function has a "SpecialName", should Zig do anything with this?
.stage1 => fn(
self: *const IPrintJob,
pStatus: ?*PrintJobStatus,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
else => *const fn(
self: *const IPrintJob,
pStatus: ?*PrintJobStatus,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
// TODO: this function has a "SpecialName", should Zig do anything with this?
get_SubmissionTime: switch (@import("builtin").zig_backend) {
// TODO: this function has a "SpecialName", should Zig do anything with this?
.stage1 => fn(
self: *const IPrintJob,
pSubmissionTime: ?*f64,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
else => *const fn(
self: *const IPrintJob,
pSubmissionTime: ?*f64,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
RequestCancel: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintJob,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintJob,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IUnknown.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintJob_get_Name(self: *const T, pbstrName: ?*?BSTR) callconv(.Inline) HRESULT {
return @as(*const IPrintJob.VTable, @ptrCast(self.vtable)).get_Name(@as(*const IPrintJob, @ptrCast(self)), pbstrName);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintJob_get_Id(self: *const T, pulID: ?*u32) callconv(.Inline) HRESULT {
return @as(*const IPrintJob.VTable, @ptrCast(self.vtable)).get_Id(@as(*const IPrintJob, @ptrCast(self)), pulID);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintJob_get_PrintedPages(self: *const T, pulPages: ?*u32) callconv(.Inline) HRESULT {
return @as(*const IPrintJob.VTable, @ptrCast(self.vtable)).get_PrintedPages(@as(*const IPrintJob, @ptrCast(self)), pulPages);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintJob_get_TotalPages(self: *const T, pulPages: ?*u32) callconv(.Inline) HRESULT {
return @as(*const IPrintJob.VTable, @ptrCast(self.vtable)).get_TotalPages(@as(*const IPrintJob, @ptrCast(self)), pulPages);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintJob_get_Status(self: *const T, pStatus: ?*PrintJobStatus) callconv(.Inline) HRESULT {
return @as(*const IPrintJob.VTable, @ptrCast(self.vtable)).get_Status(@as(*const IPrintJob, @ptrCast(self)), pStatus);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintJob_get_SubmissionTime(self: *const T, pSubmissionTime: ?*f64) callconv(.Inline) HRESULT {
return @as(*const IPrintJob.VTable, @ptrCast(self.vtable)).get_SubmissionTime(@as(*const IPrintJob, @ptrCast(self)), pSubmissionTime);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintJob_RequestCancel(self: *const T) callconv(.Inline) HRESULT {
return @as(*const IPrintJob.VTable, @ptrCast(self.vtable)).RequestCancel(@as(*const IPrintJob, @ptrCast(self)));
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IPrintJobCollection_Value = Guid.initString("72b82a24-a598-4e87-895f-cdb23a49e9dc");
pub const IID_IPrintJobCollection = &IID_IPrintJobCollection_Value;
pub const IPrintJobCollection = extern struct {
pub const VTable = extern struct {
base: IDispatch.VTable,
// TODO: this function has a "SpecialName", should Zig do anything with this?
get_Count: switch (@import("builtin").zig_backend) {
// TODO: this function has a "SpecialName", should Zig do anything with this?
.stage1 => fn(
self: *const IPrintJobCollection,
pulCount: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
else => *const fn(
self: *const IPrintJobCollection,
pulCount: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetAt: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintJobCollection,
ulIndex: u32,
ppJob: ?*?*IPrintJob,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintJobCollection,
ulIndex: u32,
ppJob: ?*?*IPrintJob,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
// TODO: this function has a "SpecialName", should Zig do anything with this?
get__NewEnum: switch (@import("builtin").zig_backend) {
// TODO: this function has a "SpecialName", should Zig do anything with this?
.stage1 => fn(
self: *const IPrintJobCollection,
ppUnk: ?*?*IUnknown,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
else => *const fn(
self: *const IPrintJobCollection,
ppUnk: ?*?*IUnknown,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IDispatch.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintJobCollection_get_Count(self: *const T, pulCount: ?*u32) callconv(.Inline) HRESULT {
return @as(*const IPrintJobCollection.VTable, @ptrCast(self.vtable)).get_Count(@as(*const IPrintJobCollection, @ptrCast(self)), pulCount);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintJobCollection_GetAt(self: *const T, ulIndex: u32, ppJob: ?*?*IPrintJob) callconv(.Inline) HRESULT {
return @as(*const IPrintJobCollection.VTable, @ptrCast(self.vtable)).GetAt(@as(*const IPrintJobCollection, @ptrCast(self)), ulIndex, ppJob);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintJobCollection_get__NewEnum(self: *const T, ppUnk: ?*?*IUnknown) callconv(.Inline) HRESULT {
return @as(*const IPrintJobCollection.VTable, @ptrCast(self.vtable)).get__NewEnum(@as(*const IPrintJobCollection, @ptrCast(self)), ppUnk);
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IPrinterQueueViewEvent_Value = Guid.initString("c5b6042b-fd21-404a-a0ef-e2fbb52b9080");
pub const IID_IPrinterQueueViewEvent = &IID_IPrinterQueueViewEvent_Value;
pub const IPrinterQueueViewEvent = extern struct {
pub const VTable = extern struct {
base: IDispatch.VTable,
OnChanged: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrinterQueueViewEvent,
pCollection: ?*IPrintJobCollection,
ulViewOffset: u32,
ulViewSize: u32,
ulCountJobsInPrintQueue: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrinterQueueViewEvent,
pCollection: ?*IPrintJobCollection,
ulViewOffset: u32,
ulViewSize: u32,
ulCountJobsInPrintQueue: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IDispatch.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrinterQueueViewEvent_OnChanged(self: *const T, pCollection: ?*IPrintJobCollection, ulViewOffset: u32, ulViewSize: u32, ulCountJobsInPrintQueue: u32) callconv(.Inline) HRESULT {
return @as(*const IPrinterQueueViewEvent.VTable, @ptrCast(self.vtable)).OnChanged(@as(*const IPrinterQueueViewEvent, @ptrCast(self)), pCollection, ulViewOffset, ulViewSize, ulCountJobsInPrintQueue);
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IPrinterQueueView_Value = Guid.initString("476e2969-3b2b-4b3f-8277-cff6056042aa");
pub const IID_IPrinterQueueView = &IID_IPrinterQueueView_Value;
pub const IPrinterQueueView = extern struct {
pub const VTable = extern struct {
base: IDispatch.VTable,
SetViewRange: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrinterQueueView,
ulViewOffset: u32,
ulViewSize: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrinterQueueView,
ulViewOffset: u32,
ulViewSize: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IDispatch.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrinterQueueView_SetViewRange(self: *const T, ulViewOffset: u32, ulViewSize: u32) callconv(.Inline) HRESULT {
return @as(*const IPrinterQueueView.VTable, @ptrCast(self.vtable)).SetViewRange(@as(*const IPrinterQueueView, @ptrCast(self)), ulViewOffset, ulViewSize);
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IPrinterQueueEvent_Value = Guid.initString("214685f6-7b78-4681-87e0-495f739273d1");
pub const IID_IPrinterQueueEvent = &IID_IPrinterQueueEvent_Value;
pub const IPrinterQueueEvent = extern struct {
pub const VTable = extern struct {
base: IDispatch.VTable,
OnBidiResponseReceived: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrinterQueueEvent,
bstrResponse: ?BSTR,
hrStatus: HRESULT,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrinterQueueEvent,
bstrResponse: ?BSTR,
hrStatus: HRESULT,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IDispatch.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrinterQueueEvent_OnBidiResponseReceived(self: *const T, bstrResponse: ?BSTR, hrStatus: HRESULT) callconv(.Inline) HRESULT {
return @as(*const IPrinterQueueEvent.VTable, @ptrCast(self.vtable)).OnBidiResponseReceived(@as(*const IPrinterQueueEvent, @ptrCast(self)), bstrResponse, hrStatus);
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IPrinterBidiSetRequestCallback_Value = Guid.initString("c52d32dd-f2b4-4052-8502-ec4305ecb71f");
pub const IID_IPrinterBidiSetRequestCallback = &IID_IPrinterBidiSetRequestCallback_Value;
pub const IPrinterBidiSetRequestCallback = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
Completed: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrinterBidiSetRequestCallback,
bstrResponse: ?BSTR,
hrStatus: HRESULT,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrinterBidiSetRequestCallback,
bstrResponse: ?BSTR,
hrStatus: HRESULT,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IUnknown.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrinterBidiSetRequestCallback_Completed(self: *const T, bstrResponse: ?BSTR, hrStatus: HRESULT) callconv(.Inline) HRESULT {
return @as(*const IPrinterBidiSetRequestCallback.VTable, @ptrCast(self.vtable)).Completed(@as(*const IPrinterBidiSetRequestCallback, @ptrCast(self)), bstrResponse, hrStatus);
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IPrinterExtensionAsyncOperation_Value = Guid.initString("108d6a23-6a4b-4552-9448-68b427186acd");
pub const IID_IPrinterExtensionAsyncOperation = &IID_IPrinterExtensionAsyncOperation_Value;
pub const IPrinterExtensionAsyncOperation = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
Cancel: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrinterExtensionAsyncOperation,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrinterExtensionAsyncOperation,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IUnknown.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrinterExtensionAsyncOperation_Cancel(self: *const T) callconv(.Inline) HRESULT {
return @as(*const IPrinterExtensionAsyncOperation.VTable, @ptrCast(self.vtable)).Cancel(@as(*const IPrinterExtensionAsyncOperation, @ptrCast(self)));
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IPrinterQueue2_Value = Guid.initString("8cd444e8-c9bb-49b3-8e38-e03209416131");
pub const IID_IPrinterQueue2 = &IID_IPrinterQueue2_Value;
pub const IPrinterQueue2 = extern struct {
pub const VTable = extern struct {
base: IPrinterQueue.VTable,
SendBidiSetRequestAsync: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrinterQueue2,
bstrBidiRequest: ?BSTR,
pCallback: ?*IPrinterBidiSetRequestCallback,
ppAsyncOperation: ?*?*IPrinterExtensionAsyncOperation,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrinterQueue2,
bstrBidiRequest: ?BSTR,
pCallback: ?*IPrinterBidiSetRequestCallback,
ppAsyncOperation: ?*?*IPrinterExtensionAsyncOperation,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetPrinterQueueView: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrinterQueue2,
ulViewOffset: u32,
ulViewSize: u32,
ppJobView: ?*?*IPrinterQueueView,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrinterQueue2,
ulViewOffset: u32,
ulViewSize: u32,
ppJobView: ?*?*IPrinterQueueView,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IPrinterQueue.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrinterQueue2_SendBidiSetRequestAsync(self: *const T, bstrBidiRequest: ?BSTR, pCallback: ?*IPrinterBidiSetRequestCallback, ppAsyncOperation: ?*?*IPrinterExtensionAsyncOperation) callconv(.Inline) HRESULT {
return @as(*const IPrinterQueue2.VTable, @ptrCast(self.vtable)).SendBidiSetRequestAsync(@as(*const IPrinterQueue2, @ptrCast(self)), bstrBidiRequest, pCallback, ppAsyncOperation);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrinterQueue2_GetPrinterQueueView(self: *const T, ulViewOffset: u32, ulViewSize: u32, ppJobView: ?*?*IPrinterQueueView) callconv(.Inline) HRESULT {
return @as(*const IPrinterQueue2.VTable, @ptrCast(self.vtable)).GetPrinterQueueView(@as(*const IPrinterQueue2, @ptrCast(self)), ulViewOffset, ulViewSize, ppJobView);
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IPrinterExtensionContext_Value = Guid.initString("39843bf2-c4d2-41fd-b4b2-aedbee5e1900");
pub const IID_IPrinterExtensionContext = &IID_IPrinterExtensionContext_Value;
pub const IPrinterExtensionContext = extern struct {
pub const VTable = extern struct {
base: IDispatch.VTable,
// TODO: this function has a "SpecialName", should Zig do anything with this?
get_PrinterQueue: switch (@import("builtin").zig_backend) {
// TODO: this function has a "SpecialName", should Zig do anything with this?
.stage1 => fn(
self: *const IPrinterExtensionContext,
ppQueue: ?*?*IPrinterQueue,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
else => *const fn(
self: *const IPrinterExtensionContext,
ppQueue: ?*?*IPrinterQueue,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
// TODO: this function has a "SpecialName", should Zig do anything with this?
get_PrintSchemaTicket: switch (@import("builtin").zig_backend) {
// TODO: this function has a "SpecialName", should Zig do anything with this?
.stage1 => fn(
self: *const IPrinterExtensionContext,
ppTicket: ?*?*IPrintSchemaTicket,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
else => *const fn(
self: *const IPrinterExtensionContext,
ppTicket: ?*?*IPrintSchemaTicket,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
// TODO: this function has a "SpecialName", should Zig do anything with this?
get_DriverProperties: switch (@import("builtin").zig_backend) {
// TODO: this function has a "SpecialName", should Zig do anything with this?
.stage1 => fn(
self: *const IPrinterExtensionContext,
ppPropertyBag: ?*?*IPrinterPropertyBag,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
else => *const fn(
self: *const IPrinterExtensionContext,
ppPropertyBag: ?*?*IPrinterPropertyBag,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
// TODO: this function has a "SpecialName", should Zig do anything with this?
get_UserProperties: switch (@import("builtin").zig_backend) {
// TODO: this function has a "SpecialName", should Zig do anything with this?
.stage1 => fn(
self: *const IPrinterExtensionContext,
ppPropertyBag: ?*?*IPrinterPropertyBag,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
else => *const fn(
self: *const IPrinterExtensionContext,
ppPropertyBag: ?*?*IPrinterPropertyBag,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IDispatch.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrinterExtensionContext_get_PrinterQueue(self: *const T, ppQueue: ?*?*IPrinterQueue) callconv(.Inline) HRESULT {
return @as(*const IPrinterExtensionContext.VTable, @ptrCast(self.vtable)).get_PrinterQueue(@as(*const IPrinterExtensionContext, @ptrCast(self)), ppQueue);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrinterExtensionContext_get_PrintSchemaTicket(self: *const T, ppTicket: ?*?*IPrintSchemaTicket) callconv(.Inline) HRESULT {
return @as(*const IPrinterExtensionContext.VTable, @ptrCast(self.vtable)).get_PrintSchemaTicket(@as(*const IPrinterExtensionContext, @ptrCast(self)), ppTicket);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrinterExtensionContext_get_DriverProperties(self: *const T, ppPropertyBag: ?*?*IPrinterPropertyBag) callconv(.Inline) HRESULT {
return @as(*const IPrinterExtensionContext.VTable, @ptrCast(self.vtable)).get_DriverProperties(@as(*const IPrinterExtensionContext, @ptrCast(self)), ppPropertyBag);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrinterExtensionContext_get_UserProperties(self: *const T, ppPropertyBag: ?*?*IPrinterPropertyBag) callconv(.Inline) HRESULT {
return @as(*const IPrinterExtensionContext.VTable, @ptrCast(self.vtable)).get_UserProperties(@as(*const IPrinterExtensionContext, @ptrCast(self)), ppPropertyBag);
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IPrinterExtensionRequest_Value = Guid.initString("39843bf3-c4d2-41fd-b4b2-aedbee5e1900");
pub const IID_IPrinterExtensionRequest = &IID_IPrinterExtensionRequest_Value;
pub const IPrinterExtensionRequest = extern struct {
pub const VTable = extern struct {
base: IDispatch.VTable,
Cancel: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrinterExtensionRequest,
hrStatus: HRESULT,
bstrLogMessage: ?BSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrinterExtensionRequest,
hrStatus: HRESULT,
bstrLogMessage: ?BSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
Complete: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrinterExtensionRequest,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrinterExtensionRequest,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IDispatch.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrinterExtensionRequest_Cancel(self: *const T, hrStatus: HRESULT, bstrLogMessage: ?BSTR) callconv(.Inline) HRESULT {
return @as(*const IPrinterExtensionRequest.VTable, @ptrCast(self.vtable)).Cancel(@as(*const IPrinterExtensionRequest, @ptrCast(self)), hrStatus, bstrLogMessage);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrinterExtensionRequest_Complete(self: *const T) callconv(.Inline) HRESULT {
return @as(*const IPrinterExtensionRequest.VTable, @ptrCast(self.vtable)).Complete(@as(*const IPrinterExtensionRequest, @ptrCast(self)));
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IPrinterExtensionEventArgs_Value = Guid.initString("39843bf4-c4d2-41fd-b4b2-aedbee5e1900");
pub const IID_IPrinterExtensionEventArgs = &IID_IPrinterExtensionEventArgs_Value;
pub const IPrinterExtensionEventArgs = extern struct {
pub const VTable = extern struct {
base: IPrinterExtensionContext.VTable,
// TODO: this function has a "SpecialName", should Zig do anything with this?
get_BidiNotification: switch (@import("builtin").zig_backend) {
// TODO: this function has a "SpecialName", should Zig do anything with this?
.stage1 => fn(
self: *const IPrinterExtensionEventArgs,
pbstrBidiNotification: ?*?BSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
else => *const fn(
self: *const IPrinterExtensionEventArgs,
pbstrBidiNotification: ?*?BSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
// TODO: this function has a "SpecialName", should Zig do anything with this?
get_ReasonId: switch (@import("builtin").zig_backend) {
// TODO: this function has a "SpecialName", should Zig do anything with this?
.stage1 => fn(
self: *const IPrinterExtensionEventArgs,
pReasonId: ?*Guid,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
else => *const fn(
self: *const IPrinterExtensionEventArgs,
pReasonId: ?*Guid,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
// TODO: this function has a "SpecialName", should Zig do anything with this?
get_Request: switch (@import("builtin").zig_backend) {
// TODO: this function has a "SpecialName", should Zig do anything with this?
.stage1 => fn(
self: *const IPrinterExtensionEventArgs,
ppRequest: ?*?*IPrinterExtensionRequest,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
else => *const fn(
self: *const IPrinterExtensionEventArgs,
ppRequest: ?*?*IPrinterExtensionRequest,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
// TODO: this function has a "SpecialName", should Zig do anything with this?
get_SourceApplication: switch (@import("builtin").zig_backend) {
// TODO: this function has a "SpecialName", should Zig do anything with this?
.stage1 => fn(
self: *const IPrinterExtensionEventArgs,
pbstrApplication: ?*?BSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
else => *const fn(
self: *const IPrinterExtensionEventArgs,
pbstrApplication: ?*?BSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
// TODO: this function has a "SpecialName", should Zig do anything with this?
get_DetailedReasonId: switch (@import("builtin").zig_backend) {
// TODO: this function has a "SpecialName", should Zig do anything with this?
.stage1 => fn(
self: *const IPrinterExtensionEventArgs,
pDetailedReasonId: ?*Guid,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
else => *const fn(
self: *const IPrinterExtensionEventArgs,
pDetailedReasonId: ?*Guid,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
// TODO: this function has a "SpecialName", should Zig do anything with this?
get_WindowModal: switch (@import("builtin").zig_backend) {
// TODO: this function has a "SpecialName", should Zig do anything with this?
.stage1 => fn(
self: *const IPrinterExtensionEventArgs,
pbModal: ?*BOOL,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
else => *const fn(
self: *const IPrinterExtensionEventArgs,
pbModal: ?*BOOL,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
// TODO: this function has a "SpecialName", should Zig do anything with this?
get_WindowParent: switch (@import("builtin").zig_backend) {
// TODO: this function has a "SpecialName", should Zig do anything with this?
.stage1 => fn(
self: *const IPrinterExtensionEventArgs,
phwndParent: ?*?HANDLE,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
else => *const fn(
self: *const IPrinterExtensionEventArgs,
phwndParent: ?*?HANDLE,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IPrinterExtensionContext.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrinterExtensionEventArgs_get_BidiNotification(self: *const T, pbstrBidiNotification: ?*?BSTR) callconv(.Inline) HRESULT {
return @as(*const IPrinterExtensionEventArgs.VTable, @ptrCast(self.vtable)).get_BidiNotification(@as(*const IPrinterExtensionEventArgs, @ptrCast(self)), pbstrBidiNotification);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrinterExtensionEventArgs_get_ReasonId(self: *const T, pReasonId: ?*Guid) callconv(.Inline) HRESULT {
return @as(*const IPrinterExtensionEventArgs.VTable, @ptrCast(self.vtable)).get_ReasonId(@as(*const IPrinterExtensionEventArgs, @ptrCast(self)), pReasonId);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrinterExtensionEventArgs_get_Request(self: *const T, ppRequest: ?*?*IPrinterExtensionRequest) callconv(.Inline) HRESULT {
return @as(*const IPrinterExtensionEventArgs.VTable, @ptrCast(self.vtable)).get_Request(@as(*const IPrinterExtensionEventArgs, @ptrCast(self)), ppRequest);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrinterExtensionEventArgs_get_SourceApplication(self: *const T, pbstrApplication: ?*?BSTR) callconv(.Inline) HRESULT {
return @as(*const IPrinterExtensionEventArgs.VTable, @ptrCast(self.vtable)).get_SourceApplication(@as(*const IPrinterExtensionEventArgs, @ptrCast(self)), pbstrApplication);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrinterExtensionEventArgs_get_DetailedReasonId(self: *const T, pDetailedReasonId: ?*Guid) callconv(.Inline) HRESULT {
return @as(*const IPrinterExtensionEventArgs.VTable, @ptrCast(self.vtable)).get_DetailedReasonId(@as(*const IPrinterExtensionEventArgs, @ptrCast(self)), pDetailedReasonId);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrinterExtensionEventArgs_get_WindowModal(self: *const T, pbModal: ?*BOOL) callconv(.Inline) HRESULT {
return @as(*const IPrinterExtensionEventArgs.VTable, @ptrCast(self.vtable)).get_WindowModal(@as(*const IPrinterExtensionEventArgs, @ptrCast(self)), pbModal);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrinterExtensionEventArgs_get_WindowParent(self: *const T, phwndParent: ?*?HANDLE) callconv(.Inline) HRESULT {
return @as(*const IPrinterExtensionEventArgs.VTable, @ptrCast(self.vtable)).get_WindowParent(@as(*const IPrinterExtensionEventArgs, @ptrCast(self)), phwndParent);
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IPrinterExtensionContextCollection_Value = Guid.initString("fb476970-9bab-4861-811e-3e98b0c5addf");
pub const IID_IPrinterExtensionContextCollection = &IID_IPrinterExtensionContextCollection_Value;
pub const IPrinterExtensionContextCollection = extern struct {
pub const VTable = extern struct {
base: IDispatch.VTable,
// TODO: this function has a "SpecialName", should Zig do anything with this?
get_Count: switch (@import("builtin").zig_backend) {
// TODO: this function has a "SpecialName", should Zig do anything with this?
.stage1 => fn(
self: *const IPrinterExtensionContextCollection,
pulCount: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
else => *const fn(
self: *const IPrinterExtensionContextCollection,
pulCount: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetAt: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrinterExtensionContextCollection,
ulIndex: u32,
ppContext: ?*?*IPrinterExtensionContext,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrinterExtensionContextCollection,
ulIndex: u32,
ppContext: ?*?*IPrinterExtensionContext,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
// TODO: this function has a "SpecialName", should Zig do anything with this?
get__NewEnum: switch (@import("builtin").zig_backend) {
// TODO: this function has a "SpecialName", should Zig do anything with this?
.stage1 => fn(
self: *const IPrinterExtensionContextCollection,
ppUnk: ?*?*IUnknown,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
else => *const fn(
self: *const IPrinterExtensionContextCollection,
ppUnk: ?*?*IUnknown,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IDispatch.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrinterExtensionContextCollection_get_Count(self: *const T, pulCount: ?*u32) callconv(.Inline) HRESULT {
return @as(*const IPrinterExtensionContextCollection.VTable, @ptrCast(self.vtable)).get_Count(@as(*const IPrinterExtensionContextCollection, @ptrCast(self)), pulCount);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrinterExtensionContextCollection_GetAt(self: *const T, ulIndex: u32, ppContext: ?*?*IPrinterExtensionContext) callconv(.Inline) HRESULT {
return @as(*const IPrinterExtensionContextCollection.VTable, @ptrCast(self.vtable)).GetAt(@as(*const IPrinterExtensionContextCollection, @ptrCast(self)), ulIndex, ppContext);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrinterExtensionContextCollection_get__NewEnum(self: *const T, ppUnk: ?*?*IUnknown) callconv(.Inline) HRESULT {
return @as(*const IPrinterExtensionContextCollection.VTable, @ptrCast(self.vtable)).get__NewEnum(@as(*const IPrinterExtensionContextCollection, @ptrCast(self)), ppUnk);
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IPrinterExtensionEvent_Value = Guid.initString("c093cb63-5ef5-4585-af8e-4d5637487b57");
pub const IID_IPrinterExtensionEvent = &IID_IPrinterExtensionEvent_Value;
pub const IPrinterExtensionEvent = extern struct {
pub const VTable = extern struct {
base: IDispatch.VTable,
OnDriverEvent: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrinterExtensionEvent,
pEventArgs: ?*IPrinterExtensionEventArgs,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrinterExtensionEvent,
pEventArgs: ?*IPrinterExtensionEventArgs,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
OnPrinterQueuesEnumerated: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrinterExtensionEvent,
pContextCollection: ?*IPrinterExtensionContextCollection,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrinterExtensionEvent,
pContextCollection: ?*IPrinterExtensionContextCollection,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IDispatch.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrinterExtensionEvent_OnDriverEvent(self: *const T, pEventArgs: ?*IPrinterExtensionEventArgs) callconv(.Inline) HRESULT {
return @as(*const IPrinterExtensionEvent.VTable, @ptrCast(self.vtable)).OnDriverEvent(@as(*const IPrinterExtensionEvent, @ptrCast(self)), pEventArgs);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrinterExtensionEvent_OnPrinterQueuesEnumerated(self: *const T, pContextCollection: ?*IPrinterExtensionContextCollection) callconv(.Inline) HRESULT {
return @as(*const IPrinterExtensionEvent.VTable, @ptrCast(self.vtable)).OnPrinterQueuesEnumerated(@as(*const IPrinterExtensionEvent, @ptrCast(self)), pContextCollection);
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IPrinterExtensionManager_Value = Guid.initString("93c6eb8c-b001-4355-9629-8e8a1b3f8e77");
pub const IID_IPrinterExtensionManager = &IID_IPrinterExtensionManager_Value;
pub const IPrinterExtensionManager = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
EnableEvents: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrinterExtensionManager,
printerDriverId: Guid,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrinterExtensionManager,
printerDriverId: Guid,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
DisableEvents: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrinterExtensionManager,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrinterExtensionManager,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IUnknown.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrinterExtensionManager_EnableEvents(self: *const T, printerDriverId: Guid) callconv(.Inline) HRESULT {
return @as(*const IPrinterExtensionManager.VTable, @ptrCast(self.vtable)).EnableEvents(@as(*const IPrinterExtensionManager, @ptrCast(self)), printerDriverId);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrinterExtensionManager_DisableEvents(self: *const T) callconv(.Inline) HRESULT {
return @as(*const IPrinterExtensionManager.VTable, @ptrCast(self.vtable)).DisableEvents(@as(*const IPrinterExtensionManager, @ptrCast(self)));
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IPrinterScriptContext_Value = Guid.initString("066acbca-8881-49c9-bb98-fae16b4889e1");
pub const IID_IPrinterScriptContext = &IID_IPrinterScriptContext_Value;
pub const IPrinterScriptContext = extern struct {
pub const VTable = extern struct {
base: IDispatch.VTable,
// TODO: this function has a "SpecialName", should Zig do anything with this?
get_DriverProperties: switch (@import("builtin").zig_backend) {
// TODO: this function has a "SpecialName", should Zig do anything with this?
.stage1 => fn(
self: *const IPrinterScriptContext,
ppPropertyBag: ?*?*IPrinterScriptablePropertyBag,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
else => *const fn(
self: *const IPrinterScriptContext,
ppPropertyBag: ?*?*IPrinterScriptablePropertyBag,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
// TODO: this function has a "SpecialName", should Zig do anything with this?
get_QueueProperties: switch (@import("builtin").zig_backend) {
// TODO: this function has a "SpecialName", should Zig do anything with this?
.stage1 => fn(
self: *const IPrinterScriptContext,
ppPropertyBag: ?*?*IPrinterScriptablePropertyBag,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
else => *const fn(
self: *const IPrinterScriptContext,
ppPropertyBag: ?*?*IPrinterScriptablePropertyBag,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
// TODO: this function has a "SpecialName", should Zig do anything with this?
get_UserProperties: switch (@import("builtin").zig_backend) {
// TODO: this function has a "SpecialName", should Zig do anything with this?
.stage1 => fn(
self: *const IPrinterScriptContext,
ppPropertyBag: ?*?*IPrinterScriptablePropertyBag,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
else => *const fn(
self: *const IPrinterScriptContext,
ppPropertyBag: ?*?*IPrinterScriptablePropertyBag,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IDispatch.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrinterScriptContext_get_DriverProperties(self: *const T, ppPropertyBag: ?*?*IPrinterScriptablePropertyBag) callconv(.Inline) HRESULT {
return @as(*const IPrinterScriptContext.VTable, @ptrCast(self.vtable)).get_DriverProperties(@as(*const IPrinterScriptContext, @ptrCast(self)), ppPropertyBag);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrinterScriptContext_get_QueueProperties(self: *const T, ppPropertyBag: ?*?*IPrinterScriptablePropertyBag) callconv(.Inline) HRESULT {
return @as(*const IPrinterScriptContext.VTable, @ptrCast(self.vtable)).get_QueueProperties(@as(*const IPrinterScriptContext, @ptrCast(self)), ppPropertyBag);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrinterScriptContext_get_UserProperties(self: *const T, ppPropertyBag: ?*?*IPrinterScriptablePropertyBag) callconv(.Inline) HRESULT {
return @as(*const IPrinterScriptContext.VTable, @ptrCast(self.vtable)).get_UserProperties(@as(*const IPrinterScriptContext, @ptrCast(self)), ppPropertyBag);
}
};}
pub usingnamespace MethodMixin(@This());
};
pub const PrintAsyncNotifyUserFilter = enum(i32) {
PerUser = 0,
AllUsers = 1,
};
pub const kPerUser = PrintAsyncNotifyUserFilter.PerUser;
pub const kAllUsers = PrintAsyncNotifyUserFilter.AllUsers;
pub const PrintAsyncNotifyConversationStyle = enum(i32) {
BiDirectional = 0,
UniDirectional = 1,
};
pub const kBiDirectional = PrintAsyncNotifyConversationStyle.BiDirectional;
pub const kUniDirectional = PrintAsyncNotifyConversationStyle.UniDirectional;
// TODO: this type is limited to platform 'windows6.0.6000'
const IID_IPrintAsyncNotifyDataObject_Value = Guid.initString("77cf513e-5d49-4789-9f30-d0822b335c0d");
pub const IID_IPrintAsyncNotifyDataObject = &IID_IPrintAsyncNotifyDataObject_Value;
pub const IPrintAsyncNotifyDataObject = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
AcquireData: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintAsyncNotifyDataObject,
ppNotificationData: ?*?*u8,
pSize: ?*u32,
ppSchema: ?*?*Guid,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintAsyncNotifyDataObject,
ppNotificationData: ?*?*u8,
pSize: ?*u32,
ppSchema: ?*?*Guid,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
ReleaseData: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintAsyncNotifyDataObject,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintAsyncNotifyDataObject,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IUnknown.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintAsyncNotifyDataObject_AcquireData(self: *const T, ppNotificationData: ?*?*u8, pSize: ?*u32, ppSchema: ?*?*Guid) callconv(.Inline) HRESULT {
return @as(*const IPrintAsyncNotifyDataObject.VTable, @ptrCast(self.vtable)).AcquireData(@as(*const IPrintAsyncNotifyDataObject, @ptrCast(self)), ppNotificationData, pSize, ppSchema);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintAsyncNotifyDataObject_ReleaseData(self: *const T) callconv(.Inline) HRESULT {
return @as(*const IPrintAsyncNotifyDataObject.VTable, @ptrCast(self.vtable)).ReleaseData(@as(*const IPrintAsyncNotifyDataObject, @ptrCast(self)));
}
};}
pub usingnamespace MethodMixin(@This());
};
// TODO: this type is limited to platform 'windows6.0.6000'
const IID_IPrintAsyncNotifyChannel_Value = Guid.initString("4a5031b1-1f3f-4db0-a462-4530ed8b0451");
pub const IID_IPrintAsyncNotifyChannel = &IID_IPrintAsyncNotifyChannel_Value;
pub const IPrintAsyncNotifyChannel = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
SendNotification: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintAsyncNotifyChannel,
pData: ?*IPrintAsyncNotifyDataObject,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintAsyncNotifyChannel,
pData: ?*IPrintAsyncNotifyDataObject,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
CloseChannel: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintAsyncNotifyChannel,
pData: ?*IPrintAsyncNotifyDataObject,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintAsyncNotifyChannel,
pData: ?*IPrintAsyncNotifyDataObject,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IUnknown.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintAsyncNotifyChannel_SendNotification(self: *const T, pData: ?*IPrintAsyncNotifyDataObject) callconv(.Inline) HRESULT {
return @as(*const IPrintAsyncNotifyChannel.VTable, @ptrCast(self.vtable)).SendNotification(@as(*const IPrintAsyncNotifyChannel, @ptrCast(self)), pData);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintAsyncNotifyChannel_CloseChannel(self: *const T, pData: ?*IPrintAsyncNotifyDataObject) callconv(.Inline) HRESULT {
return @as(*const IPrintAsyncNotifyChannel.VTable, @ptrCast(self.vtable)).CloseChannel(@as(*const IPrintAsyncNotifyChannel, @ptrCast(self)), pData);
}
};}
pub usingnamespace MethodMixin(@This());
};
// TODO: this type is limited to platform 'windows6.0.6000'
const IID_IPrintAsyncNotifyCallback_Value = Guid.initString("7def34c1-9d92-4c99-b3b3-db94a9d4191b");
pub const IID_IPrintAsyncNotifyCallback = &IID_IPrintAsyncNotifyCallback_Value;
pub const IPrintAsyncNotifyCallback = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
OnEventNotify: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintAsyncNotifyCallback,
pChannel: ?*IPrintAsyncNotifyChannel,
pData: ?*IPrintAsyncNotifyDataObject,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintAsyncNotifyCallback,
pChannel: ?*IPrintAsyncNotifyChannel,
pData: ?*IPrintAsyncNotifyDataObject,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
ChannelClosed: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintAsyncNotifyCallback,
pChannel: ?*IPrintAsyncNotifyChannel,
pData: ?*IPrintAsyncNotifyDataObject,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintAsyncNotifyCallback,
pChannel: ?*IPrintAsyncNotifyChannel,
pData: ?*IPrintAsyncNotifyDataObject,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IUnknown.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintAsyncNotifyCallback_OnEventNotify(self: *const T, pChannel: ?*IPrintAsyncNotifyChannel, pData: ?*IPrintAsyncNotifyDataObject) callconv(.Inline) HRESULT {
return @as(*const IPrintAsyncNotifyCallback.VTable, @ptrCast(self.vtable)).OnEventNotify(@as(*const IPrintAsyncNotifyCallback, @ptrCast(self)), pChannel, pData);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintAsyncNotifyCallback_ChannelClosed(self: *const T, pChannel: ?*IPrintAsyncNotifyChannel, pData: ?*IPrintAsyncNotifyDataObject) callconv(.Inline) HRESULT {
return @as(*const IPrintAsyncNotifyCallback.VTable, @ptrCast(self.vtable)).ChannelClosed(@as(*const IPrintAsyncNotifyCallback, @ptrCast(self)), pChannel, pData);
}
};}
pub usingnamespace MethodMixin(@This());
};
pub const PrintAsyncNotifyError = enum(i32) {
CHANNEL_CLOSED_BY_SERVER = 1,
CHANNEL_CLOSED_BY_ANOTHER_LISTENER = 2,
CHANNEL_CLOSED_BY_SAME_LISTENER = 3,
CHANNEL_RELEASED_BY_LISTENER = 4,
UNIRECTIONAL_NOTIFICATION_LOST = 5,
ASYNC_NOTIFICATION_FAILURE = 6,
NO_LISTENERS = 7,
CHANNEL_ALREADY_CLOSED = 8,
CHANNEL_ALREADY_OPENED = 9,
CHANNEL_WAITING_FOR_CLIENT_NOTIFICATION = 10,
CHANNEL_NOT_OPENED = 11,
ASYNC_CALL_ALREADY_PARKED = 12,
NOT_REGISTERED = 13,
ALREADY_UNREGISTERED = 14,
ALREADY_REGISTERED = 15,
CHANNEL_ACQUIRED = 16,
ASYNC_CALL_IN_PROGRESS = 17,
MAX_NOTIFICATION_SIZE_EXCEEDED = 18,
INTERNAL_NOTIFICATION_QUEUE_IS_FULL = 19,
INVALID_NOTIFICATION_TYPE = 20,
MAX_REGISTRATION_COUNT_EXCEEDED = 21,
MAX_CHANNEL_COUNT_EXCEEDED = 22,
LOCAL_ONLY_REGISTRATION = 23,
REMOTE_ONLY_REGISTRATION = 24,
};
pub const CHANNEL_CLOSED_BY_SERVER = PrintAsyncNotifyError.CHANNEL_CLOSED_BY_SERVER;
pub const CHANNEL_CLOSED_BY_ANOTHER_LISTENER = PrintAsyncNotifyError.CHANNEL_CLOSED_BY_ANOTHER_LISTENER;
pub const CHANNEL_CLOSED_BY_SAME_LISTENER = PrintAsyncNotifyError.CHANNEL_CLOSED_BY_SAME_LISTENER;
pub const CHANNEL_RELEASED_BY_LISTENER = PrintAsyncNotifyError.CHANNEL_RELEASED_BY_LISTENER;
pub const UNIRECTIONAL_NOTIFICATION_LOST = PrintAsyncNotifyError.UNIRECTIONAL_NOTIFICATION_LOST;
pub const ASYNC_NOTIFICATION_FAILURE = PrintAsyncNotifyError.ASYNC_NOTIFICATION_FAILURE;
pub const NO_LISTENERS = PrintAsyncNotifyError.NO_LISTENERS;
pub const CHANNEL_ALREADY_CLOSED = PrintAsyncNotifyError.CHANNEL_ALREADY_CLOSED;
pub const CHANNEL_ALREADY_OPENED = PrintAsyncNotifyError.CHANNEL_ALREADY_OPENED;
pub const CHANNEL_WAITING_FOR_CLIENT_NOTIFICATION = PrintAsyncNotifyError.CHANNEL_WAITING_FOR_CLIENT_NOTIFICATION;
pub const CHANNEL_NOT_OPENED = PrintAsyncNotifyError.CHANNEL_NOT_OPENED;
pub const ASYNC_CALL_ALREADY_PARKED = PrintAsyncNotifyError.ASYNC_CALL_ALREADY_PARKED;
pub const NOT_REGISTERED = PrintAsyncNotifyError.NOT_REGISTERED;
pub const ALREADY_UNREGISTERED = PrintAsyncNotifyError.ALREADY_UNREGISTERED;
pub const ALREADY_REGISTERED = PrintAsyncNotifyError.ALREADY_REGISTERED;
pub const CHANNEL_ACQUIRED = PrintAsyncNotifyError.CHANNEL_ACQUIRED;
pub const ASYNC_CALL_IN_PROGRESS = PrintAsyncNotifyError.ASYNC_CALL_IN_PROGRESS;
pub const MAX_NOTIFICATION_SIZE_EXCEEDED = PrintAsyncNotifyError.MAX_NOTIFICATION_SIZE_EXCEEDED;
pub const INTERNAL_NOTIFICATION_QUEUE_IS_FULL = PrintAsyncNotifyError.INTERNAL_NOTIFICATION_QUEUE_IS_FULL;
pub const INVALID_NOTIFICATION_TYPE = PrintAsyncNotifyError.INVALID_NOTIFICATION_TYPE;
pub const MAX_REGISTRATION_COUNT_EXCEEDED = PrintAsyncNotifyError.MAX_REGISTRATION_COUNT_EXCEEDED;
pub const MAX_CHANNEL_COUNT_EXCEEDED = PrintAsyncNotifyError.MAX_CHANNEL_COUNT_EXCEEDED;
pub const LOCAL_ONLY_REGISTRATION = PrintAsyncNotifyError.LOCAL_ONLY_REGISTRATION;
pub const REMOTE_ONLY_REGISTRATION = PrintAsyncNotifyError.REMOTE_ONLY_REGISTRATION;
const IID_IPrintAsyncNotifyRegistration_Value = Guid.initString("0f6f27b6-6f86-4591-9203-64c3bfadedfe");
pub const IID_IPrintAsyncNotifyRegistration = &IID_IPrintAsyncNotifyRegistration_Value;
pub const IPrintAsyncNotifyRegistration = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
RegisterForNotifications: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintAsyncNotifyRegistration,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintAsyncNotifyRegistration,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
UnregisterForNotifications: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintAsyncNotifyRegistration,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintAsyncNotifyRegistration,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IUnknown.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintAsyncNotifyRegistration_RegisterForNotifications(self: *const T) callconv(.Inline) HRESULT {
return @as(*const IPrintAsyncNotifyRegistration.VTable, @ptrCast(self.vtable)).RegisterForNotifications(@as(*const IPrintAsyncNotifyRegistration, @ptrCast(self)));
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintAsyncNotifyRegistration_UnregisterForNotifications(self: *const T) callconv(.Inline) HRESULT {
return @as(*const IPrintAsyncNotifyRegistration.VTable, @ptrCast(self.vtable)).UnregisterForNotifications(@as(*const IPrintAsyncNotifyRegistration, @ptrCast(self)));
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IPrintAsyncNotify_Value = Guid.initString("532818f7-921b-4fb2-bff8-2f4fd52ebebf");
pub const IID_IPrintAsyncNotify = &IID_IPrintAsyncNotify_Value;
pub const IPrintAsyncNotify = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
CreatePrintAsyncNotifyChannel: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintAsyncNotify,
param0: u32,
param1: ?*Guid,
param2: PrintAsyncNotifyUserFilter,
param3: PrintAsyncNotifyConversationStyle,
param4: ?*IPrintAsyncNotifyCallback,
param5: ?*?*IPrintAsyncNotifyChannel,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintAsyncNotify,
param0: u32,
param1: ?*Guid,
param2: PrintAsyncNotifyUserFilter,
param3: PrintAsyncNotifyConversationStyle,
param4: ?*IPrintAsyncNotifyCallback,
param5: ?*?*IPrintAsyncNotifyChannel,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
CreatePrintAsyncNotifyRegistration: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintAsyncNotify,
param0: ?*Guid,
param1: PrintAsyncNotifyUserFilter,
param2: PrintAsyncNotifyConversationStyle,
param3: ?*IPrintAsyncNotifyCallback,
param4: ?*?*IPrintAsyncNotifyRegistration,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintAsyncNotify,
param0: ?*Guid,
param1: PrintAsyncNotifyUserFilter,
param2: PrintAsyncNotifyConversationStyle,
param3: ?*IPrintAsyncNotifyCallback,
param4: ?*?*IPrintAsyncNotifyRegistration,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IUnknown.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintAsyncNotify_CreatePrintAsyncNotifyChannel(self: *const T, param0: u32, param1: ?*Guid, param2: PrintAsyncNotifyUserFilter, param3: PrintAsyncNotifyConversationStyle, param4: ?*IPrintAsyncNotifyCallback, param5: ?*?*IPrintAsyncNotifyChannel) callconv(.Inline) HRESULT {
return @as(*const IPrintAsyncNotify.VTable, @ptrCast(self.vtable)).CreatePrintAsyncNotifyChannel(@as(*const IPrintAsyncNotify, @ptrCast(self)), param0, param1, param2, param3, param4, param5);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintAsyncNotify_CreatePrintAsyncNotifyRegistration(self: *const T, param0: ?*Guid, param1: PrintAsyncNotifyUserFilter, param2: PrintAsyncNotifyConversationStyle, param3: ?*IPrintAsyncNotifyCallback, param4: ?*?*IPrintAsyncNotifyRegistration) callconv(.Inline) HRESULT {
return @as(*const IPrintAsyncNotify.VTable, @ptrCast(self.vtable)).CreatePrintAsyncNotifyRegistration(@as(*const IPrintAsyncNotify, @ptrCast(self)), param0, param1, param2, param3, param4);
}
};}
pub usingnamespace MethodMixin(@This());
};
pub const IPrintAsyncCookie = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
FinishAsyncCall: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintAsyncCookie,
param0: HRESULT,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintAsyncCookie,
param0: HRESULT,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
CancelAsyncCall: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintAsyncCookie,
param0: HRESULT,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintAsyncCookie,
param0: HRESULT,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IUnknown.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintAsyncCookie_FinishAsyncCall(self: *const T, param0: HRESULT) callconv(.Inline) HRESULT {
return @as(*const IPrintAsyncCookie.VTable, @ptrCast(self.vtable)).FinishAsyncCall(@as(*const IPrintAsyncCookie, @ptrCast(self)), param0);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintAsyncCookie_CancelAsyncCall(self: *const T, param0: HRESULT) callconv(.Inline) HRESULT {
return @as(*const IPrintAsyncCookie.VTable, @ptrCast(self.vtable)).CancelAsyncCall(@as(*const IPrintAsyncCookie, @ptrCast(self)), param0);
}
};}
pub usingnamespace MethodMixin(@This());
};
pub const IPrintAsyncNewChannelCookie = extern struct {
pub const VTable = extern struct {
base: IPrintAsyncCookie.VTable,
FinishAsyncCallWithData: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintAsyncNewChannelCookie,
param0: ?*?*IPrintAsyncNotifyChannel,
param1: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintAsyncNewChannelCookie,
param0: ?*?*IPrintAsyncNotifyChannel,
param1: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IPrintAsyncCookie.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintAsyncNewChannelCookie_FinishAsyncCallWithData(self: *const T, param0: ?*?*IPrintAsyncNotifyChannel, param1: u32) callconv(.Inline) HRESULT {
return @as(*const IPrintAsyncNewChannelCookie.VTable, @ptrCast(self.vtable)).FinishAsyncCallWithData(@as(*const IPrintAsyncNewChannelCookie, @ptrCast(self)), param0, param1);
}
};}
pub usingnamespace MethodMixin(@This());
};
pub const IAsyncGetSendNotificationCookie = extern struct {
pub const VTable = extern struct {
base: IPrintAsyncCookie.VTable,
FinishAsyncCallWithData: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IAsyncGetSendNotificationCookie,
param0: ?*IPrintAsyncNotifyDataObject,
param1: BOOL,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IAsyncGetSendNotificationCookie,
param0: ?*IPrintAsyncNotifyDataObject,
param1: BOOL,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IPrintAsyncCookie.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IAsyncGetSendNotificationCookie_FinishAsyncCallWithData(self: *const T, param0: ?*IPrintAsyncNotifyDataObject, param1: BOOL) callconv(.Inline) HRESULT {
return @as(*const IAsyncGetSendNotificationCookie.VTable, @ptrCast(self.vtable)).FinishAsyncCallWithData(@as(*const IAsyncGetSendNotificationCookie, @ptrCast(self)), param0, param1);
}
};}
pub usingnamespace MethodMixin(@This());
};
pub const IAsyncGetSrvReferralCookie = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
FinishAsyncCall: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IAsyncGetSrvReferralCookie,
param0: HRESULT,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IAsyncGetSrvReferralCookie,
param0: HRESULT,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
CancelAsyncCall: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IAsyncGetSrvReferralCookie,
param0: HRESULT,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IAsyncGetSrvReferralCookie,
param0: HRESULT,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
FinishAsyncCallWithData: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IAsyncGetSrvReferralCookie,
param0: ?[*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IAsyncGetSrvReferralCookie,
param0: ?[*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IUnknown.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IAsyncGetSrvReferralCookie_FinishAsyncCall(self: *const T, param0: HRESULT) callconv(.Inline) HRESULT {
return @as(*const IAsyncGetSrvReferralCookie.VTable, @ptrCast(self.vtable)).FinishAsyncCall(@as(*const IAsyncGetSrvReferralCookie, @ptrCast(self)), param0);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IAsyncGetSrvReferralCookie_CancelAsyncCall(self: *const T, param0: HRESULT) callconv(.Inline) HRESULT {
return @as(*const IAsyncGetSrvReferralCookie.VTable, @ptrCast(self.vtable)).CancelAsyncCall(@as(*const IAsyncGetSrvReferralCookie, @ptrCast(self)), param0);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IAsyncGetSrvReferralCookie_FinishAsyncCallWithData(self: *const T, param0: ?[*:0]const u16) callconv(.Inline) HRESULT {
return @as(*const IAsyncGetSrvReferralCookie.VTable, @ptrCast(self.vtable)).FinishAsyncCallWithData(@as(*const IAsyncGetSrvReferralCookie, @ptrCast(self)), param0);
}
};}
pub usingnamespace MethodMixin(@This());
};
pub const IPrintBidiAsyncNotifyRegistration = extern struct {
pub const VTable = extern struct {
base: IPrintAsyncNotifyRegistration.VTable,
AsyncGetNewChannel: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintBidiAsyncNotifyRegistration,
param0: ?*IPrintAsyncNewChannelCookie,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintBidiAsyncNotifyRegistration,
param0: ?*IPrintAsyncNewChannelCookie,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IPrintAsyncNotifyRegistration.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintBidiAsyncNotifyRegistration_AsyncGetNewChannel(self: *const T, param0: ?*IPrintAsyncNewChannelCookie) callconv(.Inline) HRESULT {
return @as(*const IPrintBidiAsyncNotifyRegistration.VTable, @ptrCast(self.vtable)).AsyncGetNewChannel(@as(*const IPrintBidiAsyncNotifyRegistration, @ptrCast(self)), param0);
}
};}
pub usingnamespace MethodMixin(@This());
};
pub const IPrintUnidiAsyncNotifyRegistration = extern struct {
pub const VTable = extern struct {
base: IPrintAsyncNotifyRegistration.VTable,
AsyncGetNotification: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintUnidiAsyncNotifyRegistration,
param0: ?*IAsyncGetSendNotificationCookie,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintUnidiAsyncNotifyRegistration,
param0: ?*IAsyncGetSendNotificationCookie,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IPrintAsyncNotifyRegistration.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintUnidiAsyncNotifyRegistration_AsyncGetNotification(self: *const T, param0: ?*IAsyncGetSendNotificationCookie) callconv(.Inline) HRESULT {
return @as(*const IPrintUnidiAsyncNotifyRegistration.VTable, @ptrCast(self.vtable)).AsyncGetNotification(@as(*const IPrintUnidiAsyncNotifyRegistration, @ptrCast(self)), param0);
}
};}
pub usingnamespace MethodMixin(@This());
};
pub const IPrintAsyncNotifyServerReferral = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
GetServerReferral: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintAsyncNotifyServerReferral,
param0: ?*?PWSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintAsyncNotifyServerReferral,
param0: ?*?PWSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
AsyncGetServerReferral: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintAsyncNotifyServerReferral,
param0: ?*IAsyncGetSrvReferralCookie,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintAsyncNotifyServerReferral,
param0: ?*IAsyncGetSrvReferralCookie,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
SetServerReferral: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintAsyncNotifyServerReferral,
pRmtServerReferral: ?[*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintAsyncNotifyServerReferral,
pRmtServerReferral: ?[*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IUnknown.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintAsyncNotifyServerReferral_GetServerReferral(self: *const T, param0: ?*?PWSTR) callconv(.Inline) HRESULT {
return @as(*const IPrintAsyncNotifyServerReferral.VTable, @ptrCast(self.vtable)).GetServerReferral(@as(*const IPrintAsyncNotifyServerReferral, @ptrCast(self)), param0);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintAsyncNotifyServerReferral_AsyncGetServerReferral(self: *const T, param0: ?*IAsyncGetSrvReferralCookie) callconv(.Inline) HRESULT {
return @as(*const IPrintAsyncNotifyServerReferral.VTable, @ptrCast(self.vtable)).AsyncGetServerReferral(@as(*const IPrintAsyncNotifyServerReferral, @ptrCast(self)), param0);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintAsyncNotifyServerReferral_SetServerReferral(self: *const T, pRmtServerReferral: ?[*:0]const u16) callconv(.Inline) HRESULT {
return @as(*const IPrintAsyncNotifyServerReferral.VTable, @ptrCast(self.vtable)).SetServerReferral(@as(*const IPrintAsyncNotifyServerReferral, @ptrCast(self)), pRmtServerReferral);
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IBidiAsyncNotifyChannel_Value = Guid.initString("532818f7-921b-4fb2-bff8-2f4fd52ebebf");
pub const IID_IBidiAsyncNotifyChannel = &IID_IBidiAsyncNotifyChannel_Value;
pub const IBidiAsyncNotifyChannel = extern struct {
pub const VTable = extern struct {
base: IPrintAsyncNotifyChannel.VTable,
CreateNotificationChannel: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IBidiAsyncNotifyChannel,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IBidiAsyncNotifyChannel,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetPrintName: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IBidiAsyncNotifyChannel,
param0: ?*?*IPrintAsyncNotifyDataObject,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IBidiAsyncNotifyChannel,
param0: ?*?*IPrintAsyncNotifyDataObject,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetChannelNotificationType: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IBidiAsyncNotifyChannel,
param0: ?*?*IPrintAsyncNotifyDataObject,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IBidiAsyncNotifyChannel,
param0: ?*?*IPrintAsyncNotifyDataObject,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
AsyncGetNotificationSendResponse: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IBidiAsyncNotifyChannel,
param0: ?*IPrintAsyncNotifyDataObject,
param1: ?*IAsyncGetSendNotificationCookie,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IBidiAsyncNotifyChannel,
param0: ?*IPrintAsyncNotifyDataObject,
param1: ?*IAsyncGetSendNotificationCookie,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
AsyncCloseChannel: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IBidiAsyncNotifyChannel,
param0: ?*IPrintAsyncNotifyDataObject,
param1: ?*IPrintAsyncCookie,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IBidiAsyncNotifyChannel,
param0: ?*IPrintAsyncNotifyDataObject,
param1: ?*IPrintAsyncCookie,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IPrintAsyncNotifyChannel.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IBidiAsyncNotifyChannel_CreateNotificationChannel(self: *const T) callconv(.Inline) HRESULT {
return @as(*const IBidiAsyncNotifyChannel.VTable, @ptrCast(self.vtable)).CreateNotificationChannel(@as(*const IBidiAsyncNotifyChannel, @ptrCast(self)));
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IBidiAsyncNotifyChannel_GetPrintName(self: *const T, param0: ?*?*IPrintAsyncNotifyDataObject) callconv(.Inline) HRESULT {
return @as(*const IBidiAsyncNotifyChannel.VTable, @ptrCast(self.vtable)).GetPrintName(@as(*const IBidiAsyncNotifyChannel, @ptrCast(self)), param0);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IBidiAsyncNotifyChannel_GetChannelNotificationType(self: *const T, param0: ?*?*IPrintAsyncNotifyDataObject) callconv(.Inline) HRESULT {
return @as(*const IBidiAsyncNotifyChannel.VTable, @ptrCast(self.vtable)).GetChannelNotificationType(@as(*const IBidiAsyncNotifyChannel, @ptrCast(self)), param0);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IBidiAsyncNotifyChannel_AsyncGetNotificationSendResponse(self: *const T, param0: ?*IPrintAsyncNotifyDataObject, param1: ?*IAsyncGetSendNotificationCookie) callconv(.Inline) HRESULT {
return @as(*const IBidiAsyncNotifyChannel.VTable, @ptrCast(self.vtable)).AsyncGetNotificationSendResponse(@as(*const IBidiAsyncNotifyChannel, @ptrCast(self)), param0, param1);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IBidiAsyncNotifyChannel_AsyncCloseChannel(self: *const T, param0: ?*IPrintAsyncNotifyDataObject, param1: ?*IPrintAsyncCookie) callconv(.Inline) HRESULT {
return @as(*const IBidiAsyncNotifyChannel.VTable, @ptrCast(self.vtable)).AsyncCloseChannel(@as(*const IBidiAsyncNotifyChannel, @ptrCast(self)), param0, param1);
}
};}
pub usingnamespace MethodMixin(@This());
};
pub const UNIFM_HDR = extern struct {
dwSize: u32,
dwVersion: u32,
ulDefaultCodepage: u32,
lGlyphSetDataRCID: i32,
loUnidrvInfo: u32,
loIFIMetrics: u32,
loExtTextMetric: u32,
loWidthTable: u32,
loKernPair: u32,
dwReserved: [2]u32,
};
pub const INVOC = extern struct {
dwCount: u32,
loOffset: u32,
};
pub const UNIDRVINFO = extern struct {
dwSize: u32,
flGenFlags: u32,
wType: u16,
fCaps: u16,
wXRes: u16,
wYRes: u16,
sYAdjust: i16,
sYMoved: i16,
wPrivateData: u16,
sShift: i16,
SelectFont: INVOC,
UnSelectFont: INVOC,
wReserved: [4]u16,
};
pub const PRINTIFI32 = extern struct {
cjThis: u32,
cjIfiExtra: u32,
dpwszFamilyName: i32,
dpwszStyleName: i32,
dpwszFaceName: i32,
dpwszUniqueName: i32,
dpFontSim: i32,
lEmbedId: i32,
lItalicAngle: i32,
lCharBias: i32,
dpCharSets: i32,
jWinCharSet: u8,
jWinPitchAndFamily: u8,
usWinWeight: u16,
flInfo: u32,
fsSelection: u16,
fsType: u16,
fwdUnitsPerEm: i16,
fwdLowestPPEm: i16,
fwdWinAscender: i16,
fwdWinDescender: i16,
fwdMacAscender: i16,
fwdMacDescender: i16,
fwdMacLineGap: i16,
fwdTypoAscender: i16,
fwdTypoDescender: i16,
fwdTypoLineGap: i16,
fwdAveCharWidth: i16,
fwdMaxCharInc: i16,
fwdCapHeight: i16,
fwdXHeight: i16,
fwdSubscriptXSize: i16,
fwdSubscriptYSize: i16,
fwdSubscriptXOffset: i16,
fwdSubscriptYOffset: i16,
fwdSuperscriptXSize: i16,
fwdSuperscriptYSize: i16,
fwdSuperscriptXOffset: i16,
fwdSuperscriptYOffset: i16,
fwdUnderscoreSize: i16,
fwdUnderscorePosition: i16,
fwdStrikeoutSize: i16,
fwdStrikeoutPosition: i16,
chFirstChar: u8,
chLastChar: u8,
chDefaultChar: u8,
chBreakChar: u8,
wcFirstChar: u16,
wcLastChar: u16,
wcDefaultChar: u16,
wcBreakChar: u16,
ptlBaseline: POINTL,
ptlAspect: POINTL,
ptlCaret: POINTL,
rclFontBox: RECTL,
achVendId: [4]u8,
cKerningPairs: u32,
ulPanoseCulture: u32,
panose: PANOSE,
};
pub const EXTTEXTMETRIC = extern struct {
emSize: i16,
emPointSize: i16,
emOrientation: i16,
emMasterHeight: i16,
emMinScale: i16,
emMaxScale: i16,
emMasterUnits: i16,
emCapHeight: i16,
emXHeight: i16,
emLowerCaseAscent: i16,
emLowerCaseDescent: i16,
emSlant: i16,
emSuperScript: i16,
emSubScript: i16,
emSuperScriptSize: i16,
emSubScriptSize: i16,
emUnderlineOffset: i16,
emUnderlineWidth: i16,
emDoubleUpperUnderlineOffset: i16,
emDoubleLowerUnderlineOffset: i16,
emDoubleUpperUnderlineWidth: i16,
emDoubleLowerUnderlineWidth: i16,
emStrikeOutOffset: i16,
emStrikeOutWidth: i16,
emKernPairs: u16,
emKernTracks: u16,
};
pub const WIDTHRUN = extern struct {
wStartGlyph: u16,
wGlyphCount: u16,
loCharWidthOffset: u32,
};
pub const WIDTHTABLE = extern struct {
dwSize: u32,
dwRunNum: u32,
WidthRun: [1]WIDTHRUN,
};
pub const KERNDATA = extern struct {
dwSize: u32,
dwKernPairNum: u32,
KernPair: [1]FD_KERNINGPAIR,
};
pub const UNI_GLYPHSETDATA = extern struct {
dwSize: u32,
dwVersion: u32,
dwFlags: u32,
lPredefinedID: i32,
dwGlyphCount: u32,
dwRunCount: u32,
loRunOffset: u32,
dwCodePageCount: u32,
loCodePageOffset: u32,
loMapTableOffset: u32,
dwReserved: [2]u32,
};
pub const UNI_CODEPAGEINFO = extern struct {
dwCodePage: u32,
SelectSymbolSet: INVOC,
UnSelectSymbolSet: INVOC,
};
pub const GLYPHRUN = extern struct {
wcLow: u16,
wGlyphCount: u16,
};
pub const TRANSDATA = extern struct {
ubCodePageID: u8,
ubType: u8,
uCode: extern union {
sCode: i16,
ubCode: u8,
ubPairs: [2]u8,
},
};
pub const MAPTABLE = extern struct {
dwSize: u32,
dwGlyphNum: u32,
Trans: [1]TRANSDATA,
};
pub const UFF_FILEHEADER = extern struct {
dwSignature: u32,
dwVersion: u32,
dwSize: u32,
nFonts: u32,
nGlyphSets: u32,
nVarData: u32,
offFontDir: u32,
dwFlags: u32,
dwReserved: [4]u32,
};
pub const UFF_FONTDIRECTORY = extern struct {
dwSignature: u32,
wSize: u16,
wFontID: u16,
sGlyphID: i16,
wFlags: u16,
dwInstallerSig: u32,
offFontName: u32,
offCartridgeName: u32,
offFontData: u32,
offGlyphData: u32,
offVarData: u32,
};
pub const DATA_HEADER = extern struct {
dwSignature: u32,
wSize: u16,
wDataID: u16,
dwDataSize: u32,
dwReserved: u32,
};
pub const OEMFONTINSTPARAM = extern struct {
cbSize: u32,
hPrinter: ?HANDLE,
hModule: ?HANDLE,
hHeap: ?HANDLE,
dwFlags: u32,
pFontInstallerName: ?PWSTR,
};
pub const PORT_DATA_1 = extern struct {
sztPortName: [64]u16,
dwVersion: u32,
dwProtocol: u32,
cbSize: u32,
dwReserved: u32,
sztHostAddress: [49]u16,
sztSNMPCommunity: [33]u16,
dwDoubleSpool: u32,
sztQueue: [33]u16,
sztIPAddress: [16]u16,
Reserved: [540]u8,
dwPortNumber: u32,
dwSNMPEnabled: u32,
dwSNMPDevIndex: u32,
};
pub const PORT_DATA_2 = extern struct {
sztPortName: [64]u16,
dwVersion: u32,
dwProtocol: u32,
cbSize: u32,
dwReserved: u32,
sztHostAddress: [128]u16,
sztSNMPCommunity: [33]u16,
dwDoubleSpool: u32,
sztQueue: [33]u16,
Reserved: [514]u8,
dwPortNumber: u32,
dwSNMPEnabled: u32,
dwSNMPDevIndex: u32,
dwPortMonitorMibIndex: u32,
};
pub const PORT_DATA_LIST_1 = extern struct {
dwVersion: u32,
cPortData: u32,
pPortData: [1]PORT_DATA_2,
};
pub const DELETE_PORT_DATA_1 = extern struct {
psztPortName: [64]u16,
Reserved: [98]u8,
dwVersion: u32,
dwReserved: u32,
};
pub const CONFIG_INFO_DATA_1 = extern struct {
Reserved: [128]u8,
dwVersion: u32,
};
pub const EMFPLAYPROC = switch (@import("builtin").zig_backend) {
.stage1 => fn(
param0: ?HDC,
param1: i32,
param2: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) i32,
else => *const fn(
param0: ?HDC,
param1: i32,
param2: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) i32,
} ;
pub const EBranchOfficeJobEventType = enum(i32) {
InvalidJobState = 0,
LogJobPrinted = 1,
LogJobRendered = 2,
LogJobError = 3,
LogJobPipelineError = 4,
LogOfflineFileFull = 5,
};
pub const kInvalidJobState = EBranchOfficeJobEventType.InvalidJobState;
pub const kLogJobPrinted = EBranchOfficeJobEventType.LogJobPrinted;
pub const kLogJobRendered = EBranchOfficeJobEventType.LogJobRendered;
pub const kLogJobError = EBranchOfficeJobEventType.LogJobError;
pub const kLogJobPipelineError = EBranchOfficeJobEventType.LogJobPipelineError;
pub const kLogOfflineFileFull = EBranchOfficeJobEventType.LogOfflineFileFull;
pub const BranchOfficeJobDataPrinted = extern struct {
Status: u32,
pDocumentName: ?PWSTR,
pUserName: ?PWSTR,
pMachineName: ?PWSTR,
pPrinterName: ?PWSTR,
pPortName: ?PWSTR,
Size: i64,
TotalPages: u32,
};
pub const BranchOfficeJobDataError = extern struct {
LastError: u32,
pDocumentName: ?PWSTR,
pUserName: ?PWSTR,
pPrinterName: ?PWSTR,
pDataType: ?PWSTR,
TotalSize: i64,
PrintedSize: i64,
TotalPages: u32,
PrintedPages: u32,
pMachineName: ?PWSTR,
pJobError: ?PWSTR,
pErrorDescription: ?PWSTR,
};
pub const BranchOfficeJobDataRendered = extern struct {
Size: i64,
ICMMethod: u32,
Color: i16,
PrintQuality: i16,
YResolution: i16,
Copies: i16,
TTOption: i16,
};
pub const BranchOfficeJobDataPipelineFailed = extern struct {
pDocumentName: ?PWSTR,
pPrinterName: ?PWSTR,
pExtraErrorInfo: ?PWSTR,
};
pub const BranchOfficeLogOfflineFileFull = extern struct {
pMachineName: ?PWSTR,
};
pub const BranchOfficeJobData = extern struct {
eEventType: EBranchOfficeJobEventType,
JobId: u32,
JobInfo: extern union {
LogJobPrinted: BranchOfficeJobDataPrinted,
LogJobRendered: BranchOfficeJobDataRendered,
LogJobError: BranchOfficeJobDataError,
LogPipelineFailed: BranchOfficeJobDataPipelineFailed,
LogOfflineFileFull: BranchOfficeLogOfflineFileFull,
},
};
pub const BranchOfficeJobDataContainer = extern struct {
cJobDataEntries: u32,
JobData: [1]BranchOfficeJobData,
};
pub const PRINTER_NOTIFY_INIT = extern struct {
Size: u32,
Reserved: u32,
PollTime: u32,
};
pub const SPLCLIENT_INFO_1 = extern struct {
dwSize: u32,
pMachineName: ?PWSTR,
pUserName: ?PWSTR,
dwBuildNum: u32,
dwMajorVersion: u32,
dwMinorVersion: u32,
wProcessorArchitecture: u16,
};
pub const _SPLCLIENT_INFO_2_V1 = extern struct {
hSplPrinter: usize,
};
pub const _SPLCLIENT_INFO_2_V3 = extern struct {
hSplPrinter: u64,
};
pub const SPLCLIENT_INFO_3_VISTA = extern struct {
cbSize: u32,
dwFlags: u32,
dwSize: u32,
pMachineName: ?PWSTR,
pUserName: ?PWSTR,
dwBuildNum: u32,
dwMajorVersion: u32,
dwMinorVersion: u32,
wProcessorArchitecture: u16,
hSplPrinter: u64,
};
pub const PRINTPROVIDOR = extern struct {
fpOpenPrinter: isize,
fpSetJob: isize,
fpGetJob: isize,
fpEnumJobs: isize,
fpAddPrinter: isize,
fpDeletePrinter: isize,
fpSetPrinter: isize,
fpGetPrinter: isize,
fpEnumPrinters: isize,
fpAddPrinterDriver: isize,
fpEnumPrinterDrivers: isize,
fpGetPrinterDriver: isize,
fpGetPrinterDriverDirectory: isize,
fpDeletePrinterDriver: isize,
fpAddPrintProcessor: isize,
fpEnumPrintProcessors: isize,
fpGetPrintProcessorDirectory: isize,
fpDeletePrintProcessor: isize,
fpEnumPrintProcessorDatatypes: isize,
fpStartDocPrinter: isize,
fpStartPagePrinter: isize,
fpWritePrinter: isize,
fpEndPagePrinter: isize,
fpAbortPrinter: isize,
fpReadPrinter: isize,
fpEndDocPrinter: isize,
fpAddJob: isize,
fpScheduleJob: isize,
fpGetPrinterData: isize,
fpSetPrinterData: isize,
fpWaitForPrinterChange: isize,
fpClosePrinter: isize,
fpAddForm: isize,
fpDeleteForm: isize,
fpGetForm: isize,
fpSetForm: isize,
fpEnumForms: isize,
fpEnumMonitors: isize,
fpEnumPorts: isize,
fpAddPort: isize,
fpConfigurePort: isize,
fpDeletePort: isize,
fpCreatePrinterIC: isize,
fpPlayGdiScriptOnPrinterIC: isize,
fpDeletePrinterIC: isize,
fpAddPrinterConnection: isize,
fpDeletePrinterConnection: isize,
fpPrinterMessageBox: isize,
fpAddMonitor: isize,
fpDeleteMonitor: isize,
fpResetPrinter: isize,
fpGetPrinterDriverEx: isize,
fpFindFirstPrinterChangeNotification: isize,
fpFindClosePrinterChangeNotification: isize,
fpAddPortEx: isize,
fpShutDown: isize,
fpRefreshPrinterChangeNotification: isize,
fpOpenPrinterEx: isize,
fpAddPrinterEx: isize,
fpSetPort: isize,
fpEnumPrinterData: isize,
fpDeletePrinterData: isize,
fpClusterSplOpen: isize,
fpClusterSplClose: isize,
fpClusterSplIsAlive: isize,
fpSetPrinterDataEx: isize,
fpGetPrinterDataEx: isize,
fpEnumPrinterDataEx: isize,
fpEnumPrinterKey: isize,
fpDeletePrinterDataEx: isize,
fpDeletePrinterKey: isize,
fpSeekPrinter: isize,
fpDeletePrinterDriverEx: isize,
fpAddPerMachineConnection: isize,
fpDeletePerMachineConnection: isize,
fpEnumPerMachineConnections: isize,
fpXcvData: isize,
fpAddPrinterDriverEx: isize,
fpSplReadPrinter: isize,
fpDriverUnloadComplete: isize,
fpGetSpoolFileInfo: isize,
fpCommitSpoolData: isize,
fpCloseSpoolFileHandle: isize,
fpFlushPrinter: isize,
fpSendRecvBidiData: isize,
fpAddPrinterConnection2: isize,
fpGetPrintClassObject: isize,
fpReportJobProcessingProgress: isize,
fpEnumAndLogProvidorObjects: isize,
fpInternalGetPrinterDriver: isize,
fpFindCompatibleDriver: isize,
fpGetJobNamedPropertyValue: isize,
fpSetJobNamedProperty: isize,
fpDeleteJobNamedProperty: isize,
fpEnumJobNamedProperties: isize,
fpPowerEvent: isize,
fpGetUserPropertyBag: isize,
fpCanShutdown: isize,
fpLogJobInfoForBranchOffice: isize,
fpRegeneratePrintDeviceCapabilities: isize,
fpPrintSupportOperation: isize,
fpIppCreateJobOnPrinter: isize,
fpIppGetJobAttributes: isize,
fpIppSetJobAttributes: isize,
fpIppGetPrinterAttributes: isize,
fpIppSetPrinterAttributes: isize,
};
pub const PRINTPROCESSOROPENDATA = extern struct {
pDevMode: ?*DEVMODEA,
pDatatype: ?PWSTR,
pParameters: ?PWSTR,
pDocumentName: ?PWSTR,
JobId: u32,
pOutputFile: ?PWSTR,
pPrinterName: ?PWSTR,
};
pub const MONITORREG = extern struct {
cbSize: u32,
fpCreateKey: isize,
fpOpenKey: isize,
fpCloseKey: isize,
fpDeleteKey: isize,
fpEnumKey: isize,
fpQueryInfoKey: isize,
fpSetValue: isize,
fpDeleteValue: isize,
fpEnumValue: isize,
fpQueryValue: isize,
};
pub const MONITORINIT = extern struct {
cbSize: u32,
hSpooler: ?HANDLE,
hckRegistryRoot: ?HKEY,
pMonitorReg: ?*MONITORREG,
bLocal: BOOL,
pszServerName: ?[*:0]const u16,
};
pub const MONITOR = extern struct {
pfnEnumPorts: isize,
pfnOpenPort: isize,
pfnOpenPortEx: isize,
pfnStartDocPort: isize,
pfnWritePort: isize,
pfnReadPort: isize,
pfnEndDocPort: isize,
pfnClosePort: isize,
pfnAddPort: isize,
pfnAddPortEx: isize,
pfnConfigurePort: isize,
pfnDeletePort: isize,
pfnGetPrinterDataFromPort: isize,
pfnSetPortTimeOuts: isize,
pfnXcvOpenPort: isize,
pfnXcvDataPort: isize,
pfnXcvClosePort: isize,
};
pub const MONITOREX = extern struct {
dwMonitorSize: u32,
Monitor: MONITOR,
};
pub const MONITOR2 = extern struct {
cbSize: u32,
pfnEnumPorts: isize,
pfnOpenPort: isize,
pfnOpenPortEx: isize,
pfnStartDocPort: isize,
pfnWritePort: isize,
pfnReadPort: isize,
pfnEndDocPort: isize,
pfnClosePort: isize,
pfnAddPort: isize,
pfnAddPortEx: isize,
pfnConfigurePort: isize,
pfnDeletePort: isize,
pfnGetPrinterDataFromPort: isize,
pfnSetPortTimeOuts: isize,
pfnXcvOpenPort: isize,
pfnXcvDataPort: isize,
pfnXcvClosePort: isize,
pfnShutdown: isize,
pfnSendRecvBidiDataFromPort: isize,
pfnNotifyUsedPorts: isize,
pfnNotifyUnusedPorts: isize,
pfnPowerEvent: isize,
};
pub const MONITORUI = extern struct {
dwMonitorUISize: u32,
pfnAddPortUI: isize,
pfnConfigurePortUI: isize,
pfnDeletePortUI: isize,
};
pub const ROUTER_NOTIFY_CALLBACK = switch (@import("builtin").zig_backend) {
.stage1 => fn(
dwCommand: u32,
pContext: ?*anyopaque,
dwColor: u32,
pNofityInfo: ?*PRINTER_NOTIFY_INFO,
fdwFlags: u32,
pdwResult: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL,
else => *const fn(
dwCommand: u32,
pContext: ?*anyopaque,
dwColor: u32,
pNofityInfo: ?*PRINTER_NOTIFY_INFO,
fdwFlags: u32,
pdwResult: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL,
} ;
pub const NOTIFICATION_CALLBACK_COMMANDS = enum(i32) {
NOTIFY = 0,
CONTEXT_ACQUIRE = 1,
CONTEXT_RELEASE = 2,
};
pub const NOTIFICATION_COMMAND_NOTIFY = NOTIFICATION_CALLBACK_COMMANDS.NOTIFY;
pub const NOTIFICATION_COMMAND_CONTEXT_ACQUIRE = NOTIFICATION_CALLBACK_COMMANDS.CONTEXT_ACQUIRE;
pub const NOTIFICATION_COMMAND_CONTEXT_RELEASE = NOTIFICATION_CALLBACK_COMMANDS.CONTEXT_RELEASE;
pub const NOTIFICATION_CONFIG_1 = extern struct {
cbSize: u32,
fdwFlags: u32,
pfnNotifyCallback: ?ROUTER_NOTIFY_CALLBACK,
pContext: ?*anyopaque,
};
pub const NOTIFICATION_CONFIG_FLAGS = enum(i32) {
CREATE_EVENT = 1,
REGISTER_CALLBACK = 2,
EVENT_TRIGGER = 4,
ASYNC_CHANNEL = 8,
};
pub const NOTIFICATION_CONFIG_CREATE_EVENT = NOTIFICATION_CONFIG_FLAGS.CREATE_EVENT;
pub const NOTIFICATION_CONFIG_REGISTER_CALLBACK = NOTIFICATION_CONFIG_FLAGS.REGISTER_CALLBACK;
pub const NOTIFICATION_CONFIG_EVENT_TRIGGER = NOTIFICATION_CONFIG_FLAGS.EVENT_TRIGGER;
pub const NOTIFICATION_CONFIG_ASYNC_CHANNEL = NOTIFICATION_CONFIG_FLAGS.ASYNC_CHANNEL;
pub const UI_TYPE = enum(i32) {
x = 0,
};
pub const kMessageBox = UI_TYPE.x;
pub const MESSAGEBOX_PARAMS = extern struct {
cbSize: u32,
pTitle: ?PWSTR,
pMessage: ?PWSTR,
Style: u32,
dwTimeout: u32,
bWait: BOOL,
};
pub const SHOWUIPARAMS = extern struct {
UIType: UI_TYPE,
MessageBoxParams: MESSAGEBOX_PARAMS,
};
const IID_IXpsRasterizerNotificationCallback_Value = Guid.initString("9ab8fd0d-cb94-49c2-9cb0-97ec1d5469d2");
pub const IID_IXpsRasterizerNotificationCallback = &IID_IXpsRasterizerNotificationCallback_Value;
pub const IXpsRasterizerNotificationCallback = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
Continue: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IXpsRasterizerNotificationCallback,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IXpsRasterizerNotificationCallback,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IUnknown.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IXpsRasterizerNotificationCallback_Continue(self: *const T) callconv(.Inline) HRESULT {
return @as(*const IXpsRasterizerNotificationCallback.VTable, @ptrCast(self.vtable)).Continue(@as(*const IXpsRasterizerNotificationCallback, @ptrCast(self)));
}
};}
pub usingnamespace MethodMixin(@This());
};
pub const XPSRAS_RENDERING_MODE = enum(i32) {
NTIALIASED = 0,
LIASED = 1,
};
pub const XPSRAS_RENDERING_MODE_ANTIALIASED = XPSRAS_RENDERING_MODE.NTIALIASED;
pub const XPSRAS_RENDERING_MODE_ALIASED = XPSRAS_RENDERING_MODE.LIASED;
const IID_IXpsRasterizer_Value = Guid.initString("7567cfc8-c156-47a8-9dac-11a2ae5bdd6b");
pub const IID_IXpsRasterizer = &IID_IXpsRasterizer_Value;
pub const IXpsRasterizer = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
RasterizeRect: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IXpsRasterizer,
x: i32,
y: i32,
width: i32,
height: i32,
notificationCallback: ?*IXpsRasterizerNotificationCallback,
bitmap: ?*?*IWICBitmap,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IXpsRasterizer,
x: i32,
y: i32,
width: i32,
height: i32,
notificationCallback: ?*IXpsRasterizerNotificationCallback,
bitmap: ?*?*IWICBitmap,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
SetMinimalLineWidth: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IXpsRasterizer,
width: i32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IXpsRasterizer,
width: i32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IUnknown.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IXpsRasterizer_RasterizeRect(self: *const T, x: i32, y: i32, width: i32, height: i32, notificationCallback: ?*IXpsRasterizerNotificationCallback, bitmap: ?*?*IWICBitmap) callconv(.Inline) HRESULT {
return @as(*const IXpsRasterizer.VTable, @ptrCast(self.vtable)).RasterizeRect(@as(*const IXpsRasterizer, @ptrCast(self)), x, y, width, height, notificationCallback, bitmap);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IXpsRasterizer_SetMinimalLineWidth(self: *const T, width: i32) callconv(.Inline) HRESULT {
return @as(*const IXpsRasterizer.VTable, @ptrCast(self.vtable)).SetMinimalLineWidth(@as(*const IXpsRasterizer, @ptrCast(self)), width);
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IXpsRasterizationFactory_Value = Guid.initString("e094808a-24c6-482b-a3a7-c21ac9b55f17");
pub const IID_IXpsRasterizationFactory = &IID_IXpsRasterizationFactory_Value;
pub const IXpsRasterizationFactory = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
CreateRasterizer: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IXpsRasterizationFactory,
xpsPage: ?*IXpsOMPage,
DPI: f32,
nonTextRenderingMode: XPSRAS_RENDERING_MODE,
textRenderingMode: XPSRAS_RENDERING_MODE,
ppIXPSRasterizer: ?*?*IXpsRasterizer,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IXpsRasterizationFactory,
xpsPage: ?*IXpsOMPage,
DPI: f32,
nonTextRenderingMode: XPSRAS_RENDERING_MODE,
textRenderingMode: XPSRAS_RENDERING_MODE,
ppIXPSRasterizer: ?*?*IXpsRasterizer,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IUnknown.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IXpsRasterizationFactory_CreateRasterizer(self: *const T, xpsPage: ?*IXpsOMPage, DPI: f32, nonTextRenderingMode: XPSRAS_RENDERING_MODE, textRenderingMode: XPSRAS_RENDERING_MODE, ppIXPSRasterizer: ?*?*IXpsRasterizer) callconv(.Inline) HRESULT {
return @as(*const IXpsRasterizationFactory.VTable, @ptrCast(self.vtable)).CreateRasterizer(@as(*const IXpsRasterizationFactory, @ptrCast(self)), xpsPage, DPI, nonTextRenderingMode, textRenderingMode, ppIXPSRasterizer);
}
};}
pub usingnamespace MethodMixin(@This());
};
pub const XPSRAS_PIXEL_FORMAT = enum(i32) {
@"32BPP_PBGRA_UINT_SRGB" = 1,
@"64BPP_PRGBA_HALF_SCRGB" = 2,
@"128BPP_PRGBA_FLOAT_SCRGB" = 3,
};
pub const XPSRAS_PIXEL_FORMAT_32BPP_PBGRA_UINT_SRGB = XPSRAS_PIXEL_FORMAT.@"32BPP_PBGRA_UINT_SRGB";
pub const XPSRAS_PIXEL_FORMAT_64BPP_PRGBA_HALF_SCRGB = XPSRAS_PIXEL_FORMAT.@"64BPP_PRGBA_HALF_SCRGB";
pub const XPSRAS_PIXEL_FORMAT_128BPP_PRGBA_FLOAT_SCRGB = XPSRAS_PIXEL_FORMAT.@"128BPP_PRGBA_FLOAT_SCRGB";
const IID_IXpsRasterizationFactory1_Value = Guid.initString("2d6e5f77-6414-4a1e-a8e0-d4194ce6a26f");
pub const IID_IXpsRasterizationFactory1 = &IID_IXpsRasterizationFactory1_Value;
pub const IXpsRasterizationFactory1 = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
CreateRasterizer: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IXpsRasterizationFactory1,
xpsPage: ?*IXpsOMPage,
DPI: f32,
nonTextRenderingMode: XPSRAS_RENDERING_MODE,
textRenderingMode: XPSRAS_RENDERING_MODE,
pixelFormat: XPSRAS_PIXEL_FORMAT,
ppIXPSRasterizer: ?*?*IXpsRasterizer,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IXpsRasterizationFactory1,
xpsPage: ?*IXpsOMPage,
DPI: f32,
nonTextRenderingMode: XPSRAS_RENDERING_MODE,
textRenderingMode: XPSRAS_RENDERING_MODE,
pixelFormat: XPSRAS_PIXEL_FORMAT,
ppIXPSRasterizer: ?*?*IXpsRasterizer,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IUnknown.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IXpsRasterizationFactory1_CreateRasterizer(self: *const T, xpsPage: ?*IXpsOMPage, DPI: f32, nonTextRenderingMode: XPSRAS_RENDERING_MODE, textRenderingMode: XPSRAS_RENDERING_MODE, pixelFormat: XPSRAS_PIXEL_FORMAT, ppIXPSRasterizer: ?*?*IXpsRasterizer) callconv(.Inline) HRESULT {
return @as(*const IXpsRasterizationFactory1.VTable, @ptrCast(self.vtable)).CreateRasterizer(@as(*const IXpsRasterizationFactory1, @ptrCast(self)), xpsPage, DPI, nonTextRenderingMode, textRenderingMode, pixelFormat, ppIXPSRasterizer);
}
};}
pub usingnamespace MethodMixin(@This());
};
pub const XPSRAS_BACKGROUND_COLOR = enum(i32) {
TRANSPARENT = 0,
OPAQUE = 1,
};
pub const XPSRAS_BACKGROUND_COLOR_TRANSPARENT = XPSRAS_BACKGROUND_COLOR.TRANSPARENT;
pub const XPSRAS_BACKGROUND_COLOR_OPAQUE = XPSRAS_BACKGROUND_COLOR.OPAQUE;
const IID_IXpsRasterizationFactory2_Value = Guid.initString("9c16ce3e-10f5-41fd-9ddc-6826669c2ff6");
pub const IID_IXpsRasterizationFactory2 = &IID_IXpsRasterizationFactory2_Value;
pub const IXpsRasterizationFactory2 = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
CreateRasterizer: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IXpsRasterizationFactory2,
xpsPage: ?*IXpsOMPage,
DPIX: f32,
DPIY: f32,
nonTextRenderingMode: XPSRAS_RENDERING_MODE,
textRenderingMode: XPSRAS_RENDERING_MODE,
pixelFormat: XPSRAS_PIXEL_FORMAT,
backgroundColor: XPSRAS_BACKGROUND_COLOR,
ppIXpsRasterizer: ?*?*IXpsRasterizer,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IXpsRasterizationFactory2,
xpsPage: ?*IXpsOMPage,
DPIX: f32,
DPIY: f32,
nonTextRenderingMode: XPSRAS_RENDERING_MODE,
textRenderingMode: XPSRAS_RENDERING_MODE,
pixelFormat: XPSRAS_PIXEL_FORMAT,
backgroundColor: XPSRAS_BACKGROUND_COLOR,
ppIXpsRasterizer: ?*?*IXpsRasterizer,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IUnknown.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IXpsRasterizationFactory2_CreateRasterizer(self: *const T, xpsPage: ?*IXpsOMPage, DPIX: f32, DPIY: f32, nonTextRenderingMode: XPSRAS_RENDERING_MODE, textRenderingMode: XPSRAS_RENDERING_MODE, pixelFormat: XPSRAS_PIXEL_FORMAT, backgroundColor: XPSRAS_BACKGROUND_COLOR, ppIXpsRasterizer: ?*?*IXpsRasterizer) callconv(.Inline) HRESULT {
return @as(*const IXpsRasterizationFactory2.VTable, @ptrCast(self.vtable)).CreateRasterizer(@as(*const IXpsRasterizationFactory2, @ptrCast(self)), xpsPage, DPIX, DPIY, nonTextRenderingMode, textRenderingMode, pixelFormat, backgroundColor, ppIXpsRasterizer);
}
};}
pub usingnamespace MethodMixin(@This());
};
pub const PageCountType = enum(i32) {
FinalPageCount = 0,
IntermediatePageCount = 1,
};
pub const FinalPageCount = PageCountType.FinalPageCount;
pub const IntermediatePageCount = PageCountType.IntermediatePageCount;
const IID_IPrintPreviewDxgiPackageTarget_Value = Guid.initString("1a6dd0ad-1e2a-4e99-a5ba-91f17818290e");
pub const IID_IPrintPreviewDxgiPackageTarget = &IID_IPrintPreviewDxgiPackageTarget_Value;
pub const IPrintPreviewDxgiPackageTarget = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
SetJobPageCount: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintPreviewDxgiPackageTarget,
countType: PageCountType,
count: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintPreviewDxgiPackageTarget,
countType: PageCountType,
count: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
DrawPage: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintPreviewDxgiPackageTarget,
jobPageNumber: u32,
pageImage: ?*IDXGISurface,
dpiX: f32,
dpiY: f32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintPreviewDxgiPackageTarget,
jobPageNumber: u32,
pageImage: ?*IDXGISurface,
dpiX: f32,
dpiY: f32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
InvalidatePreview: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IPrintPreviewDxgiPackageTarget,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IPrintPreviewDxgiPackageTarget,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IUnknown.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintPreviewDxgiPackageTarget_SetJobPageCount(self: *const T, countType: PageCountType, count: u32) callconv(.Inline) HRESULT {
return @as(*const IPrintPreviewDxgiPackageTarget.VTable, @ptrCast(self.vtable)).SetJobPageCount(@as(*const IPrintPreviewDxgiPackageTarget, @ptrCast(self)), countType, count);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintPreviewDxgiPackageTarget_DrawPage(self: *const T, jobPageNumber: u32, pageImage: ?*IDXGISurface, dpiX: f32, dpiY: f32) callconv(.Inline) HRESULT {
return @as(*const IPrintPreviewDxgiPackageTarget.VTable, @ptrCast(self.vtable)).DrawPage(@as(*const IPrintPreviewDxgiPackageTarget, @ptrCast(self)), jobPageNumber, pageImage, dpiX, dpiY);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPrintPreviewDxgiPackageTarget_InvalidatePreview(self: *const T) callconv(.Inline) HRESULT {
return @as(*const IPrintPreviewDxgiPackageTarget.VTable, @ptrCast(self.vtable)).InvalidatePreview(@as(*const IPrintPreviewDxgiPackageTarget, @ptrCast(self)));
}
};}
pub usingnamespace MethodMixin(@This());
};
pub const _SPLCLIENT_INFO_2_V2 = switch(@import("../zig.zig").arch) {
.X64, .Arm64 => extern struct {
hSplPrinter: u64,
},
.X86 => extern struct {
hSplPrinter: u32,
},
};
//--------------------------------------------------------------------------------
// Section: Functions (214)
//--------------------------------------------------------------------------------
pub extern "compstui" fn CommonPropertySheetUIA(
hWndOwner: ?HWND,
pfnPropSheetUI: ?PFNPROPSHEETUI,
lParam: LPARAM,
pResult: ?*u32,
) callconv(@import("std").os.windows.WINAPI) i32;
pub extern "compstui" fn CommonPropertySheetUIW(
hWndOwner: ?HWND,
pfnPropSheetUI: ?PFNPROPSHEETUI,
lParam: LPARAM,
pResult: ?*u32,
) callconv(@import("std").os.windows.WINAPI) i32;
pub extern "compstui" fn GetCPSUIUserData(
hDlg: ?HWND,
) callconv(@import("std").os.windows.WINAPI) usize;
pub extern "compstui" fn SetCPSUIUserData(
hDlg: ?HWND,
CPSUIUserData: usize,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn EnumPrintersA(
Flags: u32,
Name: ?PSTR,
Level: u32,
// TODO: what to do with BytesParamIndex 4?
pPrinterEnum: ?*u8,
cbBuf: u32,
pcbNeeded: ?*u32,
pcReturned: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn EnumPrintersW(
Flags: u32,
Name: ?PWSTR,
Level: u32,
// TODO: what to do with BytesParamIndex 4?
pPrinterEnum: ?*u8,
cbBuf: u32,
pcbNeeded: ?*u32,
pcReturned: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn GetSpoolFileHandle(
hPrinter: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) ?HANDLE;
pub extern "winspool.drv" fn CommitSpoolData(
hPrinter: ?HANDLE,
hSpoolFile: ?HANDLE,
cbCommit: u32,
) callconv(@import("std").os.windows.WINAPI) ?HANDLE;
pub extern "winspool.drv" fn CloseSpoolFileHandle(
hPrinter: ?HANDLE,
hSpoolFile: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn OpenPrinterA(
pPrinterName: ?PSTR,
phPrinter: ?*?HANDLE,
pDefault: ?*PRINTER_DEFAULTSA,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn OpenPrinterW(
pPrinterName: ?PWSTR,
phPrinter: ?*?HANDLE,
pDefault: ?*PRINTER_DEFAULTSW,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn ResetPrinterA(
hPrinter: ?HANDLE,
pDefault: ?*PRINTER_DEFAULTSA,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn ResetPrinterW(
hPrinter: ?HANDLE,
pDefault: ?*PRINTER_DEFAULTSW,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn SetJobA(
hPrinter: ?HANDLE,
JobId: u32,
Level: u32,
pJob: ?*u8,
Command: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn SetJobW(
hPrinter: ?HANDLE,
JobId: u32,
Level: u32,
pJob: ?*u8,
Command: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn GetJobA(
hPrinter: ?HANDLE,
JobId: u32,
Level: u32,
// TODO: what to do with BytesParamIndex 4?
pJob: ?*u8,
cbBuf: u32,
pcbNeeded: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn GetJobW(
hPrinter: ?HANDLE,
JobId: u32,
Level: u32,
// TODO: what to do with BytesParamIndex 4?
pJob: ?*u8,
cbBuf: u32,
pcbNeeded: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn EnumJobsA(
hPrinter: ?HANDLE,
FirstJob: u32,
NoJobs: u32,
Level: u32,
// TODO: what to do with BytesParamIndex 5?
pJob: ?*u8,
cbBuf: u32,
pcbNeeded: ?*u32,
pcReturned: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn EnumJobsW(
hPrinter: ?HANDLE,
FirstJob: u32,
NoJobs: u32,
Level: u32,
// TODO: what to do with BytesParamIndex 5?
pJob: ?*u8,
cbBuf: u32,
pcbNeeded: ?*u32,
pcReturned: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn AddPrinterA(
pName: ?PSTR,
Level: u32,
pPrinter: ?*u8,
) callconv(@import("std").os.windows.WINAPI) ?HANDLE;
pub extern "winspool.drv" fn AddPrinterW(
pName: ?PWSTR,
Level: u32,
pPrinter: ?*u8,
) callconv(@import("std").os.windows.WINAPI) ?HANDLE;
pub extern "winspool.drv" fn DeletePrinter(
hPrinter: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn SetPrinterA(
hPrinter: ?HANDLE,
Level: u32,
pPrinter: ?*u8,
Command: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn SetPrinterW(
hPrinter: ?HANDLE,
Level: u32,
pPrinter: ?*u8,
Command: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn GetPrinterA(
hPrinter: ?HANDLE,
Level: u32,
// TODO: what to do with BytesParamIndex 3?
pPrinter: ?*u8,
cbBuf: u32,
pcbNeeded: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn GetPrinterW(
hPrinter: ?HANDLE,
Level: u32,
// TODO: what to do with BytesParamIndex 3?
pPrinter: ?*u8,
cbBuf: u32,
pcbNeeded: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn AddPrinterDriverA(
pName: ?PSTR,
Level: u32,
pDriverInfo: ?*u8,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn AddPrinterDriverW(
pName: ?PWSTR,
Level: u32,
pDriverInfo: ?*u8,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn AddPrinterDriverExA(
pName: ?PSTR,
Level: u32,
lpbDriverInfo: ?*u8,
dwFileCopyFlags: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn AddPrinterDriverExW(
pName: ?PWSTR,
Level: u32,
lpbDriverInfo: ?*u8,
dwFileCopyFlags: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn EnumPrinterDriversA(
pName: ?PSTR,
pEnvironment: ?PSTR,
Level: u32,
// TODO: what to do with BytesParamIndex 4?
pDriverInfo: ?*u8,
cbBuf: u32,
pcbNeeded: ?*u32,
pcReturned: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn EnumPrinterDriversW(
pName: ?PWSTR,
pEnvironment: ?PWSTR,
Level: u32,
// TODO: what to do with BytesParamIndex 4?
pDriverInfo: ?*u8,
cbBuf: u32,
pcbNeeded: ?*u32,
pcReturned: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn GetPrinterDriverA(
hPrinter: ?HANDLE,
pEnvironment: ?PSTR,
Level: u32,
// TODO: what to do with BytesParamIndex 4?
pDriverInfo: ?*u8,
cbBuf: u32,
pcbNeeded: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn GetPrinterDriverW(
hPrinter: ?HANDLE,
pEnvironment: ?PWSTR,
Level: u32,
// TODO: what to do with BytesParamIndex 4?
pDriverInfo: ?*u8,
cbBuf: u32,
pcbNeeded: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn GetPrinterDriverDirectoryA(
pName: ?PSTR,
pEnvironment: ?PSTR,
Level: u32,
// TODO: what to do with BytesParamIndex 4?
pDriverDirectory: ?*u8,
cbBuf: u32,
pcbNeeded: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn GetPrinterDriverDirectoryW(
pName: ?PWSTR,
pEnvironment: ?PWSTR,
Level: u32,
// TODO: what to do with BytesParamIndex 4?
pDriverDirectory: ?*u8,
cbBuf: u32,
pcbNeeded: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn DeletePrinterDriverA(
pName: ?PSTR,
pEnvironment: ?PSTR,
pDriverName: ?PSTR,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn DeletePrinterDriverW(
pName: ?PWSTR,
pEnvironment: ?PWSTR,
pDriverName: ?PWSTR,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn DeletePrinterDriverExA(
pName: ?PSTR,
pEnvironment: ?PSTR,
pDriverName: ?PSTR,
dwDeleteFlag: u32,
dwVersionFlag: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn DeletePrinterDriverExW(
pName: ?PWSTR,
pEnvironment: ?PWSTR,
pDriverName: ?PWSTR,
dwDeleteFlag: u32,
dwVersionFlag: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn AddPrintProcessorA(
pName: ?PSTR,
pEnvironment: ?PSTR,
pPathName: ?PSTR,
pPrintProcessorName: ?PSTR,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn AddPrintProcessorW(
pName: ?PWSTR,
pEnvironment: ?PWSTR,
pPathName: ?PWSTR,
pPrintProcessorName: ?PWSTR,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn EnumPrintProcessorsA(
pName: ?PSTR,
pEnvironment: ?PSTR,
Level: u32,
// TODO: what to do with BytesParamIndex 4?
pPrintProcessorInfo: ?*u8,
cbBuf: u32,
pcbNeeded: ?*u32,
pcReturned: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn EnumPrintProcessorsW(
pName: ?PWSTR,
pEnvironment: ?PWSTR,
Level: u32,
// TODO: what to do with BytesParamIndex 4?
pPrintProcessorInfo: ?*u8,
cbBuf: u32,
pcbNeeded: ?*u32,
pcReturned: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn GetPrintProcessorDirectoryA(
pName: ?PSTR,
pEnvironment: ?PSTR,
Level: u32,
// TODO: what to do with BytesParamIndex 4?
pPrintProcessorInfo: ?*u8,
cbBuf: u32,
pcbNeeded: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn GetPrintProcessorDirectoryW(
pName: ?PWSTR,
pEnvironment: ?PWSTR,
Level: u32,
// TODO: what to do with BytesParamIndex 4?
pPrintProcessorInfo: ?*u8,
cbBuf: u32,
pcbNeeded: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn EnumPrintProcessorDatatypesA(
pName: ?PSTR,
pPrintProcessorName: ?PSTR,
Level: u32,
// TODO: what to do with BytesParamIndex 4?
pDatatypes: ?*u8,
cbBuf: u32,
pcbNeeded: ?*u32,
pcReturned: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn EnumPrintProcessorDatatypesW(
pName: ?PWSTR,
pPrintProcessorName: ?PWSTR,
Level: u32,
// TODO: what to do with BytesParamIndex 4?
pDatatypes: ?*u8,
cbBuf: u32,
pcbNeeded: ?*u32,
pcReturned: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn DeletePrintProcessorA(
pName: ?PSTR,
pEnvironment: ?PSTR,
pPrintProcessorName: ?PSTR,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn DeletePrintProcessorW(
pName: ?PWSTR,
pEnvironment: ?PWSTR,
pPrintProcessorName: ?PWSTR,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn StartDocPrinterA(
hPrinter: ?HANDLE,
Level: u32,
pDocInfo: ?*DOC_INFO_1A,
) callconv(@import("std").os.windows.WINAPI) u32;
pub extern "winspool.drv" fn StartDocPrinterW(
hPrinter: ?HANDLE,
Level: u32,
pDocInfo: ?*DOC_INFO_1W,
) callconv(@import("std").os.windows.WINAPI) u32;
pub extern "winspool.drv" fn StartPagePrinter(
hPrinter: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn WritePrinter(
hPrinter: ?HANDLE,
// TODO: what to do with BytesParamIndex 2?
pBuf: ?*anyopaque,
cbBuf: u32,
pcWritten: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn FlushPrinter(
hPrinter: ?HANDLE,
// TODO: what to do with BytesParamIndex 2?
pBuf: ?*anyopaque,
cbBuf: u32,
pcWritten: ?*u32,
cSleep: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn EndPagePrinter(
hPrinter: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn AbortPrinter(
hPrinter: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn ReadPrinter(
hPrinter: ?HANDLE,
// TODO: what to do with BytesParamIndex 2?
pBuf: ?*anyopaque,
cbBuf: u32,
pNoBytesRead: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn EndDocPrinter(
hPrinter: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn AddJobA(
hPrinter: ?HANDLE,
Level: u32,
// TODO: what to do with BytesParamIndex 3?
pData: ?*u8,
cbBuf: u32,
pcbNeeded: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn AddJobW(
hPrinter: ?HANDLE,
Level: u32,
// TODO: what to do with BytesParamIndex 3?
pData: ?*u8,
cbBuf: u32,
pcbNeeded: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn ScheduleJob(
hPrinter: ?HANDLE,
JobId: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn PrinterProperties(
hWnd: ?HWND,
hPrinter: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn DocumentPropertiesA(
hWnd: ?HWND,
hPrinter: ?HANDLE,
pDeviceName: ?PSTR,
pDevModeOutput: ?*DEVMODEA,
pDevModeInput: ?*DEVMODEA,
fMode: u32,
) callconv(@import("std").os.windows.WINAPI) i32;
pub extern "winspool.drv" fn DocumentPropertiesW(
hWnd: ?HWND,
hPrinter: ?HANDLE,
pDeviceName: ?PWSTR,
pDevModeOutput: ?*DEVMODEW,
pDevModeInput: ?*DEVMODEW,
fMode: u32,
) callconv(@import("std").os.windows.WINAPI) i32;
pub extern "winspool.drv" fn AdvancedDocumentPropertiesA(
hWnd: ?HWND,
hPrinter: ?HANDLE,
pDeviceName: ?PSTR,
pDevModeOutput: ?*DEVMODEA,
pDevModeInput: ?*DEVMODEA,
) callconv(@import("std").os.windows.WINAPI) i32;
pub extern "winspool.drv" fn AdvancedDocumentPropertiesW(
hWnd: ?HWND,
hPrinter: ?HANDLE,
pDeviceName: ?PWSTR,
pDevModeOutput: ?*DEVMODEW,
pDevModeInput: ?*DEVMODEW,
) callconv(@import("std").os.windows.WINAPI) i32;
pub extern "winspool.drv" fn ExtDeviceMode(
hWnd: ?HWND,
hInst: ?HANDLE,
pDevModeOutput: ?*DEVMODEA,
pDeviceName: ?PSTR,
pPort: ?PSTR,
pDevModeInput: ?*DEVMODEA,
pProfile: ?PSTR,
fMode: u32,
) callconv(@import("std").os.windows.WINAPI) i32;
pub extern "winspool.drv" fn GetPrinterDataA(
hPrinter: ?HANDLE,
pValueName: ?PSTR,
pType: ?*u32,
// TODO: what to do with BytesParamIndex 4?
pData: ?*u8,
nSize: u32,
pcbNeeded: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32;
pub extern "winspool.drv" fn GetPrinterDataW(
hPrinter: ?HANDLE,
pValueName: ?PWSTR,
pType: ?*u32,
// TODO: what to do with BytesParamIndex 4?
pData: ?*u8,
nSize: u32,
pcbNeeded: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32;
pub extern "winspool.drv" fn GetPrinterDataExA(
hPrinter: ?HANDLE,
pKeyName: ?[*:0]const u8,
pValueName: ?[*:0]const u8,
pType: ?*u32,
// TODO: what to do with BytesParamIndex 5?
pData: ?*u8,
nSize: u32,
pcbNeeded: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32;
pub extern "winspool.drv" fn GetPrinterDataExW(
hPrinter: ?HANDLE,
pKeyName: ?[*:0]const u16,
pValueName: ?[*:0]const u16,
pType: ?*u32,
// TODO: what to do with BytesParamIndex 5?
pData: ?*u8,
nSize: u32,
pcbNeeded: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32;
pub extern "winspool.drv" fn EnumPrinterDataA(
hPrinter: ?HANDLE,
dwIndex: u32,
// TODO: what to do with BytesParamIndex 3?
pValueName: ?PSTR,
cbValueName: u32,
pcbValueName: ?*u32,
pType: ?*u32,
pData: ?[*:0]u8,
cbData: u32,
pcbData: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32;
pub extern "winspool.drv" fn EnumPrinterDataW(
hPrinter: ?HANDLE,
dwIndex: u32,
// TODO: what to do with BytesParamIndex 3?
pValueName: ?PWSTR,
cbValueName: u32,
pcbValueName: ?*u32,
pType: ?*u32,
pData: ?[*:0]u8,
cbData: u32,
pcbData: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32;
pub extern "winspool.drv" fn EnumPrinterDataExA(
hPrinter: ?HANDLE,
pKeyName: ?[*:0]const u8,
// TODO: what to do with BytesParamIndex 3?
pEnumValues: ?*u8,
cbEnumValues: u32,
pcbEnumValues: ?*u32,
pnEnumValues: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32;
pub extern "winspool.drv" fn EnumPrinterDataExW(
hPrinter: ?HANDLE,
pKeyName: ?[*:0]const u16,
// TODO: what to do with BytesParamIndex 3?
pEnumValues: ?*u8,
cbEnumValues: u32,
pcbEnumValues: ?*u32,
pnEnumValues: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32;
pub extern "winspool.drv" fn EnumPrinterKeyA(
hPrinter: ?HANDLE,
pKeyName: ?[*:0]const u8,
// TODO: what to do with BytesParamIndex 3?
pSubkey: ?PSTR,
cbSubkey: u32,
pcbSubkey: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32;
pub extern "winspool.drv" fn EnumPrinterKeyW(
hPrinter: ?HANDLE,
pKeyName: ?[*:0]const u16,
// TODO: what to do with BytesParamIndex 3?
pSubkey: ?PWSTR,
cbSubkey: u32,
pcbSubkey: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32;
pub extern "winspool.drv" fn SetPrinterDataA(
hPrinter: ?HANDLE,
pValueName: ?PSTR,
Type: u32,
// TODO: what to do with BytesParamIndex 4?
pData: ?*u8,
cbData: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
pub extern "winspool.drv" fn SetPrinterDataW(
hPrinter: ?HANDLE,
pValueName: ?PWSTR,
Type: u32,
// TODO: what to do with BytesParamIndex 4?
pData: ?*u8,
cbData: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
pub extern "winspool.drv" fn SetPrinterDataExA(
hPrinter: ?HANDLE,
pKeyName: ?[*:0]const u8,
pValueName: ?[*:0]const u8,
Type: u32,
// TODO: what to do with BytesParamIndex 5?
pData: ?*u8,
cbData: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
pub extern "winspool.drv" fn SetPrinterDataExW(
hPrinter: ?HANDLE,
pKeyName: ?[*:0]const u16,
pValueName: ?[*:0]const u16,
Type: u32,
// TODO: what to do with BytesParamIndex 5?
pData: ?*u8,
cbData: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
pub extern "winspool.drv" fn DeletePrinterDataA(
hPrinter: ?HANDLE,
pValueName: ?PSTR,
) callconv(@import("std").os.windows.WINAPI) u32;
pub extern "winspool.drv" fn DeletePrinterDataW(
hPrinter: ?HANDLE,
pValueName: ?PWSTR,
) callconv(@import("std").os.windows.WINAPI) u32;
pub extern "winspool.drv" fn DeletePrinterDataExA(
hPrinter: ?HANDLE,
pKeyName: ?[*:0]const u8,
pValueName: ?[*:0]const u8,
) callconv(@import("std").os.windows.WINAPI) u32;
pub extern "winspool.drv" fn DeletePrinterDataExW(
hPrinter: ?HANDLE,
pKeyName: ?[*:0]const u16,
pValueName: ?[*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) u32;
pub extern "winspool.drv" fn DeletePrinterKeyA(
hPrinter: ?HANDLE,
pKeyName: ?[*:0]const u8,
) callconv(@import("std").os.windows.WINAPI) u32;
pub extern "winspool.drv" fn DeletePrinterKeyW(
hPrinter: ?HANDLE,
pKeyName: ?[*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) u32;
pub extern "winspool.drv" fn WaitForPrinterChange(
hPrinter: ?HANDLE,
Flags: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
pub extern "winspool.drv" fn FindFirstPrinterChangeNotification(
hPrinter: ?HANDLE,
fdwFilter: u32,
fdwOptions: u32,
pPrinterNotifyOptions: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) ?HANDLE;
pub extern "winspool.drv" fn FindNextPrinterChangeNotification(
hChange: ?HANDLE,
pdwChange: ?*u32,
pvReserved: ?*anyopaque,
ppPrinterNotifyInfo: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn FreePrinterNotifyInfo(
pPrinterNotifyInfo: ?*PRINTER_NOTIFY_INFO,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn FindClosePrinterChangeNotification(
hChange: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn PrinterMessageBoxA(
hPrinter: ?HANDLE,
Error: u32,
hWnd: ?HWND,
pText: ?PSTR,
pCaption: ?PSTR,
dwType: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
pub extern "winspool.drv" fn PrinterMessageBoxW(
hPrinter: ?HANDLE,
Error: u32,
hWnd: ?HWND,
pText: ?PWSTR,
pCaption: ?PWSTR,
dwType: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
pub extern "winspool.drv" fn ClosePrinter(
hPrinter: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn AddFormA(
hPrinter: ?HANDLE,
Level: u32,
pForm: ?*u8,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn AddFormW(
hPrinter: ?HANDLE,
Level: u32,
pForm: ?*u8,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn DeleteFormA(
hPrinter: ?HANDLE,
pFormName: ?PSTR,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn DeleteFormW(
hPrinter: ?HANDLE,
pFormName: ?PWSTR,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn GetFormA(
hPrinter: ?HANDLE,
pFormName: ?PSTR,
Level: u32,
// TODO: what to do with BytesParamIndex 4?
pForm: ?*u8,
cbBuf: u32,
pcbNeeded: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn GetFormW(
hPrinter: ?HANDLE,
pFormName: ?PWSTR,
Level: u32,
// TODO: what to do with BytesParamIndex 4?
pForm: ?*u8,
cbBuf: u32,
pcbNeeded: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn SetFormA(
hPrinter: ?HANDLE,
pFormName: ?PSTR,
Level: u32,
pForm: ?*u8,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn SetFormW(
hPrinter: ?HANDLE,
pFormName: ?PWSTR,
Level: u32,
pForm: ?*u8,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn EnumFormsA(
hPrinter: ?HANDLE,
Level: u32,
// TODO: what to do with BytesParamIndex 3?
pForm: ?*u8,
cbBuf: u32,
pcbNeeded: ?*u32,
pcReturned: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn EnumFormsW(
hPrinter: ?HANDLE,
Level: u32,
// TODO: what to do with BytesParamIndex 3?
pForm: ?*u8,
cbBuf: u32,
pcbNeeded: ?*u32,
pcReturned: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn EnumMonitorsA(
pName: ?PSTR,
Level: u32,
// TODO: what to do with BytesParamIndex 3?
pMonitor: ?*u8,
cbBuf: u32,
pcbNeeded: ?*u32,
pcReturned: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn EnumMonitorsW(
pName: ?PWSTR,
Level: u32,
// TODO: what to do with BytesParamIndex 3?
pMonitor: ?*u8,
cbBuf: u32,
pcbNeeded: ?*u32,
pcReturned: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn AddMonitorA(
pName: ?PSTR,
Level: u32,
pMonitors: ?*u8,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn AddMonitorW(
pName: ?PWSTR,
Level: u32,
pMonitors: ?*u8,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn DeleteMonitorA(
pName: ?PSTR,
pEnvironment: ?PSTR,
pMonitorName: ?PSTR,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn DeleteMonitorW(
pName: ?PWSTR,
pEnvironment: ?PWSTR,
pMonitorName: ?PWSTR,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn EnumPortsA(
pName: ?PSTR,
Level: u32,
// TODO: what to do with BytesParamIndex 3?
pPort: ?*u8,
cbBuf: u32,
pcbNeeded: ?*u32,
pcReturned: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn EnumPortsW(
pName: ?PWSTR,
Level: u32,
// TODO: what to do with BytesParamIndex 3?
pPort: ?*u8,
cbBuf: u32,
pcbNeeded: ?*u32,
pcReturned: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn AddPortA(
pName: ?PSTR,
hWnd: ?HWND,
pMonitorName: ?PSTR,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn AddPortW(
pName: ?PWSTR,
hWnd: ?HWND,
pMonitorName: ?PWSTR,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn ConfigurePortA(
pName: ?PSTR,
hWnd: ?HWND,
pPortName: ?PSTR,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn ConfigurePortW(
pName: ?PWSTR,
hWnd: ?HWND,
pPortName: ?PWSTR,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn DeletePortA(
pName: ?PSTR,
hWnd: ?HWND,
pPortName: ?PSTR,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn DeletePortW(
pName: ?PWSTR,
hWnd: ?HWND,
pPortName: ?PWSTR,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn XcvDataW(
hXcv: ?HANDLE,
pszDataName: ?[*:0]const u16,
// TODO: what to do with BytesParamIndex 3?
pInputData: ?*u8,
cbInputData: u32,
// TODO: what to do with BytesParamIndex 5?
pOutputData: ?*u8,
cbOutputData: u32,
pcbOutputNeeded: ?*u32,
pdwStatus: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn GetDefaultPrinterA(
pszBuffer: ?[*:0]u8,
pcchBuffer: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn GetDefaultPrinterW(
pszBuffer: ?[*:0]u16,
pcchBuffer: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn SetDefaultPrinterA(
pszPrinter: ?[*:0]const u8,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn SetDefaultPrinterW(
pszPrinter: ?[*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn SetPortA(
pName: ?PSTR,
pPortName: ?PSTR,
dwLevel: u32,
pPortInfo: ?*u8,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn SetPortW(
pName: ?PWSTR,
pPortName: ?PWSTR,
dwLevel: u32,
pPortInfo: ?*u8,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn AddPrinterConnectionA(
pName: ?PSTR,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn AddPrinterConnectionW(
pName: ?PWSTR,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn DeletePrinterConnectionA(
pName: ?PSTR,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn DeletePrinterConnectionW(
pName: ?PWSTR,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn ConnectToPrinterDlg(
hwnd: ?HWND,
Flags: u32,
) callconv(@import("std").os.windows.WINAPI) ?HANDLE;
pub extern "winspool.drv" fn AddPrintProvidorA(
pName: ?PSTR,
Level: u32,
pProvidorInfo: ?*u8,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn AddPrintProvidorW(
pName: ?PWSTR,
Level: u32,
pProvidorInfo: ?*u8,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn DeletePrintProvidorA(
pName: ?PSTR,
pEnvironment: ?PSTR,
pPrintProvidorName: ?PSTR,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn DeletePrintProvidorW(
pName: ?PWSTR,
pEnvironment: ?PWSTR,
pPrintProvidorName: ?PWSTR,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn IsValidDevmodeA(
pDevmode: ?*DEVMODEA,
DevmodeSize: usize,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn IsValidDevmodeW(
pDevmode: ?*DEVMODEW,
DevmodeSize: usize,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn OpenPrinter2A(
pPrinterName: ?[*:0]const u8,
phPrinter: ?*?HANDLE,
pDefault: ?*PRINTER_DEFAULTSA,
pOptions: ?*PRINTER_OPTIONSA,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn OpenPrinter2W(
pPrinterName: ?[*:0]const u16,
phPrinter: ?*?HANDLE,
pDefault: ?*PRINTER_DEFAULTSW,
pOptions: ?*PRINTER_OPTIONSW,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn AddPrinterConnection2A(
hWnd: ?HWND,
pszName: ?[*:0]const u8,
dwLevel: u32,
pConnectionInfo: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn AddPrinterConnection2W(
hWnd: ?HWND,
pszName: ?[*:0]const u16,
dwLevel: u32,
pConnectionInfo: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn InstallPrinterDriverFromPackageA(
pszServer: ?[*:0]const u8,
pszInfPath: ?[*:0]const u8,
pszDriverName: ?[*:0]const u8,
pszEnvironment: ?[*:0]const u8,
dwFlags: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "winspool.drv" fn InstallPrinterDriverFromPackageW(
pszServer: ?[*:0]const u16,
pszInfPath: ?[*:0]const u16,
pszDriverName: ?[*:0]const u16,
pszEnvironment: ?[*:0]const u16,
dwFlags: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "winspool.drv" fn UploadPrinterDriverPackageA(
pszServer: ?[*:0]const u8,
pszInfPath: ?[*:0]const u8,
pszEnvironment: ?[*:0]const u8,
dwFlags: u32,
hwnd: ?HWND,
pszDestInfPath: [*:0]u8,
pcchDestInfPath: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "winspool.drv" fn UploadPrinterDriverPackageW(
pszServer: ?[*:0]const u16,
pszInfPath: ?[*:0]const u16,
pszEnvironment: ?[*:0]const u16,
dwFlags: u32,
hwnd: ?HWND,
pszDestInfPath: [*:0]u16,
pcchDestInfPath: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "winspool.drv" fn GetCorePrinterDriversA(
pszServer: ?[*:0]const u8,
pszEnvironment: ?[*:0]const u8,
pszzCoreDriverDependencies: ?[*:0]const u8,
cCorePrinterDrivers: u32,
pCorePrinterDrivers: [*]CORE_PRINTER_DRIVERA,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "winspool.drv" fn GetCorePrinterDriversW(
pszServer: ?[*:0]const u16,
pszEnvironment: ?[*:0]const u16,
pszzCoreDriverDependencies: ?[*:0]const u16,
cCorePrinterDrivers: u32,
pCorePrinterDrivers: [*]CORE_PRINTER_DRIVERW,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// This function from dll 'winspool.drv' is being skipped because it has some sort of issue
pub fn CorePrinterDriverInstalledA() void { @panic("this function is not working"); }
// This function from dll 'winspool.drv' is being skipped because it has some sort of issue
pub fn CorePrinterDriverInstalledW() void { @panic("this function is not working"); }
pub extern "winspool.drv" fn GetPrinterDriverPackagePathA(
pszServer: ?[*:0]const u8,
pszEnvironment: ?[*:0]const u8,
pszLanguage: ?[*:0]const u8,
pszPackageID: ?[*:0]const u8,
pszDriverPackageCab: ?[*:0]u8,
cchDriverPackageCab: u32,
pcchRequiredSize: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "winspool.drv" fn GetPrinterDriverPackagePathW(
pszServer: ?[*:0]const u16,
pszEnvironment: ?[*:0]const u16,
pszLanguage: ?[*:0]const u16,
pszPackageID: ?[*:0]const u16,
pszDriverPackageCab: ?[*:0]u16,
cchDriverPackageCab: u32,
pcchRequiredSize: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "winspool.drv" fn DeletePrinterDriverPackageA(
pszServer: ?[*:0]const u8,
pszInfPath: ?[*:0]const u8,
pszEnvironment: ?[*:0]const u8,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "winspool.drv" fn DeletePrinterDriverPackageW(
pszServer: ?[*:0]const u16,
pszInfPath: ?[*:0]const u16,
pszEnvironment: ?[*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "winspool.drv" fn ReportJobProcessingProgress(
printerHandle: ?HANDLE,
jobId: u32,
jobOperation: EPrintXPSJobOperation,
jobProgress: EPrintXPSJobProgress,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "winspool.drv" fn GetPrinterDriver2A(
hWnd: ?HWND,
hPrinter: ?HANDLE,
pEnvironment: ?PSTR,
Level: u32,
// TODO: what to do with BytesParamIndex 5?
pDriverInfo: ?*u8,
cbBuf: u32,
pcbNeeded: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn GetPrinterDriver2W(
hWnd: ?HWND,
hPrinter: ?HANDLE,
pEnvironment: ?PWSTR,
Level: u32,
// TODO: what to do with BytesParamIndex 5?
pDriverInfo: ?*u8,
cbBuf: u32,
pcbNeeded: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn GetPrintExecutionData(
pData: ?*PRINT_EXECUTION_DATA,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn GetJobNamedPropertyValue(
hPrinter: ?HANDLE,
JobId: u32,
pszName: ?[*:0]const u16,
pValue: ?*PrintPropertyValue,
) callconv(@import("std").os.windows.WINAPI) u32;
pub extern "winspool.drv" fn FreePrintPropertyValue(
pValue: ?*PrintPropertyValue,
) callconv(@import("std").os.windows.WINAPI) void;
pub extern "winspool.drv" fn FreePrintNamedPropertyArray(
cProperties: u32,
ppProperties: ?[*]?*PrintNamedProperty,
) callconv(@import("std").os.windows.WINAPI) void;
pub extern "winspool.drv" fn SetJobNamedProperty(
hPrinter: ?HANDLE,
JobId: u32,
pProperty: ?*const PrintNamedProperty,
) callconv(@import("std").os.windows.WINAPI) u32;
pub extern "winspool.drv" fn DeleteJobNamedProperty(
hPrinter: ?HANDLE,
JobId: u32,
pszName: ?[*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) u32;
pub extern "winspool.drv" fn EnumJobNamedProperties(
hPrinter: ?HANDLE,
JobId: u32,
pcProperties: ?*u32,
ppProperties: ?*?*PrintNamedProperty,
) callconv(@import("std").os.windows.WINAPI) u32;
pub extern "winspool.drv" fn GetPrintOutputInfo(
hWnd: ?HWND,
pszPrinter: ?[*:0]const u16,
phFile: ?*?HANDLE,
ppszOutputFile: ?*?PWSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "winspool.drv" fn DevQueryPrintEx(
pDQPInfo: ?*DEVQUERYPRINT_INFO,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "winspool.drv" fn RegisterForPrintAsyncNotifications(
pszName: ?[*:0]const u16,
pNotificationType: ?*Guid,
eUserFilter: PrintAsyncNotifyUserFilter,
eConversationStyle: PrintAsyncNotifyConversationStyle,
pCallback: ?*IPrintAsyncNotifyCallback,
phNotify: ?*?HANDLE,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "winspool.drv" fn UnRegisterForPrintAsyncNotifications(
param0: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "winspool.drv" fn CreatePrintAsyncNotifyChannel(
pszName: ?[*:0]const u16,
pNotificationType: ?*Guid,
eUserFilter: PrintAsyncNotifyUserFilter,
eConversationStyle: PrintAsyncNotifyConversationStyle,
pCallback: ?*IPrintAsyncNotifyCallback,
ppIAsynchNotification: ?*?*IPrintAsyncNotifyChannel,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "gdi32" fn GdiGetSpoolFileHandle(
pwszPrinterName: ?PWSTR,
pDevmode: ?*DEVMODEW,
pwszDocName: ?PWSTR,
) callconv(@import("std").os.windows.WINAPI) ?HANDLE;
pub extern "gdi32" fn GdiDeleteSpoolFileHandle(
SpoolFileHandle: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "gdi32" fn GdiGetPageCount(
SpoolFileHandle: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) u32;
pub extern "gdi32" fn GdiGetDC(
SpoolFileHandle: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) ?HDC;
pub extern "gdi32" fn GdiGetPageHandle(
SpoolFileHandle: ?HANDLE,
Page: u32,
pdwPageType: ?*u32,
) callconv(@import("std").os.windows.WINAPI) ?HANDLE;
pub extern "gdi32" fn GdiStartDocEMF(
SpoolFileHandle: ?HANDLE,
pDocInfo: ?*DOCINFOW,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "gdi32" fn GdiStartPageEMF(
SpoolFileHandle: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "gdi32" fn GdiPlayPageEMF(
SpoolFileHandle: ?HANDLE,
hemf: ?HANDLE,
prectDocument: ?*RECT,
prectBorder: ?*RECT,
prectClip: ?*RECT,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "gdi32" fn GdiEndPageEMF(
SpoolFileHandle: ?HANDLE,
dwOptimization: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "gdi32" fn GdiEndDocEMF(
SpoolFileHandle: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "gdi32" fn GdiGetDevmodeForPage(
SpoolFileHandle: ?HANDLE,
dwPageNumber: u32,
pCurrDM: ?*?*DEVMODEW,
pLastDM: ?*?*DEVMODEW,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "gdi32" fn GdiResetDCEMF(
SpoolFileHandle: ?HANDLE,
pCurrDM: ?*DEVMODEW,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "spoolss" fn GetJobAttributes(
pPrinterName: ?PWSTR,
pDevmode: ?*DEVMODEW,
pAttributeInfo: ?*ATTRIBUTE_INFO_3,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "spoolss" fn GetJobAttributesEx(
pPrinterName: ?PWSTR,
pDevmode: ?*DEVMODEW,
dwLevel: u32,
// TODO: what to do with BytesParamIndex 4?
pAttributeInfo: ?*u8,
nSize: u32,
dwFlags: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn CreatePrinterIC(
hPrinter: ?HANDLE,
pDevMode: ?*DEVMODEW,
) callconv(@import("std").os.windows.WINAPI) ?HANDLE;
pub extern "winspool.drv" fn PlayGdiScriptOnPrinterIC(
hPrinterIC: ?HANDLE,
// TODO: what to do with BytesParamIndex 2?
pIn: ?*u8,
cIn: u32,
// TODO: what to do with BytesParamIndex 4?
pOut: ?*u8,
cOut: u32,
ul: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn DeletePrinterIC(
hPrinterIC: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "winspool.drv" fn DevQueryPrint(
hPrinter: ?HANDLE,
pDevMode: ?*DEVMODEA,
pResID: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "spoolss" fn RevertToPrinterSelf(
) callconv(@import("std").os.windows.WINAPI) ?HANDLE;
pub extern "spoolss" fn ImpersonatePrinterClient(
hToken: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "spoolss" fn ReplyPrinterChangeNotification(
hPrinter: ?HANDLE,
fdwChangeFlags: u32,
pdwResult: ?*u32,
pPrinterNotifyInfo: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "spoolss" fn ReplyPrinterChangeNotificationEx(
hNotify: ?HANDLE,
dwColor: u32,
fdwFlags: u32,
pdwResult: ?*u32,
pPrinterNotifyInfo: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "spoolss" fn PartialReplyPrinterChangeNotification(
hPrinter: ?HANDLE,
pDataSrc: ?*PRINTER_NOTIFY_INFO_DATA,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "spoolss" fn RouterAllocPrinterNotifyInfo(
cPrinterNotifyInfoData: u32,
) callconv(@import("std").os.windows.WINAPI) ?*PRINTER_NOTIFY_INFO;
pub extern "spoolss" fn RouterFreePrinterNotifyInfo(
pInfo: ?*PRINTER_NOTIFY_INFO,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "spoolss" fn RouterAllocBidiResponseContainer(
Count: u32,
) callconv(@import("std").os.windows.WINAPI) ?*BIDI_RESPONSE_CONTAINER;
pub extern "spoolss" fn RouterAllocBidiMem(
NumBytes: usize,
) callconv(@import("std").os.windows.WINAPI) ?*anyopaque;
pub extern "winspool.drv" fn RouterFreeBidiResponseContainer(
pData: ?*BIDI_RESPONSE_CONTAINER,
) callconv(@import("std").os.windows.WINAPI) u32;
pub extern "spoolss" fn RouterFreeBidiMem(
pMemPointer: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) void;
pub extern "spoolss" fn AppendPrinterNotifyInfoData(
pInfoDest: ?*PRINTER_NOTIFY_INFO,
pDataSrc: ?*PRINTER_NOTIFY_INFO_DATA,
fdwFlags: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "spoolss" fn CallRouterFindFirstPrinterChangeNotification(
hPrinterRPC: ?HANDLE,
fdwFilterFlags: u32,
fdwOptions: u32,
hNotify: ?HANDLE,
pPrinterNotifyOptions: ?*PRINTER_NOTIFY_OPTIONS,
) callconv(@import("std").os.windows.WINAPI) u32;
pub extern "spoolss" fn ProvidorFindFirstPrinterChangeNotification(
hPrinter: ?HANDLE,
fdwFlags: u32,
fdwOptions: u32,
hNotify: ?HANDLE,
pPrinterNotifyOptions: ?*anyopaque,
pvReserved1: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "spoolss" fn ProvidorFindClosePrinterChangeNotification(
hPrinter: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "spoolss" fn SpoolerFindFirstPrinterChangeNotification(
hPrinter: ?HANDLE,
fdwFilterFlags: u32,
fdwOptions: u32,
pPrinterNotifyOptions: ?*anyopaque,
pvReserved: ?*anyopaque,
pNotificationConfig: ?*anyopaque,
phNotify: ?*?HANDLE,
phEvent: ?*?HANDLE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "spoolss" fn SpoolerFindNextPrinterChangeNotification(
hPrinter: ?HANDLE,
pfdwChange: ?*u32,
pPrinterNotifyOptions: ?*anyopaque,
ppPrinterNotifyInfo: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "spoolss" fn SpoolerRefreshPrinterChangeNotification(
hPrinter: ?HANDLE,
dwColor: u32,
pOptions: ?*PRINTER_NOTIFY_OPTIONS,
ppInfo: ?*?*PRINTER_NOTIFY_INFO,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "spoolss" fn SpoolerFreePrinterNotifyInfo(
pInfo: ?*PRINTER_NOTIFY_INFO,
) callconv(@import("std").os.windows.WINAPI) void;
pub extern "spoolss" fn SpoolerFindClosePrinterChangeNotification(
hPrinter: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "mscms" fn SpoolerCopyFileEvent(
pszPrinterName: ?PWSTR,
pszKey: ?PWSTR,
dwCopyFileEvent: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "mscms" fn GenerateCopyFilePaths(
pszPrinterName: ?[*:0]const u16,
pszDirectory: ?[*:0]const u16,
pSplClientInfo: ?*u8,
dwLevel: u32,
pszSourceDir: [*:0]u16,
pcchSourceDirSize: ?*u32,
pszTargetDir: [*:0]u16,
pcchTargetDirSize: ?*u32,
dwFlags: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
pub extern "spoolss" fn SplPromptUIInUsersSession(
hPrinter: ?HANDLE,
JobId: u32,
pUIParams: ?*SHOWUIPARAMS,
pResponse: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "spoolss" fn SplIsSessionZero(
hPrinter: ?HANDLE,
JobId: u32,
pIsSessionZero: ?*BOOL,
) callconv(@import("std").os.windows.WINAPI) u32;
pub extern "spoolss" fn AddPrintDeviceObject(
hPrinter: ?HANDLE,
phDeviceObject: ?*?HANDLE,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "spoolss" fn UpdatePrintDeviceObject(
hPrinter: ?HANDLE,
hDeviceObject: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "spoolss" fn RemovePrintDeviceObject(
hDeviceObject: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
//--------------------------------------------------------------------------------
// Section: Unicode Aliases (103)
//--------------------------------------------------------------------------------
const thismodule = @This();
pub usingnamespace switch (@import("../zig.zig").unicode_mode) {
.ansi => struct {
pub const PRINTER_INFO_1 = thismodule.PRINTER_INFO_1A;
pub const PRINTER_INFO_2 = thismodule.PRINTER_INFO_2A;
pub const PRINTER_INFO_4 = thismodule.PRINTER_INFO_4A;
pub const PRINTER_INFO_5 = thismodule.PRINTER_INFO_5A;
pub const PRINTER_INFO_7 = thismodule.PRINTER_INFO_7A;
pub const PRINTER_INFO_8 = thismodule.PRINTER_INFO_8A;
pub const PRINTER_INFO_9 = thismodule.PRINTER_INFO_9A;
pub const JOB_INFO_1 = thismodule.JOB_INFO_1A;
pub const JOB_INFO_2 = thismodule.JOB_INFO_2A;
pub const JOB_INFO_4 = thismodule.JOB_INFO_4A;
pub const ADDJOB_INFO_1 = thismodule.ADDJOB_INFO_1A;
pub const DRIVER_INFO_1 = thismodule.DRIVER_INFO_1A;
pub const DRIVER_INFO_2 = thismodule.DRIVER_INFO_2A;
pub const DRIVER_INFO_3 = thismodule.DRIVER_INFO_3A;
pub const DRIVER_INFO_4 = thismodule.DRIVER_INFO_4A;
pub const DRIVER_INFO_5 = thismodule.DRIVER_INFO_5A;
pub const DRIVER_INFO_6 = thismodule.DRIVER_INFO_6A;
pub const DRIVER_INFO_8 = thismodule.DRIVER_INFO_8A;
pub const DOC_INFO_1 = thismodule.DOC_INFO_1A;
pub const FORM_INFO_1 = thismodule.FORM_INFO_1A;
pub const FORM_INFO_2 = thismodule.FORM_INFO_2A;
pub const DOC_INFO_2 = thismodule.DOC_INFO_2A;
pub const DOC_INFO_3 = thismodule.DOC_INFO_3A;
pub const PRINTPROCESSOR_INFO_1 = thismodule.PRINTPROCESSOR_INFO_1A;
pub const PORT_INFO_1 = thismodule.PORT_INFO_1A;
pub const PORT_INFO_2 = thismodule.PORT_INFO_2A;
pub const PORT_INFO_3 = thismodule.PORT_INFO_3A;
pub const MONITOR_INFO_1 = thismodule.MONITOR_INFO_1A;
pub const MONITOR_INFO_2 = thismodule.MONITOR_INFO_2A;
pub const DATATYPES_INFO_1 = thismodule.DATATYPES_INFO_1A;
pub const PRINTER_DEFAULTS = thismodule.PRINTER_DEFAULTSA;
pub const PRINTER_ENUM_VALUES = thismodule.PRINTER_ENUM_VALUESA;
pub const PROVIDOR_INFO_1 = thismodule.PROVIDOR_INFO_1A;
pub const PROVIDOR_INFO_2 = thismodule.PROVIDOR_INFO_2A;
pub const PRINTER_OPTIONS = thismodule.PRINTER_OPTIONSA;
pub const PRINTER_CONNECTION_INFO_1 = thismodule.PRINTER_CONNECTION_INFO_1A;
pub const CORE_PRINTER_DRIVER = thismodule.CORE_PRINTER_DRIVERA;
pub const CommonPropertySheetUI = thismodule.CommonPropertySheetUIA;
pub const EnumPrinters = thismodule.EnumPrintersA;
pub const OpenPrinter = thismodule.OpenPrinterA;
pub const ResetPrinter = thismodule.ResetPrinterA;
pub const SetJob = thismodule.SetJobA;
pub const GetJob = thismodule.GetJobA;
pub const EnumJobs = thismodule.EnumJobsA;
pub const AddPrinter = thismodule.AddPrinterA;
pub const SetPrinter = thismodule.SetPrinterA;
pub const GetPrinter = thismodule.GetPrinterA;
pub const AddPrinterDriver = thismodule.AddPrinterDriverA;
pub const AddPrinterDriverEx = thismodule.AddPrinterDriverExA;
pub const EnumPrinterDrivers = thismodule.EnumPrinterDriversA;
pub const GetPrinterDriver = thismodule.GetPrinterDriverA;
pub const GetPrinterDriverDirectory = thismodule.GetPrinterDriverDirectoryA;
pub const DeletePrinterDriver = thismodule.DeletePrinterDriverA;
pub const DeletePrinterDriverEx = thismodule.DeletePrinterDriverExA;
pub const AddPrintProcessor = thismodule.AddPrintProcessorA;
pub const EnumPrintProcessors = thismodule.EnumPrintProcessorsA;
pub const GetPrintProcessorDirectory = thismodule.GetPrintProcessorDirectoryA;
pub const EnumPrintProcessorDatatypes = thismodule.EnumPrintProcessorDatatypesA;
pub const DeletePrintProcessor = thismodule.DeletePrintProcessorA;
pub const StartDocPrinter = thismodule.StartDocPrinterA;
pub const AddJob = thismodule.AddJobA;
pub const DocumentProperties = thismodule.DocumentPropertiesA;
pub const AdvancedDocumentProperties = thismodule.AdvancedDocumentPropertiesA;
pub const GetPrinterData = thismodule.GetPrinterDataA;
pub const GetPrinterDataEx = thismodule.GetPrinterDataExA;
pub const EnumPrinterData = thismodule.EnumPrinterDataA;
pub const EnumPrinterDataEx = thismodule.EnumPrinterDataExA;
pub const EnumPrinterKey = thismodule.EnumPrinterKeyA;
pub const SetPrinterData = thismodule.SetPrinterDataA;
pub const SetPrinterDataEx = thismodule.SetPrinterDataExA;
pub const DeletePrinterData = thismodule.DeletePrinterDataA;
pub const DeletePrinterDataEx = thismodule.DeletePrinterDataExA;
pub const DeletePrinterKey = thismodule.DeletePrinterKeyA;
pub const PrinterMessageBox = thismodule.PrinterMessageBoxA;
pub const AddForm = thismodule.AddFormA;
pub const DeleteForm = thismodule.DeleteFormA;
pub const GetForm = thismodule.GetFormA;
pub const SetForm = thismodule.SetFormA;
pub const EnumForms = thismodule.EnumFormsA;
pub const EnumMonitors = thismodule.EnumMonitorsA;
pub const AddMonitor = thismodule.AddMonitorA;
pub const DeleteMonitor = thismodule.DeleteMonitorA;
pub const EnumPorts = thismodule.EnumPortsA;
pub const AddPort = thismodule.AddPortA;
pub const ConfigurePort = thismodule.ConfigurePortA;
pub const DeletePort = thismodule.DeletePortA;
pub const GetDefaultPrinter = thismodule.GetDefaultPrinterA;
pub const SetDefaultPrinter = thismodule.SetDefaultPrinterA;
pub const SetPort = thismodule.SetPortA;
pub const AddPrinterConnection = thismodule.AddPrinterConnectionA;
pub const DeletePrinterConnection = thismodule.DeletePrinterConnectionA;
pub const AddPrintProvidor = thismodule.AddPrintProvidorA;
pub const DeletePrintProvidor = thismodule.DeletePrintProvidorA;
pub const IsValidDevmode = thismodule.IsValidDevmodeA;
pub const OpenPrinter2 = thismodule.OpenPrinter2A;
pub const AddPrinterConnection2 = thismodule.AddPrinterConnection2A;
pub const InstallPrinterDriverFromPackage = thismodule.InstallPrinterDriverFromPackageA;
pub const UploadPrinterDriverPackage = thismodule.UploadPrinterDriverPackageA;
pub const GetCorePrinterDrivers = thismodule.GetCorePrinterDriversA;
pub const CorePrinterDriverInstalled = thismodule.CorePrinterDriverInstalledA;
pub const GetPrinterDriverPackagePath = thismodule.GetPrinterDriverPackagePathA;
pub const DeletePrinterDriverPackage = thismodule.DeletePrinterDriverPackageA;
pub const GetPrinterDriver2 = thismodule.GetPrinterDriver2A;
},
.wide => struct {
pub const PRINTER_INFO_1 = thismodule.PRINTER_INFO_1W;
pub const PRINTER_INFO_2 = thismodule.PRINTER_INFO_2W;
pub const PRINTER_INFO_4 = thismodule.PRINTER_INFO_4W;
pub const PRINTER_INFO_5 = thismodule.PRINTER_INFO_5W;
pub const PRINTER_INFO_7 = thismodule.PRINTER_INFO_7W;
pub const PRINTER_INFO_8 = thismodule.PRINTER_INFO_8W;
pub const PRINTER_INFO_9 = thismodule.PRINTER_INFO_9W;
pub const JOB_INFO_1 = thismodule.JOB_INFO_1W;
pub const JOB_INFO_2 = thismodule.JOB_INFO_2W;
pub const JOB_INFO_4 = thismodule.JOB_INFO_4W;
pub const ADDJOB_INFO_1 = thismodule.ADDJOB_INFO_1W;
pub const DRIVER_INFO_1 = thismodule.DRIVER_INFO_1W;
pub const DRIVER_INFO_2 = thismodule.DRIVER_INFO_2W;
pub const DRIVER_INFO_3 = thismodule.DRIVER_INFO_3W;
pub const DRIVER_INFO_4 = thismodule.DRIVER_INFO_4W;
pub const DRIVER_INFO_5 = thismodule.DRIVER_INFO_5W;
pub const DRIVER_INFO_6 = thismodule.DRIVER_INFO_6W;
pub const DRIVER_INFO_8 = thismodule.DRIVER_INFO_8W;
pub const DOC_INFO_1 = thismodule.DOC_INFO_1W;
pub const FORM_INFO_1 = thismodule.FORM_INFO_1W;
pub const FORM_INFO_2 = thismodule.FORM_INFO_2W;
pub const DOC_INFO_2 = thismodule.DOC_INFO_2W;
pub const DOC_INFO_3 = thismodule.DOC_INFO_3W;
pub const PRINTPROCESSOR_INFO_1 = thismodule.PRINTPROCESSOR_INFO_1W;
pub const PORT_INFO_1 = thismodule.PORT_INFO_1W;
pub const PORT_INFO_2 = thismodule.PORT_INFO_2W;
pub const PORT_INFO_3 = thismodule.PORT_INFO_3W;
pub const MONITOR_INFO_1 = thismodule.MONITOR_INFO_1W;
pub const MONITOR_INFO_2 = thismodule.MONITOR_INFO_2W;
pub const DATATYPES_INFO_1 = thismodule.DATATYPES_INFO_1W;
pub const PRINTER_DEFAULTS = thismodule.PRINTER_DEFAULTSW;
pub const PRINTER_ENUM_VALUES = thismodule.PRINTER_ENUM_VALUESW;
pub const PROVIDOR_INFO_1 = thismodule.PROVIDOR_INFO_1W;
pub const PROVIDOR_INFO_2 = thismodule.PROVIDOR_INFO_2W;
pub const PRINTER_OPTIONS = thismodule.PRINTER_OPTIONSW;
pub const PRINTER_CONNECTION_INFO_1 = thismodule.PRINTER_CONNECTION_INFO_1W;
pub const CORE_PRINTER_DRIVER = thismodule.CORE_PRINTER_DRIVERW;
pub const CommonPropertySheetUI = thismodule.CommonPropertySheetUIW;
pub const EnumPrinters = thismodule.EnumPrintersW;
pub const OpenPrinter = thismodule.OpenPrinterW;
pub const ResetPrinter = thismodule.ResetPrinterW;
pub const SetJob = thismodule.SetJobW;
pub const GetJob = thismodule.GetJobW;
pub const EnumJobs = thismodule.EnumJobsW;
pub const AddPrinter = thismodule.AddPrinterW;
pub const SetPrinter = thismodule.SetPrinterW;
pub const GetPrinter = thismodule.GetPrinterW;
pub const AddPrinterDriver = thismodule.AddPrinterDriverW;
pub const AddPrinterDriverEx = thismodule.AddPrinterDriverExW;
pub const EnumPrinterDrivers = thismodule.EnumPrinterDriversW;
pub const GetPrinterDriver = thismodule.GetPrinterDriverW;
pub const GetPrinterDriverDirectory = thismodule.GetPrinterDriverDirectoryW;
pub const DeletePrinterDriver = thismodule.DeletePrinterDriverW;
pub const DeletePrinterDriverEx = thismodule.DeletePrinterDriverExW;
pub const AddPrintProcessor = thismodule.AddPrintProcessorW;
pub const EnumPrintProcessors = thismodule.EnumPrintProcessorsW;
pub const GetPrintProcessorDirectory = thismodule.GetPrintProcessorDirectoryW;
pub const EnumPrintProcessorDatatypes = thismodule.EnumPrintProcessorDatatypesW;
pub const DeletePrintProcessor = thismodule.DeletePrintProcessorW;
pub const StartDocPrinter = thismodule.StartDocPrinterW;
pub const AddJob = thismodule.AddJobW;
pub const DocumentProperties = thismodule.DocumentPropertiesW;
pub const AdvancedDocumentProperties = thismodule.AdvancedDocumentPropertiesW;
pub const GetPrinterData = thismodule.GetPrinterDataW;
pub const GetPrinterDataEx = thismodule.GetPrinterDataExW;
pub const EnumPrinterData = thismodule.EnumPrinterDataW;
pub const EnumPrinterDataEx = thismodule.EnumPrinterDataExW;
pub const EnumPrinterKey = thismodule.EnumPrinterKeyW;
pub const SetPrinterData = thismodule.SetPrinterDataW;
pub const SetPrinterDataEx = thismodule.SetPrinterDataExW;
pub const DeletePrinterData = thismodule.DeletePrinterDataW;
pub const DeletePrinterDataEx = thismodule.DeletePrinterDataExW;
pub const DeletePrinterKey = thismodule.DeletePrinterKeyW;
pub const PrinterMessageBox = thismodule.PrinterMessageBoxW;
pub const AddForm = thismodule.AddFormW;
pub const DeleteForm = thismodule.DeleteFormW;
pub const GetForm = thismodule.GetFormW;
pub const SetForm = thismodule.SetFormW;
pub const EnumForms = thismodule.EnumFormsW;
pub const EnumMonitors = thismodule.EnumMonitorsW;
pub const AddMonitor = thismodule.AddMonitorW;
pub const DeleteMonitor = thismodule.DeleteMonitorW;
pub const EnumPorts = thismodule.EnumPortsW;
pub const AddPort = thismodule.AddPortW;
pub const ConfigurePort = thismodule.ConfigurePortW;
pub const DeletePort = thismodule.DeletePortW;
pub const GetDefaultPrinter = thismodule.GetDefaultPrinterW;
pub const SetDefaultPrinter = thismodule.SetDefaultPrinterW;
pub const SetPort = thismodule.SetPortW;
pub const AddPrinterConnection = thismodule.AddPrinterConnectionW;
pub const DeletePrinterConnection = thismodule.DeletePrinterConnectionW;
pub const AddPrintProvidor = thismodule.AddPrintProvidorW;
pub const DeletePrintProvidor = thismodule.DeletePrintProvidorW;
pub const IsValidDevmode = thismodule.IsValidDevmodeW;
pub const OpenPrinter2 = thismodule.OpenPrinter2W;
pub const AddPrinterConnection2 = thismodule.AddPrinterConnection2W;
pub const InstallPrinterDriverFromPackage = thismodule.InstallPrinterDriverFromPackageW;
pub const UploadPrinterDriverPackage = thismodule.UploadPrinterDriverPackageW;
pub const GetCorePrinterDrivers = thismodule.GetCorePrinterDriversW;
pub const CorePrinterDriverInstalled = thismodule.CorePrinterDriverInstalledW;
pub const GetPrinterDriverPackagePath = thismodule.GetPrinterDriverPackagePathW;
pub const DeletePrinterDriverPackage = thismodule.DeletePrinterDriverPackageW;
pub const GetPrinterDriver2 = thismodule.GetPrinterDriver2W;
},
.unspecified => if (@import("builtin").is_test) struct {
pub const PRINTER_INFO_1 = *opaque{};
pub const PRINTER_INFO_2 = *opaque{};
pub const PRINTER_INFO_4 = *opaque{};
pub const PRINTER_INFO_5 = *opaque{};
pub const PRINTER_INFO_7 = *opaque{};
pub const PRINTER_INFO_8 = *opaque{};
pub const PRINTER_INFO_9 = *opaque{};
pub const JOB_INFO_1 = *opaque{};
pub const JOB_INFO_2 = *opaque{};
pub const JOB_INFO_4 = *opaque{};
pub const ADDJOB_INFO_1 = *opaque{};
pub const DRIVER_INFO_1 = *opaque{};
pub const DRIVER_INFO_2 = *opaque{};
pub const DRIVER_INFO_3 = *opaque{};
pub const DRIVER_INFO_4 = *opaque{};
pub const DRIVER_INFO_5 = *opaque{};
pub const DRIVER_INFO_6 = *opaque{};
pub const DRIVER_INFO_8 = *opaque{};
pub const DOC_INFO_1 = *opaque{};
pub const FORM_INFO_1 = *opaque{};
pub const FORM_INFO_2 = *opaque{};
pub const DOC_INFO_2 = *opaque{};
pub const DOC_INFO_3 = *opaque{};
pub const PRINTPROCESSOR_INFO_1 = *opaque{};
pub const PORT_INFO_1 = *opaque{};
pub const PORT_INFO_2 = *opaque{};
pub const PORT_INFO_3 = *opaque{};
pub const MONITOR_INFO_1 = *opaque{};
pub const MONITOR_INFO_2 = *opaque{};
pub const DATATYPES_INFO_1 = *opaque{};
pub const PRINTER_DEFAULTS = *opaque{};
pub const PRINTER_ENUM_VALUES = *opaque{};
pub const PROVIDOR_INFO_1 = *opaque{};
pub const PROVIDOR_INFO_2 = *opaque{};
pub const PRINTER_OPTIONS = *opaque{};
pub const PRINTER_CONNECTION_INFO_1 = *opaque{};
pub const CORE_PRINTER_DRIVER = *opaque{};
pub const CommonPropertySheetUI = *opaque{};
pub const EnumPrinters = *opaque{};
pub const OpenPrinter = *opaque{};
pub const ResetPrinter = *opaque{};
pub const SetJob = *opaque{};
pub const GetJob = *opaque{};
pub const EnumJobs = *opaque{};
pub const AddPrinter = *opaque{};
pub const SetPrinter = *opaque{};
pub const GetPrinter = *opaque{};
pub const AddPrinterDriver = *opaque{};
pub const AddPrinterDriverEx = *opaque{};
pub const EnumPrinterDrivers = *opaque{};
pub const GetPrinterDriver = *opaque{};
pub const GetPrinterDriverDirectory = *opaque{};
pub const DeletePrinterDriver = *opaque{};
pub const DeletePrinterDriverEx = *opaque{};
pub const AddPrintProcessor = *opaque{};
pub const EnumPrintProcessors = *opaque{};
pub const GetPrintProcessorDirectory = *opaque{};
pub const EnumPrintProcessorDatatypes = *opaque{};
pub const DeletePrintProcessor = *opaque{};
pub const StartDocPrinter = *opaque{};
pub const AddJob = *opaque{};
pub const DocumentProperties = *opaque{};
pub const AdvancedDocumentProperties = *opaque{};
pub const GetPrinterData = *opaque{};
pub const GetPrinterDataEx = *opaque{};
pub const EnumPrinterData = *opaque{};
pub const EnumPrinterDataEx = *opaque{};
pub const EnumPrinterKey = *opaque{};
pub const SetPrinterData = *opaque{};
pub const SetPrinterDataEx = *opaque{};
pub const DeletePrinterData = *opaque{};
pub const DeletePrinterDataEx = *opaque{};
pub const DeletePrinterKey = *opaque{};
pub const PrinterMessageBox = *opaque{};
pub const AddForm = *opaque{};
pub const DeleteForm = *opaque{};
pub const GetForm = *opaque{};
pub const SetForm = *opaque{};
pub const EnumForms = *opaque{};
pub const EnumMonitors = *opaque{};
pub const AddMonitor = *opaque{};
pub const DeleteMonitor = *opaque{};
pub const EnumPorts = *opaque{};
pub const AddPort = *opaque{};
pub const ConfigurePort = *opaque{};
pub const DeletePort = *opaque{};
pub const GetDefaultPrinter = *opaque{};
pub const SetDefaultPrinter = *opaque{};
pub const SetPort = *opaque{};
pub const AddPrinterConnection = *opaque{};
pub const DeletePrinterConnection = *opaque{};
pub const AddPrintProvidor = *opaque{};
pub const DeletePrintProvidor = *opaque{};
pub const IsValidDevmode = *opaque{};
pub const OpenPrinter2 = *opaque{};
pub const AddPrinterConnection2 = *opaque{};
pub const InstallPrinterDriverFromPackage = *opaque{};
pub const UploadPrinterDriverPackage = *opaque{};
pub const GetCorePrinterDrivers = *opaque{};
pub const CorePrinterDriverInstalled = *opaque{};
pub const GetPrinterDriverPackagePath = *opaque{};
pub const DeletePrinterDriverPackage = *opaque{};
pub const GetPrinterDriver2 = *opaque{};
} else struct {
pub const PRINTER_INFO_1 = @compileError("'PRINTER_INFO_1' requires that UNICODE be set to true or false in the root module");
pub const PRINTER_INFO_2 = @compileError("'PRINTER_INFO_2' requires that UNICODE be set to true or false in the root module");
pub const PRINTER_INFO_4 = @compileError("'PRINTER_INFO_4' requires that UNICODE be set to true or false in the root module");
pub const PRINTER_INFO_5 = @compileError("'PRINTER_INFO_5' requires that UNICODE be set to true or false in the root module");
pub const PRINTER_INFO_7 = @compileError("'PRINTER_INFO_7' requires that UNICODE be set to true or false in the root module");
pub const PRINTER_INFO_8 = @compileError("'PRINTER_INFO_8' requires that UNICODE be set to true or false in the root module");
pub const PRINTER_INFO_9 = @compileError("'PRINTER_INFO_9' requires that UNICODE be set to true or false in the root module");
pub const JOB_INFO_1 = @compileError("'JOB_INFO_1' requires that UNICODE be set to true or false in the root module");
pub const JOB_INFO_2 = @compileError("'JOB_INFO_2' requires that UNICODE be set to true or false in the root module");
pub const JOB_INFO_4 = @compileError("'JOB_INFO_4' requires that UNICODE be set to true or false in the root module");
pub const ADDJOB_INFO_1 = @compileError("'ADDJOB_INFO_1' requires that UNICODE be set to true or false in the root module");
pub const DRIVER_INFO_1 = @compileError("'DRIVER_INFO_1' requires that UNICODE be set to true or false in the root module");
pub const DRIVER_INFO_2 = @compileError("'DRIVER_INFO_2' requires that UNICODE be set to true or false in the root module");
pub const DRIVER_INFO_3 = @compileError("'DRIVER_INFO_3' requires that UNICODE be set to true or false in the root module");
pub const DRIVER_INFO_4 = @compileError("'DRIVER_INFO_4' requires that UNICODE be set to true or false in the root module");
pub const DRIVER_INFO_5 = @compileError("'DRIVER_INFO_5' requires that UNICODE be set to true or false in the root module");
pub const DRIVER_INFO_6 = @compileError("'DRIVER_INFO_6' requires that UNICODE be set to true or false in the root module");
pub const DRIVER_INFO_8 = @compileError("'DRIVER_INFO_8' requires that UNICODE be set to true or false in the root module");
pub const DOC_INFO_1 = @compileError("'DOC_INFO_1' requires that UNICODE be set to true or false in the root module");
pub const FORM_INFO_1 = @compileError("'FORM_INFO_1' requires that UNICODE be set to true or false in the root module");
pub const FORM_INFO_2 = @compileError("'FORM_INFO_2' requires that UNICODE be set to true or false in the root module");
pub const DOC_INFO_2 = @compileError("'DOC_INFO_2' requires that UNICODE be set to true or false in the root module");
pub const DOC_INFO_3 = @compileError("'DOC_INFO_3' requires that UNICODE be set to true or false in the root module");
pub const PRINTPROCESSOR_INFO_1 = @compileError("'PRINTPROCESSOR_INFO_1' requires that UNICODE be set to true or false in the root module");
pub const PORT_INFO_1 = @compileError("'PORT_INFO_1' requires that UNICODE be set to true or false in the root module");
pub const PORT_INFO_2 = @compileError("'PORT_INFO_2' requires that UNICODE be set to true or false in the root module");
pub const PORT_INFO_3 = @compileError("'PORT_INFO_3' requires that UNICODE be set to true or false in the root module");
pub const MONITOR_INFO_1 = @compileError("'MONITOR_INFO_1' requires that UNICODE be set to true or false in the root module");
pub const MONITOR_INFO_2 = @compileError("'MONITOR_INFO_2' requires that UNICODE be set to true or false in the root module");
pub const DATATYPES_INFO_1 = @compileError("'DATATYPES_INFO_1' requires that UNICODE be set to true or false in the root module");
pub const PRINTER_DEFAULTS = @compileError("'PRINTER_DEFAULTS' requires that UNICODE be set to true or false in the root module");
pub const PRINTER_ENUM_VALUES = @compileError("'PRINTER_ENUM_VALUES' requires that UNICODE be set to true or false in the root module");
pub const PROVIDOR_INFO_1 = @compileError("'PROVIDOR_INFO_1' requires that UNICODE be set to true or false in the root module");
pub const PROVIDOR_INFO_2 = @compileError("'PROVIDOR_INFO_2' requires that UNICODE be set to true or false in the root module");
pub const PRINTER_OPTIONS = @compileError("'PRINTER_OPTIONS' requires that UNICODE be set to true or false in the root module");
pub const PRINTER_CONNECTION_INFO_1 = @compileError("'PRINTER_CONNECTION_INFO_1' requires that UNICODE be set to true or false in the root module");
pub const CORE_PRINTER_DRIVER = @compileError("'CORE_PRINTER_DRIVER' requires that UNICODE be set to true or false in the root module");
pub const CommonPropertySheetUI = @compileError("'CommonPropertySheetUI' requires that UNICODE be set to true or false in the root module");
pub const EnumPrinters = @compileError("'EnumPrinters' requires that UNICODE be set to true or false in the root module");
pub const OpenPrinter = @compileError("'OpenPrinter' requires that UNICODE be set to true or false in the root module");
pub const ResetPrinter = @compileError("'ResetPrinter' requires that UNICODE be set to true or false in the root module");
pub const SetJob = @compileError("'SetJob' requires that UNICODE be set to true or false in the root module");
pub const GetJob = @compileError("'GetJob' requires that UNICODE be set to true or false in the root module");
pub const EnumJobs = @compileError("'EnumJobs' requires that UNICODE be set to true or false in the root module");
pub const AddPrinter = @compileError("'AddPrinter' requires that UNICODE be set to true or false in the root module");
pub const SetPrinter = @compileError("'SetPrinter' requires that UNICODE be set to true or false in the root module");
pub const GetPrinter = @compileError("'GetPrinter' requires that UNICODE be set to true or false in the root module");
pub const AddPrinterDriver = @compileError("'AddPrinterDriver' requires that UNICODE be set to true or false in the root module");
pub const AddPrinterDriverEx = @compileError("'AddPrinterDriverEx' requires that UNICODE be set to true or false in the root module");
pub const EnumPrinterDrivers = @compileError("'EnumPrinterDrivers' requires that UNICODE be set to true or false in the root module");
pub const GetPrinterDriver = @compileError("'GetPrinterDriver' requires that UNICODE be set to true or false in the root module");
pub const GetPrinterDriverDirectory = @compileError("'GetPrinterDriverDirectory' requires that UNICODE be set to true or false in the root module");
pub const DeletePrinterDriver = @compileError("'DeletePrinterDriver' requires that UNICODE be set to true or false in the root module");
pub const DeletePrinterDriverEx = @compileError("'DeletePrinterDriverEx' requires that UNICODE be set to true or false in the root module");
pub const AddPrintProcessor = @compileError("'AddPrintProcessor' requires that UNICODE be set to true or false in the root module");
pub const EnumPrintProcessors = @compileError("'EnumPrintProcessors' requires that UNICODE be set to true or false in the root module");
pub const GetPrintProcessorDirectory = @compileError("'GetPrintProcessorDirectory' requires that UNICODE be set to true or false in the root module");
pub const EnumPrintProcessorDatatypes = @compileError("'EnumPrintProcessorDatatypes' requires that UNICODE be set to true or false in the root module");
pub const DeletePrintProcessor = @compileError("'DeletePrintProcessor' requires that UNICODE be set to true or false in the root module");
pub const StartDocPrinter = @compileError("'StartDocPrinter' requires that UNICODE be set to true or false in the root module");
pub const AddJob = @compileError("'AddJob' requires that UNICODE be set to true or false in the root module");
pub const DocumentProperties = @compileError("'DocumentProperties' requires that UNICODE be set to true or false in the root module");
pub const AdvancedDocumentProperties = @compileError("'AdvancedDocumentProperties' requires that UNICODE be set to true or false in the root module");
pub const GetPrinterData = @compileError("'GetPrinterData' requires that UNICODE be set to true or false in the root module");
pub const GetPrinterDataEx = @compileError("'GetPrinterDataEx' requires that UNICODE be set to true or false in the root module");
pub const EnumPrinterData = @compileError("'EnumPrinterData' requires that UNICODE be set to true or false in the root module");
pub const EnumPrinterDataEx = @compileError("'EnumPrinterDataEx' requires that UNICODE be set to true or false in the root module");
pub const EnumPrinterKey = @compileError("'EnumPrinterKey' requires that UNICODE be set to true or false in the root module");
pub const SetPrinterData = @compileError("'SetPrinterData' requires that UNICODE be set to true or false in the root module");
pub const SetPrinterDataEx = @compileError("'SetPrinterDataEx' requires that UNICODE be set to true or false in the root module");
pub const DeletePrinterData = @compileError("'DeletePrinterData' requires that UNICODE be set to true or false in the root module");
pub const DeletePrinterDataEx = @compileError("'DeletePrinterDataEx' requires that UNICODE be set to true or false in the root module");
pub const DeletePrinterKey = @compileError("'DeletePrinterKey' requires that UNICODE be set to true or false in the root module");
pub const PrinterMessageBox = @compileError("'PrinterMessageBox' requires that UNICODE be set to true or false in the root module");
pub const AddForm = @compileError("'AddForm' requires that UNICODE be set to true or false in the root module");
pub const DeleteForm = @compileError("'DeleteForm' requires that UNICODE be set to true or false in the root module");
pub const GetForm = @compileError("'GetForm' requires that UNICODE be set to true or false in the root module");
pub const SetForm = @compileError("'SetForm' requires that UNICODE be set to true or false in the root module");
pub const EnumForms = @compileError("'EnumForms' requires that UNICODE be set to true or false in the root module");
pub const EnumMonitors = @compileError("'EnumMonitors' requires that UNICODE be set to true or false in the root module");
pub const AddMonitor = @compileError("'AddMonitor' requires that UNICODE be set to true or false in the root module");
pub const DeleteMonitor = @compileError("'DeleteMonitor' requires that UNICODE be set to true or false in the root module");
pub const EnumPorts = @compileError("'EnumPorts' requires that UNICODE be set to true or false in the root module");
pub const AddPort = @compileError("'AddPort' requires that UNICODE be set to true or false in the root module");
pub const ConfigurePort = @compileError("'ConfigurePort' requires that UNICODE be set to true or false in the root module");
pub const DeletePort = @compileError("'DeletePort' requires that UNICODE be set to true or false in the root module");
pub const GetDefaultPrinter = @compileError("'GetDefaultPrinter' requires that UNICODE be set to true or false in the root module");
pub const SetDefaultPrinter = @compileError("'SetDefaultPrinter' requires that UNICODE be set to true or false in the root module");
pub const SetPort = @compileError("'SetPort' requires that UNICODE be set to true or false in the root module");
pub const AddPrinterConnection = @compileError("'AddPrinterConnection' requires that UNICODE be set to true or false in the root module");
pub const DeletePrinterConnection = @compileError("'DeletePrinterConnection' requires that UNICODE be set to true or false in the root module");
pub const AddPrintProvidor = @compileError("'AddPrintProvidor' requires that UNICODE be set to true or false in the root module");
pub const DeletePrintProvidor = @compileError("'DeletePrintProvidor' requires that UNICODE be set to true or false in the root module");
pub const IsValidDevmode = @compileError("'IsValidDevmode' requires that UNICODE be set to true or false in the root module");
pub const OpenPrinter2 = @compileError("'OpenPrinter2' requires that UNICODE be set to true or false in the root module");
pub const AddPrinterConnection2 = @compileError("'AddPrinterConnection2' requires that UNICODE be set to true or false in the root module");
pub const InstallPrinterDriverFromPackage = @compileError("'InstallPrinterDriverFromPackage' requires that UNICODE be set to true or false in the root module");
pub const UploadPrinterDriverPackage = @compileError("'UploadPrinterDriverPackage' requires that UNICODE be set to true or false in the root module");
pub const GetCorePrinterDrivers = @compileError("'GetCorePrinterDrivers' requires that UNICODE be set to true or false in the root module");
pub const CorePrinterDriverInstalled = @compileError("'CorePrinterDriverInstalled' requires that UNICODE be set to true or false in the root module");
pub const GetPrinterDriverPackagePath = @compileError("'GetPrinterDriverPackagePath' requires that UNICODE be set to true or false in the root module");
pub const DeletePrinterDriverPackage = @compileError("'DeletePrinterDriverPackage' requires that UNICODE be set to true or false in the root module");
pub const GetPrinterDriver2 = @compileError("'GetPrinterDriver2' requires that UNICODE be set to true or false in the root module");
},
};
//--------------------------------------------------------------------------------
// Section: Imports (42)
//--------------------------------------------------------------------------------
const Guid = @import("../zig.zig").Guid;
const BOOL = @import("../foundation.zig").BOOL;
const BSTR = @import("../foundation.zig").BSTR;
const CHAR = @import("../foundation.zig").CHAR;
const DEVMODEA = @import("../graphics/gdi.zig").DEVMODEA;
const DEVMODEW = @import("../graphics/gdi.zig").DEVMODEW;
const DLGPROC = @import("../ui/windows_and_messaging.zig").DLGPROC;
const DOCINFOW = @import("../storage/xps.zig").DOCINFOW;
const FARPROC = @import("../foundation.zig").FARPROC;
const FD_KERNINGPAIR = @import("../devices/display.zig").FD_KERNINGPAIR;
const FILETIME = @import("../foundation.zig").FILETIME;
const HANDLE = @import("../foundation.zig").HANDLE;
const HDC = @import("../graphics/gdi.zig").HDC;
const HICON = @import("../ui/windows_and_messaging.zig").HICON;
const HINSTANCE = @import("../foundation.zig").HINSTANCE;
const HKEY = @import("../system/registry.zig").HKEY;
const HRESULT = @import("../foundation.zig").HRESULT;
const HWND = @import("../foundation.zig").HWND;
const ICreateErrorInfo = @import("../system/ole.zig").ICreateErrorInfo;
const IDispatch = @import("../system/com.zig").IDispatch;
const IDXGISurface = @import("../graphics/dxgi.zig").IDXGISurface;
const IEnumUnknown = @import("../system/com.zig").IEnumUnknown;
const IErrorInfo = @import("../system/com.zig").IErrorInfo;
const IStream = @import("../system/com.zig").IStream;
const IUnknown = @import("../system/com.zig").IUnknown;
const IWICBitmap = @import("../graphics/imaging.zig").IWICBitmap;
const IXMLDOMDocument2 = @import("../data/xml/ms_xml.zig").IXMLDOMDocument2;
const IXpsOMPage = @import("../storage/xps.zig").IXpsOMPage;
const LPARAM = @import("../foundation.zig").LPARAM;
const LRESULT = @import("../foundation.zig").LRESULT;
const PANOSE = @import("../graphics/gdi.zig").PANOSE;
const POINTL = @import("../foundation.zig").POINTL;
const PSECURITY_DESCRIPTOR = @import("../security.zig").PSECURITY_DESCRIPTOR;
const PSTR = @import("../foundation.zig").PSTR;
const PWSTR = @import("../foundation.zig").PWSTR;
const RECT = @import("../foundation.zig").RECT;
const RECTL = @import("../foundation.zig").RECTL;
const SIZE = @import("../foundation.zig").SIZE;
const STREAM_SEEK = @import("../system/com.zig").STREAM_SEEK;
const SYSTEMTIME = @import("../foundation.zig").SYSTEMTIME;
const VARIANT = @import("../system/com.zig").VARIANT;
const WPARAM = @import("../foundation.zig").WPARAM;
test {
// The following '_ = <FuncPtrType>' lines are a workaround for https://github.com/ziglang/zig/issues/4476
if (@hasDecl(@This(), "_CPSUICALLBACK")) { _ = _CPSUICALLBACK; }
if (@hasDecl(@This(), "PFNCOMPROPSHEET")) { _ = PFNCOMPROPSHEET; }
if (@hasDecl(@This(), "PFNPROPSHEETUI")) { _ = PFNPROPSHEETUI; }
if (@hasDecl(@This(), "PFN_DrvGetDriverSetting")) { _ = PFN_DrvGetDriverSetting; }
if (@hasDecl(@This(), "PFN_DrvUpgradeRegistrySetting")) { _ = PFN_DrvUpgradeRegistrySetting; }
if (@hasDecl(@This(), "PFN_DrvUpdateUISetting")) { _ = PFN_DrvUpdateUISetting; }
if (@hasDecl(@This(), "EMFPLAYPROC")) { _ = EMFPLAYPROC; }
if (@hasDecl(@This(), "ROUTER_NOTIFY_CALLBACK")) { _ = ROUTER_NOTIFY_CALLBACK; }
@setEvalBranchQuota(
comptime @import("std").meta.declarations(@This()).len * 3
);
// reference all the pub declarations
if (!@import("builtin").is_test) return;
inline for (comptime @import("std").meta.declarations(@This())) |decl| {
_ = @field(@This(), decl.name);
}
}
//--------------------------------------------------------------------------------
// Section: SubModules (1)
//--------------------------------------------------------------------------------
pub const print_ticket = @import("printing/print_ticket.zig");