mirror of
				https://github.com/winfsp/winfsp.git
				synced 2025-10-29 19:18:39 -05:00 
			
		
		
		
	FSP_API
This commit is contained in:
		| @@ -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; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user