Fungsi GetLogicalProcessorInformationEx (sysinfoapi.h)
Mengambil informasi tentang hubungan prosesor logis dan perangkat keras terkait.
Sintaks
BOOL GetLogicalProcessorInformationEx(
[in] LOGICAL_PROCESSOR_RELATIONSHIP RelationshipType,
[out, optional] PSYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX Buffer,
[in, out] PDWORD ReturnedLength
);
Parameter
[in] RelationshipType
Jenis hubungan yang akan diambil. Parameter ini bisa menjadi salah satu nilai LOGICAL_PROCESSOR_RELATIONSHIP berikut.
[out, optional] Buffer
Penunjuk ke buffer yang menerima urutan struktur SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX berukuran variabel. Jika fungsi gagal, konten buffer ini tidak terdefinisi.
[in, out] ReturnedLength
Pada input, menentukan panjang buffer yang diacu oleh Buffer, dalam byte. Jika buffer cukup besar untuk berisi semua data, fungsi ini berhasil dan ReturnedLength diatur ke jumlah byte yang dikembalikan. Jika buffer tidak cukup besar untuk berisi semua data, fungsi gagal, GetLastError mengembalikan ERROR_INSUFFICIENT_BUFFER, dan ReturnedLength diatur ke panjang buffer yang diperlukan untuk berisi semua data. Jika fungsi gagal dengan kesalahan selain ERROR_INSUFFICIENT_BUFFER, nilai ReturnedLength tidak terdefinisi.
Nilai kembali
Jika fungsi berhasil, nilai yang dikembalikan adalah TRUE dan setidaknya satu struktur SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX ditulis ke buffer output.
Jika fungsi gagal, nilai yang dikembalikan adalah FALSE. Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError.
Keterangan
Jika proses 32-bit yang berjalan di bawah WOW64 memanggil fungsi ini pada sistem dengan lebih dari 64 prosesor, beberapa masker afinitas prosesor yang dikembalikan oleh fungsi mungkin salah. Ini karena DWORD urutan tinggi dari struktur KAFFINITY 64-bit yang mewakili semua prosesor 64 "dilipat" ke dalam struktur KAFFINITY 32-bit dalam buffer pemanggil. Akibatnya, masker afinitas untuk prosesor 32 hingga 63 salah direpresentasikan sebagai duplikat masker untuk prosesor 0 hingga 31. Selain itu, masker afinitas untuk prosesor 32 hingga 63 salah diwakili sebagai duplikat masker untuk prosesor 0 hingga 31. Selain itu, jumlah semua nilai ActiveProcessorCount dan MaximumProcessorCount per grup yang dilaporkan dalam struktur PROCESSOR_GROUP_INFO dapat mengecualikan beberapa prosesor logis aktif.
Ketika fungsi ini dipanggil dengan jenis hubungan RelationProcessorCore, fungsi ini mengembalikan struktur PROCESSOR_RELATIONSHIP untuk setiap inti prosesor aktif di setiap grup prosesor dalam sistem. Ini dirancang, karena utas 32-bit yang tidak ditentukan dapat berjalan pada prosesor logis apa pun dalam grup tertentu, termasuk prosesor 32 hingga 63. Penelepon 32-bit dapat menggunakan jumlah total struktur PROCESSOR_RELATIONSHIP untuk menentukan jumlah aktual inti prosesor aktif pada sistem. Namun, afinitas utas 32-bit tidak dapat diatur secara eksplisit ke prosesor logis 32 hingga 63 grup prosesor apa pun.
Untuk mengkompilasi aplikasi yang menggunakan fungsi ini, atur _WIN32_WINNT >= 0x0601. Untuk informasi selengkapnya, lihat Menggunakan Header Windows.
Perilaku dimulai dengan Windows Server 2022 (21H2, build 20348)
Perilaku fungsi NUMA ini dan lainnya telah dimodifikasi untuk mendukung sistem dengan lebih baik dengan simpul yang berisi lebih dari 64 prosesor. Untuk informasi selengkapnya tentang perubahan ini, termasuk informasi tentang mengaktifkan perilaku lama API ini, lihat Dukungan NUMA.
Permintaan untuk RelationNumaNode akan mengembalikan struktur NUMA_NODE_RELATIONSHIP yang hanya berisi afinitas simpul dalam grup utamanya. Nilai GroupCount akan menjadi 1 dan ukuran struktur tetap.
Permintaan untuk RelationNumaNodeEx atau RelationAll akan mengembalikan struktur NUMA_NODE_RELATIONSHIP yang berisi array afinitas untuk simpul di semua grup. GroupCount melaporkan jumlah afinitas dan ukuran strukturnya bervariasi.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 7 [aplikasi desktop | Aplikasi UWP] |
Server minimum yang didukung | Windows Server 2008 R2 [aplikasi desktop | Aplikasi UWP] |
Target Platform | Windows |
Header | sysinfoapi.h (termasuk Windows.h) |
Pustaka | Kernel32.lib |
DLL | Kernel32.dll |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk