mirror of
https://github.com/winfsp/winfsp.git
synced 2025-04-24 09:23:37 -05:00
FSP_API
This commit is contained in:
parent
f6be0fd44e
commit
1421006581
@ -100,7 +100,7 @@
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;WINFSPDLL_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>WINFSP_DLL_INTERNAL;WIN32;_DEBUG;_WINDOWS;_USRDLL;WINFSPDLL_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\inc;..\..\src</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
@ -115,7 +115,7 @@
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>_DEBUG;_WINDOWS;_USRDLL;WINFSPDLL_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>WINFSP_DLL_INTERNAL;_DEBUG;_WINDOWS;_USRDLL;WINFSPDLL_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\inc;..\..\src</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
@ -132,7 +132,7 @@
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;WINFSPDLL_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>WINFSP_DLL_INTERNAL;WIN32;NDEBUG;_WINDOWS;_USRDLL;WINFSPDLL_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\inc;..\..\src</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
@ -151,7 +151,7 @@
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>NDEBUG;_WINDOWS;_USRDLL;WINFSPDLL_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>WINFSP_DLL_INTERNAL;NDEBUG;_WINDOWS;_USRDLL;WINFSPDLL_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\inc;..\..\src</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
|
@ -97,6 +97,7 @@
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>..\..\inc;..\..\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WINFSP_SYS_INTERNAL; _X86_=1;i386=1;STD_CALL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>wdmsec.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
@ -105,6 +106,7 @@
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>..\..\inc;..\..\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WINFSP_SYS_INTERNAL; _X86_=1;i386=1;STD_CALL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>wdmsec.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
@ -113,6 +115,7 @@
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>..\..\inc;..\..\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WINFSP_SYS_INTERNAL; _WIN64;_AMD64_;AMD64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>wdmsec.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
@ -121,6 +124,7 @@
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>..\..\inc;..\..\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WINFSP_SYS_INTERNAL; _WIN64;_AMD64_;AMD64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>wdmsec.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
|
@ -92,13 +92,13 @@ static inline const FSP_TRANSACT_RSP *FspFsctlTransactConsumeResponse(
|
||||
return NextResponse <= ResponseBufEnd ? NextResponse : 0;
|
||||
}
|
||||
|
||||
#if !defined(WINFSP_SYS_DRIVER_H_INTERNAL)
|
||||
NTSTATUS FspFsctlCreateVolume(PWSTR DevicePath, PSECURITY_DESCRIPTOR SecurityDescriptor,
|
||||
#if !defined(WINFSP_SYS_INTERNAL)
|
||||
FSP_API NTSTATUS FspFsctlCreateVolume(PWSTR DevicePath, PSECURITY_DESCRIPTOR SecurityDescriptor,
|
||||
PHANDLE *PVolumeHandle);
|
||||
NTSTATUS FspFsctlOpenVolume(PWSTR VolumePath,
|
||||
FSP_API NTSTATUS FspFsctlOpenVolume(PWSTR VolumePath,
|
||||
PHANDLE *PVolumeHandle);
|
||||
NTSTATUS FspFsctlDeleteVolume(HANDLE VolumeHandle);
|
||||
NTSTATUS FspFsctlTransact(HANDLE VolumeHandle,
|
||||
FSP_API NTSTATUS FspFsctlDeleteVolume(HANDLE VolumeHandle);
|
||||
FSP_API NTSTATUS FspFsctlTransact(HANDLE VolumeHandle,
|
||||
FSP_TRANSACT_RSP *ResponseBuf, SIZE_T ResponseBufSize,
|
||||
FSP_TRANSACT_REQ *RequestBuf, SIZE_T *PRequestBufSize);
|
||||
#endif
|
||||
|
@ -13,6 +13,12 @@
|
||||
#include <winternl.h>
|
||||
#include <ntstatus.h>
|
||||
|
||||
#if defined(WINFSP_DLL_INTERNAL)
|
||||
#define FSP_API __declspec(dllexport)
|
||||
#else
|
||||
#define FSP_API __declspec(dllimport)
|
||||
#endif
|
||||
|
||||
NTSTATUS FspNtStatusFromWin32(DWORD Error);
|
||||
|
||||
#endif
|
||||
|
@ -16,7 +16,7 @@ static inline VOID GlobalDevicePath(PWCHAR DevicePathBuf, SIZE_T DevicePathSize,
|
||||
L'\\' == DevicePath[0] ? GLOBALROOT "%S" : GLOBALROOT "\\Device\\%S", DevicePath);
|
||||
}
|
||||
|
||||
NTSTATUS FspFsctlCreateVolume(PWSTR DevicePath, PSECURITY_DESCRIPTOR SecurityDescriptor,
|
||||
FSP_API NTSTATUS FspFsctlCreateVolume(PWSTR DevicePath, PSECURITY_DESCRIPTOR SecurityDescriptor,
|
||||
PHANDLE *PVolumeHandle)
|
||||
{
|
||||
NTSTATUS Result = STATUS_SUCCESS;
|
||||
@ -46,7 +46,7 @@ NTSTATUS FspFsctlCreateVolume(PWSTR DevicePath, PSECURITY_DESCRIPTOR SecurityDes
|
||||
}
|
||||
|
||||
DeviceHandle = CreateFileW(DevicePathBuf,
|
||||
0, FILE_SHARE_WRITE | FILE_SHARE_WRITE | FILE_SHARE_DELETE, 0, OPEN_EXISTING, 0, 0);
|
||||
0, FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, 0, OPEN_EXISTING, 0, 0);
|
||||
if (INVALID_HANDLE_VALUE == DeviceHandle)
|
||||
{
|
||||
Result = FspNtStatusFromWin32(GetLastError());
|
||||
@ -70,7 +70,7 @@ exit:
|
||||
return Result;
|
||||
}
|
||||
|
||||
NTSTATUS FspFsctlOpenVolume(PWSTR VolumePath,
|
||||
FSP_API NTSTATUS FspFsctlOpenVolume(PWSTR VolumePath,
|
||||
PHANDLE *PVolumeHandle)
|
||||
{
|
||||
NTSTATUS Result = STATUS_SUCCESS;
|
||||
@ -82,7 +82,7 @@ NTSTATUS FspFsctlOpenVolume(PWSTR VolumePath,
|
||||
GlobalDevicePath(DevicePathBuf, sizeof DevicePathBuf, VolumePath);
|
||||
|
||||
VolumeHandle = CreateFileW(DevicePathBuf,
|
||||
0, FILE_SHARE_WRITE | FILE_SHARE_WRITE | FILE_SHARE_DELETE, 0, OPEN_EXISTING, 0, 0);
|
||||
0, FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, 0, OPEN_EXISTING, 0, 0);
|
||||
if (INVALID_HANDLE_VALUE == VolumeHandle)
|
||||
{
|
||||
Result = FspNtStatusFromWin32(GetLastError());
|
||||
@ -95,7 +95,7 @@ exit:
|
||||
return Result;
|
||||
}
|
||||
|
||||
NTSTATUS FspFsctlDeleteVolume(HANDLE VolumeHandle)
|
||||
FSP_API NTSTATUS FspFsctlDeleteVolume(HANDLE VolumeHandle)
|
||||
{
|
||||
NTSTATUS Result = STATUS_SUCCESS;
|
||||
DWORD Bytes;
|
||||
@ -112,7 +112,7 @@ exit:
|
||||
return Result;
|
||||
}
|
||||
|
||||
NTSTATUS FspFsctlTransact(HANDLE VolumeHandle,
|
||||
FSP_API NTSTATUS FspFsctlTransact(HANDLE VolumeHandle,
|
||||
FSP_TRANSACT_RSP *ResponseBuf, SIZE_T ResponseBufSize,
|
||||
FSP_TRANSACT_REQ *RequestBuf, SIZE_T *PRequestBufSize)
|
||||
{
|
||||
|
@ -10,8 +10,6 @@
|
||||
#include <ntifs.h>
|
||||
#include <ntstrsafe.h>
|
||||
#include <wdmsec.h>
|
||||
|
||||
#define WINFSP_SYS_DRIVER_H_INTERNAL
|
||||
#include <winfsp/fsctl.h>
|
||||
|
||||
#define DRIVER_NAME "WinFsp"
|
||||
|
@ -140,7 +140,7 @@ static NTSTATUS FspFsvrtTransact(
|
||||
if (0 == NextResponse)
|
||||
break;
|
||||
|
||||
ProcessIrp = FspIoqEndProcessingIrp(&FsvrtDeviceExtension->Ioq, Response->Hint);
|
||||
ProcessIrp = FspIoqEndProcessingIrp(&FsvrtDeviceExtension->Ioq, (UINT_PTR)Response->Hint);
|
||||
if (0 == ProcessIrp)
|
||||
/* either IRP was canceled or a bogus Hint was provided */
|
||||
continue;
|
||||
|
Loading…
x
Reference in New Issue
Block a user