rdbss_vbox.h revision 78a072e1b56619e3230735ae073668311232ec94
1134a3dfcfe94732b3fe4c79a398f1092834c1ffChristian Maeder#include "precomp.h"
d16ca52ca4e65118400ca5eec87442a744d64ca5Klaus Luettich
d16ca52ca4e65118400ca5eec87442a744d64ca5Klaus LuettichNTSTATUS VBoxRxRegisterMinirdr (PRDBSS_DEVICE_OBJECT *DeviceObject, PDRIVER_OBJECT DriverObject, PMINIRDR_DISPATCH MrdrDispatch, ULONG Controls, PUNICODE_STRING DeviceName, ULONG DeviceExtensionSize,
72ee6fc1d233ac0fdb2bb6e171b386ecc3f92b42Christian Maeder DEVICE_TYPE DeviceType, ULONG DeviceCharacteristics);
d5fe06af711a6912ae028ebf873eada4ee8733f8Christian Maeder
97018cf5fa25b494adffd7e9b4e87320dae6bf47Christian MaederVOID VBoxRxUnregisterMinirdr (PRDBSS_DEVICE_OBJECT RxDeviceObject);
d16ca52ca4e65118400ca5eec87442a744d64ca5Klaus Luettich
3f69b6948966979163bdfe8331c38833d5d90ecdChristian MaederNTSTATUS VBoxRxStartMinirdr (PRX_CONTEXT RxContext, PBOOLEAN PostToFsp);
d16ca52ca4e65118400ca5eec87442a744d64ca5Klaus Luettich
47e9295eb50c1f48877534082e9d7617f6607c74Christian MaederNTSTATUS VBoxRxStopMinirdr (PRX_CONTEXT RxContext, PBOOLEAN PostToFsp);
d16ca52ca4e65118400ca5eec87442a744d64ca5Klaus Luettich
72ee6fc1d233ac0fdb2bb6e171b386ecc3f92b42Christian MaederPRX_CONTEXT VBoxRxCreateRxContext (PIRP Irp, PRDBSS_DEVICE_OBJECT RxDeviceObject, ULONG InitialContextFlags);
72ee6fc1d233ac0fdb2bb6e171b386ecc3f92b42Christian Maeder
72ee6fc1d233ac0fdb2bb6e171b386ecc3f92b42Christian MaederVOID VBoxRxDereferenceAndDeleteRxContext_Real (PRX_CONTEXT RxContext);
d16ca52ca4e65118400ca5eec87442a744d64ca5Klaus Luettich
d16ca52ca4e65118400ca5eec87442a744d64ca5Klaus LuettichNTSTATUS VBoxRxFinalizeConnection (OUT PNET_ROOT NetRoot, OUT PV_NET_ROOT VNetRoot, LOGICAL Level);
72ee6fc1d233ac0fdb2bb6e171b386ecc3f92b42Christian Maeder
d16ca52ca4e65118400ca5eec87442a744d64ca5Klaus LuettichNTSTATUS VBoxRxFsdDispatch (PRDBSS_DEVICE_OBJECT RxDeviceObject, PIRP Irp);
d16ca52ca4e65118400ca5eec87442a744d64ca5Klaus Luettich
d16ca52ca4e65118400ca5eec87442a744d64ca5Klaus LuettichVOID VBoxRxGetFileSizeWithLock (PFCB Fcb, OUT PLONGLONG FileSize);
ff388e0ef7318a4126edf29cc8c977296de2cc48Christian Maeder
ad270004874ce1d0697fb30d7309f180553bb315Christian MaederPVOID VBoxRxLowIoGetBufferAddress (IN PRX_CONTEXT RxContext);
cd6b5a88aad1ee2526e3731984447426f577a348Christian Maeder
ad270004874ce1d0697fb30d7309f180553bb315Christian MaederNTSTATUS VBoxRxDispatchToWorkerThread (OUT PRDBSS_DEVICE_OBJECT pMRxDeviceObject, WORK_QUEUE_TYPE WorkQueueType, PRX_WORKERTHREAD_ROUTINE Routine, PVOID pContext);
d16ca52ca4e65118400ca5eec87442a744d64ca5Klaus Luettich
f023d6827c9aade5e9fdd549635d63bc03714f4fKlaus LuettichVOID VboxRxFinishFcbInitialization (PMRX_FCB MrxFcb, RDBSS_STORAGE_TYPE_CODES RdbssStorageType, PFCB_INIT_PACKET InitPacket);
b91b82fd2625c349da6284f252cf4c50a6519650Christian Maeder
d16ca52ca4e65118400ca5eec87442a744d64ca5Klaus LuettichNTSTATUS VboxRxAcquireExclusiveFcbResourceInMRx (PMRX_FCB pFcb);
c64d33a7fbeae730cbe65193fe3cc24e7aa1ddd6Christian Maeder
705d04a6d3b01afd249f53397e5cbfa76fc0e179Christian MaederBOOLEAN VBoxRxIsFcbAcquiredExclusive (PMRX_FCB pFcb);
af608f1aa0192329de8cd2e0a011b892a59ac4ffKlaus Luettich
af608f1aa0192329de8cd2e0a011b892a59ac4ffKlaus LuettichPMRX_FOBX VboxRxCreateNetFobx (OUT PRX_CONTEXT RxContext, IN PMRX_SRV_OPEN MrxSrvOpen);
af608f1aa0192329de8cd2e0a011b892a59ac4ffKlaus Luettich