//+---------------------------------------------------------------------------- // // Copyright (C) 1992, Microsoft Corporation. // // File: LOCALVOL.H // // Contents: This module provides the prototypes and structures for // the routines associated with managing local volumes. // // Functions: // //----------------------------------------------------------------------------- #ifndef _LOCALVOL_ #define _LOCALVOL_ NTSTATUS DfsFsctrlInitLocalPartitions( IN PIRP Irp, IN PVOID InputBuffer, IN ULONG InputBufferLength, IN PVOID OutputBuffer, IN ULONG OutputBufferLength ); NTSTATUS BuildLocalVolPath( OUT PUNICODE_STRING pFullName, IN PDFS_SERVICE pService, IN PUNICODE_STRING pRemPath ); NTSTATUS DfsFsctrlGetLocalVolumeEntry( IN PIRP Irp, IN PVOID InputBuffer, IN ULONG InputBufferLength, IN PVOID OutputBuffer, IN ULONG OutputBufferLength ); NTSTATUS DfsFsctrlGetEntryType( IN PIRP Irp, IN PVOID InputBuffer, IN ULONG InputBufferLength, IN PVOID OutputBuffer, IN ULONG OutputBufferLength ); NTSTATUS DfsFsctrlGetAllPktEntries( IN PIRP Irp, IN PVOID OutputBuffer, IN ULONG OutputBufferLength); NTSTATUS DfsFsctrlGetChildVolumes( IN PIRP Irp, IN PVOID InputBuffer, IN ULONG InputBufferLength, IN PVOID OutputBuffer, IN ULONG OutputBufferLength ); NTSTATUS DfsFsctrlSetServiceState( IN PIRP Irp, IN PVOID InputBuffer, IN ULONG InputBufferLength ); NTSTATUS DfsFsctrlCreateLocalPartition( IN PIRP Irp, IN PVOID InputBuffer, IN ULONG InputBufferLength ); NTSTATUS DfsFsctrlDeleteLocalPartition( IN PIRP Irp, IN PVOID InputBuffer, IN ULONG InputBufferLength ); NTSTATUS DfsFsctrlSetVolumeState( IN PIRP Irp, IN PVOID InputBuffer, IN ULONG InputBufferLength ); NTSTATUS DfsFsctrlDCSetVolumeState( IN PIRP Irp, IN PVOID InputBuffer, IN ULONG InputBufferLength ); NTSTATUS DfsFsctrlSetVolumeTimeout( IN PIRP Irp, IN PVOID InputBuffer, IN ULONG InputBufferLength ); NTSTATUS DfsFsctrlCreateExitPoint( IN PIRP Irp, IN PVOID InputBuffer, IN ULONG InputBufferLength, OUT PVOID OutputBuffer, IN ULONG OutputBufferLength ); NTSTATUS DfsFsctrlDeleteExitPoint( IN PIRP Irp, IN PVOID InputBuffer, IN ULONG InputBufferLength ); NTSTATUS DfsFsctrlModifyLocalVolPrefix( IN PIRP Irp, IN PVOID InputBuffer, IN ULONG InputBufferLength ); NTSTATUS DfsFsctrlGetServerInfo( IN PIRP Irp, IN PVOID InputBuffer, IN ULONG InputBufferLength, IN PVOID OutputBuffer, IN ULONG OutputBufferLength ); NTSTATUS DfsFsctrlCheckStgIdInUse( IN PIRP Irp, IN PVOID InputBuffer, IN ULONG InputBufferLength, IN PVOID OutputBuffer, IN ULONG OutputBufferLength ); NTSTATUS PktFsctrlVerifyLocalVolumeKnowledge( IN PIRP Irp, IN PVOID InputBuffer, IN ULONG InputBufferLength ); NTSTATUS PktFsctrlPruneLocalVolume( IN PIRP Irp, IN PVOID InputBuffer, IN ULONG InputBufferLength ); NTSTATUS PktFsctrlIsChildnameLegal( IN PIRP Irp, IN PVOID InputBuffer, IN ULONG InputBufferLength ); NTSTATUS PktFsctrlCreateEntry( IN PIRP Irp, IN PVOID InputBuffer, IN ULONG InputBufferLength ); NTSTATUS PktFsctrlCreateSubordinateEntry( IN PIRP Irp, IN PVOID InputBuffer, IN ULONG InputBufferLength ); NTSTATUS PktFsctrlDestroyEntry( IN PIRP Irp, IN PVOID InputBuffer, IN ULONG InputBufferLength ); NTSTATUS PktFsctrlSetServerInfo( IN PIRP Irp, IN PVOID InputBuffer, IN ULONG InputBufferLength ); NTSTATUS DfsRegModifyLocalVolume( IN PDFS_PKT_ENTRY Entry, IN PUNICODE_STRING oldPrefix ); NTSTATUS DfsInternalCreateLocalPartition( IN PUNICODE_STRING StgId, IN BOOLEAN CreateStorage, IN OUT PDFS_LOCAL_VOLUME_CONFIG pInfo ); NTSTATUS DfsInternalDeleteLocalVolume( IN PDFS_PKT_ENTRY_ID entryId ); NTSTATUS DfsInternalDeleteExitPoint( IN PDFS_PKT_ENTRY_ID entryId, IN ULONG Type ); NTSTATUS DfsDeleteExitPath( PDFS_SERVICE pService, PUNICODE_STRING pRemPath ); VOID DfsAgePktEntries( // IN PDFS_TIMER_CONTEXT DfsTimerContext IN PVOID DfsTimerContext ); NTSTATUS PktFsctrlSetRelationInfo( IN PIRP Irp, IN PVOID InputBuffer, IN ULONG InputBufferLength ); NTSTATUS PktFsctrlGetRelationInfo( IN PIRP Irp, IN PVOID InputBuffer, IN ULONG InputBufferLength, IN PVOID OutputBuffer, IN ULONG OutputBufferLength ); NTSTATUS DfsGetPrincipalName( OUT PUNICODE_STRING PrincipalName ); NTSTATUS DfsInternalCreateExitPoint( IN PDFS_PKT_ENTRY_ID peid, IN ULONG Type, IN ULONG Disposition, OUT PUNICODE_STRING ShortPrefix ); NTSTATUS DfsInternalDeleteExitPoint( IN PDFS_PKT_ENTRY_ID ExitPtId, IN ULONG Type ); NTSTATUS DfsInternalModifyPrefix( IN PDFS_PKT_ENTRY_ID peid ); BOOLEAN DfsStorageIdLegal( PUNICODE_STRING StorageId ); BOOLEAN DfsExitPtLegal( IN PDFS_PKT Pkt, IN PDFS_PKT_ENTRY localEntry, IN PUNICODE_STRING Remaining ); BOOLEAN DfsFileOnExitPath( PDFS_PKT Pkt, PUNICODE_STRING StorageId ); NTSTATUS DfspTakeVolumeOffline( IN PDFS_PKT pkt, IN PDFS_PKT_ENTRY pktEntry ); NTSTATUS PktpFixupRelationInfo( IN PDFS_PKT_RELATION_INFO Local, IN PDFS_PKT_RELATION_INFO Remote); #if DBG NTSTATUS PktFsctrlFlushCache( IN PIRP Irp, IN PVOID InputBuffer, IN ULONG InputBufferLength ); NTSTATUS PktFsctrlShufflePktEntry( IN PIRP Irp, IN PVOID InputBuffer, IN ULONG InputBufferLength); NTSTATUS PktFsctrlGetFirstSvc( IN PIRP Irp, IN PVOID InputBuffer, IN ULONG InputBufferLength, OUT PVOID OutputBuffer, OUT ULONG OutputBufferLength); NTSTATUS PktFsctrlGetNextSvc( IN PIRP Irp, IN PVOID InputBuffer, IN ULONG InputBufferLength, OUT PVOID OutputBuffer, OUT ULONG OutputBufferLength); #endif // DBG #endif // _LOCALVOL_