[PSDK] Add ioapiset.h

This commit is contained in:
Timo Kreuzer 2025-07-24 14:25:14 +03:00
parent 76ef3c45a5
commit 05dc65bd17
3 changed files with 137 additions and 12 deletions

133
sdk/include/psdk/ioapiset.h Normal file
View file

@ -0,0 +1,133 @@
/*
* ioapiset.h
*
* Interface definitions for api-ms-win-core-io-l1
*
* This file is part of the ReactOS SDK.
*
* Contributors:
* Created by Timo Kreuzer <timo.kreuzer@reactos.org>
*
* THIS SOFTWARE IS NOT COPYRIGHTED
*
* This source code is offered for use in the public domain. You may
* use, modify or distribute it freely.
*
* This code is distributed in the hope that it will be useful but
* WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
* DISCLAIMED. This includes but is not limited to warranties of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
*
*/
#ifndef _IO_APISET_H_
#define _IO_APISET_H_
#pragma once
#include <minwindef.h>
#ifdef __cplusplus
extern "C" {
#endif
WINBASEAPI
BOOL
WINAPI
CancelIo(
_In_ HANDLE hFile);
WINBASEAPI
_Ret_maybenull_
HANDLE
WINAPI
CreateIoCompletionPort(
_In_ HANDLE FileHandle,
_In_opt_ HANDLE ExistingCompletionPort,
_In_ ULONG_PTR CompletionKey,
_In_ DWORD NumberOfConcurrentThreads);
WINBASEAPI
BOOL
WINAPI
DeviceIoControl(
_In_ HANDLE hDevice,
_In_ DWORD dwIoControlCode,
_In_reads_bytes_opt_(nInBufferSize) LPVOID lpInBuffer,
_In_ DWORD nInBufferSize,
_Out_writes_bytes_to_opt_(nOutBufferSize,*lpBytesReturned) LPVOID lpOutBuffer,
_In_ DWORD nOutBufferSize,
_Out_opt_ LPDWORD lpBytesReturned,
_Inout_opt_ LPOVERLAPPED lpOverlapped);
WINBASEAPI
BOOL
WINAPI
GetOverlappedResult(
_In_ HANDLE hFile,
_In_ LPOVERLAPPED lpOverlapped,
_Out_ LPDWORD lpNumberOfBytesTransferred,
_In_ BOOL bWait);
WINBASEAPI
BOOL
WINAPI
GetOverlappedResultEx(
_In_ HANDLE hFile,
_In_ LPOVERLAPPED lpOverlapped,
_Out_ LPDWORD lpNumberOfBytesTransferred,
_In_ DWORD dwMilliseconds,
_In_ BOOL bAlertable);
WINBASEAPI
BOOL
WINAPI
GetQueuedCompletionStatus(
_In_ HANDLE CompletionPort,
_Out_ LPDWORD lpNumberOfBytesTransferred,
_Out_ PULONG_PTR lpCompletionKey,
_Out_ LPOVERLAPPED* lpOverlapped,
_In_ DWORD dwMilliseconds);
WINBASEAPI
BOOL
WINAPI
PostQueuedCompletionStatus(
_In_ HANDLE CompletionPort,
_In_ DWORD dwNumberOfBytesTransferred,
_In_ ULONG_PTR dwCompletionKey,
_In_opt_ LPOVERLAPPED lpOverlapped);
#if (_WIN32_WINNT >= _WIN32_WINNT_VISTA)
WINBASEAPI
BOOL
WINAPI
GetQueuedCompletionStatusEx(
_In_ HANDLE CompletionPort,
_Out_writes_to_(ulCount,*ulNumEntriesRemoved) LPOVERLAPPED_ENTRY lpCompletionPortEntries,
_In_ ULONG ulCount,
_Out_ PULONG ulNumEntriesRemoved,
_In_ DWORD dwMilliseconds,
_In_ BOOL fAlertable);
WINBASEAPI
BOOL
WINAPI
CancelIoEx(
_In_ HANDLE hFile,
_In_opt_ LPOVERLAPPED lpOverlapped);
WINBASEAPI
BOOL
WINAPI
CancelSynchronousIo(
_In_ HANDLE hThread);
#endif // (_WIN32_WINNT >= _WIN32_WINNT_VISTA)
#ifdef __cplusplus
}
#endif
#endif // _IO_APISET_H_

View file

