| 1 | /* $Id: filemoniker.h,v 1.1 2001-04-26 19:26:10 sandervl Exp $ */
 | 
|---|
| 2 | /*
 | 
|---|
| 3 |  *
 | 
|---|
| 4 |  * Project Odin Software License can be found in LICENSE.TXT
 | 
|---|
| 5 |  *
 | 
|---|
| 6 |  */
 | 
|---|
| 7 | 
 | 
|---|
| 8 | #ifndef FILEMONIKER_INCLUDED
 | 
|---|
| 9 | #define FILEMONIKER_INCLUDED 1
 | 
|---|
| 10 | 
 | 
|---|
| 11 | /* filemoniker data structure */
 | 
|---|
| 12 | typedef struct FileMonikerImpl{
 | 
|---|
| 13 | 
 | 
|---|
| 14 |     ICOM_VTABLE(IMoniker)*  lpvtbl1;  /* VTable relative to the IMoniker interface.*/
 | 
|---|
| 15 | 
 | 
|---|
| 16 |     /* The ROT (RunningObjectTable implementation) uses the IROTData interface to test whether 
 | 
|---|
| 17 |      * two monikers are equal. That's whay IROTData interface is implemented by monikers.
 | 
|---|
| 18 |      */
 | 
|---|
| 19 |     ICOM_VTABLE(IROTData)*  lpvtbl2;  /* VTable relative to the IROTData interface.*/
 | 
|---|
| 20 | 
 | 
|---|
| 21 |     ULONG ref; /* reference counter for this object */
 | 
|---|
| 22 | 
 | 
|---|
| 23 |     LPOLESTR filePathName; /* path string identified by this filemoniker */
 | 
|---|
| 24 |     BOOL bIsLongFileName;  /* Is the path a valid dos 8.3 file */
 | 
|---|
| 25 |     BOOL bIsNetworkPath;   /* Is the path a network path */
 | 
|---|
| 26 |     WORD wNetworkDomainLenght;  /*Lenght of the \\Domain\share network name, otherwise 0xFFFF for regular file*/
 | 
|---|
| 27 | 
 | 
|---|
| 28 | } FileMonikerImpl;
 | 
|---|
| 29 | 
 | 
|---|
| 30 | /* Local function used by filemoniker implementation */
 | 
|---|
| 31 | HRESULT WINAPI FileMonikerImpl_Construct(FileMonikerImpl* iface, LPCOLESTR lpszPathName);
 | 
|---|
| 32 | HRESULT WINAPI FileMonikerImpl_Destroy(FileMonikerImpl* iface);
 | 
|---|
| 33 | int     WINAPI FileMonikerImpl_DecomposePath(LPOLESTR str, LPOLESTR** tabStr);
 | 
|---|
| 34 | void WINAPI FileMonikerImpl_CheckFileFormat(FileMonikerImpl* iface, LPCOLESTR lpszPathName);
 | 
|---|
| 35 | HRESULT FileMonikerImpl_GetSizeToSave(IMoniker* iface,ULARGE_INTEGER* pcbSize);
 | 
|---|
| 36 | 
 | 
|---|
| 37 | #endif /* FILEMONIKER_INCLUDED */
 | 
|---|