Fungsi GetProcessWorkingSetSize (memoryapi.h)

Mengambil ukuran set kerja minimum dan maksimum dari proses yang ditentukan.

Sintaks

BOOL GetProcessWorkingSetSize(
  [in]  HANDLE  hProcess,
  [out] PSIZE_T lpMinimumWorkingSetSize,
  [out] PSIZE_T lpMaximumWorkingSetSize
);

Parameter

[in] hProcess

Handel untuk proses yang ukuran set kerjanya akan diperoleh. Handel harus memiliki hak akses PROCESS_QUERY_INFORMATION atau PROCESS_QUERY_LIMITED_INFORMATION . Untuk informasi selengkapnya, lihat Keamanan Proses dan Hak Akses.

Windows Server 2003 dan Windows XP: Handel harus memiliki hak akses PROCESS_QUERY_INFORMATION .

[out] lpMinimumWorkingSetSize

Penunjuk ke variabel yang menerima ukuran set kerja minimum dari proses yang ditentukan, dalam byte. Manajer memori virtual mencoba untuk menjaga setidaknya memori sebanyak ini dalam proses setiap kali proses aktif.

[out] lpMaximumWorkingSetSize

Penunjuk ke variabel yang menerima ukuran set kerja maksimum dari proses yang ditentukan, dalam byte. Manajer memori virtual mencoba untuk menjaga tidak lebih dari memori sebanyak ini dalam proses setiap kali proses aktif ketika memori dalam pasokan singkat.

Nilai kembali

Jika fungsi berhasil, nilai yang dikembalikan bukan nol.

Jika fungsi gagal, nilai yang dikembalikan adalah nol. Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError.

Keterangan

"Set kerja" dari suatu proses adalah kumpulan halaman memori yang saat ini terlihat oleh proses dalam memori RAM fisik. Halaman-halaman ini adalah residen dan tersedia untuk digunakan aplikasi tanpa memicu kesalahan halaman. Ukuran set kerja minimum dan maksimum mempengaruhi perilaku halaman memori virtual dari sebuah proses.

Contoh

#include <windows.h>
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
    SIZE_T  dwMin, dwMax;
    HANDLE hProcess;

    if (argc != 2)
    {
        printf("This program requires a process ID as an argument.\n");
        return 1;
    }

    // Retrieve a handle to the process.

    hProcess = OpenProcess( PROCESS_QUERY_INFORMATION, 
                            FALSE, atoi(argv[1]));
     if (!hProcess)
    {
        printf( "OpenProcess failed (%d)\n", GetLastError() );
        return 1;
    }

    // Retrieve the working set size of the process.

    if (!GetProcessWorkingSetSize(hProcess, &dwMin, &dwMax))
    {
        printf("GetProcessWorkingSetSize failed (%d)\n",
            GetLastError());
        return 1;
    }

    printf("Process ID: %d\n", atoi(argv[1]));
    printf("Minimum working set: %lu KB\n", dwMin/1024);
    printf("Maximum working set: %lu KB\n", dwMax/1024);

    CloseHandle(hProcess);

    return 0;
}

Persyaratan

   
Klien minimum yang didukung Windows XP [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2003 [hanya aplikasi desktop]
Header memoryapi.h
Pustaka onecore.lib
DLL Kernel32.dll

Lihat juga

Set Kerja Proses

Proses

Fungsi SetProcessWorkingSetSize

Fungsi SetProcessWorkingSetSizeEx