Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  commdlg.rs   Sprache: unbekannt

 
// Licensed under the Apache License, Version 2.0
// <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
// All files in the project carrying such notice may not be copied, modified, or distributed
// except according to those terms.
//! 32-Bit Common Dialog APIs
use ctypes::{c_short, c_void};
use shared::basetsd::UINT_PTR;
use shared::minwindef::{
    BOOL, DWORD, HGLOBAL, HINSTANCE, INT, LPARAM, LPVOID, LRESULT, UINT, WORD, WPARAM,
};
use shared::windef::{COLORREF, HDC, HWND, POINT, RECT};
use um::prsht::HPROPSHEETPAGE;
use um::unknwnbase::{IUnknown, IUnknownVtbl, LPUNKNOWN};
use um::wingdi::{DM_COLLATE, DM_COPIES, LPDEVMODEW, LPLOGFONTA, LPLOGFONTW};
use um::winnt::{HRESULT, LPCSTR, LPCWSTR, LPSTR, LPWSTR};
use um::winuser::{NMHDR, WM_USER};
FN!{stdcall LPOFNHOOKPROC(
    HWND,
    UINT,
    WPARAM,
    LPARAM,
) -> UINT_PTR}
STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct OPENFILENAME_NT4A {
    lStructSize: DWORD,
    hwndOwner: HWND,
    hInstance: HINSTANCE,
    lpstrFilter: LPCSTR,
    lpstrCustomFilter: LPSTR,
    nMaxCustFilter: DWORD,
    nFilterIndex: DWORD,
    lpstrFile: LPSTR,
    nMaxFile: DWORD,
    lpstrFileTitle: LPSTR,
    nMaxFileTitle: DWORD,
    lpstrInitialDir: LPCSTR,
    lpstrTitle: LPCSTR,
    Flags: DWORD,
    nFileOffset: WORD,
    nFileExtension: WORD,
    lpstrDefExt: LPCSTR,
    lCustData: LPARAM,
    lpfnHook: LPOFNHOOKPROC,
    lpTemplateName: LPCSTR,
}}
pub type LPOPENFILENAME_NT4A = *mut OPENFILENAME_NT4A;
STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct OPENFILENAME_NT4W {
    lStructSize: DWORD,
    hwndOwner: HWND,
    hInstance: HINSTANCE,
    lpstrFilter: LPCWSTR,
    lpstrCustomFilter: LPWSTR,
    nMaxCustFilter: DWORD,
    nFilterIndex: DWORD,
    lpstrFile: LPWSTR,
    nMaxFile: DWORD,
    lpstrFileTitle: LPWSTR,
    nMaxFileTitle: DWORD,
    lpstrInitialDir: LPCWSTR,
    lpstrTitle: LPCWSTR,
    Flags: DWORD,
    nFileOffset: WORD,
    nFileExtension: WORD,
    lpstrDefExt: LPCWSTR,
    lCustData: LPARAM,
    lpfnHook: LPOFNHOOKPROC,
    lpTemplateName: LPCWSTR,
}}
pub type LPOPENFILENAME_NT4W = *mut OPENFILENAME_NT4W;
STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct OPENFILENAMEA {
    lStructSize: DWORD,
    hwndOwner: HWND,
    hInstance: HINSTANCE,
    lpstrFilter: LPCSTR,
    lpstrCustomFilter: LPSTR,
    nMaxCustFilter: DWORD,
    nFilterIndex: DWORD,
    lpstrFile: LPSTR,
    nMaxFile: DWORD,
    lpstrFileTitle: LPSTR,
    nMaxFileTitle: DWORD,
    lpstrInitialDir: LPCSTR,
    lpstrTitle: LPCSTR,
    Flags: DWORD,
    nFileOffset: WORD,
    nFileExtension: WORD,
    lpstrDefExt: LPCSTR,
    lCustData: LPARAM,
    lpfnHook: LPOFNHOOKPROC,
    lpTemplateName: LPCSTR,
    pvReserved: *mut c_void,
    dwReserved: DWORD,
    FlagsEx: DWORD,
}}
pub type LPOPENFILENAMEA = *mut OPENFILENAMEA;
STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct OPENFILENAMEW {
    lStructSize: DWORD,
    hwndOwner: HWND,
    hInstance: HINSTANCE,
    lpstrFilter: LPCWSTR,
    lpstrCustomFilter: LPWSTR,
    nMaxCustFilter: DWORD,
    nFilterIndex: DWORD,
    lpstrFile: LPWSTR,
    nMaxFile: DWORD,
    lpstrFileTitle: LPWSTR,
    nMaxFileTitle: DWORD,
    lpstrInitialDir: LPCWSTR,
    lpstrTitle: LPCWSTR,
    Flags: DWORD,
    nFileOffset: WORD,
    nFileExtension: WORD,
    lpstrDefExt: LPCWSTR,
    lCustData: LPARAM,
    lpfnHook: LPOFNHOOKPROC,
    lpTemplateName: LPCWSTR,
    pvReserved: *mut c_void,
    dwReserved: DWORD,
    FlagsEx: DWORD,
}}
pub type LPOPENFILENAMEW = *mut OPENFILENAMEW;
extern "system" {
    pub fn GetOpenFileNameA(
        lpofn: LPOPENFILENAMEA,
    ) -> BOOL;
    pub fn GetOpenFileNameW(
        lpofn: LPOPENFILENAMEW,
    ) -> BOOL;
    pub fn GetSaveFileNameA(
        lpofn: LPOPENFILENAMEA,
    ) -> BOOL;
    pub fn GetSaveFileNameW(
        lpofn: LPOPENFILENAMEW,
    ) -> BOOL;
    pub fn GetFileTitleA(
        lpszFile: LPCSTR,
        Buf: LPSTR,
        cchSize: WORD,
    ) -> c_short;
    pub fn GetFileTitleW(
        lpszFile: LPCWSTR,
        Buf: LPWSTR,
        cchSize: WORD,
    ) -> c_short;
}
pub const OFN_READONLY: DWORD = 0x00000001;
pub const OFN_OVERWRITEPROMPT: DWORD = 0x00000002;
pub const OFN_HIDEREADONLY: DWORD = 0x00000004;
pub const OFN_NOCHANGEDIR: DWORD = 0x00000008;
pub const OFN_SHOWHELP: DWORD = 0x00000010;
pub const OFN_ENABLEHOOK: DWORD = 0x00000020;
pub const OFN_ENABLETEMPLATE: DWORD = 0x00000040;
pub const OFN_ENABLETEMPLATEHANDLE: DWORD = 0x00000080;
pub const OFN_NOVALIDATE: DWORD = 0x00000100;
pub const OFN_ALLOWMULTISELECT: DWORD = 0x00000200;
pub const OFN_EXTENSIONDIFFERENT: DWORD = 0x00000400;
pub const OFN_PATHMUSTEXIST: DWORD = 0x00000800;
pub const OFN_FILEMUSTEXIST: DWORD = 0x00001000;
pub const OFN_CREATEPROMPT: DWORD = 0x00002000;
pub const OFN_SHAREAWARE: DWORD = 0x00004000;
pub const OFN_NOREADONLYRETURN: DWORD = 0x00008000;
pub const OFN_NOTESTFILECREATE: DWORD = 0x00010000;
pub const OFN_NONETWORKBUTTON: DWORD = 0x00020000;
pub const OFN_NOLONGNAMES: DWORD = 0x00040000;
pub const OFN_EXPLORER: DWORD = 0x00080000;
pub const OFN_NODEREFERENCELINKS: DWORD = 0x00100000;
pub const OFN_LONGNAMES: DWORD = 0x00200000;
pub const OFN_ENABLEINCLUDENOTIFY: DWORD = 0x00400000;
pub const OFN_ENABLESIZING: DWORD = 0x00800000;
pub const OFN_DONTADDTORECENT: DWORD = 0x02000000;
pub const OFN_FORCESHOWHIDDEN: DWORD = 0x10000000;
pub const OFN_EX_NOPLACESBAR: DWORD = 0x00000001;
pub const OFN_SHAREFALLTHROUGH: UINT_PTR = 2;
pub const OFN_SHARENOWARN: UINT_PTR = 1;
pub const OFN_SHAREWARN: UINT_PTR = 0;
FN!{stdcall LPCCHOOKPROC(
    HWND,
    UINT,
    WPARAM,
    LPARAM,
) -> UINT_PTR}
STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct OFNOTIFYA {
    hdr: NMHDR,
    lpOFN: LPOPENFILENAMEA,
    pszFile: LPSTR,
}}
pub type LPOFNOTIFYA = *mut OFNOTIFYA;
STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct OFNOTIFYW {
    hdr: NMHDR,
    lpOFN: LPOPENFILENAMEW,
    pszFile: LPWSTR,
}}
pub type LPOFNOTIFYW = *mut OFNOTIFYW;
STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct OFNOTIFYEXA {
    hdr: NMHDR,
    lpOFN: LPOPENFILENAMEA,
    psf: LPVOID,
    pidl: LPVOID,
}}
pub type LPOFNOTIFYEXA = *mut OFNOTIFYEXA;
STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct OFNOTIFYEXW {
    hdr: NMHDR,
    lpOFN: LPOPENFILENAMEW,
    psf: LPVOID,
    pidl: LPVOID,
}}
pub type LPOFNOTIFYEXW = *mut OFNOTIFYEXW;
pub const CDN_FIRST: UINT = -601i32 as u32;
pub const CDN_LAST: UINT = -699i32 as u32;
pub const CDN_INITDONE: UINT = CDN_FIRST - 0x0000;
pub const CDN_SELCHANGE: UINT = CDN_FIRST - 0x0001;
pub const CDN_FOLDERCHANGE: UINT = CDN_FIRST - 0x0002;
pub const CDN_SHAREVIOLATION: UINT = CDN_FIRST - 0x0003;
pub const CDN_HELP: UINT = CDN_FIRST - 0x0004;
pub const CDN_FILEOK: UINT = CDN_FIRST - 0x0005;
pub const CDN_TYPECHANGE: UINT = CDN_FIRST - 0x0006;
pub const CDN_INCLUDEITEM: UINT = CDN_FIRST - 0x0007;
pub const CDM_FIRST: UINT = WM_USER + 100;
pub const CDM_LAST: UINT = WM_USER + 200;
pub const CDM_GETSPEC: UINT = CDM_FIRST + 0x0000;
pub const CDM_GETFILEPATH: UINT = CDM_FIRST + 0x0001;
pub const CDM_GETFOLDERPATH: UINT = CDM_FIRST + 0x0002;
pub const CDM_GETFOLDERIDLIST: UINT = CDM_FIRST + 0x0003;
pub const CDM_SETCONTROLTEXT: UINT = CDM_FIRST + 0x0004;
pub const CDM_HIDECONTROL: UINT = CDM_FIRST + 0x0005;
pub const CDM_SETDEFEXT: UINT = CDM_FIRST + 0x0006;
STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct CHOOSECOLORA {
    lStructSize: DWORD,
    hwndOwner: HWND,
    hInstance: HWND,
    rgbResult: COLORREF,
    lpCustColors: *mut COLORREF,
    Flags: DWORD,
    lCustData: LPARAM,
    lpfnHook: LPCCHOOKPROC,
    lpTemplateName: LPCSTR,
}}
pub type LPCHOOSECOLORA = *mut CHOOSECOLORA;
STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct CHOOSECOLORW {
    lStructSize: DWORD,
    hwndOwner: HWND,
    hInstance: HWND,
    rgbResult: COLORREF,
    lpCustColors: *mut COLORREF,
    Flags: DWORD,
    lCustData: LPARAM,
    lpfnHook: LPCCHOOKPROC,
    lpTemplateName: LPCWSTR,
}}
pub type LPCHOOSECOLORW = *mut CHOOSECOLORW;
extern "system" {
    pub fn ChooseColorA(
        lpcc: LPCHOOSECOLORA,
    ) -> BOOL;
    pub fn ChooseColorW(
        lpcc: LPCHOOSECOLORW,
    ) -> BOOL;
}
pub const CC_RGBINIT: DWORD = 0x00000001;
pub const CC_FULLOPEN: DWORD = 0x00000002;
pub const CC_PREVENTFULLOPEN: DWORD = 0x00000004;
pub const CC_SHOWHELP: DWORD = 0x00000008;
pub const CC_ENABLEHOOK: DWORD = 0x00000010;
pub const CC_ENABLETEMPLATE: DWORD = 0x00000020;
pub const CC_ENABLETEMPLATEHANDLE: DWORD = 0x00000040;
pub const CC_SOLIDCOLOR: DWORD = 0x00000080;
pub const CC_ANYCOLOR: DWORD = 0x00000100;
FN!{stdcall LPFRHOOKPROC(
    HWND,
    UINT,
    WPARAM,
    LPARAM,
) -> UINT_PTR}
STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct FINDREPLACEA {
    lStructSize: DWORD,
    hwndOwner: HWND,
    hInstance: HINSTANCE,
    Flags: DWORD,
    lpstrFindWhat: LPSTR,
    lpstrReplaceWith: LPSTR,
    wFindWhatLen: WORD,
    wReplaceWithLen: WORD,
    lCustData: LPARAM,
    lpfnHook: LPFRHOOKPROC,
    lpTemplateName: LPCSTR,
}}
pub type LPFINDREPLACEA = *mut FINDREPLACEA;
STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct FINDREPLACEW {
    lStructSize: DWORD,
    hwndOwner: HWND,
    hInstance: HINSTANCE,
    Flags: DWORD,
    lpstrFindWhat: LPWSTR,
    lpstrReplaceWith: LPWSTR,
    wFindWhatLen: WORD,
    wReplaceWithLen: WORD,
    lCustData: LPARAM,
    lpfnHook: LPFRHOOKPROC,
    lpTemplateName: LPCWSTR,
}}
pub type LPFINDREPLACEW = *mut FINDREPLACEW;
pub const FR_DOWN: DWORD = 0x00000001;
pub const FR_WHOLEWORD: DWORD = 0x00000002;
pub const FR_MATCHCASE: DWORD = 0x00000004;
pub const FR_FINDNEXT: DWORD = 0x00000008;
pub const FR_REPLACE: DWORD = 0x00000010;
pub const FR_REPLACEALL: DWORD = 0x00000020;
pub const FR_DIALOGTERM: DWORD = 0x00000040;
pub const FR_SHOWHELP: DWORD = 0x00000080;
pub const FR_ENABLEHOOK: DWORD = 0x00000100;
pub const FR_ENABLETEMPLATE: DWORD = 0x00000200;
pub const FR_NOUPDOWN: DWORD = 0x00000400;
pub const FR_NOMATCHCASE: DWORD = 0x00000800;
pub const FR_NOWHOLEWORD: DWORD = 0x00001000;
pub const FR_ENABLETEMPLATEHANDLE: DWORD = 0x00002000;
pub const FR_HIDEUPDOWN: DWORD = 0x00004000;
pub const FR_HIDEMATCHCASE: DWORD = 0x00008000;
pub const FR_HIDEWHOLEWORD: DWORD = 0x00010000;
pub const FR_RAW: DWORD = 0x00020000;
pub const FR_MATCHDIAC: DWORD = 0x20000000;
pub const FR_MATCHKASHIDA: DWORD = 0x40000000;
pub const FR_MATCHALEFHAMZA: DWORD = 0x80000000;
extern "system" {
    pub fn FindTextA(
        lpfr: LPFINDREPLACEA,
    ) -> HWND;
    pub fn FindTextW(
        lpfr: LPFINDREPLACEW,
    ) -> HWND;
    pub fn ReplaceTextA(
        lpfr: LPFINDREPLACEA,
    ) -> HWND;
    pub fn ReplaceTextW(
        lpfr: LPFINDREPLACEW,
    ) -> HWND;
}
FN!{stdcall LPCFHOOKPROC(
    HWND,
    UINT,
    WPARAM,
    LPARAM,
) -> UINT_PTR}
STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct CHOOSEFONTA {
    lStructSize: DWORD,
    hwndOwner: HWND,
    hDC: HDC,
    lpLogFont: LPLOGFONTA,
    iPointSize: INT,
    Flags: DWORD,
    rgbColors: COLORREF,
    lCustData: LPARAM,
    lpfnHook: LPCFHOOKPROC,
    lpTemplateName: LPCSTR,
    hInstance: HINSTANCE,
    lpszStyle: LPSTR,
    nFontType: WORD,
    ___MISSING_ALIGNMENT__: WORD,
    nSizeMin: INT,
    nSizeMax: INT,
}}
pub type LPCHOOSEFONTA = *mut CHOOSEFONTA;
STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct CHOOSEFONTW {
    lStructSize: DWORD,
    hwndOwner: HWND,
    hDC: HDC,
    lpLogFont: LPLOGFONTW,
    iPointSize: INT,
    Flags: DWORD,
    rgbColors: COLORREF,
    lCustData: LPARAM,
    lpfnHook: LPCFHOOKPROC,
    lpTemplateName: LPCWSTR,
    hInstance: HINSTANCE,
    lpszStyle: LPWSTR,
    nFontType: WORD,
    ___MISSING_ALIGNMENT__: WORD,
    nSizeMin: INT,
    nSizeMax: INT,
}}
pub type LPCHOOSEFONTW = *mut CHOOSEFONTW;
extern "system" {
    pub fn ChooseFontA(
        lpcf: LPCHOOSEFONTA,
    ) -> BOOL;
    pub fn ChooseFontW(
        lpcf: LPCHOOSEFONTW,
    ) -> BOOL;
}
pub const CF_SCREENFONTS: DWORD = 0x00000001;
pub const CF_PRINTERFONTS: DWORD = 0x00000002;
pub const CF_BOTH: DWORD = CF_SCREENFONTS | CF_PRINTERFONTS;
pub const CF_SHOWHELP: DWORD = 0x00000004;
pub const CF_ENABLEHOOK: DWORD = 0x00000008;
pub const CF_ENABLETEMPLATE: DWORD = 0x00000010;
pub const CF_ENABLETEMPLATEHANDLE: DWORD = 0x00000020;
pub const CF_INITTOLOGFONTSTRUCT: DWORD = 0x00000040;
pub const CF_USESTYLE: DWORD = 0x00000080;
pub const CF_EFFECTS: DWORD = 0x00000100;
pub const CF_APPLY: DWORD = 0x00000200;
pub const CF_ANSIONLY: DWORD = 0x00000400;
pub const CF_SCRIPTSONLY: DWORD = CF_ANSIONLY;
pub const CF_NOVECTORFONTS: DWORD = 0x00000800;
pub const CF_NOOEMFONTS: DWORD = CF_NOVECTORFONTS;
pub const CF_NOSIMULATIONS: DWORD = 0x00001000;
pub const CF_LIMITSIZE: DWORD = 0x00002000;
pub const CF_FIXEDPITCHONLY: DWORD = 0x00004000;
pub const CF_WYSIWYG: DWORD = 0x00008000;
pub const CF_FORCEFONTEXIST: DWORD = 0x00010000;
pub const CF_SCALABLEONLY: DWORD = 0x00020000;
pub const CF_TTONLY: DWORD = 0x00040000;
pub const CF_NOFACESEL: DWORD = 0x00080000;
pub const CF_NOSTYLESEL: DWORD = 0x00100000;
pub const CF_NOSIZESEL: DWORD = 0x00200000;
pub const CF_SELECTSCRIPT: DWORD = 0x00400000;
pub const CF_NOSCRIPTSEL: DWORD = 0x00800000;
pub const CF_NOVERTFONTS: DWORD = 0x01000000;
pub const CF_INACTIVEFONTS: DWORD = 0x02000000;
pub const SIMULATED_FONTTYPE: WORD = 0x8000;
pub const PRINTER_FONTTYPE: WORD = 0x4000;
pub const SCREEN_FONTTYPE: WORD = 0x2000;
pub const BOLD_FONTTYPE: WORD = 0x0100;
pub const ITALIC_FONTTYPE: WORD = 0x0200;
pub const REGULAR_FONTTYPE: WORD = 0x0400;
pub const PS_OPENTYPE_FONTTYPE: DWORD = 0x10000;
pub const TT_OPENTYPE_FONTTYPE: DWORD = 0x20000;
pub const TYPE1_FONTTYPE: DWORD = 0x40000;
pub const SYMBOL_FONTTYPE: DWORD = 0x80000;
pub const WM_CHOOSEFONT_GETLOGFONT: UINT = WM_USER + 1;
pub const WM_CHOOSEFONT_SETLOGFONT: UINT = WM_USER + 101;
pub const WM_CHOOSEFONT_SETFLAGS: UINT = WM_USER + 102;
pub const CD_LBSELNOITEMS: WORD = -1i16 as u16;
pub const CD_LBSELCHANGE: WORD = 0;
pub const CD_LBSELSUB: WORD = 1;
pub const CD_LBSELADD: WORD = 2;
FN!{stdcall LPPRINTHOOKPROC(
    HWND,
    UINT,
    WPARAM,
    LPARAM,
) -> UINT_PTR}
FN!{stdcall LPSETUPHOOKPROC(
    HWND,
    UINT,
    WPARAM,
    LPARAM,
) -> UINT_PTR}
STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct PRINTDLGA {
    lStructSize: DWORD,
    hwndOwner: HWND,
    hDevMode: HGLOBAL,
    hDevNames: HGLOBAL,
    hDC: HDC,
    Flags: DWORD,
    nFromPage: WORD,
    nToPage: WORD,
    nMinPage: WORD,
    nMaxPage: WORD,
    nCopies: WORD,
    hInstance: HINSTANCE,
    lCustData: LPARAM,
    lpfnPrintHook: LPPRINTHOOKPROC,
    lpfnSetupHook: LPSETUPHOOKPROC,
    lpPrintTemplateName: LPCSTR,
    lpSetupTemplateName: LPCSTR,
    hPrintTemplate: HGLOBAL,
    hSetupTemplate: HGLOBAL,
}}
pub type LPPRINTDLGA = *mut PRINTDLGA;
STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct PRINTDLGW {
    lStructSize: DWORD,
    hwndOwner: HWND,
    hDevMode: HGLOBAL,
    hDevNames: HGLOBAL,
    hDC: HDC,
    Flags: DWORD,
    nFromPage: WORD,
    nToPage: WORD,
    nMinPage: WORD,
    nMaxPage: WORD,
    nCopies: WORD,
    hInstance: HINSTANCE,
    lCustData: LPARAM,
    lpfnPrintHook: LPPRINTHOOKPROC,
    lpfnSetupHook: LPSETUPHOOKPROC,
    lpPrintTemplateName: LPCWSTR,
    lpSetupTemplateName: LPCWSTR,
    hPrintTemplate: HGLOBAL,
    hSetupTemplate: HGLOBAL,
}}
pub type LPPRINTDLGW = *mut PRINTDLGW;
extern "system" {
    pub fn PrintDlgA(
        pPD: LPPRINTDLGA,
    ) -> BOOL;
    pub fn PrintDlgW(
        pPD: LPPRINTDLGW,
    ) -> BOOL;
}
RIDL!{#[uuid(0x5852a2c3, 0x6530, 0x11d1, 0xb6, 0xa3, 0x0, 0x0, 0xf8, 0x75, 0x7b, 0xf9)]
interface IPrintDialogCallback(IPrintDialogCallbackVtbl): IUnknown(IUnknownVtbl) {
    fn InitDone() -> HRESULT,
    fn SelectionChange() -> HRESULT,
    fn HandleMessage(
        hDlg: HWND,
        uMsg: UINT,
        wParam: WPARAM,
        lParam: LPARAM,
        pResult: *mut LRESULT,
    ) -> HRESULT,
}}
RIDL!{#[uuid(0x509aaeda, 0x5639, 0x11d1, 0xb6, 0xa1, 0x0, 0x0, 0xf8, 0x75, 0x7b, 0xf9)]
interface IPrintDialogServices(IPrintDialogServicesVtbl): IUnknown(IUnknownVtbl) {
    fn GetCurrentDevMode(
        pDevMode: LPDEVMODEW,
        pcbSize: *mut UINT,
    ) -> HRESULT,
    fn GetCurrentPrinterName(
        pPrinterName: LPWSTR,
        pcchSize: *mut UINT,
    ) -> HRESULT,
    fn GetCurrentPortName(
        pPortName: LPWSTR,
        pcchSize: *mut UINT,
    ) -> HRESULT,
}}
STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct PRINTPAGERANGE {
    nFromPage: DWORD,
    nToPage: DWORD,
}}
pub type LPPRINTPAGERANGE = *mut PRINTPAGERANGE;
pub type PCPRINTPAGERANGE = *const PRINTPAGERANGE;
STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct PRINTDLGEXA {
    lStructSize: DWORD,
    hwndOwner: HWND,
    hDevMode: HGLOBAL,
    hDevNames: HGLOBAL,
    hDC: HDC,
    Flags: DWORD,
    Flags2: DWORD,
    ExclusionFlags: DWORD,
    nPageRanges: DWORD,
    nMaxPageRanges: DWORD,
    lpPageRanges: LPPRINTPAGERANGE,
    nMinPage: DWORD,
    nMaxPage: DWORD,
    nCopies: DWORD,
    hInstance: HINSTANCE,
    lpPrintTemplateName: LPCSTR,
    lpCallback: LPUNKNOWN,
    nPropertyPages: DWORD,
    lphPropertyPages: *mut HPROPSHEETPAGE,
    nStartPage: DWORD,
    dwResultAction: DWORD,
}}
pub type LPPRINTDLGEXA = *mut PRINTDLGEXA;
STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct PRINTDLGEXW {
    lStructSize: DWORD,
    hwndOwner: HWND,
    hDevMode: HGLOBAL,
    hDevNames: HGLOBAL,
    hDC: HDC,
    Flags: DWORD,
    Flags2: DWORD,
    ExclusionFlags: DWORD,
    nPageRanges: DWORD,
    nMaxPageRanges: DWORD,
    lpPageRanges: LPPRINTPAGERANGE,
    nMinPage: DWORD,
    nMaxPage: DWORD,
    nCopies: DWORD,
    hInstance: HINSTANCE,
    lpPrintTemplateName: LPCWSTR,
    lpCallback: LPUNKNOWN,
    nPropertyPages: DWORD,
    lphPropertyPages: *mut HPROPSHEETPAGE,
    nStartPage: DWORD,
    dwResultAction: DWORD,
}}
pub type LPPRINTDLGEXW = *mut PRINTDLGEXW;
extern "system" {
    pub fn PrintDlgExA(
        pPD: LPPRINTDLGEXA,
    ) -> HRESULT;
    pub fn PrintDlgExW(
        pPD: LPPRINTDLGEXW,
    ) -> HRESULT;
}
pub const PD_ALLPAGES: DWORD = 0x00000000;
pub const PD_SELECTION: DWORD = 0x00000001;
pub const PD_PAGENUMS: DWORD = 0x00000002;
pub const PD_NOSELECTION: DWORD = 0x00000004;
pub const PD_NOPAGENUMS: DWORD = 0x00000008;
pub const PD_COLLATE: DWORD = 0x00000010;
pub const PD_PRINTTOFILE: DWORD = 0x00000020;
pub const PD_PRINTSETUP: DWORD = 0x00000040;
pub const PD_NOWARNING: DWORD = 0x00000080;
pub const PD_RETURNDC: DWORD = 0x00000100;
pub const PD_RETURNIC: DWORD = 0x00000200;
pub const PD_RETURNDEFAULT: DWORD = 0x00000400;
pub const PD_SHOWHELP: DWORD = 0x00000800;
pub const PD_ENABLEPRINTHOOK: DWORD = 0x00001000;
pub const PD_ENABLESETUPHOOK: DWORD = 0x00002000;
pub const PD_ENABLEPRINTTEMPLATE: DWORD = 0x00004000;
pub const PD_ENABLESETUPTEMPLATE: DWORD = 0x00008000;
pub const PD_ENABLEPRINTTEMPLATEHANDLE: DWORD = 0x00010000;
pub const PD_ENABLESETUPTEMPLATEHANDLE: DWORD = 0x00020000;
pub const PD_USEDEVMODECOPIES: DWORD = 0x00040000;
pub const PD_USEDEVMODECOPIESANDCOLLATE: DWORD = 0x00040000;
pub const PD_DISABLEPRINTTOFILE: DWORD = 0x00080000;
pub const PD_HIDEPRINTTOFILE: DWORD = 0x00100000;
pub const PD_NONETWORKBUTTON: DWORD = 0x00200000;
pub const PD_CURRENTPAGE: DWORD = 0x00400000;
pub const PD_NOCURRENTPAGE: DWORD = 0x00800000;
pub const PD_EXCLUSIONFLAGS: DWORD = 0x01000000;
pub const PD_USELARGETEMPLATE: DWORD = 0x10000000;
pub const PD_EXCL_COPIESANDCOLLATE: DWORD = DM_COPIES | DM_COLLATE;
pub const START_PAGE_GENERAL: DWORD = 0xffffffff;
pub const PD_RESULT_CANCEL: DWORD = 0;
pub const PD_RESULT_PRINT: DWORD = 1;
pub const PD_RESULT_APPLY: DWORD = 2;
STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct DEVNAMES {
    wDriverOffset: WORD,
    wDeviceOffset: WORD,
    wOutputOffset: WORD,
    wDefault: WORD,
}}
pub type LPDEVNAMES = *mut DEVNAMES;
pub type PCDEVNAMES = *const DEVNAMES;
pub const DN_DEFAULTPRN: WORD = 0x0001;
extern "system" {
    pub fn CommDlgExtendedError() -> DWORD;
}
pub const WM_PSD_PAGESETUPDLG: UINT = WM_USER;
pub const WM_PSD_FULLPAGERECT: UINT = WM_USER + 1;
pub const WM_PSD_MINMARGINRECT: UINT = WM_USER + 2;
pub const WM_PSD_MARGINRECT: UINT = WM_USER + 3;
pub const WM_PSD_GREEKTEXTRECT: UINT = WM_USER + 4;
pub const WM_PSD_ENVSTAMPRECT: UINT = WM_USER + 5;
pub const WM_PSD_YAFULLPAGERECT: UINT = WM_USER + 6;
FN!{stdcall LPPAGEPAINTHOOK(
    HWND,
    UINT,
    WPARAM,
    LPARAM,
) -> UINT_PTR}
FN!{stdcall LPPAGESETUPHOOK(
    HWND,
    UINT,
    WPARAM,
    LPARAM,
) -> UINT_PTR}
STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct PAGESETUPDLGA {
    lStructSize: DWORD,
    hwndOwner: HWND,
    hDevMode: HGLOBAL,
    hDevNames: HGLOBAL,
    Flags: DWORD,
    ptPaperSize: POINT,
    rtMinMargin: RECT,
    rtMargin: RECT,
    hInstance: HINSTANCE,
    lCustData: LPARAM,
    lpfnPageSetupHook: LPPAGESETUPHOOK,
    lpfnPagePaintHook: LPPAGEPAINTHOOK,
    lpPageSetupTemplateName: LPCSTR,
    hPageSetupTemplate: HGLOBAL,
}}
pub type LPPAGESETUPDLGA = *mut PAGESETUPDLGA;
STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct PAGESETUPDLGW {
    lStructSize: DWORD,
    hwndOwner: HWND,
    hDevMode: HGLOBAL,
    hDevNames: HGLOBAL,
    Flags: DWORD,
    ptPaperSize: POINT,
    rtMinMargin: RECT,
    rtMargin: RECT,
    hInstance: HINSTANCE,
    lCustData: LPARAM,
    lpfnPageSetupHook: LPPAGESETUPHOOK,
    lpfnPagePaintHook: LPPAGEPAINTHOOK,
    lpPageSetupTemplateName: LPCWSTR,
    hPageSetupTemplate: HGLOBAL,
}}
pub type LPPAGESETUPDLGW = *mut PAGESETUPDLGW;
extern "system" {
    pub fn PageSetupDlgA(
        lppsd: LPPAGESETUPDLGA,
    ) -> BOOL;
    pub fn PageSetupDlgW(
        lppsd: LPPAGESETUPDLGW,
    ) -> BOOL;
}
pub const PSD_DEFAULTMINMARGINS: DWORD = 0x00000000;
pub const PSD_INWININIINTLMEASURE: DWORD = 0x00000000;
pub const PSD_MINMARGINS: DWORD = 0x00000001;
pub const PSD_MARGINS: DWORD = 0x00000002;
pub const PSD_INTHOUSANDTHSOFINCHES: DWORD = 0x00000004;
pub const PSD_INHUNDREDTHSOFMILLIMETERS: DWORD = 0x00000008;
pub const PSD_DISABLEMARGINS: DWORD = 0x00000010;
pub const PSD_DISABLEPRINTER: DWORD = 0x00000020;
pub const PSD_NOWARNING: DWORD = 0x00000080;
pub const PSD_DISABLEORIENTATION: DWORD = 0x00000100;
pub const PSD_RETURNDEFAULT: DWORD = 0x00000400;
pub const PSD_DISABLEPAPER: DWORD = 0x00000200;
pub const PSD_SHOWHELP: DWORD = 0x00000800;
pub const PSD_ENABLEPAGESETUPHOOK: DWORD = 0x00002000;
pub const PSD_ENABLEPAGESETUPTEMPLATE: DWORD = 0x00008000;
pub const PSD_ENABLEPAGESETUPTEMPLATEHANDLE: DWORD = 0x00020000;
pub const PSD_ENABLEPAGEPAINTHOOK: DWORD = 0x00040000;
pub const PSD_DISABLEPAGEPAINTING: DWORD = 0x00080000;
pub const PSD_NONETWORKBUTTON: DWORD = 0x00200000;

[ Dauer der Verarbeitung: 0.31 Sekunden  (vorverarbeitet)  ]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge