| 14 | } |
| 15 | |
| 16 | std::shared_ptr<HANDLE> w_DuplicateHandle( |
| 17 | HANDLE hSourceProcessHandle, |
| 18 | HANDLE hSourceHandle, |
| 19 | HANDLE hTargetProcessHandle, |
| 20 | DWORD dwDesiredAccess, |
| 21 | BOOL bInheritHandle, |
| 22 | DWORD dwOptions) |
| 23 | { |
| 24 | HANDLE hTargetHandle; |
| 25 | RAISE_IF_FALSE( |
| 26 | "DuplicateHandle", |
| 27 | DuplicateHandle( |
| 28 | hSourceProcessHandle, |
| 29 | hSourceHandle, |
| 30 | hTargetProcessHandle, |
| 31 | &hTargetHandle, |
| 32 | dwDesiredAccess, |
| 33 | bInheritHandle, |
| 34 | dwOptions) |
| 35 | ); |
| 36 | |
| 37 | return std::shared_ptr<HANDLE>(new HANDLE(hTargetHandle), [](HANDLE* p_handle) {CloseHandle(*p_handle); }); |
| 38 | } |
| 39 | |
| 40 | std::shared_ptr<HANDLE> w_CreateEvent(LPSECURITY_ATTRIBUTES lpEventAttributes, BOOL bManualReset, BOOL bInitalState, LPWSTR lpName) |
| 41 | { |
no test coverage detected