📄 objbase.h
字号:
DWORD *pwAuthnSvc,
DWORD *pAuthzSvc,
OLECHAR **pServerPrincName,
DWORD *pAuthnLevel,
DWORD *pImpLevel,
RPC_AUTH_IDENTITY_HANDLE *pAuthInfo,
DWORD *pCapabilites );
WINOLEAPI CoSetProxyBlanket(
IUnknown *pProxy,
DWORD dwAuthnSvc,
DWORD dwAuthzSvc,
OLECHAR *pServerPrincName,
DWORD dwAuthnLevel,
DWORD dwImpLevel,
RPC_AUTH_IDENTITY_HANDLE pAuthInfo,
DWORD dwCapabilities );
WINOLEAPI CoCopyProxy(
IUnknown *pProxy,
IUnknown **ppCopy );
WINOLEAPI CoQueryClientBlanket(
DWORD *pAuthnSvc,
DWORD *pAuthzSvc,
OLECHAR **pServerPrincName,
DWORD *pAuthnLevel,
DWORD *pImpLevel,
RPC_AUTHZ_HANDLE *pPrivs,
DWORD *pCapabilities );
WINOLEAPI CoImpersonateClient();
WINOLEAPI CoRevertToSelf();
WINOLEAPI CoQueryAuthenticationServices(
DWORD *pcAuthSvc,
SOLE_AUTHENTICATION_SERVICE **asAuthSvc );
WINOLEAPI CoSwitchCallContext( IUnknown *pNewObject, IUnknown **ppOldObject );
#define COM_RIGHTS_EXECUTE 1
#endif // DCOM
/* helper for creating instances */
WINOLEAPI CoCreateInstance(REFCLSID rclsid, LPUNKNOWN pUnkOuter,
DWORD dwClsContext, REFIID riid, LPVOID FAR* ppv);
#if (_WIN32_WINNT >= 0x0400 ) || defined(_WIN32_DCOM) // DCOM
WINOLEAPI CoGetInstanceFromFile(
COSERVERINFO * pServerInfo,
CLSID * pClsid,
IUnknown * punkOuter, // only relevant locally
DWORD dwClsCtx,
DWORD grfMode,
OLECHAR * pwszName,
DWORD dwCount,
MULTI_QI * pResults );
WINOLEAPI CoGetInstanceFromIStorage(
COSERVERINFO * pServerInfo,
CLSID * pClsid,
IUnknown * punkOuter, // only relevant locally
DWORD dwClsCtx,
struct IStorage * pstg,
DWORD dwCount,
MULTI_QI * pResults );
WINOLEAPI CoCreateInstanceEx(
REFCLSID Clsid,
IUnknown * punkOuter, // only relevant locally
DWORD dwClsCtx,
COSERVERINFO * pServerInfo,
DWORD dwCount,
MULTI_QI * pResults );
#endif // DCOM
/* Call related APIs */
#if (_WIN32_WINNT >= 0x0500 ) || defined(_WIN32_DCOM) // DCOM
WINOLEAPI CoGetCancelObject(DWORD dwThreadId, REFIID iid, void **ppUnk);
WINOLEAPI CoSetCancelObject(IUnknown *pUnk);
WINOLEAPI CoCancelCall(DWORD dwThreadId);
WINOLEAPI CoTestCancel();
#endif
/* DS related APIs */
/* Type definitions for these APIs can be found in wtypes.{idl,h}. */
#if (_WIN32_WINNT >= 0x0500 ) || defined(_WIN32_DCOM) // DCOM
WINOLEAPI CoGetClassInfo(
uCLSSPEC * pClassSpec,
QUERYCONTEXT * pContext );
/* the following api returns a class access interface pointer */
WINOLEAPI CoGetClassAccess(
IClassAccess ** ppIClassAccess);
/* The following API is for shell32's use only */
WINOLEAPI CoGetPublishedAppInfo(
APPINFOTYPE QueryType,
DWORD * pCount,
PUBLISHEDAPPINFO ** ppInfo );
#endif
/* other helpers */
WINOLEAPI StringFromCLSID(REFCLSID rclsid, LPOLESTR FAR* lplpsz);
WINOLEAPI CLSIDFromString(LPOLESTR lpsz, LPCLSID pclsid);
WINOLEAPI StringFromIID(REFIID rclsid, LPOLESTR FAR* lplpsz);
WINOLEAPI IIDFromString(LPOLESTR lpsz, LPIID lpiid);
WINOLEAPI_(BOOL) CoIsOle1Class(REFCLSID rclsid);
WINOLEAPI ProgIDFromCLSID (REFCLSID clsid, LPOLESTR FAR* lplpszProgID);
WINOLEAPI CLSIDFromProgID (LPCOLESTR lpszProgID, LPCLSID lpclsid);
WINOLEAPI_(int) StringFromGUID2(REFGUID rguid, LPOLESTR lpsz, int cbMax);
WINOLEAPI CoCreateGuid(GUID FAR *pguid);
WINOLEAPI_(BOOL) CoFileTimeToDosDateTime(
FILETIME FAR* lpFileTime, LPWORD lpDosDate, LPWORD lpDosTime);
WINOLEAPI_(BOOL) CoDosDateTimeToFileTime(
WORD nDosDate, WORD nDosTime, FILETIME FAR* lpFileTime);
WINOLEAPI CoFileTimeNow( FILETIME FAR* lpFileTime );
WINOLEAPI CoRegisterMessageFilter( LPMESSAGEFILTER lpMessageFilter,
LPMESSAGEFILTER FAR* lplpMessageFilter );
#if (_WIN32_WINNT >= 0x0400 ) || defined(_WIN32_DCOM) // DCOM
WINOLEAPI CoRegisterChannelHook( REFGUID ExtensionUuid, IChannelHook *pChannelHook );
#endif // DCOM
/* TreatAs APIS */
WINOLEAPI CoGetTreatAsClass(REFCLSID clsidOld, LPCLSID pClsidNew);
WINOLEAPI CoTreatAsClass(REFCLSID clsidOld, REFCLSID clsidNew);
/* the server dlls must define their DllGetClassObject and DllCanUnloadNow
* to match these; the typedefs are located here to ensure all are changed at
* the same time.
*/
//#ifdef _MAC
//typedef STDAPICALLTYPE HRESULT (* LPFNGETCLASSOBJECT) (REFCLSID, REFIID, LPVOID *);
//#else
typedef HRESULT (STDAPICALLTYPE * LPFNGETCLASSOBJECT) (REFCLSID, REFIID, LPVOID *);
//#endif
//#ifdef _MAC
//typedef STDAPICALLTYPE HRESULT (* LPFNCANUNLOADNOW)(void);
//#else
typedef HRESULT (STDAPICALLTYPE * LPFNCANUNLOADNOW)(void);
//#endif
STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID FAR* ppv);
STDAPI DllCanUnloadNow(void);
/****** Default Memory Allocation ******************************************/
WINOLEAPI_(LPVOID) CoTaskMemAlloc(ULONG cb);
WINOLEAPI_(LPVOID) CoTaskMemRealloc(LPVOID pv, ULONG cb);
WINOLEAPI_(void) CoTaskMemFree(LPVOID pv);
/****** DV APIs ***********************************************************/
WINOLEAPI CreateDataAdviseHolder(LPDATAADVISEHOLDER FAR* ppDAHolder);
WINOLEAPI CreateDataCache(LPUNKNOWN pUnkOuter, REFCLSID rclsid,
REFIID iid, LPVOID FAR* ppv);
/****** Storage API Prototypes ********************************************/
WINOLEAPI StgCreateDocfile(const OLECHAR FAR* pwcsName,
DWORD grfMode,
DWORD reserved,
IStorage FAR * FAR *ppstgOpen);
WINOLEAPI StgCreateDocfileOnILockBytes(ILockBytes FAR *plkbyt,
DWORD grfMode,
DWORD reserved,
IStorage FAR * FAR *ppstgOpen);
WINOLEAPI StgOpenStorage(const OLECHAR FAR* pwcsName,
IStorage FAR *pstgPriority,
DWORD grfMode,
SNB snbExclude,
DWORD reserved,
IStorage FAR * FAR *ppstgOpen);
WINOLEAPI StgOpenStorageOnILockBytes(ILockBytes FAR *plkbyt,
IStorage FAR *pstgPriority,
DWORD grfMode,
SNB snbExclude,
DWORD reserved,
IStorage FAR * FAR *ppstgOpen);
WINOLEAPI StgIsStorageFile(const OLECHAR FAR* pwcsName);
WINOLEAPI StgIsStorageILockBytes(ILockBytes FAR* plkbyt);
WINOLEAPI StgSetTimes(OLECHAR const FAR* lpszName,
FILETIME const FAR* pctime,
FILETIME const FAR* patime,
FILETIME const FAR* pmtime);
WINOLEAPI StgOpenAsyncDocfileOnIFillLockBytes( IFillLockBytes *pflb,
DWORD grfMode,
DWORD asyncFlags,
IStorage **ppstgOpen);
WINOLEAPI StgGetIFillLockBytesOnILockBytes( ILockBytes *pilb,
IFillLockBytes **ppflb);
WINOLEAPI StgGetIFillLockBytesOnFile(OLECHAR const *pwcsName,
IFillLockBytes **ppflb);
WINOLEAPI StgOpenLayoutDocfile(OLECHAR const *pwcsDfName,
DWORD grfMode,
DWORD reserved,
IStorage **ppstgOpen);
WINOLEAPI StgCreateStorageEx (const WCHAR* pwcsName,
DWORD grfMode,
DWORD stgfmt, // enum
DWORD grfAttrs, // reserved
void * reserved1,
void * reserved2,
REFIID riid,
void ** ppObjectOpen);
WINOLEAPI StgOpenStorageEx (const WCHAR* pwcsName,
DWORD grfMode,
DWORD stgfmt, // enum
DWORD grfAttrs, // reserved
void * reserved1,
void * reserved2,
REFIID riid,
void ** ppObjectOpen);
//
// Moniker APIs
//
WINOLEAPI BindMoniker(LPMONIKER pmk, DWORD grfOpt, REFIID iidResult, LPVOID FAR* ppvResult);
WINOLEAPI CoInstall(
IBindCtx * pbc,
DWORD dwFlags,
uCLSSPEC * pClassSpec,
QUERYCONTEXT * pQuery,
LPWSTR pszCodeBase);
WINOLEAPI CoGetObject(LPCWSTR pszName, BIND_OPTS *pBindOptions, REFIID riid, void **ppv);
WINOLEAPI MkParseDisplayName(LPBC pbc, LPCOLESTR szUserName,
ULONG FAR * pchEaten, LPMONIKER FAR * ppmk);
WINOLEAPI MonikerRelativePathTo(LPMONIKER pmkSrc, LPMONIKER pmkDest, LPMONIKER
FAR* ppmkRelPath, BOOL dwReserved);
WINOLEAPI MonikerCommonPrefixWith(LPMONIKER pmkThis, LPMONIKER pmkOther,
LPMONIKER FAR* ppmkCommon);
WINOLEAPI CreateBindCtx(DWORD reserved, LPBC FAR* ppbc);
WINOLEAPI CreateGenericComposite(LPMONIKER pmkFirst, LPMONIKER pmkRest,
LPMONIKER FAR* ppmkComposite);
WINOLEAPI GetClassFile (LPCOLESTR szFilename, CLSID FAR* pclsid);
WINOLEAPI CreateClassMoniker(REFCLSID rclsid, LPMONIKER FAR* ppmk);
WINOLEAPI CreateFileMoniker(LPCOLESTR lpszPathName, LPMONIKER FAR* ppmk);
WINOLEAPI CreateItemMoniker(LPCOLESTR lpszDelim, LPCOLESTR lpszItem,
LPMONIKER FAR* ppmk);
WINOLEAPI CreateAntiMoniker(LPMONIKER FAR* ppmk);
WINOLEAPI CreatePointerMoniker(LPUNKNOWN punk, LPMONIKER FAR* ppmk);
WINOLEAPI GetRunningObjectTable( DWORD reserved, LPRUNNINGOBJECTTABLE FAR* pprot);
#include <urlmon.h>
//
// Standard Progress Indicator impolementation
//
WINOLEAPI CreateStdProgressIndicator(HWND hwndParent,
LPCOLESTR pszTitle,
IBindStatusCallback * pIbscCaller,
IBindStatusCallback ** ppIbsc);
#ifndef RC_INVOKED
#include <poppack.h>
#endif // RC_INVOKED
#endif // __OBJBASE_H__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -