oaidl.inc

来自「这是一个数字图像处理的matlab仿真程序」· INC 代码 · 共 1,354 行 · 第 1/4 页

INC
1,354
字号
ARRAYDESC ENDS
LPARRAYDESC     TYPEDEF     DWORD


CUSTDATAITEM STRUCT DWORD
    guid          GUID          <>
    varValue      VARIANTARG    <>
CUSTDATAITEM ENDS
LPCUSTDATAITEM  TYPEDEF     DWORD


CUSTDATA        STRUCT DWORD
    cCustData   DWORD           ?
    prgCustData LPCUSTDATAITEM  ?
CUSTDATA ENDS
LPCUSTDATA      TYPEDEF     DWORD


PARAMDESCEX     STRUCT DWORD
    cBytes        DWORD         ?
    varDefaultValue VARIANTARG  <>
PARAMDESCEX ENDS
LPPARAMDESCEX   TYPEDEF     DWORD


PARAMDESC       STRUCT DWORD
    pparamdescex    PVOID       ?
    wParamFlags     BYTE        ?
PARAMDESC ENDS
LPPARAMDESC     TYPEDEF     DWORD


PARAMFLAG_NONE              EQU     00H
PARAMFLAG_FIN               EQU     01H
PARAMFLAG_FOUT              EQU     02H
PARAMFLAG_FLCID             EQU     04H
PARAMFLAG_FRETVAL           EQU     08H
PARAMFLAG_FOPT              EQU     10H
PARAMFLAG_FHASDEFAULT       EQU     20H


IDLDESC     STRUCT  DWORD
    dwReserved      DWORD       ?
    wIDLFlags       WORD        ?
IDLDESC ENDS
LPIDLDESC       TYPEDEF     DWORD


ELEMDESC        STRUCT    DWORD
    tdesc           TYPEDESC    <>
    Union
        idldesc         IDLDESC     <>
        paramdesc       PARAMDESC   <>
    ENDS
ELEMDESC ENDS
LPELEMDESC      TYPEDEF     DWORD


FUNC_VIRTUAL               EQU      0H
FUNC_PUREVIRTUAL           EQU      1H
FUNC_NONVIRTUAL            EQU      2H
FUNC_STATIC                EQU      3H
FUNC_DISPATCH              EQU      4H

FUNCKIND        TYPEDEF     SWORD


INVOKE_FUNC                EQU      1H
INVOKE_PROPERTYGET         EQU      2H
INVOKE_PROPERTYPUT         EQU      4H
INVOKE_PROPERTYPUTREF      EQU      8H
INVOKEKIND  TYPEDEF     SWORD


FUNCDESC        STRUCT DWORD
    memid               DWORD       ?
    lprgscode           DWORD       ?
    lprgelemdescParam   DWORD       ?
    funckind            FUNCKIND    ?
    invkind             INVOKEKIND  ?
    callconv            CALLCONV    ?
    cParams             SWORD       ?
    cParamsOpt          SWORD       ?
    oVft                SWORD       ?
    cScodes             SWORD       ?
    elemdescFunc        ELEMDESC    <>
    wFuncFlags          SWORD       ?
FUNCDESC ENDS
LPFUNCDESC      TYPEDEF     DWORD


FUNCFLAG_FRESTRICTED        EQU     0001H
FUNCFLAG_FSOURCE            EQU     0002H
FUNCFLAG_FBINDABLE          EQU     0004H
FUNCFLAG_FREQUESTEDIT       EQU     0008H
FUNCFLAG_FDISPLAYBIND       EQU     0010H
FUNCFLAG_FDEFAULTBIND       EQU     0020H
FUNCFLAG_FHIDDEN            EQU     0040H
FUNCFLAG_FUSESGETLASTERROR  EQU     0080H
FUNCFLAG_FDEFAULTCOLLELEM   EQU     0100H
FUNCFLAG_FUIDEFAULT         EQU     0200H
FUNCFLAG_FNONBROWSABLE      EQU     0400H
FUNCFLAG_FREPLACEABLE       EQU     0800H
FUNCFLAG_FIMMEDIATEBIND     EQU     1000H

