dll, sys: WIP

This commit is contained in:
Bill Zissimopoulos 2015-11-29 11:00:22 -08:00
parent 76af18e4d0
commit 567cf3e8eb
4 changed files with 16 additions and 18 deletions

View File

@ -33,8 +33,7 @@ FSP_API NTSTATUS FspFsctlCreateVolume(PWSTR DevicePath,
GlobalDevicePath(DevicePathBuf, sizeof DevicePathBuf, DevicePath);
SecurityDescriptorSize = 0;
if (!MakeSelfRelativeSD(SecurityDescriptor, 0, &SecurityDescriptorSize))
{
MakeSelfRelativeSD(SecurityDescriptor, 0, &SecurityDescriptorSize);
ParamsBuf = malloc(sizeof *ParamsBuf + SecurityDescriptorSize);
if (0 == ParamsBuf)
{
@ -48,7 +47,6 @@ FSP_API NTSTATUS FspFsctlCreateVolume(PWSTR DevicePath,
goto exit;
}
*ParamsBuf = *Params;
}
DeviceHandle = CreateFileW(DevicePathBuf,
0, FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, 0, OPEN_EXISTING, 0, 0);

View File

@ -295,7 +295,7 @@ NTSTATUS FspCreateDeviceObjectList(
PDRIVER_OBJECT DriverObject, PDEVICE_OBJECT **PDeviceObjects, PULONG PDeviceObjectCount);
VOID FspDeleteDeviceObjectList(
PDEVICE_OBJECT *DeviceObjects, ULONG DeviceObjectCount);
NTSTATUS FspHasDeviceObject(
NTSTATUS FspLookupDeviceObject(
PDRIVER_OBJECT DriverObject, PDEVICE_OBJECT DeviceObject);
/* debug */

View File

@ -108,10 +108,10 @@ static NTSTATUS FspFsctlMountVolume(
PAGED_CODE();
NTSTATUS Result;
PDEVICE_OBJECT RealDevice = IrpSp->Parameters.MountVolume.DeviceObject;
PDEVICE_OBJECT RealDevice = IrpSp->Parameters.MountVolume.Vpb->RealDevice;
/* check the passed in volume object; it must be one of our own */
Result = FspHasDeviceObject(DeviceObject->DriverObject, RealDevice);
Result = FspLookupDeviceObject(DeviceObject->DriverObject, RealDevice);
if (!NT_SUCCESS(Result))
{
if (STATUS_NO_SUCH_DEVICE == Result)

View File

@ -83,7 +83,7 @@ VOID FspDeleteDeviceObjectList(
ExFreePoolWithTag(DeviceObjects, FSP_TAG);
}
NTSTATUS FspHasDeviceObject(
NTSTATUS FspLookupDeviceObject(
PDRIVER_OBJECT DriverObject, PDEVICE_OBJECT DeviceObject)
{
NTSTATUS Result = STATUS_NO_SUCH_DEVICE;