|
|
//+----------------------------------------------------------------------------
//
// Copyright (C) 1997, Microsoft Corporation
//
// File: ftsup.hxx
//
// Contents: ftsup.c prototypes, etc
//
// Classes: CSites
//
// Functions:
//
// History: Dec 7, 1998 JHarper created
//
//-----------------------------------------------------------------------------
#ifndef _FTSUP_HXX
#define _FTSUP_HXX
typedef struct _DFS_VOLUME {
LPWSTR wszObjectName; GUID idVolume; LPWSTR wszPrefix; LPWSTR wszShortPrefix; ULONG dwType; ULONG dwState; LPWSTR wszComment; ULONG dwTimeout; FILETIME ftPrefix; FILETIME ftState; FILETIME ftComment; ULONG dwVersion; FILETIME *FtModification; ULONG ReplCount; ULONG AllocatedReplCount; DFS_REPLICA_INFO *ReplicaInfo; FILETIME *DelFtModification; ULONG DelReplCount; ULONG AllocatedDelReplCount; DFS_REPLICA_INFO *DelReplicaInfo; ULONG cbRecovery; PBYTE pRecovery;
} DFS_VOLUME, *PDFS_VOLUME;
typedef struct _DFS_VOLUME_LIST { ULONG Version; ULONG VolCount; ULONG AllocatedVolCount; DFS_VOLUME *Volumes; GUID SiteGuid; ULONG SiteCount; LIST_ENTRY SiteList; } DFS_VOLUME_LIST, *PDFS_VOLUME_LIST;
DWORD DfsGetDsBlob( LPWSTR wszFtDfsName, LPWSTR wszDcName, ULONG *pcbBlob, BYTE **ppBlob);
DWORD DfsPutDsBlob( LPWSTR wszFtDfsName, LPWSTR wszDcName, ULONG cbBlob, BYTE *pBlob);
DWORD DfsGetVolList( ULONG cbBlob, BYTE *pBlob, PDFS_VOLUME_LIST pDfsVolList);
DWORD DfsPutVolList( ULONG *pcbBlob, BYTE **ppBlob, PDFS_VOLUME_LIST pDfsVolList);
VOID DfsFreeVolList( PDFS_VOLUME_LIST pDfsVolList);
VOID DfsFreeVol( PDFS_VOLUME pVol);
VOID DfsFreeRepl( PDFS_REPLICA_INFO pRepl);
DWORD DfsRecoverVolList( PDFS_VOLUME_LIST pDfsVolList);
DWORD DfsVolDelete( PDFS_VOLUME_LIST pDfsVolList, ULONG iVol);
DWORD DfsReplDeleteByIndex( PDFS_VOLUME pVol, ULONG iRepl);
DWORD DfsReplDeleteByName( PDFS_VOLUME pVol, LPWSTR pwszServerName, LPWSTR pwszShareName);
DWORD DfsDelReplDelete( PDFS_VOLUME pVol, ULONG iDelRepl);
DWORD SerializeReplicaList( ULONG ReplCount, DFS_REPLICA_INFO *pReplicaInfo, FILETIME *pFtModification, ULONG DelReplCount, DFS_REPLICA_INFO *pDelReplicaInfo, FILETIME *pDelFtModification, ULONG *cBuffer, PBYTE *ppBuffer);
DWORD UnSerializeReplicaList( ULONG *pReplCount, ULONG *pAllocatedReplCount, DFS_REPLICA_INFO **ppReplicaInfo, FILETIME **ppFtModification, BYTE **ppBuffer);
DWORD SerializeReplica( DFS_REPLICA_INFO *pDfsReplicaInfo, FILETIME *pFtModfication, PBYTE buffer, ULONG size);
ULONG GetReplicaMarshalSize( DFS_REPLICA_INFO *pDfsReplicaInfo, FILETIME *pFtModfication);
VOID FreeLdapPkt( LDAP_PKT *pldapPkt);
VOID DfsDumpVolList( PDFS_VOLUME_LIST pDfsVolList);
DWORD DfsGetSiteTable( PDFS_VOLUME_LIST VolList, PLDAP_OBJECT LdapObject);
DWORD DfsGetVolume( PDFS_VOLUME pVolList, PLDAP_OBJECT LdapObject);
DWORD DfsRemoveRootReplica( PDFS_VOLUME_LIST pDfsVolList, LPWSTR RootName);
DWORD GetNetStorageInfo( PDFS_REPLICA_INFO pRepl, LPDFS_STORAGE_INFO pInfo, LPDWORD pcbInfo);
DWORD GetNetInfoEx( PDFS_VOLUME pDfsVol, DWORD Level, LPDFS_INFO_3 pInfo, LPDWORD pcbInfo);
#endif _FTSUP_HXX
|