mirror of https://github.com/tongzx/nt5src
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
215 lines
3.5 KiB
215 lines
3.5 KiB
enum mnkType {NOMNK, FILEMNK, POINTERMNK, ITEMMNK, ANTIMNK, COMPOSITEMNK};
|
|
|
|
|
|
|
|
enum olever {undetermined, ole1, ole2 };
|
|
|
|
|
|
|
|
enum ExtentKeys
|
|
{
|
|
mnk_MAC = 1,
|
|
mnk_DFS = 2,
|
|
mnk_UNICODE = 3,
|
|
mnk_MacPathName = 4,
|
|
mnk_ShellLink = 5
|
|
};
|
|
|
|
|
|
|
|
struct SExtentList
|
|
{
|
|
ULONG m_cbMonikerExtents;
|
|
BYTE *m_pchMonikerExtents;
|
|
};
|
|
|
|
|
|
|
|
struct SFileMoniker
|
|
{
|
|
void *vtbl1;
|
|
void *vtbl2;
|
|
ULONG m_refs;
|
|
void *vtbl3;
|
|
ULONG m_marshal;
|
|
CLSID m_clsid;
|
|
SExtentList m_ExtentList;
|
|
WCHAR *m_szPath;
|
|
char *m_pszAnsiPath;
|
|
USHORT m_ccPath;
|
|
USHORT m_cbAnsiPath;
|
|
DWORD m_dwHashValue;
|
|
ULONG m_fUnicodeExtent:1;
|
|
ULONG m_fClassVerified:1;
|
|
ULONG m_fHashValueValid:1;
|
|
USHORT m_cAnti;
|
|
USHORT m_endServer;
|
|
enum olever m_ole1;
|
|
};
|
|
|
|
|
|
|
|
struct SFileMonikerCk
|
|
{
|
|
void *vtbl1;
|
|
void *vtbl2;
|
|
ULONG m_refs;
|
|
void *vtbl3;
|
|
ULONG m_marshal;
|
|
void *vtbl4;
|
|
ULONG m_debug;
|
|
CLSID m_clsid;
|
|
SExtentList m_ExtentList;
|
|
WCHAR *m_szPath;
|
|
char *m_pszAnsiPath;
|
|
USHORT m_ccPath;
|
|
USHORT m_cbAnsiPath;
|
|
DWORD m_dwHashValue;
|
|
ULONG m_fUnicodeExtent:1;
|
|
ULONG m_fClassVerified:1;
|
|
ULONG m_fHashValueValid:1;
|
|
USHORT m_cAnti;
|
|
USHORT m_endServer;
|
|
enum olever m_ole1;
|
|
};
|
|
|
|
|
|
|
|
|
|
struct SPointerMoniker
|
|
{
|
|
void *vtbl1;
|
|
void *vtbl2;
|
|
ULONG m_refs;
|
|
void *vtbl3;
|
|
ULONG m_marshal;
|
|
LPUNKNOWN m_pUnk;
|
|
};
|
|
|
|
|
|
|
|
|
|
struct SPointerMonikerCk
|
|
{
|
|
void *vtbl1;
|
|
void *vtbl2;
|
|
ULONG m_refs;
|
|
void *vtbl3;
|
|
ULONG m_marshal;
|
|
void *vtbl4;
|
|
ULONG m_debug;
|
|
LPUNKNOWN m_pUnk;
|
|
};
|
|
|
|
|
|
|
|
|
|
struct SItemMoniker
|
|
{
|
|
void *vtbl1;
|
|
void *vtbl2;
|
|
ULONG m_refs;
|
|
void *vtbl3;
|
|
ULONG m_marshal;
|
|
WCHAR *m_lpszItem;
|
|
char *m_pszAnsiItem;
|
|
USHORT m_ccItem;
|
|
USHORT m_cbAnsiItem;
|
|
WCHAR *m_lpszDelimiter;
|
|
char *m_pszAnsiDelimiter;
|
|
USHORT m_ccDelimiter;
|
|
USHORT m_cbAnsiDelimiter;
|
|
ULONG m_fHashValueValid:1;
|
|
DWORD m_dwHashValue;
|
|
};
|
|
|
|
|
|
|
|
|
|
struct SItemMonikerCk
|
|
{
|
|
void *vtbl1;
|
|
void *vtbl2;
|
|
ULONG m_refs;
|
|
void *vtbl3;
|
|
ULONG m_marshal;
|
|
void *vtbl4;
|
|
ULONG m_debug;
|
|
WCHAR *m_lpszItem;
|
|
char *m_pszAnsiItem;
|
|
USHORT m_ccItem;
|
|
USHORT m_cbAnsiItem;
|
|
WCHAR *m_lpszDelimiter;
|
|
char *m_pszAnsiDelimiter;
|
|
USHORT m_ccDelimiter;
|
|
USHORT m_cbAnsiDelimiter;
|
|
ULONG m_fHashValueValid:1;
|
|
DWORD m_dwHashValue;
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
struct SAntiMoniker
|
|
{
|
|
void *vtbl1;
|
|
void *vtbl2;
|
|
ULONG m_refs;
|
|
void *vtbl3;
|
|
ULONG m_marshal;
|
|
ULONG m_count;
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
struct SAntiMonikerCk
|
|
{
|
|
void *vtbl1;
|
|
void *vtbl2;
|
|
ULONG m_refs;
|
|
void *vtbl3;
|
|
ULONG m_marshal;
|
|
void *vtbl4;
|
|
ULONG m_debug;
|
|
ULONG m_count;
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
struct SCompositeMoniker
|
|
{
|
|
void *vtbl1;
|
|
void *vtbl2;
|
|
ULONG m_refs;
|
|
void *vtbl3;
|
|
ULONG m_marshal;
|
|
LPMONIKER m_pmkLeft;
|
|
LPMONIKER m_pmkRight;
|
|
BOOL m_fReduced;
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
struct SCompositeMonikerCk
|
|
{
|
|
void *vtbl1;
|
|
void *vtbl2;
|
|
ULONG m_refs;
|
|
void *vtbl3;
|
|
ULONG m_marshal;
|
|
void *vtbl4;
|
|
ULONG m_debug;
|
|
LPMONIKER m_pmkLeft;
|
|
LPMONIKER m_pmkRight;
|
|
BOOL m_fReduced;
|
|
};
|
|
|
|
|
|
|