mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-10 12:32:20 +02:00
Exposed system handle for FileStream
This commit is contained in:
parent
dc5701d473
commit
961e71c62a
5 changed files with 33 additions and 0 deletions
|
@ -29,6 +29,16 @@ namespace System.IO
|
|||
}
|
||||
}
|
||||
|
||||
public int Handle
|
||||
{
|
||||
get
|
||||
{
|
||||
if (mBfpFile == null)
|
||||
return 0;
|
||||
return Platform.BfpFile_GetSystemHandle(mBfpFile);
|
||||
}
|
||||
}
|
||||
|
||||
public ~this()
|
||||
{
|
||||
Delete();
|
||||
|
@ -233,6 +243,16 @@ namespace System.IO
|
|||
protected int64 mBfpFilePos;
|
||||
FileAccess mFileAccess;
|
||||
|
||||
public int Handle
|
||||
{
|
||||
get
|
||||
{
|
||||
if (mBfpFile == null)
|
||||
return 0;
|
||||
return Platform.BfpFile_GetSystemHandle(mBfpFile);
|
||||
}
|
||||
}
|
||||
|
||||
public this()
|
||||
{
|
||||
|
||||
|
|
|
@ -337,6 +337,8 @@ namespace System
|
|||
[CallingConvention(.Stdcall), CLink]
|
||||
public static extern BfpFile* BfpFile_GetStd(BfpFileStdKind kind, BfpFileResult* outResult);
|
||||
[CallingConvention(.Stdcall), CLink]
|
||||
public static extern int BfpFile_GetSystemHandle(BfpFile* file);
|
||||
[CallingConvention(.Stdcall), CLink]
|
||||
public static extern void BfpFile_Release(BfpFile* file);
|
||||
[CallingConvention(.Stdcall), CLink]
|
||||
public static extern int BfpFile_Write(BfpFile* file, void* buffer, int size, int timeoutMS, BfpFileResult* outResult);
|
||||
|
|
|
@ -413,6 +413,7 @@ enum BfpFileStdKind
|
|||
|
||||
BFP_EXPORT BfpFile* BFP_CALLTYPE BfpFile_Create(const char* name, BfpFileCreateKind createKind, BfpFileCreateFlags createFlags, BfpFileAttributes createdFileAttr, BfpFileResult* outResult);
|
||||
BFP_EXPORT BfpFile* BFP_CALLTYPE BfpFile_GetStd(BfpFileStdKind kind, BfpFileResult* outResult);
|
||||
BFP_EXPORT intptr BFP_CALLTYPE BfpFile_GetSystemHandle(BfpFile* file);
|
||||
BFP_EXPORT void BFP_CALLTYPE BfpFile_Release(BfpFile* file);
|
||||
BFP_EXPORT void BFP_CALLTYPE BfpFile_Close(BfpFile* file, BfpFileResult* outResult);
|
||||
BFP_EXPORT intptr BFP_CALLTYPE BfpFile_Write(BfpFile* file, const void* buffer, intptr size, int timeoutMS, BfpFileResult* outResult);
|
||||
|
|
|
@ -1941,6 +1941,11 @@ BFP_EXPORT BfpFile* BFP_CALLTYPE BfpFile_GetStd(BfpFileStdKind kind, BfpFileResu
|
|||
return bfpFile;
|
||||
}
|
||||
|
||||
BFP_EXPORT intptr BFP_CALLTYPE BfpFile_GetSystemHandle(BfpFile* file)
|
||||
{
|
||||
return (intptr)file->mHandle;
|
||||
}
|
||||
|
||||
BFP_EXPORT void BFP_CALLTYPE BfpFile_Release(BfpFile* file)
|
||||
{
|
||||
if ((file->mHandle != -1) && (!file->mIsStd))
|
||||
|
|
|
@ -2824,6 +2824,11 @@ BFP_EXPORT BfpFile* BFP_CALLTYPE BfpFile_GetStd(BfpFileStdKind kind, BfpFileResu
|
|||
return bfpFile;
|
||||
}
|
||||
|
||||
BFP_EXPORT intptr BFP_CALLTYPE BfpFile_GetSystemHandle(BfpFile* file)
|
||||
{
|
||||
return (intptr)file->mHandle;
|
||||
}
|
||||
|
||||
BFP_EXPORT void BFP_CALLTYPE BfpFile_Release(BfpFile* file)
|
||||
{
|
||||
if ((file->mHandle != INVALID_HANDLE_VALUE) && (!file->mIsStd))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue