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 */
|
---|