FUNCFLAGS       TYPEDEF     WORD


TYPEFLAG_FAPPOBJECT         EQU     0001H
TYPEFLAG_FCANCREATE         EQU     0002H
TYPEFLAG_FLICENSED          EQU     0004H
TYPEFLAG_FPREDECLID         EQU     0008H
TYPEFLAG_FHIDDEN            EQU     0010H
TYPEFLAG_FCONTROL           EQU     0020H
TYPEFLAG_FDUAL              EQU     0040H
TYPEFLAG_FNONEXTENSIBLE     EQU     0080H
TYPEFLAG_FOLEAUTOMATION     EQU     0100H
TYPEFLAG_FRESTRICTED        EQU     0200H
TYPEFLAG_FAGGREGATABLE      EQU     0400H
TYPEFLAG_FREPLACEABLE       EQU     0800H
TYPEFLAG_FDISPATCHABLE      EQU     1000H
TYPEFLAG_FREVERSEBIND       EQU     2000H

TYPEFLAGS       TYPEDEF     WORD


IMPLTYPEFLAG_FDEFAULT       EQU     1H
IMPLTYPEFLAG_FSOURCE        EQU     2H
IMPLTYPEFLAG_FRESTRICTED    EQU     4H
IMPLTYPEFLAG_FDEFAULTVTABLE EQU     8H


TKIND_ENUM                  EQU     0H
TKIND_RECORD                EQU     1H
TKIND_MODULE                EQU     2H
TKIND_INTERFACE             EQU     3H
TKIND_DISPATCH              EQU     4H
TKIND_COCLASS               EQU     5H
TKIND_ALIAS                 EQU     6H
TKIND_UNION                 EQU     7H
TKIND_MAX                   EQU     8H

TYPEKIND        TYPEDEF     DWORD


TYPEATTR    STRUCT  DWORD
    guid                GUID        <>
    lcid                DWORD       ?
    dwReserved          DWORD       ?
    memidConstructor    DWORD       ?
    memidDestructor     DWORD       ?
    lpstrSchema         PVOID       ?
    cbSizeInstance      DWORD       ?
    typekind            DWORD       ?
    cFuncs              WORD        ?
    cVars               WORD        ?
    cImplTypes          WORD        ?
    cbSizeVft           WORD        ?
    cbAlignment         WORD        ?
    wTypeFlags          WORD        ?
    wMajorVerNum        WORD        ?
    wMinorVerNum        WORD        ?
    tdescAlias          TYPEDESC    <>
    idldescType         IDLDESC     <>
TYPEATTR ENDS
LPTYPEATTR      TYPEDEF     DWORD


VAR_PERINSTANCE EQU     0H
VAR_STATIC      EQU     1H
VAR_CONST       EQU     2H
VAR_DISPATCH    EQU     3H

VARKIND     TYPEDEF     SWORD


VARDESC     STRUCT  DWORD
    memid       DWORD       ?
    lpstrSchema PVOID       ?
    Union
        oInst       DWORD       ?
        lpvarValue  PVOID       ?
    ENDS
    elemdescVar ELEMDESC    <>
    wVarFlags   WORD        ?
                WORD        ?       ; ALIGN PAD
    varkind     VARKIND     ?
VARDESC     ENDS
LPVARDESC       TYPEDEF     DWORD


VARFLAG_FREADONLY           EQU     0001H
VARFLAG_FSOURCE             EQU     0002H
VARFLAG_FBINDABLE           EQU     0004H
VARFLAG_FREQUESTEDIT        EQU     0008H
VARFLAG_FDISPLAYBIND        EQU     0010H
VARFLAG_FDEFAULTBIND        EQU     0020H
VARFLAG_FHIDDEN             EQU     0040H
VARFLAG_FRESTRICTED         EQU     0080H
VARFLAG_FDEFAULTCOLLELEM    EQU     0100H
VARFLAG_FUIDEFAULT          EQU     0200H
VARFLAG_FNONBROWSABLE       EQU     0400H
VARFLAG_FREPLACEABLE        EQU     0800H
VARFLAG_FIMMEDIATEBIND      EQU     1000H

