Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 11 kết quả

Đề tài: Hàm PsGetCurrentProcess dùng để làm gì?

  1. #1
    Ngày gia nhập
    12 2008
    Bài viết
    198

    Mặc định Hàm PsGetCurrentProcess dùng để làm gì?

    Hàm này nằm trong Kernel,không rõ sẽ lấy Pid của process nào đây

    HANDLE
    PsGetCurrentProcessId(
    VOID
    );


    Parameters
    None
    Return Value
    PsGetCurrentProcessId returns the process ID of the of the current thread's process.

    Requirements
    IRQL: Any level

    Headers: Declared in ntddk.h. Include ntddk.h.
    Đã được chỉnh sửa lần cuối bởi meoconlongvang : 07-05-2009 lúc 02:19 AM.

  2. #2
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    Nó cũng tương tự như GetCurrentProcessId thôi. Nó sẽ lấy ra pid của process gọi nó.
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

  3. #3
    Ngày gia nhập
    12 2008
    Bài viết
    198

    Mình dùng dbgview thì thấy kết quả không phải là như vậy

  4. #4
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

  5. #5
    Ngày gia nhập
    12 2008
    Bài viết
    198

    Code:
    #include<ntddk.h>
    NTSTATUS  DriverEntry( IN PDRIVER_OBJECT DriverObject,  IN PUNICODE_STRING RegistryPath )
    {
        DbgPrint("Pid la: %x",PsGetCurrentProcessId());
        return STATUS_SUCCESS;
    }

  6. #6
    Ngày gia nhập
    02 2008
    Bài viết
    1,009

    Mặc định Hàm PsGetCurrentProcess dùng để làm gì?

    PsGetCurrentProcessId returns the process ID of the of the current thread's process
    là hàm lấy pid của process đã gọi thread chứa lời gọi PsGetCurrentProcessId trong kernel mode
    Đã được chỉnh sửa lần cuối bởi AlexF : 07-05-2009 lúc 11:22 PM.

  7. #7
    Ngày gia nhập
    12 2008
    Bài viết
    198

    không rõ tại sao nếu dùng để chạy hàm này
    Code:
    #include<ntddk.h>
    NTSTATUS  DriverEntry( IN PDRIVER_OBJECT DriverObject,  IN PUNICODE_STRING RegistryPath )
    {
        DbgPrint("Pid la: %d",PsGetCurrentProcessId());
        return STATUS_SUCCESS;
    }
    kết quả luôn ra là 4,có phải pid gọi thread chứa hàm này là 4 không,hay nó bị lỗi thế,( nếu không tại sao luôn là giá trị 4 nhỉ và dĩ nhiên nó không phải là pid của process mà ta load nó lên )

  8. #8
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    Bạn để trong DriverEntry thì chắc chắn là ko lấy được đúng pid rồi. Process ở mức user chỉ gửi yêu cầu load driver, nhưng thực chất là driver được load bởi ntoskernel, pid của nó chính là 4.
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

  9. #9
    Ngày gia nhập
    12 2008
    Bài viết
    198

    Bạn để trong DriverEntry thì chắc chắn là ko lấy được đúng pid rồi. Process ở mức user chỉ gửi yêu cầu load driver, nhưng thực chất là driver được load bởi ntoskernel, pid của nó chính là 4.
    vậy thì khó đấy nhỉ,mình phải đặt ở đâu để lấy được pid gọi nó đây nhỉ

  10. #10
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    Mình không biết có cách nào chính quy hay không nhưng mình vẫn hay làm theo kiểu process dùng hàm DeviceIOControl để gửi thông tin về pid của nó cho driver.
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

Các đề tài tương tự

  1. Upload file dùng Ajax mà ko dùng Method Post của Form như thế nào?
    Gửi bởi hieupxd2cntt trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 8
    Bài viết cuối: 14-09-2014, 10:23 PM
  2. Lập trình C++ trong visual studio có cách nào để dùng winform mà vẫn dùng cách viết trên c++ được ?
    Gửi bởi homgiaouoc trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 2
    Bài viết cuối: 08-10-2013, 12:50 PM
  3. Bài toán quản lí nhân viên dùng dùng danh sách liên kết trong C++. Mong mọi người góp ý!
    Gửi bởi rataki trong diễn đàn Thảo luận, góp ý code C/C++ của bạn
    Trả lời: 1
    Bài viết cuối: 22-11-2012, 11:26 PM
  4. MS SQL với C# So sánh tốc độ khi dùng CURSOR ở SQL với việc dùng for trên code c# khi cập nhật hàng loạt
    Gửi bởi david_tonny trong diễn đàn Thắc mắc Microsoft SQL Server & Microsoft Access
    Trả lời: 1
    Bài viết cuối: 23-04-2012, 11:46 AM
  5. Bài tập C++ Dùng strtok cắt chuỗi và lỗi khi dùng atof() chuyển char sang float
    Gửi bởi salomontong trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 1
    Bài viết cuối: 10-03-2012, 05:18 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn