您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ HandleToUlong函数代码示例

51自学网 2021-06-01 21:25:20
  C++
这篇教程C++ HandleToUlong函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中HandleToUlong函数的典型用法代码示例。如果您正苦于以下问题:C++ HandleToUlong函数的具体用法?C++ HandleToUlong怎么用?C++ HandleToUlong使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了HandleToUlong函数的26个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: AllocW32Process

NTSTATUSAllocW32Process(IN  PEPROCESS Process,                OUT PPROCESSINFO* W32Process){    PPROCESSINFO ppiCurrent;    TRACE_CH(UserProcess, "In AllocW32Process(0x%p)/n", Process);    /* Check that we were not called with an already existing Win32 process info */    ppiCurrent = PsGetProcessWin32Process(Process);    if (ppiCurrent) return STATUS_SUCCESS;    /* Allocate a new Win32 process info */    ppiCurrent = ExAllocatePoolWithTag(NonPagedPool,                                       sizeof(*ppiCurrent),                                       USERTAG_PROCESSINFO);    if (ppiCurrent == NULL)    {        ERR_CH(UserProcess, "Failed to allocate ppi for PID:0x%lx/n",               HandleToUlong(Process->UniqueProcessId));        return STATUS_NO_MEMORY;    }    TRACE_CH(UserProcess, "Allocated ppi 0x%p for PID:0x%lx/n",             ppiCurrent, HandleToUlong(Process->UniqueProcessId));    RtlZeroMemory(ppiCurrent, sizeof(*ppiCurrent));    PsSetProcessWin32Process(Process, ppiCurrent, NULL);    IntReferenceProcessInfo(ppiCurrent);    *W32Process = ppiCurrent;    return STATUS_SUCCESS;}
开发者ID:Strongc,项目名称:reactos,代码行数:34,


示例2: CloseWindow

/* * @implemented */BOOL WINAPICloseWindow(HWND hWnd){    SendMessageA(hWnd, WM_SYSCOMMAND, SC_CLOSE, 0);    return HandleToUlong(hWnd);}
开发者ID:hoangduit,项目名称:reactos,代码行数:10,


示例3: PhpHiddenProcessesCallback

static BOOLEAN NTAPI PhpHiddenProcessesCallback(    _In_ PPH_HIDDEN_PROCESS_ENTRY Process,    _In_opt_ PVOID Context    ){    PPH_HIDDEN_PROCESS_ENTRY entry;    INT lvItemIndex;    WCHAR pidString[PH_INT32_STR_LEN_1];    entry = PhAllocateCopy(Process, sizeof(PH_HIDDEN_PROCESS_ENTRY));    if (entry->FileName)        PhReferenceObject(entry->FileName);    PhAddItemList(ProcessesList, entry);    lvItemIndex = PhAddListViewItem(PhHiddenProcessesListViewHandle, MAXINT,        PhGetStringOrDefault(entry->FileName, L"(unknown)"), entry);    PhPrintUInt32(pidString, HandleToUlong(entry->ProcessId));    PhSetListViewSubItem(PhHiddenProcessesListViewHandle, lvItemIndex, 1, pidString);    if (entry->Type == HiddenProcess)        NumberOfHiddenProcesses++;    else if (entry->Type == TerminatedProcess)        NumberOfTerminatedProcesses++;    return TRUE;}
开发者ID:lei720,项目名称:processhacker2,代码行数:28,


示例4: HMValidateHandleNoSecure

