📄 propidl.h
字号:
#pragma warning( disable: 4049 ) /* more than 64k source lines */
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
/* File created by MIDL compiler version 6.00.0347 */
/* Compiler settings for propidl.idl:
Oicf, W1, Zp8, env=Win32 (32b run)
protocol : dce , ms_ext, c_ext, robust
error checks: allocation ref bounds_check enum stub_data
VC __declspec() decoration level:
__declspec(uuid()), __declspec(selectany), __declspec(novtable)
DECLSPEC_UUID(), MIDL_INTERFACE()
*/
//@@MIDL_FILE_HEADING( )
/* verify that the <rpcndr.h> version is high enough to compile this file*/
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 475
#endif
#include "rpc.h"
#include "rpcndr.h"
#ifndef __RPCNDR_H_VERSION__
#error this stub requires an updated version of <rpcndr.h>
#endif // __RPCNDR_H_VERSION__
#ifndef COM_NO_WINDOWS_H
#include "windows.h"
#include "ole2.h"
#endif /*COM_NO_WINDOWS_H*/
#ifndef __propidl_h__
#define __propidl_h__
#if defined(_MSC_VER) && (_MSC_VER >= 1020)
#pragma once
#endif
/* Forward Declarations */
#ifndef __IPropertyStorage_FWD_DEFINED__
#define __IPropertyStorage_FWD_DEFINED__
typedef interface IPropertyStorage IPropertyStorage;
#endif /* __IPropertyStorage_FWD_DEFINED__ */
#ifndef __IPropertySetStorage_FWD_DEFINED__
#define __IPropertySetStorage_FWD_DEFINED__
typedef interface IPropertySetStorage IPropertySetStorage;
#endif /* __IPropertySetStorage_FWD_DEFINED__ */
#ifndef __IEnumSTATPROPSTG_FWD_DEFINED__
#define __IEnumSTATPROPSTG_FWD_DEFINED__
typedef interface IEnumSTATPROPSTG IEnumSTATPROPSTG;
#endif /* __IEnumSTATPROPSTG_FWD_DEFINED__ */
#ifndef __IEnumSTATPROPSETSTG_FWD_DEFINED__
#define __IEnumSTATPROPSETSTG_FWD_DEFINED__
typedef interface IEnumSTATPROPSETSTG IEnumSTATPROPSETSTG;
#endif /* __IEnumSTATPROPSETSTG_FWD_DEFINED__ */
/* header files for imported files */
#include "objidl.h"
#include "oaidl.h"
#ifdef __cplusplus
extern "C"{
#endif
void * __RPC_USER MIDL_user_allocate(size_t);
void __RPC_USER MIDL_user_free( void * );
/* interface __MIDL_itf_propidl_0000 */
/* [local] */
//+-------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//--------------------------------------------------------------------------
#if ( _MSC_VER >= 800 )
#if _MSC_VER >= 1200
#pragma warning(push)
#endif
#pragma warning(disable:4201) /* Nameless struct/union */
#pragma warning(disable:4237) /* obsolete member named 'bool' */
#endif
#if ( _MSC_VER >= 1020 )
#pragma once
#endif
typedef struct tagVersionedStream
{
GUID guidVersion;
IStream *pStream;
} VERSIONEDSTREAM;
typedef struct tagVersionedStream *LPVERSIONEDSTREAM;
// Flags for IPropertySetStorage::Create
#define PROPSETFLAG_DEFAULT ( 0 )
#define PROPSETFLAG_NONSIMPLE ( 1 )
#define PROPSETFLAG_ANSI ( 2 )
// (This flag is only supported on StgCreatePropStg & StgOpenPropStg
#define PROPSETFLAG_UNBUFFERED ( 4 )
// (This flag causes a version-1 property set to be created
#define PROPSETFLAG_CASE_SENSITIVE ( 8 )
// Flags for the reservied PID_BEHAVIOR property
#define PROPSET_BEHAVIOR_CASE_SENSITIVE ( 1 )
#ifdef MIDL_PASS
// This is the PROPVARIANT definition for marshaling.
typedef struct tag_inner_PROPVARIANT PROPVARIANT;
#else
// This is the standard C layout of the PROPVARIANT.
typedef struct tagPROPVARIANT PROPVARIANT;
#endif
typedef struct tagCAC
{
ULONG cElems;
/* [size_is] */ CHAR *pElems;
} CAC;
typedef struct tagCAUB
{
ULONG cElems;
/* [size_is] */ UCHAR *pElems;
} CAUB;
typedef struct tagCAI
{
ULONG cElems;
/* [size_is] */ SHORT *pElems;
} CAI;
typedef struct tagCAUI
{
ULONG cElems;
/* [size_is] */ USHORT *pElems;
} CAUI;
typedef struct tagCAL
{
ULONG cElems;
/* [size_is] */ LONG *pElems;
} CAL;
typedef struct tagCAUL
{
ULONG cElems;
/* [size_is] */ ULONG *pElems;
} CAUL;
typedef struct tagCAFLT
{
ULONG cElems;
/* [size_is] */ FLOAT *pElems;
} CAFLT;
typedef struct tagCADBL
{
ULONG cElems;
/* [size_is] */ DOUBLE *pElems;
} CADBL;
typedef struct tagCACY
{
ULONG cElems;
/* [size_is] */ CY *pElems;
} CACY;
typedef struct tagCADATE
{
ULONG cElems;
/* [size_is] */ DATE *pElems;
} CADATE;
typedef struct tagCABSTR
{
ULONG cElems;
/* [size_is] */ BSTR *pElems;
} CABSTR;
typedef struct tagCABSTRBLOB
{
ULONG cElems;
/* [size_is] */ BSTRBLOB *pElems;
} CABSTRBLOB;
typedef struct tagCABOOL
{
ULONG cElems;
/* [size_is] */ VARIANT_BOOL *pElems;
} CABOOL;
typedef struct tagCASCODE
{
ULONG cElems;
/* [size_is] */ SCODE *pElems;
} CASCODE;
typedef struct tagCAPROPVARIANT
{
ULONG cElems;
/* [size_is] */ PROPVARIANT *pElems;
} CAPROPVARIANT;
typedef struct tagCAH
{
ULONG cElems;
/* [size_is] */ LARGE_INTEGER *pElems;
} CAH;
typedef struct tagCAUH
{
ULONG cElems;
/* [size_is] */ ULARGE_INTEGER *pElems;
} CAUH;
typedef struct tagCALPSTR
{
ULONG cElems;
/* [size_is] */ LPSTR *pElems;
} CALPSTR;
typedef struct tagCALPWSTR
{
ULONG cElems;
/* [size_is] */ LPWSTR *pElems;
} CALPWSTR;
typedef struct tagCAFILETIME
{
ULONG cElems;
/* [size_is] */ FILETIME *pElems;
} CAFILETIME;
typedef struct tagCACLIPDATA
{
ULONG cElems;
/* [size_is] */ CLIPDATA *pElems;
} CACLIPDATA;
typedef struct tagCACLSID
{
ULONG cElems;
/* [size_is] */ CLSID *pElems;
} CACLSID;
#ifdef MIDL_PASS
// This is the PROPVARIANT padding layout for marshaling.
typedef BYTE PROPVAR_PAD1;
typedef BYTE PROPVAR_PAD2;
typedef ULONG PROPVAR_PAD3;
#else
// This is the standard C layout of the structure.
typedef WORD PROPVAR_PAD1;
typedef WORD PROPVAR_PAD2;
typedef WORD PROPVAR_PAD3;
#define tag_inner_PROPVARIANT
#endif
#ifndef MIDL_PASS
struct tagPROPVARIANT {
union {
#endif
struct tag_inner_PROPVARIANT
{
VARTYPE vt;
PROPVAR_PAD1 wReserved1;
PROPVAR_PAD2 wReserved2;
PROPVAR_PAD3 wReserved3;
/* [switch_is] */ /* [switch_type] */ union
{
/* [case()] */ /* Empty union arm */
/* [case()] */ CHAR cVal;
/* [case()] */ UCHAR bVal;
/* [case()] */ SHORT iVal;
/* [case()] */ USHORT uiVal;
/* [case()] */ LONG lVal;
/* [case()] */ ULONG ulVal;
/* [case()] */ INT intVal;
/* [case()] */ UINT uintVal;
/* [case()] */ LARGE_INTEGER hVal;
/* [case()] */ ULARGE_INTEGER uhVal;
/* [case()] */ FLOAT fltVal;
/* [case()] */ DOUBLE dblVal;
/* [case()] */ VARIANT_BOOL boolVal;
/* [case()] */ _VARIANT_BOOL bool;
/* [case()] */ SCODE scode;
/* [case()] */ CY cyVal;
/* [case()] */ DATE date;
/* [case()] */ FILETIME filetime;
/* [case()] */ CLSID *puuid;
/* [case()] */ CLIPDATA *pclipdata;
/* [case()] */ BSTR bstrVal;
/* [case()] */ BSTRBLOB bstrblobVal;
/* [case()] */ BLOB blob;
/* [case()] */ LPSTR pszVal;
/* [case()] */ LPWSTR pwszVal;
/* [case()] */ IUnknown *punkVal;
/* [case()] */ IDispatch *pdispVal;
/* [case()] */ IStream *pStream;
/* [case()] */ IStorage *pStorage;
/* [case()] */ LPVERSIONEDSTREAM pVersionedStream;
/* [case()] */ LPSAFEARRAY parray;
/* [case()] */ CAC cac;
/* [case()] */ CAUB caub;
/* [case()] */ CAI cai;
/* [case()] */ CAUI caui;
/* [case()] */ CAL cal;
/* [case()] */ CAUL caul;
/* [case()] */ CAH cah;
/* [case()] */ CAUH cauh;
/* [case()] */ CAFLT caflt;
/* [case()] */ CADBL cadbl;
/* [case()] */ CABOOL cabool;
/* [case()] */ CASCODE cascode;
/* [case()] */ CACY cacy;
/* [case()] */ CADATE cadate;
/* [case()] */ CAFILETIME cafiletime;
/* [case()] */ CACLSID cauuid;
/* [case()] */ CACLIPDATA caclipdata;
/* [case()] */ CABSTR cabstr;
/* [case()] */ CABSTRBLOB cabstrblob;
/* [case()] */ CALPSTR calpstr;
/* [case()] */ CALPWSTR calpwstr;
/* [case()] */ CAPROPVARIANT capropvar;
/* [case()] */ CHAR *pcVal;
/* [case()] */ UCHAR *pbVal;
/* [case()] */ SHORT *piVal;
/* [case()] */ USHORT *puiVal;
/* [case()] */ LONG *plVal;
/* [case()] */ ULONG *pulVal;
/* [case()] */ INT *pintVal;
/* [case()] */ UINT *puintVal;
/* [case()] */ FLOAT *pfltVal;
/* [case()] */ DOUBLE *pdblVal;
/* [case()] */ VARIANT_BOOL *pboolVal;
/* [case()] */ DECIMAL *pdecVal;
/* [case()] */ SCODE *pscode;
/* [case()] */ CY *pcyVal;
/* [case()] */ DATE *pdate;
/* [case()] */ BSTR *pbstrVal;
/* [case()] */ IUnknown **ppunkVal;
/* [case()] */ IDispatch **ppdispVal;
/* [case()] */ LPSAFEARRAY *pparray;
/* [case()] */ PROPVARIANT *pvarVal;
} ;
} ;
#ifndef MIDL_PASS
DECIMAL decVal;
};
};
#endif
#ifdef MIDL_PASS
// This is the LPPROPVARIANT definition for marshaling.
typedef struct tag_inner_PROPVARIANT *LPPROPVARIANT;
#else
// This is the standard C layout of the PROPVARIANT.
typedef struct tagPROPVARIANT * LPPROPVARIANT;
#endif
// Reserved global Property IDs
#define PID_DICTIONARY ( 0 )
#define PID_CODEPAGE ( 0x1 )
#define PID_FIRST_USABLE ( 0x2 )
#define PID_FIRST_NAME_DEFAULT ( 0xfff )
#define PID_LOCALE ( 0x80000000 )
#define PID_MODIFY_TIME ( 0x80000001 )
#define PID_SECURITY ( 0x80000002 )
#define PID_BEHAVIOR ( 0x80000003 )
#define PID_ILLEGAL ( 0xffffffff )
// Range which is read-only to downlevel implementations
#define PID_MIN_READONLY ( 0x80000000 )
#define PID_MAX_READONLY ( 0xbfffffff )
// Property IDs for the DiscardableInformation Property Set
#define PIDDI_THUMBNAIL 0x00000002L // VT_BLOB
// Property IDs for the SummaryInformation Property Set
#define PIDSI_TITLE 0x00000002L // VT_LPSTR
#define PIDSI_SUBJECT 0x00000003L // VT_LPSTR
#define PIDSI_AUTHOR 0x00000004L // VT_LPSTR
#define PIDSI_KEYWORDS 0x00000005L // VT_LPSTR
#define PIDSI_COMMENTS 0x00000006L // VT_LPSTR
#define PIDSI_TEMPLATE 0x00000007L // VT_LPSTR
#define PIDSI_LASTAUTHOR 0x00000008L // VT_LPSTR
#define PIDSI_REVNUMBER 0x00000009L // VT_LPSTR
#define PIDSI_EDITTIME 0x0000000aL // VT_FILETIME (UTC)
#define PIDSI_LASTPRINTED 0x0000000bL // VT_FILETIME (UTC)
#define PIDSI_CREATE_DTM 0x0000000cL // VT_FILETIME (UTC)
#define PIDSI_LASTSAVE_DTM 0x0000000dL // VT_FILETIME (UTC)
#define PIDSI_PAGECOUNT 0x0000000eL // VT_I4
#define PIDSI_WORDCOUNT 0x0000000fL // VT_I4
#define PIDSI_CHARCOUNT 0x00000010L // VT_I4
#define PIDSI_THUMBNAIL 0x00000011L // VT_CF
#define PIDSI_APPNAME 0x00000012L // VT_LPSTR
#define PIDSI_DOC_SECURITY 0x00000013L // VT_I4
// Property IDs for the DocSummaryInformation Property Set
#define PIDDSI_CATEGORY 0x00000002 // VT_LPSTR
#define PIDDSI_PRESFORMAT 0x00000003 // VT_LPSTR
#define PIDDSI_BYTECOUNT 0x00000004 // VT_I4
#define PIDDSI_LINECOUNT 0x00000005 // VT_I4
#define PIDDSI_PARCOUNT 0x00000006 // VT_I4
#define PIDDSI_SLIDECOUNT 0x00000007 // VT_I4
#define PIDDSI_NOTECOUNT 0x00000008 // VT_I4
#define PIDDSI_HIDDENCOUNT 0x00000009 // VT_I4
#define PIDDSI_MMCLIPCOUNT 0x0000000A // VT_I4
#define PIDDSI_SCALE 0x0000000B // VT_BOOL
#define PIDDSI_HEADINGPAIR 0x0000000C // VT_VARIANT | VT_VECTOR
#define PIDDSI_DOCPARTS 0x0000000D // VT_LPSTR | VT_VECTOR
#define PIDDSI_MANAGER 0x0000000E // VT_LPSTR
#define PIDDSI_COMPANY 0x0000000F // VT_LPSTR
#define PIDDSI_LINKSDIRTY 0x00000010 // VT_BOOL
// FMTID_MediaFileSummaryInfo - Property IDs
#define PIDMSI_EDITOR 0x00000002L // VT_LPWSTR
#define PIDMSI_SUPPLIER 0x00000003L // VT_LPWSTR
#define PIDMSI_SOURCE 0x00000004L // VT_LPWSTR
#define PIDMSI_SEQUENCE_NO 0x00000005L // VT_LPWSTR
#define PIDMSI_PROJECT 0x00000006L // VT_LPWSTR
#define PIDMSI_STATUS 0x00000007L // VT_UI4
#define PIDMSI_OWNER 0x00000008L // VT_LPWSTR
#define PIDMSI_RATING 0x00000009L // VT_LPWSTR
#define PIDMSI_PRODUCTION 0x0000000AL // VT_FILETIME (UTC)
#define PIDMSI_COPYRIGHT 0x0000000BL // VT_LPWSTR
// PIDMSI_STATUS value definitions
enum PIDMSI_STATUS_VALUE
{ PIDMSI_STATUS_NORMAL = 0,
PIDMSI_STATUS_NEW = PIDMSI_STATUS_NORMAL + 1,
PIDMSI_STATUS_PRELIM = PIDMSI_STATUS_NEW + 1,
PIDMSI_STATUS_DRAFT = PIDMSI_STATUS_PRELIM + 1,
PIDMSI_STATUS_INPROGRESS = PIDMSI_STATUS_DRAFT + 1,
PIDMSI_STATUS_EDIT = PIDMSI_STATUS_INPROGRESS + 1,
PIDMSI_STATUS_REVIEW = PIDMSI_STATUS_EDIT + 1,
PIDMSI_STATUS_PROOF = PIDMSI_STATUS_REVIEW + 1,
PIDMSI_STATUS_FINAL = PIDMSI_STATUS_PROOF + 1,
PIDMSI_STATUS_OTHER = 0x7fff
} ;
#define PRSPEC_INVALID ( 0xffffffff )
#define PRSPEC_LPWSTR ( 0 )
#define PRSPEC_PROPID ( 1 )
typedef struct tagPROPSPEC
{
ULONG ulKind;
/* [switch_is] */ /* [switch_type] */ union
{
/* [case()] */ PROPID propid;
/* [case()] */ LPOLESTR lpwstr;
/* [default] */ /* Empty union arm */
} ;
} PROPSPEC;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -