mirror of
https://github.com/winfsp/winfsp.git
synced 2025-04-22 08:23:05 -05:00
sys: FSP_ENTER/FSP_LEAVE
This commit is contained in:
parent
be46a057c5
commit
ef2d278311
@ -17,10 +17,9 @@ FspCleanup(
|
||||
_In_ PDEVICE_OBJECT DeviceObject,
|
||||
_In_ PIRP Irp)
|
||||
{
|
||||
UNREFERENCED_PARAMETER(DeviceObject);
|
||||
UNREFERENCED_PARAMETER(Irp);
|
||||
FSP_ENTER(PAGED_CODE());
|
||||
|
||||
PAGED_CODE();
|
||||
Result = STATUS_NOT_IMPLEMENTED;
|
||||
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
FSP_LEAVE("", 0);
|
||||
}
|
||||
|
@ -17,10 +17,9 @@ FspClose(
|
||||
_In_ PDEVICE_OBJECT DeviceObject,
|
||||
_In_ PIRP Irp)
|
||||
{
|
||||
UNREFERENCED_PARAMETER(DeviceObject);
|
||||
UNREFERENCED_PARAMETER(Irp);
|
||||
FSP_ENTER(PAGED_CODE());
|
||||
|
||||
PAGED_CODE();
|
||||
Result = STATUS_NOT_IMPLEMENTED;
|
||||
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
FSP_LEAVE("", 0);
|
||||
}
|
||||
|
@ -17,10 +17,9 @@ FspCreate(
|
||||
_In_ PDEVICE_OBJECT DeviceObject,
|
||||
_In_ PIRP Irp)
|
||||
{
|
||||
UNREFERENCED_PARAMETER(DeviceObject);
|
||||
UNREFERENCED_PARAMETER(Irp);
|
||||
FSP_ENTER(PAGED_CODE());
|
||||
|
||||
PAGED_CODE();
|
||||
Result = STATUS_NOT_IMPLEMENTED;
|
||||
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
FSP_LEAVE("", 0);
|
||||
}
|
||||
|
@ -17,10 +17,9 @@ FspDeviceControl(
|
||||
_In_ PDEVICE_OBJECT DeviceObject,
|
||||
_In_ PIRP Irp)
|
||||
{
|
||||
UNREFERENCED_PARAMETER(DeviceObject);
|
||||
UNREFERENCED_PARAMETER(Irp);
|
||||
FSP_ENTER(PAGED_CODE());
|
||||
|
||||
PAGED_CODE();
|
||||
Result = STATUS_NOT_IMPLEMENTED;
|
||||
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
FSP_LEAVE("", 0);
|
||||
}
|
||||
|
@ -17,10 +17,9 @@ FspDirectoryControl(
|
||||
_In_ PDEVICE_OBJECT DeviceObject,
|
||||
_In_ PIRP Irp)
|
||||
{
|
||||
UNREFERENCED_PARAMETER(DeviceObject);
|
||||
UNREFERENCED_PARAMETER(Irp);
|
||||
FSP_ENTER(PAGED_CODE());
|
||||
|
||||
PAGED_CODE();
|
||||
Result = STATUS_NOT_IMPLEMENTED;
|
||||
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
FSP_LEAVE("", 0);
|
||||
}
|
||||
|
@ -19,17 +19,15 @@ DriverEntry(
|
||||
_In_ PDRIVER_OBJECT DriverObject,
|
||||
_In_ PUNICODE_STRING RegistryPath)
|
||||
{
|
||||
UNREFERENCED_PARAMETER(RegistryPath);
|
||||
|
||||
NTSTATUS Status;
|
||||
FSP_ENTER();
|
||||
|
||||
/* create the file system device object */
|
||||
UNICODE_STRING DeviceName;
|
||||
RtlInitUnicodeString(&DeviceName, L"" DRIVER_NAME);
|
||||
Status = IoCreateDevice(DriverObject, 0, &DeviceName, FILE_DEVICE_FILE_SYSTEM, 0, FALSE,
|
||||
Result = IoCreateDevice(DriverObject, 0, &DeviceName, FILE_DEVICE_FILE_SYSTEM, 0, FALSE,
|
||||
&FspDeviceObject);
|
||||
if (!NT_SUCCESS(Status))
|
||||
return Status;
|
||||
if (!NT_SUCCESS(Result))
|
||||
FSP_RETURN();
|
||||
|
||||
/* setup the driver object */
|
||||
DriverObject->DriverUnload = FspUnload;
|
||||
@ -96,20 +94,19 @@ DriverEntry(
|
||||
|
||||
/*
|
||||
* Register as a file system; this informs all filter drivers.
|
||||
* Future drivers will not be informed because we are a FILE_DEVICE_FILE_SYSTEM!
|
||||
* Future drivers will *not* be informed because we are a FILE_DEVICE_FILE_SYSTEM!
|
||||
*/
|
||||
IoRegisterFileSystem(FspDeviceObject);
|
||||
|
||||
return STATUS_SUCCESS;
|
||||
FSP_LEAVE("DriverObject->DriverName=\"%wZ\", RegistryPath=\"%wZ\"",
|
||||
&DriverObject->DriverName, RegistryPath);
|
||||
}
|
||||
|
||||
VOID
|
||||
FspUnload(
|
||||
_In_ PDRIVER_OBJECT DriverObject)
|
||||
{
|
||||
UNREFERENCED_PARAMETER(DriverObject);
|
||||
|
||||
PAGED_CODE();
|
||||
FSP_ENTER_VOID(PAGED_CODE());
|
||||
|
||||
if (0 != FspDeviceObject)
|
||||
{
|
||||
@ -117,6 +114,9 @@ FspUnload(
|
||||
IoDeleteDevice(FspDeviceObject);
|
||||
FspDeviceObject = 0;
|
||||
}
|
||||
|
||||
FSP_LEAVE_VOID("DriverObject->DriverName=\"%wZ\"",
|
||||
&DriverObject->DriverName);
|
||||
}
|
||||
|
||||
PDEVICE_OBJECT FspDeviceObject;
|
||||
|
@ -11,6 +11,7 @@
|
||||
|
||||
#define DRIVER_NAME "winfsp"
|
||||
|
||||
/* DEBUGLOG */
|
||||
#if DBG
|
||||
#define DEBUGLOG(fmt, ...) \
|
||||
DbgPrint(DRIVER_NAME "!" __FUNCTION__ ": " fmt "\n", __VA_ARGS__)
|
||||
@ -18,6 +19,51 @@
|
||||
#define DEBUGLOG(fmt, ...) ((void)0)
|
||||
#endif
|
||||
|
||||
/* enter/leave*/
|
||||
#if DBG
|
||||
#define FSP_ENTER_(...) \
|
||||
__VA_ARGS__; \
|
||||
try \
|
||||
{
|
||||
#define FSP_LEAVE_(rfmt, r, fmt, ...) \
|
||||
goto fsp_leave_label; \
|
||||
fsp_leave_label:; \
|
||||
} \
|
||||
finally \
|
||||
{ \
|
||||
const char *fsp_leave_format = AbnormalTermination() ? \
|
||||
DRIVER_NAME "!" __FUNCTION__ "(" fmt ") = !AbnormalTermination\n" : \
|
||||
DRIVER_NAME "!" __FUNCTION__ "(" fmt ")" rfmt "\n"; \
|
||||
DbgPrint(fsp_leave_format, __VA_ARGS__, r); \
|
||||
}
|
||||
#else
|
||||
#define FSP_ENTER_(...) \
|
||||
__VA_ARGS__; \
|
||||
{
|
||||
#define FSP_LEAVE_(rfmt, r, fmt, ...) \
|
||||
goto fsp_leave_label; \
|
||||
fsp_leave_label:; \
|
||||
}
|
||||
#endif
|
||||
#define FSP_ENTER(...) \
|
||||
NTSTATUS Result = STATUS_SUCCESS; FSP_ENTER_(__VA_ARGS__)
|
||||
#define FSP_LEAVE(fmt, ...) \
|
||||
FSP_LEAVE_(" = %#lx", (long)Result, fmt, __VA_ARGS__); return Result
|
||||
#define FSP_ENTER_BOOL(...) \
|
||||
BOOLEAN Result = TRUE; FSP_ENTER_(__VA_ARGS__)
|
||||
#define FSP_LEAVE_BOOL(fmt, ...) \
|
||||
FSP_LEAVE_(" = %d", (int)Result, fmt, __VA_ARGS__); return Result
|
||||
#define FSP_ENTER_VOID(...) \
|
||||
FSP_ENTER_(__VA_ARGS__)
|
||||
#define FSP_LEAVE_VOID(fmt, ...) \
|
||||
FSP_LEAVE_("", 0, fmt, __VA_ARGS__)
|
||||
#define FSP_RETURN(...) \
|
||||
do \
|
||||
{ \
|
||||
__VA_ARGS__; \
|
||||
goto fsp_leave_label; \
|
||||
} while (0,0)
|
||||
|
||||
/* driver major functions */
|
||||
DRIVER_DISPATCH FspCleanup;
|
||||
DRIVER_DISPATCH FspClose;
|
||||
@ -53,4 +99,7 @@ FAST_IO_RELEASE_FOR_CCFLUSH FspReleaseForCcFlush;
|
||||
/* extern */
|
||||
extern PDEVICE_OBJECT FspDeviceObject;
|
||||
|
||||
/* disable warnings */
|
||||
#pragma warning(disable:4100) /* unreferenced formal parameter */
|
||||
|
||||
#endif
|
||||
|
14
src/sys/ea.c
14
src/sys/ea.c
@ -19,12 +19,11 @@ FspQueryEa(
|
||||
_In_ PDEVICE_OBJECT DeviceObject,
|
||||
_In_ PIRP Irp)
|
||||
{
|
||||
UNREFERENCED_PARAMETER(DeviceObject);
|
||||
UNREFERENCED_PARAMETER(Irp);
|
||||
FSP_ENTER(PAGED_CODE());
|
||||
|
||||
PAGED_CODE();
|
||||
Result = STATUS_NOT_IMPLEMENTED;
|
||||
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
FSP_LEAVE("", 0);
|
||||
}
|
||||
|
||||
NTSTATUS
|
||||
@ -32,10 +31,9 @@ FspSetEa(
|
||||
_In_ PDEVICE_OBJECT DeviceObject,
|
||||
_In_ PIRP Irp)
|
||||
{
|
||||
UNREFERENCED_PARAMETER(DeviceObject);
|
||||
UNREFERENCED_PARAMETER(Irp);
|
||||
FSP_ENTER(PAGED_CODE());
|
||||
|
||||
PAGED_CODE();
|
||||
Result = STATUS_NOT_IMPLEMENTED;
|
||||
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
FSP_LEAVE("", 0);
|
||||
}
|
||||
|
@ -24,16 +24,9 @@ FspFastIoCheckIfPossible(
|
||||
_In_ PDEVICE_OBJECT DeviceObject
|
||||
)
|
||||
{
|
||||
UNREFERENCED_PARAMETER(FileObject);
|
||||
UNREFERENCED_PARAMETER(FileOffset);
|
||||
UNREFERENCED_PARAMETER(Length);
|
||||
UNREFERENCED_PARAMETER(Wait);
|
||||
UNREFERENCED_PARAMETER(LockKey);
|
||||
UNREFERENCED_PARAMETER(CheckForReadOperation);
|
||||
UNREFERENCED_PARAMETER(IoStatus);
|
||||
UNREFERENCED_PARAMETER(DeviceObject);
|
||||
FSP_ENTER_BOOL(PAGED_CODE());
|
||||
|
||||
PAGED_CODE();
|
||||
Result = FALSE;
|
||||
|
||||
return FALSE;
|
||||
FSP_LEAVE_BOOL("", 0);
|
||||
}
|
||||
|
@ -19,12 +19,11 @@ FspQueryInformation(
|
||||
_In_ PDEVICE_OBJECT DeviceObject,
|
||||
_In_ PIRP Irp)
|
||||
{
|
||||
UNREFERENCED_PARAMETER(DeviceObject);
|
||||
UNREFERENCED_PARAMETER(Irp);
|
||||
FSP_ENTER(PAGED_CODE());
|
||||
|
||||
PAGED_CODE();
|
||||
Result = STATUS_NOT_IMPLEMENTED;
|
||||
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
FSP_LEAVE("", 0);
|
||||
}
|
||||
|
||||
NTSTATUS
|
||||
@ -32,10 +31,9 @@ FspSetInformation(
|
||||
_In_ PDEVICE_OBJECT DeviceObject,
|
||||
_In_ PIRP Irp)
|
||||
{
|
||||
UNREFERENCED_PARAMETER(DeviceObject);
|
||||
UNREFERENCED_PARAMETER(Irp);
|
||||
FSP_ENTER(PAGED_CODE());
|
||||
|
||||
PAGED_CODE();
|
||||
Result = STATUS_NOT_IMPLEMENTED;
|
||||
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
FSP_LEAVE("", 0);
|
||||
}
|
||||
|
@ -17,10 +17,9 @@ FspFlushBuffers(
|
||||
_In_ PDEVICE_OBJECT DeviceObject,
|
||||
_In_ PIRP Irp)
|
||||
{
|
||||
UNREFERENCED_PARAMETER(DeviceObject);
|
||||
UNREFERENCED_PARAMETER(Irp);
|
||||
FSP_ENTER(PAGED_CODE());
|
||||
|
||||
PAGED_CODE();
|
||||
Result = STATUS_NOT_IMPLEMENTED;
|
||||
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
FSP_LEAVE("", 0);
|
||||
}
|
||||
|
@ -17,10 +17,9 @@ FspFileSystemControl(
|
||||
_In_ PDEVICE_OBJECT DeviceObject,
|
||||
_In_ PIRP Irp)
|
||||
{
|
||||
UNREFERENCED_PARAMETER(DeviceObject);
|
||||
UNREFERENCED_PARAMETER(Irp);
|
||||
FSP_ENTER(PAGED_CODE());
|
||||
|
||||
PAGED_CODE();
|
||||
Result = STATUS_NOT_IMPLEMENTED;
|
||||
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
FSP_LEAVE("", 0);
|
||||
}
|
||||
|
@ -17,10 +17,9 @@ FspLockControl(
|
||||
_In_ PDEVICE_OBJECT DeviceObject,
|
||||
_In_ PIRP Irp)
|
||||
{
|
||||
UNREFERENCED_PARAMETER(DeviceObject);
|
||||
UNREFERENCED_PARAMETER(Irp);
|
||||
FSP_ENTER(PAGED_CODE());
|
||||
|
||||
PAGED_CODE();
|
||||
Result = STATUS_NOT_IMPLEMENTED;
|
||||
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
FSP_LEAVE("", 0);
|
||||
}
|
||||
|
@ -17,10 +17,9 @@ FspRead(
|
||||
_In_ PDEVICE_OBJECT DeviceObject,
|
||||
_In_ PIRP Irp)
|
||||
{
|
||||
UNREFERENCED_PARAMETER(DeviceObject);
|
||||
UNREFERENCED_PARAMETER(Irp);
|
||||
FSP_ENTER(PAGED_CODE());
|
||||
|
||||
PAGED_CODE();
|
||||
Result = STATUS_NOT_IMPLEMENTED;
|
||||
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
FSP_LEAVE("", 0);
|
||||
}
|
||||
|
@ -26,18 +26,18 @@ VOID
|
||||
FspAcquireFileForNtCreateSection(
|
||||
_In_ PFILE_OBJECT FileObject)
|
||||
{
|
||||
UNREFERENCED_PARAMETER(FileObject);
|
||||
FSP_ENTER_VOID(PAGED_CODE());
|
||||
|
||||
PAGED_CODE();
|
||||
FSP_LEAVE_VOID("", 0);
|
||||
}
|
||||
|
||||
VOID
|
||||
FspReleaseFileForNtCreateSection(
|
||||
_In_ PFILE_OBJECT FileObject)
|
||||
{
|
||||
UNREFERENCED_PARAMETER(FileObject);
|
||||
FSP_ENTER_VOID(PAGED_CODE());
|
||||
|
||||
PAGED_CODE();
|
||||
FSP_LEAVE_VOID("", 0);
|
||||
}
|
||||
|
||||
NTSTATUS
|
||||
@ -47,14 +47,11 @@ FspAcquireForModWrite(
|
||||
_Out_ PERESOURCE *ResourceToRelease,
|
||||
_In_ PDEVICE_OBJECT DeviceObject)
|
||||
{
|
||||
UNREFERENCED_PARAMETER(FileObject);
|
||||
UNREFERENCED_PARAMETER(EndingOffset);
|
||||
UNREFERENCED_PARAMETER(ResourceToRelease);
|
||||
UNREFERENCED_PARAMETER(DeviceObject);
|
||||
FSP_ENTER(PAGED_CODE());
|
||||
|
||||
PAGED_CODE();
|
||||
Result = STATUS_NOT_IMPLEMENTED;
|
||||
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
FSP_LEAVE("", 0);
|
||||
}
|
||||
|
||||
NTSTATUS
|
||||
@ -63,13 +60,11 @@ FspReleaseForModWrite(
|
||||
_In_ PERESOURCE ResourceToRelease,
|
||||
_In_ PDEVICE_OBJECT DeviceObject)
|
||||
{
|
||||
UNREFERENCED_PARAMETER(FileObject);
|
||||
UNREFERENCED_PARAMETER(ResourceToRelease);
|
||||
UNREFERENCED_PARAMETER(DeviceObject);
|
||||
FSP_ENTER(PAGED_CODE());
|
||||
|
||||
PAGED_CODE();
|
||||
Result = STATUS_NOT_IMPLEMENTED;
|
||||
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
FSP_LEAVE("", 0);
|
||||
}
|
||||
|
||||
NTSTATUS
|
||||
@ -77,12 +72,11 @@ FspAcquireForCcFlush(
|
||||
_In_ PFILE_OBJECT FileObject,
|
||||
_In_ PDEVICE_OBJECT DeviceObject)
|
||||
{
|
||||
UNREFERENCED_PARAMETER(FileObject);
|
||||
UNREFERENCED_PARAMETER(DeviceObject);
|
||||
FSP_ENTER(PAGED_CODE());
|
||||
|
||||
PAGED_CODE();
|
||||
Result = STATUS_NOT_IMPLEMENTED;
|
||||
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
FSP_LEAVE("", 0);
|
||||
}
|
||||
|
||||
NTSTATUS
|
||||
@ -90,10 +84,9 @@ FspReleaseForCcFlush(
|
||||
_In_ PFILE_OBJECT FileObject,
|
||||
_In_ PDEVICE_OBJECT DeviceObject)
|
||||
{
|
||||
UNREFERENCED_PARAMETER(FileObject);
|
||||
UNREFERENCED_PARAMETER(DeviceObject);
|
||||
FSP_ENTER(PAGED_CODE());
|
||||
|
||||
PAGED_CODE();
|
||||
Result = STATUS_NOT_IMPLEMENTED;
|
||||
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
FSP_LEAVE("", 0);
|
||||
}
|
||||
|
@ -19,12 +19,11 @@ FspQuerySecurity(
|
||||
_In_ PDEVICE_OBJECT DeviceObject,
|
||||
_In_ PIRP Irp)
|
||||
{
|
||||
UNREFERENCED_PARAMETER(DeviceObject);
|
||||
UNREFERENCED_PARAMETER(Irp);
|
||||
FSP_ENTER(PAGED_CODE());
|
||||
|
||||
PAGED_CODE();
|
||||
Result = STATUS_NOT_IMPLEMENTED;
|
||||
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
FSP_LEAVE("", 0);
|
||||
}
|
||||
|
||||
NTSTATUS
|
||||
@ -32,10 +31,9 @@ FspSetSecurity(
|
||||
_In_ PDEVICE_OBJECT DeviceObject,
|
||||
_In_ PIRP Irp)
|
||||
{
|
||||
UNREFERENCED_PARAMETER(DeviceObject);
|
||||
UNREFERENCED_PARAMETER(Irp);
|
||||
FSP_ENTER(PAGED_CODE());
|
||||
|
||||
PAGED_CODE();
|
||||
Result = STATUS_NOT_IMPLEMENTED;
|
||||
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
FSP_LEAVE("", 0);
|
||||
}
|
||||
|
@ -17,10 +17,9 @@ FspShutdown(
|
||||
_In_ PDEVICE_OBJECT DeviceObject,
|
||||
_In_ PIRP Irp)
|
||||
{
|
||||
UNREFERENCED_PARAMETER(DeviceObject);
|
||||
UNREFERENCED_PARAMETER(Irp);
|
||||
FSP_ENTER(PAGED_CODE());
|
||||
|
||||
PAGED_CODE();
|
||||
Result = STATUS_NOT_IMPLEMENTED;
|
||||
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
FSP_LEAVE("", 0);
|
||||
}
|
||||
|
@ -19,12 +19,11 @@ FspQueryVolumeInformation(
|
||||
_In_ PDEVICE_OBJECT DeviceObject,
|
||||
_In_ PIRP Irp)
|
||||
{
|
||||
UNREFERENCED_PARAMETER(DeviceObject);
|
||||
UNREFERENCED_PARAMETER(Irp);
|
||||
FSP_ENTER(PAGED_CODE());
|
||||
|
||||
PAGED_CODE();
|
||||
Result = STATUS_NOT_IMPLEMENTED;
|
||||
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
FSP_LEAVE("", 0);
|
||||
}
|
||||
|
||||
NTSTATUS
|
||||
@ -32,10 +31,9 @@ FspSetVolumeInformation(
|
||||
_In_ PDEVICE_OBJECT DeviceObject,
|
||||
_In_ PIRP Irp)
|
||||
{
|
||||
UNREFERENCED_PARAMETER(DeviceObject);
|
||||
UNREFERENCED_PARAMETER(Irp);
|
||||
FSP_ENTER(PAGED_CODE());
|
||||
|
||||
PAGED_CODE();
|
||||
Result = STATUS_NOT_IMPLEMENTED;
|
||||
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
FSP_LEAVE("", 0);
|
||||
}
|
||||
|
@ -17,10 +17,9 @@ FspWrite(
|
||||
_In_ PDEVICE_OBJECT DeviceObject,
|
||||
_In_ PIRP Irp)
|
||||
{
|
||||
UNREFERENCED_PARAMETER(DeviceObject);
|
||||
UNREFERENCED_PARAMETER(Irp);
|
||||
FSP_ENTER(PAGED_CODE());
|
||||
|
||||
PAGED_CODE();
|
||||
Result = STATUS_NOT_IMPLEMENTED;
|
||||
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
FSP_LEAVE("", 0);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user