MCPcopy Create free account
hub / github.com/TorqueGameEngines/Torque3D / open

Method open

Engine/source/platformWin32/winVolume.cpp:422–457  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

420}
421
422bool Win32File::open(AccessMode mode)
423{
424 close();
425
426 if (mName.isEmpty())
427 return mStatus;
428
429 struct Mode
430 {
431 DWORD mode,share,open;
432 } Modes[] =
433 {
434 { GENERIC_READ,FILE_SHARE_READ,OPEN_EXISTING }, // Read
435 { GENERIC_WRITE,0,CREATE_ALWAYS }, // Write
436 { GENERIC_WRITE | GENERIC_READ,0,OPEN_ALWAYS }, // ReadWrite
437 { GENERIC_WRITE,0,OPEN_ALWAYS } // WriteAppend
438 };
439
440 Mode& m = (mode == Read)? Modes[0]: (mode == Write)? Modes[1]:
441 (mode == ReadWrite)? Modes[2]: Modes[3];
442
443 mHandle = (void*)::CreateFileW(PathToOS(mName).utf16(),
444 m.mode, m.share,
445 NULL, m.open,
446 FILE_ATTRIBUTE_NORMAL | FILE_FLAG_SEQUENTIAL_SCAN,
447 NULL);
448
449 if ( mHandle == INVALID_HANDLE_VALUE || mHandle == NULL )
450 {
451 _updateStatus();
452 return false;
453 }
454
455 mStatus = Open;
456 return true;
457}
458
459bool Win32File::close()
460{

Callers

nothing calls this directly

Calls 4

PathToOSFunction · 0.85
_IsDirectoryFunction · 0.85
isEmptyMethod · 0.45
utf16Method · 0.45

Tested by

no test coverage detected