static void test_eventpair(void) { NTSTATUS r; HANDLE eventpair; r = NtCreateEventPair( NULL, STANDARD_RIGHTS_ALL, NULL ); ok(r == STATUS_ACCESS_VIOLATION, "return wrong %08lx\n", r); r = NtCreateEventPair( &eventpair, STANDARD_RIGHTS_ALL, NULL ); ok(r == STATUS_SUCCESS, "return wrong %08lx\n", r); r = NtSetLowEventPair( eventpair ); ok(r == STATUS_SUCCESS, "return wrong %08lx\n", r); r = NtWaitLowEventPair( eventpair ); ok(r == STATUS_SUCCESS, "return wrong %08lx\n", r); r = NtSetHighEventPair( eventpair ); ok(r == STATUS_SUCCESS, "return wrong %08lx\n", r); r = NtWaitHighEventPair( eventpair ); ok(r == STATUS_SUCCESS, "return wrong %08lx\n", r); r = NtClose( eventpair ); ok(r == STATUS_SUCCESS, "return wrong %08lx\n", r); }
INT_PTR CALLBACK PhpEventPairPageProc( _In_ HWND hwndDlg, _In_ UINT uMsg, _In_ WPARAM wParam, _In_ LPARAM lParam ) { PCOMMON_PAGE_CONTEXT pageContext; pageContext = PhpCommonPageHeader(hwndDlg, uMsg, wParam, lParam); if (!pageContext) return FALSE; switch (uMsg) { case WM_INITDIALOG: { // Nothing } break; case WM_COMMAND: { switch (LOWORD(wParam)) { case IDC_SETLOW: case IDC_SETHIGH: { NTSTATUS status; HANDLE eventPairHandle; if (NT_SUCCESS(status = pageContext->OpenObject( &eventPairHandle, EVENT_PAIR_ALL_ACCESS, pageContext->Context ))) { switch (LOWORD(wParam)) { case IDC_SETLOW: NtSetLowEventPair(eventPairHandle); break; case IDC_SETHIGH: NtSetHighEventPair(eventPairHandle); break; } NtClose(eventPairHandle); } if (!NT_SUCCESS(status)) PhShowStatus(hwndDlg, L"Unable to open the event pair", status, 0); } break; } } break; } return FALSE; }