ReactOS 0.4.15-dev-6712-g46b4b55
|
#include <ntifs.h>
#include <mountdev.h>
#include <ntddvol.h>
#include <ntdddisk.h>
#include <wdmguid.h>
#include <ndk/psfuncs.h>
#include <section_attribs.h>
Go to the source code of this file.
Classes | |
struct | _DEVICE_EXTENSION |
struct | _DEVICE_INFORMATION |
struct | _SYMLINK_INFORMATION |
struct | _SAVED_LINK_INFORMATION |
struct | _UNIQUE_ID_REPLICATE |
struct | _DATABASE_ENTRY |
struct | _ASSOCIATED_DEVICE_ENTRY |
struct | _DEVICE_INFORMATION_ENTRY |
struct | _ONLINE_NOTIFICATION_WORK_ITEM |
struct | _RECONCILE_WORK_ITEM_CONTEXT |
struct | _RECONCILE_WORK_ITEM |
struct | _MIGRATE_WORK_ITEM |
struct | _UNIQUE_ID_WORK_ITEM |
Macros | |
#define | AllocatePool(Size) ExAllocatePoolWithTag(PagedPool, Size, 'AtnM') |
#define | FreePool(P) ExFreePoolWithTag(P, 'AtnM') |
#define | MAX(a, b) ((a > b) ? a : b) |
#define | LETTER_POSITION 0xC |
#define | COLON_POSITION 0xD |
#define | DRIVE_LETTER_LENGTH 0x1C |
#define AllocatePool | ( | Size | ) | ExAllocatePoolWithTag(PagedPool, Size, 'AtnM') |
typedef struct _DATABASE_ENTRY DATABASE_ENTRY |
typedef struct _DEVICE_EXTENSION DEVICE_EXTENSION |
typedef struct _DATABASE_ENTRY * PDATABASE_ENTRY |
typedef struct _DEVICE_EXTENSION * PDEVICE_EXTENSION |
typedef struct _DEVICE_INFORMATION * PDEVICE_INFORMATION |
typedef struct _MIGRATE_WORK_ITEM * PMIGRATE_WORK_ITEM |
typedef struct _RECONCILE_WORK_ITEM * PRECONCILE_WORK_ITEM |
typedef struct _SYMLINK_INFORMATION * PSYMLINK_INFORMATION |
typedef struct _UNIQUE_ID_REPLICATE * PUNIQUE_ID_REPLICATE |
typedef struct _UNIQUE_ID_WORK_ITEM * PUNIQUE_ID_WORK_ITEM |
NTSTATUS AddRemoteDatabaseEntry | ( | IN HANDLE | Database, |
IN PDATABASE_ENTRY | Entry | ||
) |
Definition at line 64 of file database.c.
Referenced by ChangeRemoteDatabaseUniqueId(), MountMgrVolumeMountPointCreated(), and ReconcileThisDatabaseWithMasterWorker().
VOID ChangeRemoteDatabaseUniqueId | ( | IN PDEVICE_INFORMATION | DeviceInformation, |
IN PMOUNTDEV_UNIQUE_ID | OldUniqueId, | ||
IN PMOUNTDEV_UNIQUE_ID | NewUniqueId | ||
) |
Definition at line 1911 of file database.c.
Referenced by MountMgrUniqueIdChangeRoutine().
Definition at line 82 of file database.c.
Referenced by ChangeRemoteDatabaseUniqueId(), MountMgrVolumeMountPointCreated(), MountMgrVolumeMountPointDeleted(), and ReconcileThisDatabaseWithMasterWorker().
NTSTATUS CreateNewVolumeName | ( | OUT PUNICODE_STRING | VolumeName, |
IN PGUID VolumeGuid | OPTIONAL | ||
) |
Definition at line 462 of file symlink.c.
Referenced by MountMgrMountedDeviceArrival(), and QuerySymbolicLinkNamesFromStorage().
VOID CreateNoDriveLetterEntry | ( | IN PMOUNTDEV_UNIQUE_ID | UniqueId | ) |
Definition at line 269 of file uniqueid.c.
Referenced by CreateNewDriveLetterName(), MountMgrDeletePoints(), MountMgrDeletePointsDbOnly(), MountMgrMountedDeviceArrival(), MountMgrNextDriveLetterWorker(), and ProcessSuggestedDriveLetters().
VOID DeleteFromLocalDatabase | ( | IN PUNICODE_STRING | SymbolicLink, |
IN PMOUNTDEV_UNIQUE_ID | UniqueId | ||
) |
Definition at line 351 of file database.c.
Referenced by MountMgrMountedDeviceArrival().
VOID DeleteNoDriveLetterEntry | ( | IN PMOUNTDEV_UNIQUE_ID | UniqueId | ) |
Definition at line 2100 of file database.c.
Referenced by MountMgrCreatePointWorker(), and MountMgrDeletePoints().
VOID DeleteRegistryDriveLetter | ( | IN PMOUNTDEV_UNIQUE_ID | UniqueId | ) |
Definition at line 2048 of file database.c.
Referenced by MountMgrCreatePointWorker().
Definition at line 233 of file database.c.
Referenced by ChangeRemoteDatabaseUniqueId(), MountMgrVolumeMountPointDeleted(), and ReconcileThisDatabaseWithMasterWorker().
VOID DeleteSymbolicLinkNameFromMemory | ( | IN PDEVICE_EXTENSION | DeviceExtension, |
IN PUNICODE_STRING | SymbolicLink, | ||
IN BOOLEAN | MarkOffline | ||
) |
Definition at line 864 of file symlink.c.
Referenced by MountMgrDeletePoints(), and MountMgrDeletePointsDbOnly().
NTSTATUS FindDeviceInfo | ( | IN PDEVICE_EXTENSION | DeviceExtension, |
IN PUNICODE_STRING | SymbolicName, | ||
IN BOOLEAN | DeviceNameGiven, | ||
OUT PDEVICE_INFORMATION * | DeviceInformation | ||
) |
Definition at line 636 of file mountmgr.c.
Referenced by MountMgrKeepLinksWhenOffline(), MountMgrQueryDosVolumePath(), MountMgrQueryDosVolumePaths(), MountMgrVolumeMountPointChanged(), MountMgrVolumeMountPointCreated(), MountMgrVolumeMountPointDeleted(), OnlineMountedVolumes(), QueryUniqueIdFromMaster(), and ReconcileThisDatabaseWithMasterWorker().
PDATABASE_ENTRY GetRemoteDatabaseEntry | ( | IN HANDLE | Database, |
IN LONG | StartingOffset | ||
) |
Definition at line 125 of file database.c.
Referenced by ChangeRemoteDatabaseUniqueId(), DeleteRemoteDatabaseEntry(), MountMgrVolumeMountPointCreated(), MountMgrVolumeMountPointDeleted(), and ReconcileThisDatabaseWithMasterWorker().
NTSTATUS GlobalCreateSymbolicLink | ( | IN PUNICODE_STRING | DosName, |
IN PUNICODE_STRING | DeviceName | ||
) |
Definition at line 111 of file symlink.c.
Referenced by CreateNewDriveLetterName(), DriverEntry(), MountMgrCreatePointWorker(), MountMgrMountedDeviceArrival(), and RedirectSavedLink().
NTSTATUS GlobalDeleteSymbolicLink | ( | IN PUNICODE_STRING | DosName | ) |
Definition at line 136 of file symlink.c.
Referenced by MountMgrCreatePointWorker(), MountMgrDeletePoints(), MountMgrFreeMountedDeviceInfo(), MountMgrFreeSavedLink(), MountMgrMountedDeviceArrival(), MountMgrMountedDeviceRemoval(), MountMgrUnload(), and RedirectSavedLink().
BOOLEAN HasDriveLetter | ( | IN PDEVICE_INFORMATION | DeviceInformation | ) |
Definition at line 83 of file mountmgr.c.
Referenced by MountMgrCreatePointWorker(), and ProcessSuggestedDriveLetters().
BOOLEAN HasNoDriveLetterEntry | ( | IN PMOUNTDEV_UNIQUE_ID | UniqueId | ) |
Definition at line 354 of file uniqueid.c.
Referenced by MountMgrMountedDeviceArrival(), MountMgrNextDriveLetterWorker(), and ProcessSuggestedDriveLetters().
BOOLEAN IsDriveLetter | ( | PUNICODE_STRING | SymbolicName | ) |
Definition at line 922 of file symlink.c.
Referenced by DeleteDriveLetterRoutine(), HasDriveLetter(), MountMgrCreatePointWorker(), MountMgrDeletePoints(), MountMgrDeletePointsDbOnly(), MountMgrMountedDeviceArrival(), MountMgrNextDriveLetterWorker(), and QuerySymbolicLinkNamesFromStorage().
VOID IssueUniqueIdChangeNotify | ( | IN PDEVICE_EXTENSION | DeviceExtension, |
IN PUNICODE_STRING | DeviceName, | ||
IN PMOUNTDEV_UNIQUE_ID | UniqueId | ||
) |
Definition at line 660 of file notify.c.
Referenced by MountMgrMountedDeviceArrival().
VOID IssueUniqueIdChangeNotifyWorker | ( | IN PUNIQUE_ID_WORK_ITEM | WorkItem, |
IN PMOUNTDEV_UNIQUE_ID | UniqueId | ||
) |
Definition at line 590 of file notify.c.
Referenced by IssueUniqueIdChangeNotify(), and UniqueIdChangeNotifyWorker().
BOOLEAN IsUniqueIdPresent | ( | IN PDEVICE_EXTENSION | DeviceExtension, |
IN PDATABASE_ENTRY | DatabaseEntry | ||
) |
Definition at line 221 of file uniqueid.c.
Referenced by ReconcileThisDatabaseWithMasterWorker().
Definition at line 1676 of file mountmgr.c.
Referenced by MountMgrChangeNotify(), and MountMgrCleanup().
NTSTATUS MountMgrCreatePointWorker | ( | IN PDEVICE_EXTENSION | DeviceExtension, |
IN PUNICODE_STRING | SymbolicLinkName, | ||
IN PUNICODE_STRING | DeviceName | ||
) |
Definition at line 35 of file point.c.
Referenced by MountMgrCreatePoint(), MountMgrNextDriveLetterWorker(), ProcessSuggestedDriveLetters(), and WriteUniqueIdToMaster().
VOID MountMgrFreeDeadDeviceInfo | ( | IN PDEVICE_INFORMATION | DeviceInformation | ) |
Definition at line 701 of file mountmgr.c.
Referenced by MountMgrCheckUnprocessedVolumes(), MountMgrMountedDeviceArrival(), MountMgrMountedDeviceRemoval(), and MountMgrUnload().
NTSTATUS MountMgrMountedDeviceArrival | ( | IN PDEVICE_EXTENSION | Extension, |
IN PUNICODE_STRING | SymbolicName, | ||
IN BOOLEAN | FromVolume | ||
) |
Definition at line 931 of file mountmgr.c.
Referenced by MountMgrCheckUnprocessedVolumes(), MountMgrMountedDeviceNotification(), and MountMgrVolumeArrivalNotification().
VOID MountMgrMountedDeviceRemoval | ( | IN PDEVICE_EXTENSION | Extension, |
IN PUNICODE_STRING | DeviceName | ||
) |
Definition at line 1446 of file mountmgr.c.
Referenced by MountMgrMountedDeviceNotification().
VOID MountMgrNotify | ( | IN PDEVICE_EXTENSION | DeviceExtension | ) |
Definition at line 311 of file notify.c.
Referenced by MountMgrCreatePointWorker(), MountMgrDeletePoints(), and MountMgrVolumeMountPointChanged().
VOID MountMgrNotifyNameChange | ( | IN PDEVICE_EXTENSION | DeviceExtension, |
IN PUNICODE_STRING | DeviceName, | ||
IN BOOLEAN | ValidateVolume | ||
) |
Definition at line 351 of file notify.c.
Referenced by MountMgrCreatePointWorker(), MountMgrDeletePoints(), MountMgrQueryDosVolumePaths(), and MountMgrVolumeMountPointChanged().
NTSTATUS MountMgrQuerySymbolicLink | ( | IN PUNICODE_STRING | SymbolicName, |
IN OUT PUNICODE_STRING | LinkTarget | ||
) |
Definition at line 959 of file symlink.c.
Referenced by MountMgrVolumeMountPointCreated(), and MountMgrVolumeMountPointDeleted().
BOOLEAN MountmgrReadNoAutoMount | ( | IN PUNICODE_STRING | RegistryPath | ) |
Definition at line 898 of file mountmgr.c.
Referenced by DriverEntry().
VOID MountMgrUniqueIdChangeRoutine | ( | IN PDEVICE_EXTENSION | DeviceExtension, |
IN PMOUNTDEV_UNIQUE_ID | OldUniqueId, | ||
IN PMOUNTDEV_UNIQUE_ID | NewUniqueId | ||
) |
Definition at line 71 of file uniqueid.c.
Referenced by UniqueIdChangeNotifyWorker().
HANDLE OpenRemoteDatabase | ( | IN PDEVICE_INFORMATION | DeviceInformation, |
IN BOOLEAN | MigrateDatabase | ||
) |
Definition at line 1837 of file database.c.
Referenced by ChangeRemoteDatabaseUniqueId(), MountMgrVolumeMountPointCreated(), MountMgrVolumeMountPointDeleted(), and ReconcileThisDatabaseWithMasterWorker().
VOID PostOnlineNotification | ( | IN PDEVICE_EXTENSION | DeviceExtension, |
IN PUNICODE_STRING | SymbolicName | ||
) |
Definition at line 145 of file notify.c.
Referenced by MountMgrCreatePointWorker(), MountMgrVolumeMountPointCreated(), OnlineMountedVolumes(), and ReconcileThisDatabaseWithMasterWorker().
NTSTATUS QueryDeviceInformation | ( | IN PUNICODE_STRING | SymbolicName, |
OUT PUNICODE_STRING DeviceName | OPTIONAL, | ||
OUT PMOUNTDEV_UNIQUE_ID *UniqueId | OPTIONAL, | ||
OUT PBOOLEAN Removable | OPTIONAL, | ||
OUT PBOOLEAN GptDriveLetter | OPTIONAL, | ||
OUT PBOOLEAN HasGuid | OPTIONAL, | ||
IN OUT LPGUID StableGuid | OPTIONAL, | ||
OUT PBOOLEAN Valid | OPTIONAL | ||
) |
Definition at line 190 of file mountmgr.c.
Referenced by FindDeviceInfo(), MountMgrCreatePointWorker(), MountMgrMountedDeviceArrival(), MountMgrNextDriveLetterWorker(), MountMgrVolumeMountPointChanged(), MountMgrVolumeMountPointCreated(), QueryPointsFromMemory(), QueryPointsFromSymbolicLinkName(), USBD_GetDeviceInformationEx(), and USBH_GetDeviceType().
NTSTATUS QueryPointsFromMemory | ( | IN PDEVICE_EXTENSION | DeviceExtension, |
IN PIRP | Irp, | ||
IN PMOUNTDEV_UNIQUE_ID UniqueId | OPTIONAL, | ||
IN PUNICODE_STRING SymbolicName | OPTIONAL | ||
) |
Definition at line 236 of file point.c.
Referenced by MountMgrQueryPoints().
NTSTATUS QueryPointsFromSymbolicLinkName | ( | IN PDEVICE_EXTENSION | DeviceExtension, |
IN PUNICODE_STRING | SymbolicName, | ||
IN PIRP | Irp | ||
) |
Definition at line 463 of file point.c.
Referenced by MountMgrQueryPoints().
NTSTATUS QuerySuggestedLinkName | ( | IN PUNICODE_STRING | SymbolicName, |
OUT PUNICODE_STRING | SuggestedLinkName, | ||
OUT PBOOLEAN | UseOnlyIfThereAreNoOtherLinks | ||
) |
Definition at line 684 of file symlink.c.
Referenced by MountMgrMountedDeviceArrival().
NTSTATUS QuerySymbolicLinkNamesFromStorage | ( | IN PDEVICE_EXTENSION | DeviceExtension, |
IN PDEVICE_INFORMATION | DeviceInformation, | ||
IN PUNICODE_STRING | SuggestedLinkName, | ||
IN BOOLEAN | UseOnlyIfThereAreNoOtherLinks, | ||
OUT PUNICODE_STRING * | SymLinks, | ||
OUT PULONG | SymLinkCount, | ||
IN BOOLEAN | HasGuid, | ||
IN LPGUID | Guid | ||
) |
Definition at line 514 of file symlink.c.
Referenced by MountMgrMountedDeviceArrival().
NTSTATUS QueryVolumeName | ( | IN HANDLE | RootDirectory, |
IN PFILE_REPARSE_POINT_INFORMATION | ReparsePointInformation, | ||
IN PUNICODE_STRING FileName | OPTIONAL, | ||
OUT PUNICODE_STRING | SymbolicName, | ||
OUT PUNICODE_STRING | VolumeName | ||
) |
Definition at line 1292 of file database.c.
Referenced by MountMgrVolumeMountPointCreated(), MountMgrVolumeMountPointDeleted(), OnlineMountedVolumes(), and ReconcileThisDatabaseWithMasterWorker().
VOID ReconcileAllDatabasesWithMaster | ( | IN PDEVICE_EXTENSION | DeviceExtension | ) |
Definition at line 1659 of file database.c.
Referenced by MountMgrDeviceControl().
VOID ReconcileThisDatabaseWithMaster | ( | IN PDEVICE_EXTENSION | DeviceExtension, |
IN PDEVICE_INFORMATION | DeviceInformation | ||
) |
Definition at line 1613 of file database.c.
Referenced by MountMgrCreatePointWorker(), MountMgrMountedDeviceArrival(), MountMgrTargetDeviceNotification(), MountMgrUniqueIdChangeRoutine(),