VARFLAGS        TYPEDEF     SWORD


LIBFLAG_FRESTRICTED         EQU     1H
LIBFLAG_FCONTROL            EQU     2H
LIBFLAG_FHIDDEN             EQU     4H
LIBFLAG_FHASDISKIMAGE       EQU     8H

LIBFLAGS    TYPEDEF SWORD


SYS_WIN16                   EQU     0H
SYS_WIN32                   EQU     1H
SYS_MAC                     EQU     2H

SYSKIND     TYPEDEF DWORD


TLIBATTR        STRUCT    WORD
    guid            GUID        <>      ; 16 bytes
    lcid            DWORD       ?       ;  4 bytes
    syskind         SYSKIND     ?       ;  4? bytes
    wMajorVerNum    WORD        ?       ;  2 bytes
    wMinorVerNum    WORD        ?       ;  2 bytes
    wLibFlags       WORD        ?       ;  2 bytes
TLIBATTR        ENDS
LPTLIBATTR      TYPEDEF     DWORD


REGKIND_DEFAULT             EQU     0H
REGKIND_REGISTER            EQU     1H
REGKIND_NONE                EQU     2H

REGKIND         TYPEDEF     SWORD

sIID_NULL                       TEXTEQU      <{0, 0, 0, {0, 0, 0, 0, 0, 0, 0, 0}}>

;
; -------------------------------------------------------------------------------
;  ITypeComp Data Types

DESCKIND_NONE               EQU     0H
DESCKIND_FUNCDESC           EQU     1H
DESCKIND_VARDESC            EQU     2H
DESCKIND_TYPECOMP           EQU     3H
DESCKIND_IMPLICITAPPOBJ     EQU     4H
DESCKIND_MAX                EQU     5H
DESCKIND        TYPEDEF   SWORD


BINDPTR         Union   DWORD
    lpfuncdesc      PVOID       ?
    lpvardesc       PVOID       ?
    lptcomp         PVOID       ?
BINDPTR         ENDS
LPBINDPTR       TYPEDEF   DWORD

comethod1Proto      typedef proto :DWORD
comethod2Proto      typedef proto :DWORD, :DWORD
comethod3Proto      typedef proto :DWORD, :DWORD, :DWORD
comethod4Proto      typedef proto :DWORD, :DWORD, :DWORD, :DWORD
comethod5Proto      typedef proto :DWORD, :DWORD, :DWORD, :DWORD, :DWORD
comethod6Proto      typedef proto :DWORD, :DWORD, :DWORD, :DWORD, :DWORD,    :DWORD
comethod7Proto      typedef proto :DWORD, :DWORD, :DWORD, :DWORD, :DWORD,    :DWORD, :DWORD
comethod8Proto      typedef proto :DWORD, :DWORD, :DWORD, :DWORD, :DWORD,    :DWORD, :DWORD, :DWORD
comethod9Proto      typedef proto :DWORD, :DWORD, :DWORD, :DWORD, :DWORD,    :DWORD, :DWORD, :DWORD, :DWORD
comethod10Proto     typedef proto :DWORD, :DWORD, :DWORD, :DWORD, :DWORD,    :DWORD, :DWORD, :DWORD, :DWORD, :DWORD
comethod11Proto     typedef proto :DWORD, :DWORD, :DWORD, :DWORD, :DWORD,    :DWORD, :DWORD, :DWORD, :DWORD, :DWORD,    :DWORD
comethod12Proto     typedef proto :DWORD, :DWORD, :DWORD, :DWORD, :DWORD,    :DWORD, :DWORD, :DWORD, :DWORD, :DWORD,    :DWORD, :DWORD
comethod13Proto     typedef proto :DWORD, :DWORD, :DWORD, :DWORD, :DWORD,    :DWORD, :DWORD, :DWORD, :DWORD, :DWORD,    :DWORD, :DWORD, :DWORD
comethod14Proto     typedef proto :DWORD, :DWORD, :DWORD, :DWORD, :DWORD,    :DWORD, :DWORD, :DWORD, :DWORD, :DWORD,    :DWORD, :DWORD, :DWORD, :DWORD
comethod15Proto     typedef proto :DWORD, :DWORD, :DWORD, :DWORD, :DWORD,    :DWORD, :DWORD, :DWORD, :DWORD, :DWORD,    :DWORD, :DWORD, :DWORD, :DWORD, :DWORD
comethod16Proto     typedef proto :DWORD, :DWORD, :DWORD, :DWORD, :DWORD,    :DWORD, :DWORD, :DWORD, :DWORD, :DWORD,    :DWORD, :DWORD, :DWORD, :DWORD, :DWORD,    :DWORD
comethod17Proto     typedef proto :DWORD, :DWORD, :DWORD, :DWORD, :DWORD,    :DWORD, :DWORD, :DWORD, :DWORD, :DWORD,    :DWORD, :DWORD, :DWORD, :DWORD, :DWORD,    :DWORD, :DWORD
comethod18Proto     typedef proto :DWORD, :DWORD, :DWORD, :DWORD, :DWORD,    :DWORD, :DWORD, :DWORD, :DWORD, :DWORD,    :DWORD, :DWORD, :DWORD, :DWORD, :DWORD,    :DWORD, :DWORD, :DWORD
comethod19Proto     typedef proto :DWORD, :DWORD, :DWORD, :DWORD, :DWORD,    :DWORD, :DWORD, :DWORD, :DWORD, :DWORD,    :DWORD, :DWORD, :DWORD, :DWORD, :DWORD,    :DWORD, :DWORD, :DWORD, :DWORD
comethod20Proto     typedef proto :DWORD, :DWORD, :DWORD, :DWORD, :DWORD,    :DWORD, :DWORD, :DWORD, :DWORD, :DWORD,    :DWORD, :DWORD, :DWORD, :DWORD, :DWORD,    :DWORD, :DWORD, :DWORD, :DWORD

