- Chế độ vẽ hiện tại (drawing mode), Vị trí bút vẽ hiện tại (pen position),
KERNEL32.DLL 2 Một số hàm cơ bản
2. Một số hàm cơ bản
2.2 WriteFile
Chức năng: Viết ra dữ liệu để định nghĩa thư mục hoặc thiết bị vào ra.
Cú pháp:
BOOL WINAPI WriteFile( _In_ HANDLE hFile, _In_ LPCVOID lpBuffer,
_In_ DWORD nNumberOfBytesToWrite, _Out_opt_ LPDWORD lpNumberOfBytesWritten, _Inout_opt_ LPOVERLAPPED lpOverlapped
);
Thư viện API, lập trình API 52
KERNEL32.DLL2. Một số hàm cơ bản 2. Một số hàm cơ bản
2.2 WriteFile
Tham số:
• hFile [in]: một handle tới tập tin hoặc thiết bị vào ra.
• lpBuffer [in]: đâylà một nơi mà bộ đệm chứa dữ liệu đã được ghi lên file hoặc thiết bị.
• nNumberOfBytesToWrite [in]: số của file đã được ghi lên file hoặc thiết bị.
• lpNumberOfBytesWritten [out,optional]: một con trỏ tới một biến mà nhận số của các byte đã viết khi sử dụng tham số hFile đồng bộ.
• lpOverlapped [in,out,optional.
Giá trị trả về:
Nếu hàm này thành công, giá trị trả về là là nonzero (true).
Nếu hàm bị lỗi hoặc là hoàn thiện đồng bộ thì giá trị trả về là zero.
Thư viện API, lập trình API 53
KERNEL32.DLL
2. Một số hàm cơ bản
2.3 CreateDirectory
Chức năng:Tạo một thư mục mới.
Cấu trúc:
BOOL WINAPI CreateDirectory(
_In_ LPCTSTR lpPathName, _In_opt_ LPSECURITY_ATTRIBUTES lpSecurityAttributes);
Tham số:
• lpPathName [in]: đường dẫn của thư mục đã được tạo.
• lpSecurityAttibutes [in,optional]: một con trỏ tới hàm SECURITY_ATTRIBUTES.
Giá trị trả về:
• Nếu hàm succeed, trả về giá trị nonzero.
• Nếu làm fail, trả về giá trị là zero.
Thư viện API, lập trình API 54
KERNEL32.DLL
2. Một số hàm cơ bản
2.4 Hàm CopyFile.
Chức năng:Sao chép một file đã tồn tại sang một file mới. Cấu trúc:
BOOL WINAPI CopyFile(
_In_ LPCTSTR lpExistingFileName, _In_ LPCTSTR lpNewFileName, _In_ BOOL bFailIfExists);
Tham số:
lpExistingFileName [in] tên của file đã tồn tại.
lpNewFileName [in] tên của file mới.
bFaillExists [in]:true, false
Giá trị trả về:Nếu hàm thành công, giá trị trả về là nonzero,ngược lại zero. Thư viện API, lập trình API
KERNEL32.DLL
2. Một số hàm cơ bản
2.5 CreateProcess.
Chức năng: Tạo một tiến trình mới và luồng chính của nó.
Cấu trúc:
BOOL WINAPI CreateProcess(
_In_opt_ LPCTSTR lpApplicationName, _Inout_opt_ LPTSTR lpCommandLine,
_In_opt_ LPSECURITY_ATTRIBUTES lpProcessAttributes, _In_opt_ LPSECURITY_ATTRIBUTES lpThreadAttributes, _In_ BOOL bInheritHandles,
_In_ DWORD dwCreationFlags, _In_opt_ LPVOID lpEnvironment, _In_opt_ LPCTSTR lpCurrentDirectory, _In_ LPSTARTUPINFO lpStartupInfo,
_Out_ LPPROCESS_INFORMATION lpProcessInformation );
Thư viện API, lập trình API 56
KERNEL32.DLL2. Một số hàm cơ bản 2. Một số hàm cơ bản
2.5 CreateProcess.
Tham số:
lpApplicationName [in, optional]: Tên của các module được thực thi.
• lpCommandLine [in, out, optional] dòng lệnh được thực thi.
• lpProcessAttributes [in, optional] Một con trỏ tới cấu trúc
SECURITY_ATTRIBUTES quyết định chuyển điều khiển trả về cho các tiến trình mới.
• bInheritHandles [in]
• dwCreationFlags [in] các cờ để điều khiển thứ tự ưu tiên của các lớp và sự tạo tiến
trình.
• lpEnvironment [in, optional] Một con trỏ vào khối môi trường cho tiến trình mới.
Thư viện API, lập trình API 57
KERNEL32.DLL
2. Một số hàm cơ bản
2.5 CreateProcess.
Tham số:
• lpCurrentDirectory [in, optional] Đường dẫn đầy đủ đến thư mục hiện hành của tiến trình.
• lpStartupInfo [in] Để thiết lập thuộc tính mở rộng.
• lpProcessInformation [out] Một con trỏ tới một cấu trúc
PROCESS_INFORMATION tiếp nhận thông tin nhận dạng về một tiến trình mới.