ole2.h
来自「用于查询PC机上的USB端口是否有设备挂接上」· C头文件 代码 · 共 1,209 行 · 第 1/3 页
H
1,209 行
{
OLEUPDATE_ALWAYS=1,
OLEUPDATE_ONCALL=3
} OLEUPDATE;
typedef OLEUPDATE FAR* LPOLEUPDATE;
// for IOleLink::BindToSource
typedef enum tagOLELINKBIND
{
OLELINKBIND_EVENIFCLASSDIFF = 1,
} OLELINKBIND;
#undef INTERFACE
#define INTERFACE IOleLink
DECLARE_INTERFACE_(IOleLink, IUnknown)
{
// *** IUnknown methods ***
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
STDMETHOD_(ULONG,AddRef) (THIS) PURE;
STDMETHOD_(ULONG,Release) (THIS) PURE;
// *** IOleLink methods ***
STDMETHOD(SetUpdateOptions) (THIS_ DWORD dwUpdateOpt) PURE;
STDMETHOD(GetUpdateOptions) (THIS_ LPDWORD pdwUpdateOpt) PURE;
STDMETHOD(SetSourceMoniker) (THIS_ LPMONIKER pmk, REFCLSID rclsid) PURE;
STDMETHOD(GetSourceMoniker) (THIS_ LPMONIKER FAR* ppmk) PURE;
STDMETHOD(SetSourceDisplayName) (THIS_ LPCSTR lpszDisplayName) PURE;
STDMETHOD(GetSourceDisplayName) (THIS_ LPSTR FAR* lplpszDisplayName) PURE;
STDMETHOD(BindToSource) (THIS_ DWORD bindflags, LPBINDCTX pbc) PURE;
STDMETHOD(BindIfRunning) (THIS) PURE;
STDMETHOD(GetBoundSource) (THIS_ LPUNKNOWN FAR* ppUnk) PURE;
STDMETHOD(UnbindSource) (THIS) PURE;
STDMETHOD(Update) (THIS_ LPBINDCTX pbc) PURE;
};
typedef IOleLink FAR* LPOLELINK;
/****** OLE InPlace Editing Interfaces ************************************/
#ifdef _MAC
typedef Handle HOLEMENU;
typedef long SIZE;
typedef long HACCEL;
#else
DECLARE_HANDLE(HOLEMENU);
#endif
typedef struct FARSTRUCT tagOIFI // OleInPlaceFrameInfo
{
UINT cb;
BOOL fMDIApp;
HWND hwndFrame;
HACCEL haccel;
int cAccelEntries;
} OLEINPLACEFRAMEINFO, FAR* LPOLEINPLACEFRAMEINFO;
typedef struct FARSTRUCT tagOleMenuGroupWidths
{
LONG width[6];
} OLEMENUGROUPWIDTHS, FAR* LPOLEMENUGROUPWIDTHS;
typedef RECT BORDERWIDTHS;
typedef LPRECT LPBORDERWIDTHS;
typedef LPCRECT LPCBORDERWIDTHS;
/* Inplace editing specific error codes */
#define INPLACE_E_NOTUNDOABLE (INPLACE_E_FIRST)
// undo is not avaiable
#define INPLACE_E_NOTOOLSPACE (INPLACE_E_FIRST+1)
// Space for tools is not available
#define INPLACE_S_TRUNCATED (INPLACE_S_FIRST)
// Message is too long, some of it had to be truncated before displaying
// forward type declarations
#if defined(__cplusplus)
interface IOleInPlaceUIWindow;
#else
typedef interface IOleInPlaceUIWindow IOleInPlaceUIWindow;
#endif
typedef IOleInPlaceUIWindow FAR* LPOLEINPLACEUIWINDOW;
#undef INTERFACE
#define INTERFACE IOleWindow
DECLARE_INTERFACE_(IOleWindow, IUnknown)
{
// *** IUnknown methods ***
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
STDMETHOD_(ULONG,AddRef) (THIS) PURE;
STDMETHOD_(ULONG,Release) (THIS) PURE;
// *** IOleWindow methods ***
STDMETHOD(GetWindow) (THIS_ HWND FAR* lphwnd) PURE;
STDMETHOD(ContextSensitiveHelp) (THIS_ BOOL fEnterMode) PURE;
};
typedef IOleWindow FAR* LPOLEWINDOW;
#undef INTERFACE
#define INTERFACE IOleInPlaceObject
DECLARE_INTERFACE_(IOleInPlaceObject, IOleWindow)
{
// *** IUnknown methods ***
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
STDMETHOD_(ULONG,AddRef) (THIS) PURE;
STDMETHOD_(ULONG,Release) (THIS) PURE;
// *** IOleWindow methods ***
STDMETHOD(GetWindow) (THIS_ HWND FAR* lphwnd) PURE;
STDMETHOD(ContextSensitiveHelp) (THIS_ BOOL fEnterMode) PURE;
// *** IOleInPlaceObject methods ***
STDMETHOD(InPlaceDeactivate) (THIS) PURE;
STDMETHOD(UIDeactivate) (THIS) PURE;
STDMETHOD(SetObjectRects) (THIS_ LPCRECT lprcPosRect,
LPCRECT lprcClipRect) PURE;
STDMETHOD(ReactivateAndUndo) (THIS) PURE;
};
typedef IOleInPlaceObject FAR* LPOLEINPLACEOBJECT;
#undef INTERFACE
#define INTERFACE IOleInPlaceActiveObject
DECLARE_INTERFACE_(IOleInPlaceActiveObject, IOleWindow)
{
// *** IUnknown methods ***
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
STDMETHOD_(ULONG,AddRef) (THIS) PURE;
STDMETHOD_(ULONG,Release) (THIS) PURE;
// *** IOleWindow methods ***
STDMETHOD(GetWindow) (THIS_ HWND FAR* lphwnd) PURE;
STDMETHOD(ContextSensitiveHelp) (THIS_ BOOL fEnterMode) PURE;
// *** IOleInPlaceActiveObject methods ***
STDMETHOD(TranslateAccelerator) (THIS_ LPMSG lpmsg) PURE;
STDMETHOD(OnFrameWindowActivate) (THIS_ BOOL fActivate) PURE;
STDMETHOD(OnDocWindowActivate) (THIS_ BOOL fActivate) PURE;
STDMETHOD(ResizeBorder) (THIS_ LPCRECT lprectBorder, LPOLEINPLACEUIWINDOW lpUIWindow, BOOL fFrameWindow) PURE;
STDMETHOD(EnableModeless) (THIS_ BOOL fEnable) PURE;
};
typedef IOleInPlaceActiveObject FAR* LPOLEINPLACEACTIVEOBJECT;
#undef INTERFACE
#define INTERFACE IOleInPlaceUIWindow
DECLARE_INTERFACE_(IOleInPlaceUIWindow, IOleWindow)
{
// *** IUnknown methods ***
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
STDMETHOD_(ULONG,AddRef) (THIS) PURE;
STDMETHOD_(ULONG,Release) (THIS) PURE;
// *** IOleWindow methods ***
STDMETHOD(GetWindow) (THIS_ HWND FAR* lphwnd) PURE;
STDMETHOD(ContextSensitiveHelp) (THIS_ BOOL fEnterMode) PURE;
// *** IOleInPlaceUIWindow methods ***
STDMETHOD(GetBorder) (THIS_ LPRECT lprectBorder) PURE;
STDMETHOD(RequestBorderSpace) (THIS_ LPCBORDERWIDTHS lpborderwidths) PURE;
STDMETHOD(SetBorderSpace) (THIS_ LPCBORDERWIDTHS lpborderwidths) PURE;
STDMETHOD(SetActiveObject) (THIS_ LPOLEINPLACEACTIVEOBJECT lpActiveObject,
LPCSTR lpszObjName) PURE;
};
typedef IOleInPlaceUIWindow FAR* LPOLEINPLACEUIWINDOW;
#undef INTERFACE
#define INTERFACE IOleInPlaceFrame
DECLARE_INTERFACE_(IOleInPlaceFrame, IOleInPlaceUIWindow)
{
// *** IUnknown methods ***
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
STDMETHOD_(ULONG,AddRef) (THIS) PURE;
STDMETHOD_(ULONG,Release) (THIS) PURE;
// *** IOleWindow methods ***
STDMETHOD(GetWindow) (THIS_ HWND FAR* lphwnd) PURE;
STDMETHOD(ContextSensitiveHelp) (THIS_ BOOL fEnterMode) PURE;
// *** IOleInPlaceUIWindow methods ***
STDMETHOD(GetBorder) (THIS_ LPRECT lprectBorder) PURE;
STDMETHOD(RequestBorderSpace) (THIS_ LPCBORDERWIDTHS lpborderwidths) PURE;
STDMETHOD(SetBorderSpace) (THIS_ LPCBORDERWIDTHS lpborderwidths) PURE;
STDMETHOD(SetActiveObject) (THIS_ LPOLEINPLACEACTIVEOBJECT lpActiveObject,
LPCSTR lpszObjName) PURE;
// *** IOleInPlaceFrame methods ***
STDMETHOD(InsertMenus) (THIS_ HMENU hmenuShared, LPOLEMENUGROUPWIDTHS lpMenuWidths) PURE;
STDMETHOD(SetMenu) (THIS_ HMENU hmenuShared, HOLEMENU holemenu, HWND hwndActiveObject) PURE;
STDMETHOD(RemoveMenus) (THIS_ HMENU hmenuShared) PURE;
STDMETHOD(SetStatusText) (THIS_ LPCSTR lpszStatusText) PURE;
STDMETHOD(EnableModeless) (THIS_ BOOL fEnable) PURE;
STDMETHOD(TranslateAccelerator) (THIS_ LPMSG lpmsg, WORD wID) PURE;
};
typedef IOleInPlaceFrame FAR* LPOLEINPLACEFRAME;
#undef INTERFACE
#define INTERFACE IOleInPlaceSite
DECLARE_INTERFACE_(IOleInPlaceSite, IOleWindow)
{
// *** IUnknown methods ***
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
STDMETHOD_(ULONG,AddRef) (THIS) PURE;
STDMETHOD_(ULONG,Release) (THIS) PURE;
// *** IOleWindow methods ***
STDMETHOD(GetWindow) (THIS_ HWND FAR* lphwnd) PURE;
STDMETHOD(ContextSensitiveHelp) (THIS_ BOOL fEnterMode) PURE;
// *** IOleInPlaceSite methods ***
STDMETHOD(CanInPlaceActivate) (THIS) PURE;
STDMETHOD(OnInPlaceActivate) (THIS) PURE;
STDMETHOD(OnUIActivate) (THIS) PURE;
STDMETHOD(GetWindowContext) (THIS_ LPOLEINPLACEFRAME FAR* lplpFrame,
LPOLEINPLACEUIWINDOW FAR* lplpDoc,
LPRECT lprcPosRect,
LPRECT lprcClipRect,
LPOLEINPLACEFRAMEINFO lpFrameInfo) PURE;
STDMETHOD(Scroll) (THIS_ SIZE scrollExtent) PURE;
STDMETHOD(OnUIDeactivate) (THIS_ BOOL fUndoable) PURE;
STDMETHOD(OnInPlaceDeactivate) (THIS) PURE;
STDMETHOD(DiscardUndoState) (THIS) PURE;
STDMETHOD(DeactivateAndUndo) (THIS) PURE;
STDMETHOD(OnPosRectChange) (THIS_ LPCRECT lprcPosRect) PURE;
};
typedef IOleInPlaceSite FAR* LPOLEINPLACESITE;
/****** OLE API Prototypes ************************************************/
STDAPI_(DWORD) OleBuildVersion( VOID );
/* helper functions */
STDAPI ReadClassStg(LPSTORAGE pStg, CLSID FAR* pclsid);
STDAPI WriteClassStg(LPSTORAGE pStg, REFCLSID rclsid);
STDAPI ReadClassStm(LPSTREAM pStm, CLSID FAR* pclsid);
STDAPI WriteClassStm(LPSTREAM pStm, REFCLSID rclsid);
STDAPI WriteFmtUserTypeStg (LPSTORAGE pstg, CLIPFORMAT cf, LPSTR lpszUserType);
STDAPI ReadFmtUserTypeStg (LPSTORAGE pstg, CLIPFORMAT FAR* pcf, LPSTR FAR* lplpszUserType);
/* init/term */
STDAPI OleInitialize(LPMALLOC pMalloc);
STDAPI_(void) OleUninitialize(void);
/* APIs to query whether (Embedded/Linked) object can be created from
the data object */
STDAPI OleQueryLinkFromData(LPDATAOBJECT pSrcDataObject);
STDAPI OleQueryCreateFromData(LPDATAOBJECT pSrcDataObject);
/* Object creation APIs */
STDAPI OleCreate(REFCLSID rclsid, REFIID riid, DWORD renderopt,
LPFORMATETC pFormatEtc, LPOLECLIENTSITE pClientSite,
LPSTORAGE pStg, LPVOID FAR* ppvObj);
STDAPI OleCreateFromData(LPDATAOBJECT pSrcDataObj, REFIID riid,
DWORD renderopt, LPFORMATETC pFormatEtc,
LPOLECLIENTSITE pClientSite, LPSTORAGE pStg,
LPVOID FAR* ppvObj);
STDAPI OleCreateLinkFromData(LPDATAOBJECT pSrcDataObj, REFIID riid,
DWORD renderopt, LPFORMATETC pFormatEtc,
LPOLECLIENTSITE pClientSite, LPSTORAGE pStg,
LPVOID FAR* ppvObj);
STDAPI OleCreateStaticFromData(LPDATAOBJECT pSrcDataObj, REFIID iid,
DWORD renderopt, LPFORMATETC pFormatEtc,
LPOLECLIENTSITE pClientSite, LPSTORAGE pStg,
LPVOID FAR* ppvObj);
STDAPI OleCreateLink(LPMONIKER pmkLinkSrc, REFIID riid,
DWORD renderopt, LPFORMATETC lpFormatEtc,
LPOLECLIENTSITE pClientSite, LPSTORAGE pStg, LPVOID FAR* ppvObj);
STDAPI OleCreateLinkToFile(LPCSTR lpszFileName, REFIID riid,
DWORD renderopt, LPFORMATETC lpFormatEtc,
LPOLECLIENTSITE pClientSite, LPSTORAGE pStg, LPVOID FAR* ppvObj);
STDAPI OleCreateFromFile(REFCLSID rclsid, LPCSTR lpszFileName, REFIID riid,
DWORD renderopt, LPFORMATETC lpFormatEtc,
LPOLECLIENTSITE pClientSite, LPSTORAGE pStg, LPVOID FAR* ppvObj);
STDAPI OleLoad(LPSTORAGE pStg, REFIID riid, LPOLECLIENTSITE pClientSite,
LPVOID FAR* ppvObj);
STDAPI OleSave(LPPERSISTSTORAGE pPS, LPSTORAGE pStg, BOOL fSameAsLoad);
STDAPI OleLoadFromStream( LPSTREAM pStm, REFIID iidInterface, LPVOID FAR* ppvObj);
STDAPI OleSaveToStream( LPPERSISTSTREAM pPStm, LPSTREAM pStm );
STDAPI OleSetContainedObject(LPUNKNOWN pUnknown, BOOL fContained);
STDAPI OleNoteObjectVisible(LPUNKNOWN pUnknown, BOOL fVisible);
/* Drag/Drop APIs */
STDAPI RegisterDragDrop(HWND hwnd, LPDROPTARGET pDropTarget);
STDAPI RevokeDragDrop(HWND hwnd);
STDAPI DoDragDrop(LPDATAOBJECT pDataObj, LPDROPSOURCE pDropSource,
DWORD dwOKEffects, LPDWORD pdwEffect);
/* Clipboard APIs */
STDAPI OleSetClipboard(LPDATAOBJECT pDataObj);
STDAPI OleGetClipboard(LPDATAOBJECT FAR* ppDataObj);
STDAPI OleFlushClipboard(void);
STDAPI OleIsCurrentClipboard(LPDATAOBJECT pDataObj);
/* InPlace Editing APIs */
STDAPI_(HOLEMENU) OleCreateMenuDescriptor (HMENU hmenuCombined,
LPOLEMENUGROUPWIDTHS lpMenuWidths);
STDAPI OleSetMenuDescriptor (HOLEMENU holemenu, HWND hwndFrame,
HWND hwndActiveObject,
LPOLEINPLACEFRAME lpFrame,
LPOLEINPLACEACTIVEOBJECT lpActiveObj);
STDAPI OleDestroyMenuDescriptor (HOLEMENU holemenu);
STDAPI OleTranslateAccelerator (LPOLEINPLACEFRAME lpFrame,
LPOLEINPLACEFRAMEINFO lpFrameInfo, LPMSG lpmsg);
/* Helper APIs */
STDAPI_(HANDLE) OleDuplicateData (HANDLE hSrc, CLIPFORMAT cfFormat,
UINT uiFlags);
STDAPI OleDraw (LPUNKNOWN pUnknown, DWORD dwAspect, HDC hdcDraw,
LPCRECT lprcBounds);
STDAPI OleRun(LPUNKNOWN pUnknown);
STDAPI_(BOOL) OleIsRunning(LPOLEOBJECT pObject);
STDAPI_(void) ReleaseStgMedium(LPSTGMEDIUM);
STDAPI CreateOleAdviseHolder(LPOLEADVISEHOLDER FAR* ppOAHolder);
STDAPI OleCreateDefaultHandler(REFCLSID clsid, LPUNKNOWN pUnkOuter,
REFIID riid, LPVOID FAR* lplpObj);
/* OLE 1.0 conversion APIS */
STDAPI OleConvertOLESTREAMToIStorage
(LPOLESTREAM lpolestream,
LPSTORAGE pstg,
const DVTARGETDEVICE FAR* ptd);
STDAPI OleConvertIStorageToOLESTREAM
(LPSTORAGE pstg,
LPOLESTREAM lpolestream);
/* Storage Utility APIs */
STDAPI GetHGlobalFromILockBytes (LPLOCKBYTES plkbyt, HGLOBAL FAR* phglobal);
STDAPI CreateILockBytesOnHGlobal (HGLOBAL hGlobal, BOOL fDeleteOnRelease,
LPLOCKBYTES FAR* pplkbyt);
STDAPI GetHGlobalFromStream (LPSTREAM pstm, HGLOBAL FAR* phglobal);
STDAPI CreateStreamOnHGlobal (HGLOBAL hGlobal, BOOL fDeleteOnRelease,
LPSTREAM FAR* ppstm);
/* ConvertTo APIS */
STDAPI OleDoAutoConvert(LPSTORAGE pStg, LPCLSID pClsidNew);
STDAPI OleGetAutoConvert(REFCLSID clsidOld, LPCLSID pClsidNew);
STDAPI OleSetAutoConvert(REFCLSID clsidOld, REFCLSID clsidNew);
STDAPI GetConvertStg(LPSTORAGE pStg);
STDAPI SetConvertStg(LPSTORAGE pStg, BOOL fConvert);
#endif // _OLE2_H_
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?