comethod1           typedef ptr comethod1Proto
comethod2           typedef ptr comethod2Proto
comethod3           typedef ptr comethod3Proto
comethod4           typedef ptr comethod4Proto
comethod5           typedef ptr comethod5Proto
comethod6           typedef ptr comethod6Proto
comethod7           typedef ptr comethod7Proto
comethod8           typedef ptr comethod8Proto
comethod9           typedef ptr comethod9Proto
comethod10          typedef ptr comethod10Proto
comethod11          typedef ptr comethod11Proto
comethod12          typedef ptr comethod12Proto
comethod13          typedef ptr comethod13Proto
comethod14          typedef ptr comethod14Proto
comethod15          typedef ptr comethod15Proto
comethod16          typedef ptr comethod15Proto
comethod17          typedef ptr comethod15Proto
comethod18          typedef ptr comethod15Proto
comethod19          typedef ptr comethod15Proto
comethod20          typedef ptr comethod15Proto


; IUnknown Interface
;------------------------------------------------------------------------------------
; the fundamental base interface

sIID_IUnknown                   TEXTEQU      <{000000000H, 00000H, 00000H, {0C0H, 000H, 000H, 000H, 000H, 000H, 000H, 046H}}>

_vtIUnknown MACRO CastName:REQ
    ; IUnknown methods
    &CastName&_QueryInterface comethod3 ?
    &CastName&_AddRef comethod1 ?
    &CastName&_Release comethod1 ?
ENDM

IUnknown                        STRUCT
    _vtIUnknown IUnknown
IUnknown                        ENDS


; IClassFactory Interface
;------------------------------------------------------------------------------------
;

sIID_IClassFactory              TEXTEQU      <{000000001H, 00000H, 00000H, {0C0H, 000H, 000H, 000H, 000H, 000H, 000H, 046H}}>

_vtIClassFactory MACRO CastName:REQ
    ; IUnknown methods 
    _vtIUnknown CastName
    ; IClassFactory methods
    &CastName&_CreateInstance comethod4 ?
    &CastName&_LockServer comethod2 ?
ENDM

IClassFactory                   STRUCT
    _vtIClassFactory IClassFactory

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?