mirror of
https://github.com/winfsp/winfsp.git
synced 2025-04-23 08:53:01 -05:00
sys: fsctl: WIP
This commit is contained in:
parent
91ace92aaf
commit
d710e7a437
@ -30,7 +30,9 @@ extern const __declspec(selectany) GUID FspFsvrtDeviceClassGuid =
|
|||||||
CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 0x800 + 'T', METHOD_BUFFERED, FILE_ANY_ACCESS)
|
CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 0x800 + 'T', METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||||
|
|
||||||
#define FSP_FSCTL_CREATE_BUFFER_SIZE 128
|
#define FSP_FSCTL_CREATE_BUFFER_SIZE 128
|
||||||
#define FSP_FSCTL_TRANSACT_BUFFER_SIZE 4096
|
#define FSP_FSCTL_TRANSACT_BUFFER_SIZE (16 * 1024)
|
||||||
|
#define FSP_FSCTL_TRANSACT_REQ_SIZEMAX (sizeof(FSP_TRANSACT_REQ) + 1024 * sizeof(WCHAR))
|
||||||
|
#define FSP_FSCTL_TRANSACT_RSP_SIZEMAX (sizeof(FSP_TRANSACT_RSP) + 1024 * sizeof(WCHAR))
|
||||||
|
|
||||||
/* marshalling */
|
/* marshalling */
|
||||||
#pragma warning(push)
|
#pragma warning(push)
|
||||||
|
@ -186,6 +186,10 @@ static NTSTATUS FspFsvrtTransact(
|
|||||||
return STATUS_CANCELLED;
|
return STATUS_CANCELLED;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* check that we have enough space before pulling the next pending IRP off the queue */
|
||||||
|
if ((PUINT8)Request + FSP_FSCTL_TRANSACT_REQ_SIZEMAX > SystemBufferEnd)
|
||||||
|
break;
|
||||||
|
|
||||||
PendingIrp = FspIoqNextPendingIrp(&FsvrtDeviceExtension->Ioq, 0);
|
PendingIrp = FspIoqNextPendingIrp(&FsvrtDeviceExtension->Ioq, 0);
|
||||||
if (0 == PendingIrp)
|
if (0 == PendingIrp)
|
||||||
break;
|
break;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user