Cracker Handbook 1.0 part 27 pot

6 175 2
Cracker Handbook 1.0 part 27 pot

Đang tải... (xem toàn văn)

Thông tin tài liệu

int x, // horizontal position of window int y, // vertical position of window int nWidth, // window width int nHeight, // window height HWND hWndParent, // handle of parent or owner window HMENU hMenu, // handle of menu, or child-window identifier HINSTANCE hInstance, // handle of application instance LPVOID lpParam // address of window-creation data ); Returns Nếu function hoàn thành, giá trị trả về là handle của window mới. Nếu function không hoàn thành, giá trị trả về là NULL. SendMessageA / SendMessageW Hàm SendMessage có nhiệm vụ gởi specified message đến window hoặc windows. Hàm này gọi window procedure cho specified window và không quay về cho đến khi window procedure gởi xong message. Ngược lại, hàm PostMessage có nhiệm vụ post message đến message của thread và trở về ngay lập tức. Code: LRESULT SendMessage( HWND hwnd, // handle of destination window UINT uMsg, // message to send WPARAM wParam, // first message parameter LPARAM lParam // second message parameter ); Returns Giá trị trả về ghi kết quả của message processing và dựa vào message đã được gởi. ShowWindow Hàm ShowWindow có nhiệm vụ set trạng thái hiện ra của specified window. Code: BOOL ShowWindow( HWND hwnd, // handle of window int nCmdShow // show state of window ); Returns Nếu window được thấy, giá trị trả về là TRUE. Nếu window bị che, giá trị trả về là FALSE. UpdateWindow Hàm UpdateWindow có nhiệm vụ cập nhật client area của specified window bằng cách gởi WM_PAINT message đến window nếu vùng update của window không trống. Hàm này gởi thẳng WM_PAINT message đến window procedure của specified window, bỏ qua application queue. Nếu vùng update trống thì message sẽ không được gửi đi. Code: BOOL UpdateWindow( HWND hwnd // handle of window ); Returns Nếu function hoàn thành, giá trị trả về là TRUE. Nếu function không hoàn thành, giá trị trả về là FALSE. The_lighthouse(REA) 03.4 File Accesses =========== _lread Hàm _lread có nhiệm vụ đọc dữ liệu từ specified file. Hàm này tương thích với phiên bản 16-bit của Window. Còn đối với Win32 thì chúng ta nên dùng hàm ReadFile Code: UINT _lread( HFILE hFile, // handle of file LPVOID lpBuffer, // address of buffer for read data UINT uBytes // length, in bytes, of data buffer ); Returns Giá trị trả về cho biết số byte đã đọc được từ file. Nếu số byte nhỏ hơn nhỏ hơn uBytes, function reach đoạn cuối của file trước khi đọc số byte xác định _lwrite Hàm _lwrite có nhiệm vụ viết dữ liệu vào specified file. Hàm này tương thích với phiên bản 16-bit của Window. Còn đối với Win32 thì chúng ta nên dùng hàm WriteFile Code: UINT _lwrite( HFILE hFile, // handle of file LPCSTR lpBuffer, // address of buffer for data to be written UINT uBytes // number of bytes to write ); Returns Nếu function hoàn thành , giá trị trả về cho biết số byte đã viết được vào file. Nếu function không hoàn thành , giá trị trả về là HFILE_ERROR. Để có thông tin về lỗi, chúng ta sử dụng hàm GetLastError. CreateFileA / CreateFileW Hàm CreateFile có nhiệm vụ tạo ra, mở, hoặc truncate file, pipe(đường dẫn), communication resource, disk device hoặc console. Nó return handle mà có thể được dùng để truy cập đối tượng. Nó cũng có thể mở và return handle to directory Code: HANDLE CreateFile( LPCTSTR lpFileName, // address of name of the file DWORD dwDesiredAccess, // access (read-write) mode DWORD dwShareMode, // share mode LPSECURITY_ATTRIBUTES lpSecurityAttributes, // address of security descriptor DWORD dwCreationDistribution, // how to create DWORD dwFlagsAndAttributes, // file attributes HANDLE hTemplateFile // handle of file with attributes to copy ); Returns Nếu function hoàn thành, giá trị trả về là open handle của specified file. Nếu specified file không tồn tại trước khi function gọi và dwCreationDistribution là CREATE_ALWAYS hoặc OPEN_ALWAYS, lệnh gọi GetLastError trở về ERROR_ALREADY_EXISTS (ngay cả khi function đã hoàn thành). Còn nếu file tồn tại trước khi gọi, GetLastError trả về 0 Nếu function không hoàn thành , giá trị trả về là INVALID_HANDLE_VALUE. Để có thông tin về lỗi, chúng ta dùng lệnh GetLastError GetPrivateProfileIntA / GetPrivateProfileIntW Hàm GetPrivateProfileIntA có nhiệm vụ tìm integer associated với key trong section chỉ định của flie khởi tạo đã quy định. Hàm này tương thích với phiên bản 16-bit của Window. Còn đối với Win32 thì nên “cất” thông tin khởi tạo vào trong registry Code: UINT GetPrivateProfileInt( LPCTSTR lpAppName, // address of section name LPCTSTR lpKeyName, // address of key name INT nDefault, // return value if key name is not found LPCTSTR lpFileName // address of initialization filename ); Returns Nếu function hoàn thành , giá trị trả về là số tương đương của chuỗi phía sau tên key chỉ định trong file khởi tạo đã quy định. Nếu không tìm thấy key, giá trị trả về là giá trị mặc định. Nếu giá trị của key nhỏ hơn 0, giá trị trả về là 0. GetPrivateProfileStringA / GetPrivateProfileStringW Hàm GetPrivateProfileString có nhiệm vụ tìm string từ section đã chỉ định trong file khởi tạo. Hàm này tương thích với phiên bản 16-bit Window. Còn đối với Win32 thì nên “cất” thông tin khởi tạo vào trong Registry Code: DWORD GetPrivateProfileString( LPCTSTR lpAppName, // points to section name LPCTSTR lpKeyName, // points to key name LPCTSTR lpDefault, // points to default string LPTSTR lpReturnedString, // points to destination buffer DWORD nSize, // size of destination buffer LPCTSTR lpFileName // points to initialization filename ); Returns Nếu function hoàn thành , giá trị trả về là số kí tự được copy vào buffer, không tính kí tự null. Nếu cả IpAppName và IpKeyName đều là NULL và supplied destination quá nhỏ để chứa yêu cầu của string, chuỗi sẽ được bỏ bớt đi và theo sau là kí tự null, và giá trị trả về là nSize-1 Nếu IpAppName hoặc IpKeyName là NULL và supplied destination quá nhỏ để chứa toàn bộ string, string cuối cùng sẽ được “cắt ra” và theo sau là 2 kí tự null. Trong trường hợp này thì giá trị trả về nSize-2 ReadFileA Hàm ReadFile có nhiệm vụ đọc dữ liệu từ file, bắt đầu tại vị trí được cho biết bởi file pointer. Sau khi đọc xong, file pointer sửa lại cho đúng bằng số byte đã được đọc, trừ khi file handle được tạo với thuộc tính overlapped (chồng lên). Nếu file handle được tạo để overlapped input (cho vào) và output (lấy ra) (I / O) , sau khi đọc xong application phải chỉnh lại cho đúng vị trí của file pointer. Code: BOOL ReadFile( HANDLE hFile, // handle of file to read LPVOID lpBuffer, // address of buffer that receives data DWORD nNumberOfBytesToRead, // number of bytes to read LPDWORD lpNumberOfBytesRead, // address of number of bytes read LPOVERLAPPED lpOverlapped // address of structure for data ); Returns Nếu function hoàn thành , giá trị trả về là TRUE. Nếu giá trị trả về là TRUE và số byte được đọc là 0 thì file pointer ở xa điểm cuối của file tại thời điểm xảy ra quá trình đọc Nếu function không hoàn thành , giá trị trả về là FALSE. Để có thông tin về lỗi, chúng ta dùng hàm GetLastError. ReadFileEx Hàm ReadFileEx có nhiệm vụ đọc dữ liệu từ file không đồng bộ. Nó chỉ được design cho quá trình không đồng bộ, khác với hàm ReadFile được design cho cả 2 quá trình đồng bộ và không đồng bộ. ReadFileEx để cho “quá trình gán” gán vào processing khác suốt quá trình đọc Hàm ReadFileEx “báo cáo” tình trạng không đồng bộ của nó, gọi completion routine chỉ định khi quá trình đọc hoàn thành và lệnh gọi thread là alertable wait state Code: BOOL ReadFileEx( HANDLE hFile, // handle of file to read LPVOID lpBuffer, // address of buffer DWORD nNumberOfBytesToRead, // number of bytes to read LPOVERLAPPED lpOverlapped, // address of offset LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine // address of completion routine ); Returns Nếu function hoàn thành , giá trị trả về là TRUE Nếu function không hoàn thành , giá trị trả về là FALSE. Để có thông tin về lỗi, chúng ta dùng hàm GetLastError. Nếu function hoàn thành , calling thread có quá trình I/O không đồng bộ trong khoảng thời gian : overlapped đọc thao tác từ file. Khi quá trình I/O này kết thúc, và lệnh gọi thread bị khóa trong alertable wait state, hệ thống gọi hàm IpCompletionRoutine, và alertable wait state hoàn thành với đoạn code trở . FALSE. The_lighthouse(REA) 03 .4 File Accesses =========== _lread Hàm _lread có nhiệm vụ đọc dữ liệu từ specified file. Hàm này tương thích với phiên bản 16 -bit của Window. Còn đối với. không tìm thấy key, giá trị trả về là giá trị mặc định. Nếu giá trị của key nhỏ hơn 0, giá trị trả về là 0. GetPrivateProfileStringA / GetPrivateProfileStringW Hàm GetPrivateProfileString. (ngay cả khi function đã hoàn thành). Còn nếu file tồn tại trước khi gọi, GetLastError trả về 0 Nếu function không hoàn thành , giá trị trả về là INVALID_HANDLE_VALUE. Để có thông tin về lỗi,

Ngày đăng: 03/07/2014, 17:20

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan