p6dllapi.h

Go to the documentation of this file.
00001 
00009 #ifndef P6DLLAPI_H__
00010 #define P6DLLAPI_H__ 1
00011 
00012 
00013 namespace P6R {
00014 
00015 #ifdef  __cplusplus
00016 extern "C" {
00017 #endif
00018 
00019    typedef P6R::P6ERR (*P6GETRUNTIMEIFACE)(const P6R::IID &iid,P6R::P6VOID **ppIface);
00020    typedef P6R::P6ERR (*P6CREATEINSTANCE)(P6R::p6ICom *pOuter,const P6R::CID &cid,const P6R::IID &iid,P6R::P6VOID **ppIface);
00021    typedef P6R::P6ERR (*P6UUIDTOSTRING)(const P6R::P6UUID &uuid,P6R::P6CHAR *pBuffer,P6R::P6SIZE cBuffer);
00022    typedef P6R::P6ERR (*P6UUIDTOWSTRING)(const P6R::P6UUID &uuid,P6R::P6WCHAR *pBuffer,P6R::P6SIZE cBuffer);
00023    typedef P6R::P6ERR (*P6STRINGTOUUID)(const P6R::P6CHAR *pszUUID,P6R::P6UUID &uuid);
00024    typedef P6R::P6ERR (*P6WSTRINGTOUUID)(const P6R::P6WCHAR *pszUUID,P6R::P6UUID &uuid);
00025    typedef P6R::P6CHAR * (*P6ERRTOSTR)(P6R::P6ERR err,P6R::P6CHAR *pszBuffer,P6R::P6SIZE cBuffer);
00026    typedef P6R::P6WCHAR * (*P6ERRTOWSTR)(P6R::P6ERR err,P6R::P6WCHAR *pszBuffer,P6R::P6SIZE cBuffer);
00027    typedef P6R::P6ERR (*P6GETMODULEFILENAME)(P6R::P6WCHAR *pszBuffer,P6R::P6SIZE *pcBuffer);
00028    typedef P6R::P6ERR (*P6GETDIRECTORY)(P6DIRS nDir,P6R::P6WCHAR *pBuffer,P6R::P6SIZE cBuffer,P6R::P6SIZE *pcWritten);
00029    typedef P6R::P6INT32 (*P6ATOMICINC32)(P6R::P6INT32 volatile *pVar);
00030    typedef P6R::P6INT32 (*P6ATOMICDEC32)(P6R::P6INT32 volatile *pVar);
00031    typedef P6R::P6INT32 (*P6ATOMICADD32)(P6R::P6INT32 volatile *pVar,P6R::P6INT32 value);
00032    typedef P6R::P6INT32 (*P6ATOMICSET32)(P6R::P6INT32 volatile *pVar,P6R::P6INT32 value);
00033    typedef P6R::P6INT64 (*P6ATOMICSET64)(P6R::P6INT64 volatile *pVar,P6R::P6INT64 value);
00034    typedef P6R::P6VOID* (*P6ATOMICSETPTR)(P6R::P6VOID volatile **pVar,P6R::P6VOID *pValue);
00035    typedef P6R::P6UINT32 (*P6HASHDATA)(const P6R::P6UINT8 *pData,P6R::P6SIZE cData,P6R::P6UINT32 hash);
00036    typedef P6R::P6UINT32 (*P6HASHSTRING)(const P6R::P6CHAR *pszData);
00037    typedef P6R::P6UINT32 (*P6HASHSTRINGW)(const P6R::P6WCHAR *pszData);
00038    typedef P6R::P6UINT32 (*P6HASHBCSTR)(P6R::P6BCSTR *pbcsString);
00039    typedef P6R::P6UINT32 (*P6HASHBWCSTR)(P6R::P6BWCSTR *pbwcsString);
00040    typedef P6R::P6UINT32 (*P6HASHUINT32)(P6R::P6UINT32 nInteger);
00041    typedef P6R::P6UINT64 (*P6HASHUINT64)(P6R::P6UINT64 nInteger);
00042    typedef P6R::P6UINT32 (*P6HASHUINT64TO32)(P6R::P6UINT64 nInteger);
00043    typedef P6R::P6ERR (*P6SETERROR)(const P6R::IID *piid,const P6R::P6CHAR *pszFile,P6R::P6UINT32 cLine,P6R::P6ERR error,const P6R::P6WCHAR *pwszContext,const P6R::P6WCHAR *pwszDescription);
00044    typedef P6R::P6ERR (*P6SETERRORA)(const P6R::IID *piid,const P6R::P6CHAR *pszFile,P6R::P6UINT32 cLine,P6R::P6ERR error,const P6R::P6CHAR *pszContext,const P6R::P6CHAR *pszDescription);
00045    typedef P6R::P6ERR (*P6GETERRORINFO)(P6R::p6IErrorInfo **ppInfo);
00046    typedef P6R::P6ERR (*P6ALLOCMEMORY)(P6R::P6SIZE cSize,P6R::P6VOID **ppMemory);
00047    typedef P6R::P6ERR (*P6FREEMEMORY)(P6R::P6VOID *pMemory);
00048    typedef P6R::P6ERR (*P6ALLOCCOMSTRING)(const P6R::P6WCHAR *pszSource,P6R::P6COMSTR *ppNewString);
00049    typedef P6R::P6ERR (*P6FREECOMSTRING)(P6R::P6COMSTR pString);
00050    typedef P6R::P6ERR (*P6COMSTRINGLEN)(const P6R::P6COMSTR pString,P6R::P6SIZE *pLength);
00051    typedef P6R::P6ERR (*P6COMSTRINGBYTELEN)(const P6R::P6COMSTR pString,P6R::P6SIZE *pLength);
00052    typedef P6R::P6ERR (*P6ALLOCCOMSTRINGLEN)(P6R::P6WCHAR *pszSource,P6R::P6SIZE nSize,P6R::P6COMSTR *ppNewString);
00053    typedef P6R::P6ERR (*P6GETRUNTIMEVERSION)(P6R::P6VERINFO *pVerInfo);
00054    typedef P6R::P6ERR (*P6MAPOSERROR)(P6R::P6UINT32 oserr);
00055    typedef P6R::P6ERR (*P6BACKTRACE)(P6R::P6CHAR *pBuffer,P6R::P6SIZE cBuffer,P6R::P6UINT32 cFramesToSkip,P6BTFLAGS fFlags);
00056    typedef P6R::P6ERR (*P6ASSERT)(const P6R::P6WCHAR *pszExpr,const P6R::P6CHAR *pszFile,P6R::P6UINT32 nLine);
00057    typedef P6R::P6ERR (*P6CREATECRYPTOINSTANCE)(const P6R::CID &cid,const P6R::IID &iid,P6R::P6VOID **ppIface);
00058    typedef P6R::P6ERR (*P6TRACEADDREF)(const P6R::P6CHAR *pszClassname,P6R::P6UINT32 cClassSize,P6R::P6VOID *classAddr,P6R::P6INT32 refCount,P6R::P6UINT32 *pSerialNumber);
00059    typedef P6R::P6ERR (*P6TRACERELEASE)(const P6R::P6CHAR *pszClassname,P6R::P6VOID *classAddr,P6R::P6INT32 refCount,P6R::P6UINT32 *pSerialNumber);
00060    typedef P6R::P6ERR (*P6TRACECTOR)(const P6R::P6CHAR *pszClassname,P6R::P6UINT32 cClassSize,P6R::P6VOID *classAddr,P6R::P6UINT32 *pSerialNumber);
00061    typedef P6R::P6ERR (*P6TRACEDTOR)(const P6R::P6CHAR *pszClassname,P6R::P6VOID *classAddr,P6R::P6UINT32 *pSerialNumber);
00062    typedef P6R::P6VOID (*P6COMPONENTCTOR)();
00063    typedef P6R::P6VOID (*P6COMPONENTDTOR)();
00064 
00068    typedef struct {
00069       P6UINT32                   cSize;
00070       P6GETRUNTIMEIFACE          p6GetRuntimeIface;
00071       P6CREATEINSTANCE           p6CreateInstance;
00072       P6UUIDTOSTRING             p6UUIDToString;
00073       P6UUIDTOWSTRING            p6UUIDToWString;
00074       P6STRINGTOUUID             p6StringToUUID;
00075       P6WSTRINGTOUUID            p6WStringToUUID;
00076       P6ERRTOSTR                 p6ErrToStr;
00077       P6ERRTOWSTR                p6ErrToWStr;
00078       P6GETDIRECTORY             p6GetDirectory;
00079       P6ATOMICINC32              p6AtomicInc32;
00080       P6ATOMICDEC32              p6AtomicDec32;
00081       P6ATOMICADD32              p6AtomicAdd32;
00082       P6ATOMICSET32              p6AtomicSet32;
00083       P6ATOMICSET64              p6AtomicSet64;
00084       P6ATOMICSETPTR             p6AtomicSetPtr;
00085       P6HASHDATA                 p6HashData;
00086       P6HASHSTRING               p6HashString;
00087       P6HASHSTRINGW              p6HashStringW;
00088       P6HASHBCSTR                p6HashBCSTR;
00089       P6HASHBWCSTR               p6HashBWCSTR;
00090       P6HASHUINT32               p6HashUINT32;
00091       P6HASHUINT64               p6HashUINT64;
00092       P6HASHUINT64TO32           p6HashUINT64to32;
00093       P6SETERROR                 p6SetError;
00094       P6SETERRORA                p6SetErrorA;
00095       P6GETERRORINFO             p6GetErrorInfo;
00096       P6ALLOCMEMORY              p6AllocMemory;
00097       P6FREEMEMORY               p6FreeMemory;
00098       P6ALLOCCOMSTRING           p6AllocComString;
00099       P6FREECOMSTRING            p6FreeComString;
00100       P6COMSTRINGLEN             p6ComStringLen;
00101       P6COMSTRINGBYTELEN         p6ComStringByteLen;
00102       P6ALLOCCOMSTRINGLEN        p6AllocComStringLen;
00103       P6GETRUNTIMEVERSION        p6GetRuntimeVersion;
00104       P6MAPOSERROR               p6MapOSError;
00105       P6BACKTRACE                p6Backtrace;
00106       P6ASSERT                   p6Assert;
00107       P6CREATECRYPTOINSTANCE     p6CreateCryptoInstance;
00108       P6TRACEADDREF              p6TraceAddref;
00109       P6TRACERELEASE             p6TraceRelease;
00110       P6TRACECTOR                p6TraceCTOR;
00111       P6TRACEDTOR                p6TraceDTOR;
00112    } P6DLLAPI_1_0;
00113    
00114    typedef P6DLLAPI_1_0 P6DLLAPI;
00115 
00116 
00117 #ifdef  __cplusplus
00118 }
00119 #endif
00120 
00121 } // namespace
00122 
00123 
00124 #endif
00125 
00126 
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Defines
Copyright © 2004 - 2010 P6R Inc. - All Rights Reserved.