188 lines
3.5 KiB
C++
188 lines
3.5 KiB
C++
//+----------------------------------------------------------------------------
|
|
//
|
|
// 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
|