#include <system.h>
Public Member Functions | |
| LIFOCriticalSection () | |
| virtual | ~LIFOCriticalSection () |
| void | enter () |
| void | leave () |
Private Attributes | |
| const void *const | implData |
Definition at line 22 of file system.h.
| LIFOCriticalSection::LIFOCriticalSection | ( | void | ) |
Definition at line 25 of file system.cpp.
References implData, and leave().
00025 : 00026 implData((void*)CreateIoCompletionPort( INVALID_HANDLE_VALUE, NULL, 0, 0 )) 00027 { 00028 // *((HANDLE *)&implData) = 00029 // CreateIoCompletionPort( INVALID_HANDLE_VALUE, NULL, 0, 0 ); 00030 assert(implData); 00031 leave(); 00032 }
| LIFOCriticalSection::~LIFOCriticalSection | ( | void | ) | [virtual] |
Definition at line 34 of file system.cpp.
References implData.
00035 { 00036 CloseHandle( *((HANDLE *)&implData) ); 00037 }
| void LIFOCriticalSection::enter | ( | ) |
Definition at line 39 of file system.cpp.
References implData.
00040 { 00041 DWORD numberOfBytesTransferred; 00042 DWORD completionKey; 00043 LPOVERLAPPED lpOverlapped; 00044 00045 GetQueuedCompletionStatus( 00046 *((HANDLE *)&implData), 00047 &numberOfBytesTransferred, 00048 &completionKey, 00049 &lpOverlapped, 00050 INFINITE ); 00051 }
| void LIFOCriticalSection::leave | ( | ) |
Definition at line 53 of file system.cpp.
References implData.
Referenced by LIFOCriticalSection().
00054 { 00055 PostQueuedCompletionStatus( 00056 *((HANDLE *)&implData), 00057 0, 00058 0, 00059 0 ); 00060 }
const void* const LIFOCriticalSection::implData [private] |
Definition at line 30 of file system.h.
Referenced by enter(), leave(), LIFOCriticalSection(), and ~LIFOCriticalSection().
1.5.5