144 lines
2.2 KiB
C
144 lines
2.2 KiB
C
|
/*++
|
||
|
|
||
|
Copyright (c) 1998 Microsoft Corporation
|
||
|
|
||
|
Module Name:
|
||
|
|
||
|
newmount.h
|
||
|
|
||
|
Abstract:
|
||
|
|
||
|
Replacement for mountie.h
|
||
|
|
||
|
Author:
|
||
|
|
||
|
Gor Nishanov (GorN) 31-July-1998
|
||
|
|
||
|
Environment:
|
||
|
|
||
|
User Mode
|
||
|
|
||
|
Revision History:
|
||
|
|
||
|
|
||
|
--*/
|
||
|
|
||
|
typedef struct _MOUNTIE_PARTITION {
|
||
|
LARGE_INTEGER StartingOffset;
|
||
|
LARGE_INTEGER PartitionLength;
|
||
|
DWORD PartitionNumber;
|
||
|
UCHAR PartitionType;
|
||
|
UCHAR DriveLetter;
|
||
|
USHORT Reserved; // must be 0 //
|
||
|
} MOUNTIE_PARTITION, *PMOUNTIE_PARTITION;
|
||
|
|
||
|
// PARTITION_INFORMATION
|
||
|
|
||
|
typedef struct _MOUNTIE_VOLUME {
|
||
|
DWORD Signature;
|
||
|
DWORD PartitionCount;
|
||
|
MOUNTIE_PARTITION Partition[1];
|
||
|
} MOUNTIE_VOLUME, *PMOUNTIE_VOLUME;
|
||
|
|
||
|
|
||
|
#define NICE_DRIVE_LETTER(x) ((x)?(x):'?')
|
||
|
|
||
|
NTSTATUS
|
||
|
GetAssignedLetter (
|
||
|
PWCHAR deviceName,
|
||
|
PCHAR driveLetter
|
||
|
);
|
||
|
|
||
|
PVOID
|
||
|
DoIoctlAndAllocate(
|
||
|
IN HANDLE FileHandle,
|
||
|
IN DWORD IoControlCode,
|
||
|
IN PVOID InBuf,
|
||
|
IN ULONG InBufSize,
|
||
|
OUT LPDWORD BytesReturned
|
||
|
);
|
||
|
|
||
|
NTSTATUS
|
||
|
DevfileOpen(
|
||
|
OUT HANDLE *Handle,
|
||
|
IN wchar_t *pathname
|
||
|
);
|
||
|
|
||
|
VOID
|
||
|
DevfileClose(
|
||
|
IN HANDLE Handle
|
||
|
);
|
||
|
|
||
|
|
||
|
DWORD
|
||
|
MountieRecreateVolumeInfoFromHandle(
|
||
|
IN HANDLE FileHandle,
|
||
|
IN DWORD HarddiskNo,
|
||
|
IN HANDLE ResourceHandle,
|
||
|
IN OUT PMOUNTIE_INFO Info
|
||
|
);
|
||
|
|
||
|
VOID
|
||
|
MountieCleanup(
|
||
|
IN OUT PMOUNTIE_INFO Info
|
||
|
);
|
||
|
|
||
|
DWORD
|
||
|
VolumesReady(
|
||
|
IN PMOUNTIE_INFO Info,
|
||
|
IN PDISK_RESOURCE ResourceEntry
|
||
|
);
|
||
|
|
||
|
DWORD
|
||
|
MountieFindPartitionsForDisk(
|
||
|
IN DWORD HarddiskNo,
|
||
|
OUT PMOUNTIE_INFO MountieInfo
|
||
|
);
|
||
|
|
||
|
DWORD
|
||
|
DisksGetLettersForSignature(
|
||
|
IN PDISK_RESOURCE ResourceEntry
|
||
|
);
|
||
|
|
||
|
DWORD
|
||
|
MountieUpdate(
|
||
|
PMOUNTIE_INFO Info,
|
||
|
PDISK_RESOURCE ResourceEntry
|
||
|
);
|
||
|
|
||
|
DWORD
|
||
|
MountieVerify(
|
||
|
PMOUNTIE_INFO info,
|
||
|
PDISK_RESOURCE ResourceEntry,
|
||
|
BOOL UseMountMgr
|
||
|
);
|
||
|
|
||
|
DWORD
|
||
|
MountiePartitionCount(
|
||
|
IN PMOUNTIE_INFO Info
|
||
|
);
|
||
|
|
||
|
PMOUNTIE_PARTITION
|
||
|
MountiePartition(
|
||
|
IN PMOUNTIE_INFO Info,
|
||
|
IN DWORD Index
|
||
|
);
|
||
|
|
||
|
VOID
|
||
|
MountiePrint(
|
||
|
IN PMOUNTIE_INFO Info,
|
||
|
IN HANDLE ResourceHandle
|
||
|
);
|
||
|
|
||
|
NTSTATUS
|
||
|
DevfileIoctl(
|
||
|
IN HANDLE Handle,
|
||
|
IN DWORD Ioctl,
|
||
|
IN PVOID InBuf,
|
||
|
IN ULONG InBufSize,
|
||
|
IN OUT PVOID OutBuf,
|
||
|
IN DWORD OutBufSize,
|
||
|
OUT LPDWORD returnLength
|
||
|
);
|
||
|
|