/***************************************************************************/* HMValidateHandleNoSecure** This routine validates a handle manager handle.** 01-22-92 ScottLu      Created./***************************************************************************/PVOID FASTCALL HMValidateHandleNoSecure(    HANDLE h,    BYTE bType){    KERNEL_PVOID pobj = NULL;    PCLIENTINFO pci;    GET_CURRENT_CLIENTINFO();#if !defined(_USERK_)    /*     * We don't want 32 bit apps passing 16 bit handles     *  we should consider failing this before we get     *  stuck supporting it (Some VB apps do this).     */    if (pci && (h != NULL)           && (HMUniqFromHandle(h) == 0)           && !(pci->dwTIFlags & TIF_16BIT)) {        RIPMSG3(RIP_WARNING, "HMValidateHandle: 32bit process [%d] using 16 bit handle [%#p] bType:%#lx",                HandleToUlong(NtCurrentTeb()->ClientId.UniqueProcess), h, (DWORD)bType);    }#endif    /*     * Object can't be located in shared memory.     */    UserAssert(bType != TYPE_MONITOR);    /*     * Validation macro.     */    ValidateHandleMacro(pci, pobj, h, bType);    return pobj;}
开发者ID:conioh,项目名称:os-design,代码行数:42,


示例5: UpdateThreadClrData

VOID UpdateThreadClrData(    _In_ PTHREAD_TREE_CONTEXT Context,    _Inout_ PDN_THREAD_ITEM DnThread    ){    if (!DnThread->ClrDataValid)    {        IXCLRDataProcess *process;        IXCLRDataTask *task;        IXCLRDataAppDomain *appDomain;        if (Context->Support)            process = Context->Support->DataProcess;        else            return;        if (SUCCEEDED(IXCLRDataProcess_GetTaskByOSThreadID(process, HandleToUlong(DnThread->ThreadItem->ThreadId), &task)))        {            if (SUCCEEDED(IXCLRDataTask_GetCurrentAppDomain(task, &appDomain)))            {                DnThread->AppDomainText = GetNameXClrDataAppDomain(appDomain);                IXCLRDataAppDomain_Release(appDomain);            }            IXCLRDataTask_Release(task);        }        DnThread->ClrDataValid = TRUE;    }}
开发者ID:MaximeFrancoeur,项目名称:processhacker2,代码行数:30,


示例6: CliGetPreloadKeyboardLayouts

VOID CliGetPreloadKeyboardLayouts(FE_KEYBOARDS* pFeKbds){    UINT  i;    WCHAR szPreLoadee[4];   // up to 999 preloads    WCHAR lpszName[KL_NAMELENGTH];    UNICODE_STRING UnicodeString;    HKL hkl;    for (i = 1; i < 1000; i++) {        wsprintf(szPreLoadee, L"%d", i);        if ((GetPrivateProfileStringW(                 L"Preload",                 szPreLoadee,                 L"",                            // default = NULL                 lpszName,                       // output buffer                 KL_NAMELENGTH,                 L"keyboardlayout.ini") == -1 ) || (*lpszName == L'/0')) {            break;        }        RtlInitUnicodeString(&UnicodeString, lpszName);        RtlUnicodeStringToInteger(&UnicodeString, 16L, (PULONG)&hkl);        RIPMSG2(RIP_VERBOSE, "PreLoaded HKL(%d): %08X/n", i, hkl);        //        // Set language flags. By its definition, LOWORD(hkl) is LANGID        //        SetFeKeyboardFlags(LOWORD(HandleToUlong(hkl)), pFeKbds);    }}
开发者ID:conioh,项目名称:os-design,代码行数:30,


示例7: PhGetServiceNameFromTag

PPH_STRING PhGetServiceNameFromTag(    _In_ HANDLE ProcessId,    _In_ PVOID ServiceTag    ){    static PQUERY_TAG_INFORMATION I_QueryTagInformation = NULL;    PPH_STRING serviceName = NULL;    TAG_INFO_NAME_FROM_TAG nameFromTag;    if (!I_QueryTagInformation)    {        I_QueryTagInformation = PhGetModuleProcAddress(L"advapi32.dll", "I_QueryTagInformation");        if (!I_QueryTagInformation)            return NULL;    }    memset(&nameFromTag, 0, sizeof(TAG_INFO_NAME_FROM_TAG));    nameFromTag.InParams.dwPid = HandleToUlong(ProcessId);    nameFromTag.InParams.dwTag = PtrToUlong(ServiceTag);    I_QueryTagInformation(NULL, eTagInfoLevelNameFromTag, &nameFromTag);    if (nameFromTag.OutParams.pszName)    {        serviceName = PhCreateString(nameFromTag.OutParams.pszName);        LocalFree(nameFromTag.OutParams.pszName);    }    return serviceName;}
开发者ID:Azarien,项目名称:processhacker2,代码行数:31,


示例8: PhCreateServiceItem

PPH_SERVICE_ITEM PhCreateServiceItem(    _In_opt_ LPENUM_SERVICE_STATUS_PROCESS Information    ){    PPH_SERVICE_ITEM serviceItem;    serviceItem = PhCreateObject(        PhEmGetObjectSize(EmServiceItemType, sizeof(PH_SERVICE_ITEM)),        PhServiceItemType        );    memset(serviceItem, 0, sizeof(PH_SERVICE_ITEM));    if (Information)    {        serviceItem->Name = PhCreateString(Information->lpServiceName);        serviceItem->Key = serviceItem->Name->sr;        serviceItem->DisplayName = PhCreateString(Information->lpDisplayName);        serviceItem->Type = Information->ServiceStatusProcess.dwServiceType;        serviceItem->State = Information->ServiceStatusProcess.dwCurrentState;        serviceItem->ControlsAccepted = Information->ServiceStatusProcess.dwControlsAccepted;        serviceItem->Flags = Information->ServiceStatusProcess.dwServiceFlags;        serviceItem->ProcessId = UlongToHandle(Information->ServiceStatusProcess.dwProcessId);        if (serviceItem->ProcessId)            PhPrintUInt32(serviceItem->ProcessIdString, HandleToUlong(serviceItem->ProcessId));    }    PhEmCallObjectOperation(EmServiceItemType, serviceItem, EmObjectCreate);    return serviceItem;}
开发者ID:lei720,项目名称:processhacker2,代码行数:31,


示例9: WepGetWindowTitleForSelector

PPH_STRING WepGetWindowTitleForSelector(    _In_ PWE_WINDOW_SELECTOR Selector    ){    switch (Selector->Type)    {    case WeWindowSelectorAll:        {            return PhCreateString(L"Windows - All");        }        break;    case WeWindowSelectorThread:        {            return PhFormatString(L"Windows - Thread %lu", HandleToUlong(Selector->Thread.ThreadId));        }        break;    case WeWindowSelectorProcess:        {            CLIENT_ID clientId;            clientId.UniqueProcess = Selector->Process.ProcessId;            clientId.UniqueThread = NULL;            return PhConcatStrings2(L"Windows - ", PH_AUTO_T(PH_STRING, PhGetClientIdName(&clientId))->Buffer);        }        break;    case WeWindowSelectorDesktop:        {            return PhFormatString(L"Windows - Desktop /"%s/"", Selector->Desktop.DesktopName->Buffer);        }        break;    default:        return PhCreateString(L"Windows");    }}
开发者ID:amitamitamitamit,项目名称:processhacker2,代码行数:35,


示例10: PhCreateProcessPropContext

PPH_PROCESS_PROPCONTEXT PhCreateProcessPropContext(    _In_ HWND ParentWindowHandle,    _In_ PPH_PROCESS_ITEM ProcessItem    ){    static PH_INITONCE initOnce = PH_INITONCE_INIT;    PPH_PROCESS_PROPCONTEXT propContext;    PROPSHEETHEADER propSheetHeader;    if (PhBeginInitOnce(&initOnce))    {        PhpProcessPropContextType = PhCreateObjectType(L"ProcessPropContext", 0, PhpProcessPropContextDeleteProcedure);        PhpProcessPropPageContextType = PhCreateObjectType(L"ProcessPropPageContext", 0, PhpProcessPropPageContextDeleteProcedure);        PhEndInitOnce(&initOnce);    }    propContext = PhCreateObjectZero(sizeof(PH_PROCESS_PROPCONTEXT), PhpProcessPropContextType);    propContext->PropSheetPages = PhAllocateZero(sizeof(HPROPSHEETPAGE) * PH_PROCESS_PROPCONTEXT_MAXPAGES);    if (!PH_IS_FAKE_PROCESS_ID(ProcessItem->ProcessId))    {        propContext->Title = PhFormatString(            L"%s (%u)",            ProcessItem->ProcessName->Buffer,            HandleToUlong(ProcessItem->ProcessId)            );    }    else    {        PhSetReference(&propContext->Title, ProcessItem->ProcessName);    }    memset(&propSheetHeader, 0, sizeof(PROPSHEETHEADER));    propSheetHeader.dwSize = sizeof(PROPSHEETHEADER);    propSheetHeader.dwFlags =        PSH_MODELESS |        PSH_NOAPPLYNOW |        PSH_NOCONTEXTHELP |        PSH_PROPTITLE |        PSH_USECALLBACK |        PSH_USEHICON;    propSheetHeader.hInstance = PhInstanceHandle;    propSheetHeader.hwndParent = ParentWindowHandle;    propSheetHeader.hIcon = ProcessItem->SmallIcon;    propSheetHeader.pszCaption = propContext->Title->Buffer;    propSheetHeader.pfnCallback = PhpPropSheetProc;    propSheetHeader.nPages = 0;    propSheetHeader.nStartPage = 0;    propSheetHeader.phpage = propContext->PropSheetPages;    if (PhCsForceNoParent)        propSheetHeader.hwndParent = NULL;    memcpy(&propContext->PropSheetHeader, &propSheetHeader, sizeof(PROPSHEETHEADER));    PhSetReference(&propContext->ProcessItem, ProcessItem);    return propContext;}
开发者ID:PKRoma,项目名称:ProcessHacker,代码行数:60,


示例11: BaseSrvDisconnect

VOIDNTAPIBaseSrvDisconnect(PCSR_PROCESS Process){    /* Cleanup the VDM console records */    BaseSrvCleanupVdmRecords(HandleToUlong(Process->ClientId.UniqueProcess));}
开发者ID:Nevermore2015,项目名称:reactos,代码行数:7,


示例12: MPIU_ExGetPortValue

ULONGMPIU_ExGetPortValue(    MPIU_ExSetHandle_t Set    ){    MPIU_Assert(IsValidSet(Set));    return HandleToUlong(Set);}
开发者ID:OngOngoing,项目名称:219351_homework,代码行数:8,


示例13: EtpDiskHashtableHashFunction

ULONG NTAPI EtpDiskHashtableHashFunction(    _In_ PVOID Entry    ){    PET_DISK_ITEM diskItem = *(PET_DISK_ITEM *)Entry;    return (HandleToUlong(diskItem->ProcessId) / 4) ^ PhHashStringRef(&diskItem->FileName->sr, TRUE);}
开发者ID:digitalsensejbkim,项目名称:processhacker2,代码行数:8,


示例14: DbgLogEvent

VOIDNTAPIDbgLogEvent(PSLIST_HEADER pslh, LOG_EVENT_TYPE nEventType, LPARAM lParam){    PLOGENTRY pLogEntry;    /* Log a maximum of 100 events */    if (QueryDepthSList(pslh) >= 1000) return;    /* Allocate a logentry */    pLogEntry = EngAllocMem(0, sizeof(LOGENTRY), 'golG');    if (!pLogEntry) return;    /* Set type */    pLogEntry->nEventType = nEventType;    pLogEntry->ulUnique = InterlockedIncrement((LONG*)&gulLogUnique);    pLogEntry->dwProcessId = HandleToUlong(PsGetCurrentProcessId());    pLogEntry->dwThreadId = HandleToUlong(PsGetCurrentThreadId());    pLogEntry->lParam = lParam;    /* Capture a backtrace */    DbgCaptureStackBackTace(pLogEntry->apvBackTrace, 20);    switch (nEventType)    {        case EVENT_ALLOCATE:        case EVENT_CREATE_HANDLE:        case EVENT_REFERENCE:        case EVENT_DEREFERENCE:        case EVENT_LOCK:        case EVENT_UNLOCK:        case EVENT_DELETE:        case EVENT_FREE:        case EVENT_SET_OWNER:        default:            break;    }    /* Push it on the list */    InterlockedPushEntrySList(pslh, &pLogEntry->sleLink);}
开发者ID:HBelusca,项目名称:NasuTek-Odyssey,代码行数:41,


示例15: PhpGetThreadCycleTime

static NTSTATUS PhpGetThreadCycleTime(    _In_ PPH_THREAD_PROVIDER ThreadProvider,    _In_ PPH_THREAD_ITEM ThreadItem,    _Out_ PULONG64 CycleTime    ){    if (ThreadProvider->ProcessId != SYSTEM_IDLE_PROCESS_ID)    {        return PhGetThreadCycleTime(ThreadItem->ThreadHandle, CycleTime);    }    else    {        if (HandleToUlong(ThreadItem->ThreadId) < (ULONG)PhSystemBasicInformation.NumberOfProcessors)        {            *CycleTime = PhCpuIdleCycleTime[HandleToUlong(ThreadItem->ThreadId)].QuadPart;            return STATUS_SUCCESS;        }    }    return STATUS_INVALID_PARAMETER;}
开发者ID:digitalsensejbkim,项目名称:processhacker2,代码行数:21,


示例16: DECL_EXTERN_API

DECL_EXTERN_API(HANDLE, ObjectTranslateHandle, CONST IN HANDLE Handle){	PRTL_USER_PROCESS_PARAMETERS Ppb = NtCurrentPeb()->ProcessParameters;		switch (HandleToUlong(Handle))	{		case STD_INPUT_HANDLE:  return Ppb->StandardInput;		case STD_OUTPUT_HANDLE: return Ppb->StandardOutput;		case STD_ERROR_HANDLE:  return Ppb->StandardError;	}		return Handle;}
开发者ID:Synestraa,项目名称:Highcall-Library,代码行数:13,


示例17: HWND

LRESULT CMainFrame::OnDDETerminate(UINT /*uMsg*/, WPARAM wParam, LPARAM /*lParam*/){	HWND hWndSender = HWND(wParam);	ATLTRACE("OnDDETerminate: HWND=%x/n", hWndSender);	ATLVERIFY(		::PostMessage(			hWndSender, 			WM_DDE_TERMINATE, 			HandleToUlong(m_hWnd),			0));	return TRUE;}
开发者ID:Nevermore2015,项目名称:ndas4windows,代码行数:13,


示例18: HMValidateSharedHandle

PVOID FASTCALL HMValidateSharedHandle(    HANDLE h,    BYTE bType){    DWORD dwError;    KERNEL_PVOID pobj = NULL;#if DBG != 0 && !defined(_USERK_)    /*     * We don't want 32 bit apps passing 16 bit handles     *  we should consider failing this before we get     *  stuck supporting it (Some VB apps do this).     */    if ((h != NULL)           && (HMUniqFromHandle(h) == 0)           && !(GetClientInfo()->dwTIFlags & TIF_16BIT)) {        RIPMSG3(RIP_WARNING, "HMValidateHandle: 32bit process [%d] using 16 bit handle [%#p] bType:%#lx",                HandleToUlong(NtCurrentTeb()->ClientId.UniqueProcess), h, (DWORD)bType);    }#endif    /*     * Validation macro. Falls through if the handle is invalid.     */    ValidateSharedHandleMacro(pobj, h, bType);    if (pobj != NULL)        return pobj;    switch (bType) {        case TYPE_MONITOR:            dwError = ERROR_INVALID_MONITOR_HANDLE;            break;        default:            UserAssertMsg0(0, "Logic error in HMValidateSharedHandle");            break;    }    RIPERR2(dwError,            RIP_WARNING,            "HMValidateSharedHandle: Invalid:%#p Type:%#lx",            h, (DWORD)bType);    /*     * If we get here, it's an error.     */    return NULL;}
开发者ID:conioh,项目名称:os-design,代码行数:50,


示例19: xxxPaintRect

BOOL xxxPaintRect(    PWND   pwndBrush,    PWND   pwndPaint,    HDC    hdc,    HBRUSH hbr,    LPRECT lprc){    POINT ptOrg;    CheckLock(pwndBrush);    CheckLock(pwndPaint);    if (pwndBrush == NULL) {        pwndBrush = PtiCurrent()->rpdesk->pDeskInfo->spwnd;    }    if (pwndBrush == PWNDDESKTOP(pwndBrush)) {        GreSetBrushOrg(                hdc,                0,                0,                &ptOrg);    } else {        GreSetBrushOrg(                hdc,                pwndBrush->rcClient.left - pwndPaint->rcClient.left,                pwndBrush->rcClient.top - pwndPaint->rcClient.top,                &ptOrg);    }    /*     * If hbr < CTLCOLOR_MAX, it isn't really a brush but is one of our     * special color values.  Translate it to the appropriate WM_CTLCOLOR     * message and send it off to get back a real brush.  The translation     * process assumes the CTLCOLOR*** and WM_CTLCOLOR*** values map directly.     */    if (hbr < (HBRUSH)CTLCOLOR_MAX) {        hbr = xxxGetControlColor(pwndBrush,                                 pwndPaint,                                 hdc,                                 HandleToUlong(hbr) + WM_CTLCOLORMSGBOX);    }    FillRect(hdc, lprc, hbr);    GreSetBrushOrg(hdc, ptOrg.x, ptOrg.y, NULL);    return TRUE;}
开发者ID:conioh,项目名称:os-design,代码行数:50,


示例20: fetch_process_info

/****************************************************************** *		fetch_process_info * * reads system wide process information, and gather from it the threads information * for process of id 'pid' */static BOOL fetch_process_info(struct dump_context* dc){    ULONG       buf_size = 0x1000;    NTSTATUS    nts;    void*       pcs_buffer = NULL;    if (!(pcs_buffer = HeapAlloc(GetProcessHeap(), 0, buf_size))) return FALSE;    for (;;)    {        nts = NtQuerySystemInformation(SystemProcessInformation,                                       pcs_buffer, buf_size, NULL);        if (nts != STATUS_INFO_LENGTH_MISMATCH) break;        pcs_buffer = HeapReAlloc(GetProcessHeap(), 0, pcs_buffer, buf_size *= 2);        if (!pcs_buffer) return FALSE;    }    if (nts == STATUS_SUCCESS)    {        SYSTEM_PROCESS_INFORMATION*     spi = pcs_buffer;        unsigned                        i;        for (;;)        {            if (HandleToUlong(spi->UniqueProcessId) == dc->pid)            {                dc->num_threads = spi->dwThreadCount;                dc->threads = HeapAlloc(GetProcessHeap(), 0,                                        dc->num_threads * sizeof(dc->threads[0]));                if (!dc->threads) goto failed;                for (i = 0; i < dc->num_threads; i++)                {                    dc->threads[i].tid        = HandleToULong(spi->ti[i].ClientId.UniqueThread);                    dc->threads[i].prio_class = spi->ti[i].dwBasePriority; /* FIXME */                    dc->threads[i].curr_prio  = spi->ti[i].dwCurrentPriority;                }                HeapFree(GetProcessHeap(), 0, pcs_buffer);                return TRUE;            }            if (!spi->NextEntryOffset) break;            spi = (SYSTEM_PROCESS_INFORMATION*)((char*)spi + spi->NextEntryOffset);        }    }failed:    HeapFree(GetProcessHeap(), 0, pcs_buffer);    return FALSE;}
开发者ID:MortenRoenne,项目名称:wine,代码行数:52,


示例21: PhCreateThreadItem

PPH_THREAD_ITEM PhCreateThreadItem(    _In_ HANDLE ThreadId    ){    PPH_THREAD_ITEM threadItem;    threadItem = PhCreateObject(        PhEmGetObjectSize(EmThreadItemType, sizeof(PH_THREAD_ITEM)),        PhThreadItemType        );    memset(threadItem, 0, sizeof(PH_THREAD_ITEM));    threadItem->ThreadId = ThreadId;    PhPrintUInt32(threadItem->ThreadIdString, HandleToUlong(ThreadId));    PhEmCallObjectOperation(EmThreadItemType, threadItem, EmObjectCreate);    return threadItem;}
开发者ID:digitalsensejbkim,项目名称:processhacker2,代码行数:18,


示例22: PhSipGetMaxCpuString

PPH_STRING PhSipGetMaxCpuString(    _In_ LONG Index    ){    PPH_PROCESS_RECORD maxProcessRecord;#ifdef PH_RECORD_MAX_USAGE    FLOAT maxCpuUsage;#endif    PPH_STRING maxUsageString = NULL;    if (maxProcessRecord = PhSipReferenceMaxCpuRecord(Index))    {        // We found the process record, so now we construct the max. usage string.#ifdef PH_RECORD_MAX_USAGE        maxCpuUsage = PhGetItemCircularBuffer_FLOAT(&PhMaxCpuUsageHistory, Index);        // Make sure we don't try to display the PID of DPCs or Interrupts.        if (!PH_IS_FAKE_PROCESS_ID(maxProcessRecord->ProcessId))        {            maxUsageString = PhaFormatString(                L"/n%s (%u): %.2f%%",                maxProcessRecord->ProcessName->Buffer,                HandleToUlong(maxProcessRecord->ProcessId),                maxCpuUsage * 100                );        }        else        {            maxUsageString = PhaFormatString(                L"/n%s: %.2f%%",                maxProcessRecord->ProcessName->Buffer,                maxCpuUsage * 100                );        }#else        maxUsageString = PhaConcatStrings2(L"/n", maxProcessRecord->ProcessName->Buffer);#endif        PhDereferenceProcessRecord(maxProcessRecord);    }    return maxUsageString;}
开发者ID:amitamitamitamit,项目名称:processhacker2,代码行数:43,


示例23: PhpNetworkTreeGetNetworkItemProcessName

// copied from ProcessHacker/netlist.c..static PPH_STRING PhpNetworkTreeGetNetworkItemProcessName(    _In_ PPH_NETWORK_ITEM NetworkItem    ){    PH_FORMAT format[4];    if (!NetworkItem->ProcessId)        return PhaCreateString(L"Waiting connections");    PhInitFormatS(&format[1], L" (");    PhInitFormatU(&format[2], HandleToUlong(NetworkItem->ProcessId));    PhInitFormatC(&format[3], ')');    if (NetworkItem->ProcessName)        PhInitFormatSR(&format[0], NetworkItem->ProcessName->sr);    else        PhInitFormatS(&format[0], L"Unknown process");    return PH_AUTO(PhFormat(format, 4, 96));}
开发者ID:amitamitamitamit,项目名称:processhacker2,代码行数:21,


示例24: PhSipGetMaxIoString

static PPH_STRING PhSipGetMaxIoString(    _In_ LONG Index    ){    PPH_PROCESS_RECORD maxProcessRecord;    ULONG64 maxIoReadOther;    ULONG64 maxIoWrite;    PPH_STRING maxUsageString = NULL;    if (maxProcessRecord = PhSipReferenceMaxIoRecord(Index))    {        // We found the process record, so now we construct the max. usage string.        maxIoReadOther = PhGetItemCircularBuffer_ULONG64(SystemStatistics.MaxIoReadOtherHistory, Index);        maxIoWrite = PhGetItemCircularBuffer_ULONG64(SystemStatistics.MaxIoWriteHistory, Index);        if (!PH_IS_FAKE_PROCESS_ID(maxProcessRecord->ProcessId))        {            maxUsageString = PhaFormatString(                L"/n%s (%u): R+O: %s, W: %s",                maxProcessRecord->ProcessName->Buffer,                HandleToUlong(maxProcessRecord->ProcessId),                PhaFormatSize(maxIoReadOther, -1)->Buffer,                PhaFormatSize(maxIoWrite, -1)->Buffer                );        }        else        {            maxUsageString = PhaFormatString(                L"/n%s: R+O: %s, W: %s",                maxProcessRecord->ProcessName->Buffer,                PhaFormatSize(maxIoReadOther, -1)->Buffer,                PhaFormatSize(maxIoWrite, -1)->Buffer                );        }        PhDereferenceProcessRecord(maxProcessRecord);    }    return maxUsageString;}
开发者ID:evaluation-alex,项目名称:processhacker2,代码行数:41,


示例25: EtpGetMaxNodeString

PPH_STRING EtpGetMaxNodeString(    _In_ LONG Index    ){    PPH_PROCESS_RECORD maxProcessRecord;    FLOAT maxGpuUsage;    PPH_STRING maxUsageString = NULL;    if (maxProcessRecord = EtpReferenceMaxNodeRecord(Index))    {        maxGpuUsage = PhGetItemCircularBuffer_FLOAT(&EtMaxGpuNodeUsageHistory, Index);        maxUsageString = PhaFormatString(            L"/n%s (%lu): %.2f%%",            maxProcessRecord->ProcessName->Buffer,            HandleToUlong(maxProcessRecord->ProcessId),            maxGpuUsage * 100            );        PhDereferenceProcessRecord(maxProcessRecord);    }    return maxUsageString;}
开发者ID:evaluation-alex,项目名称:processhacker2,代码行数:24,


示例26: StatusBarUpdate

//.........这里部分代码省略.........                text[count] = PhConcatStrings2(                    L"Handles: ",                    PhaFormatUInt64(SystemStatistics.NumberOfHandles, TRUE)->Buffer                    );            }            break;        case ID_STATUS_IO_RO:            {                text[count] = PhConcatStrings2(                    L"I/O R+O: ",                    PhaFormatSize(SystemStatistics.IoReadDelta.Delta + SystemStatistics.IoOtherDelta.Delta, -1)->Buffer                    );            }            break;        case ID_STATUS_IO_W:            {                text[count] = PhConcatStrings2(                    L"I/O W: ",                    PhaFormatSize(SystemStatistics.IoWriteDelta.Delta, -1)->Buffer                    );            }            break;        case ID_STATUS_MAX_CPU_PROCESS:            {                PPH_PROCESS_ITEM processItem;                if (SystemStatistics.MaxCpuProcessId && (processItem = PhReferenceProcessItem(SystemStatistics.MaxCpuProcessId)))                {                    if (!PH_IS_FAKE_PROCESS_ID(processItem->ProcessId))                    {                        text[count] = PhFormatString(                            L"%s (%lu): %.2f%%",                            processItem->ProcessName->Buffer,                            HandleToUlong(processItem->ProcessId),                            processItem->CpuUsage * 100                            );                    }                    else                    {                        text[count] = PhFormatString(                            L"%s: %.2f%%",                            processItem->ProcessName->Buffer,                            processItem->CpuUsage * 100                            );                    }                    PhDereferenceObject(processItem);                }                else                {                    text[count] = PhCreateString(L"-");                }            }            break;        case ID_STATUS_MAX_IO_PROCESS:            {                PPH_PROCESS_ITEM processItem;                if (SystemStatistics.MaxIoProcessId && (processItem = PhReferenceProcessItem(SystemStatistics.MaxIoProcessId)))                {                    if (!PH_IS_FAKE_PROCESS_ID(processItem->ProcessId))                    {                        text[count] = PhFormatString(                            L"%s (%lu): %s",                            processItem->ProcessName->Buffer,                            HandleToUlong(processItem->ProcessId),
开发者ID:batidiane,项目名称:processhacker2,代码行数:67,



注:本文中的HandleToUlong函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ HandleWindowEvent函数代码示例
C++ HandleStatus函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。