「ntQuerySystemInformation」を使用して、次のようなすべてのハンドル情報を取得しました。
NtQuerySystemInformation(SystemHandleInformation, pHandleInfor, ulSize,NULL);//SystemHandleInformation = 16
pHandleInfor の構造体は次のとおりです。
typedef struct _SYSTEM_HANDLE_INFORMATION
{
ULONG ProcessId;
UCHAR ObjectTypeNumber;
UCHAR Flags;
USHORT Handle;
PVOID Object;
ACCESS_MASK GrantedAccess;
} SYSTEM_HANDLE_INFORMATION, *PSYSTEM_HANDLE_INFORMATION;
xp 32 ビットでは問題なく動作しますが、Win7 64 ビットでは 65535 未満の適切な pid しか取得できません。この構造体の processId のタイプは ULONG です。65535 を超える値を取得できると思います。何が問題なのですか? 代わりに他の API はありますか?