@ -18,9 +18,10 @@ extern "C" {
#endif
#include <minwinbase.h>
#include <libloaderapi.h>
#include <ioapiset.h>
#include <sysinfoapi.h>
#include <threadpoolapiset.h>
#include <libloaderapi.h>
#ifdef _MSC_VER
#pragma warning(push)
@ -1396,11 +1397,6 @@ CallNamedPipeW(
_In_ DWORD nTimeOut);
BOOL WINAPI CancelDeviceWakeupRequest(_In_ HANDLE);
BOOL WINAPI CancelIo(HANDLE);
#if (_WIN32_WINNT >= 0x0600)
BOOL WINAPI CancelIoEx(HANDLE,LPOVERLAPPED);
BOOL WINAPI CancelSynchronousIo(HANDLE);
#endif
BOOL WINAPI CancelWaitableTimer(HANDLE);
#if (_WIN32_WINNT >= 0x0501)
@ -1473,7 +1469,6 @@ HANDLE WINAPI CreateFileMappingW(HANDLE,LPSECURITY_ATTRIBUTES,DWORD,DWORD,DWORD,
BOOL WINAPI CreateHardLinkA(_In_ LPCSTR, _In_ LPCSTR, _Reserved_ LPSECURITY_ATTRIBUTES);
BOOL WINAPI CreateHardLinkW(_In_ LPCWSTR, _In_ LPCWSTR, _Reserved_ LPSECURITY_ATTRIBUTES);
#endif
HANDLE WINAPI CreateIoCompletionPort(HANDLE,HANDLE,ULONG_PTR,DWORD);
#if (_WIN32_WINNT >= 0x0500)
_Ret_maybenull_ HANDLE WINAPI CreateJobObjectA(_In_opt_ LPSECURITY_ATTRIBUTES, _In_opt_ LPCSTR);
_Ret_maybenull_ HANDLE WINAPI CreateJobObjectW(_In_opt_ LPSECURITY_ATTRIBUTES, _In_opt_ LPCWSTR);
@ -1607,7 +1602,6 @@ BOOL WINAPI DeleteVolumeMountPointW(LPCWSTR);
#endif
BOOL WINAPI DeregisterEventSource(_In_ HANDLE);
BOOL WINAPI DestroyPrivateObjectSecurity(PSECURITY_DESCRIPTOR*);
BOOL WINAPI DeviceIoControl(HANDLE,DWORD,PVOID,DWORD,PVOID,DWORD,PDWORD,POVERLAPPED);
BOOL WINAPI DisableThreadLibraryCalls(HMODULE);
#if (_WIN32_WINNT >= 0x0500)
@ -2000,7 +1994,6 @@ GetEventLogInformation(
BOOL WINAPI GetNumberOfEventLogRecords(_In_ HANDLE, _Out_ PDWORD);
BOOL WINAPI GetOldestEventLogRecord(_In_ HANDLE, _Out_ PDWORD);
BOOL WINAPI GetOverlappedResult(HANDLE,LPOVERLAPPED,PDWORD,BOOL);
DWORD WINAPI GetPriorityClass(HANDLE);
BOOL WINAPI GetPrivateObjectSecurity(PSECURITY_DESCRIPTOR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,PDWORD);
UINT WINAPI GetPrivateProfileIntA(_In_ LPCSTR, _In_ LPCSTR, _In_ INT, _In_opt_ LPCSTR);
@ -2129,7 +2122,6 @@ GetProfileStringW(
_Out_writes_to_opt_(nSize, return + 1) LPWSTR lpReturnedString,
_In_ DWORD nSize);
BOOL WINAPI GetQueuedCompletionStatus(HANDLE,PDWORD,PULONG_PTR,LPOVERLAPPED*,DWORD);
BOOL WINAPI GetSecurityDescriptorControl(PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR_CONTROL,PDWORD);
BOOL WINAPI GetSecurityDescriptorDacl(PSECURITY_DESCRIPTOR,LPBOOL,PACL*,LPBOOL);
BOOL WINAPI GetSecurityDescriptorGroup(PSECURITY_DESCRIPTOR,PSID*,LPBOOL);
@ -2638,7 +2630,6 @@ HANDLE WINAPI OpenWaitableTimerW(DWORD,BOOL,LPCWSTR);
WINBASEAPI void WINAPI OutputDebugStringA(LPCSTR);
WINBASEAPI void WINAPI OutputDebugStringW(LPCWSTR);
BOOL WINAPI PeekNamedPipe(HANDLE,PVOID,DWORD,PDWORD,PDWORD,PDWORD);
BOOL WINAPI PostQueuedCompletionStatus(HANDLE,DWORD,ULONG_PTR,LPOVERLAPPED);
DWORD WINAPI PrepareTape(_In_ HANDLE, _In_ DWORD, _In_ BOOL);
BOOL WINAPI PrivilegeCheck (HANDLE,PPRIVILEGE_SET,PBOOL);
BOOL WINAPI PrivilegedServiceAuditAlarmA(_In_ LPCSTR, _In_ LPCSTR, _In_ HANDLE, _In_ PPRIVILEGE_SET, _In_ BOOL);