Add new Retained attribute to OVERLAPPED parameters (#1792)

* Add new Retained attribute to OVERLAPPED parameters

* Retained DeviceIoControl

---------

Co-authored-by: Mike Battista <13860912+mikebattista@users.noreply.github.com>
This commit is contained in:
Rafael Rivera 2024-05-07 12:45:19 -07:00 коммит произвёл GitHub
Родитель 07ac08e824
Коммит d47a4c801c
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: B5690EEEBB952194
3 изменённых файлов: 889 добавлений и 566 удалений

Просмотреть файл

@ -985,30 +985,30 @@ IWICImagingFactory::CreateDecoderFromFilename::pguidVendor=[Optional]
DCompositionCreateDevice::dcompositionDevice=[ComOutPtr]
DCompositionCreateDevice2::dcompositionDevice=[ComOutPtr]
DCompositionCreateDevice3::dcompositionDevice=[ComOutPtr]
HttpAddFragmentToCache::Overlapped=[Optional]
HttpCancelHttpRequest::Overlapped=[Optional]
HttpAddFragmentToCache::Overlapped=[In][Out][Optional][Retained]
HttpCancelHttpRequest::Overlapped=[In][Out][Optional][Retained]
HttpCreateRequestQueue::Flags=[Optional]
HttpCreateRequestQueue::Name=[Optional]
HttpCreateRequestQueue::SecurityAttributes=[Optional]
HttpFlushResponseCache::Overlapped=[Optional]
HttpFlushResponseCache::Overlapped=[In][Out][Optional][Retained]
HttpReadFragmentFromCache::ByteRange=[Optional]
HttpReadFragmentFromCache::Overlapped=[Optional]
HttpReceiveClientCertificate::Overlapped=[Optional]
HttpReceiveHttpRequest::Overlapped=[Optional]
HttpReceiveRequestEntityBody::Overlapped=[Optional]
HttpReadFragmentFromCache::Overlapped=[In][Out][Optional][Retained]
HttpReceiveClientCertificate::Overlapped=[In][Out][Optional][Retained]
HttpReceiveHttpRequest::Overlapped=[In][Out][Optional][Retained]
HttpReceiveRequestEntityBody::Overlapped=[In][Out][Optional][Retained]
HttpSendHttpResponse::BytesSent=[Optional]
HttpSendHttpResponse::CachePolicy=[Optional]
HttpSendHttpResponse::LogData=[Optional]
HttpSendHttpResponse::Overlapped=[Optional]
HttpSendHttpResponse::Overlapped=[In][Out][Optional][Retained]
HttpSendResponseEntityBody::BytesSent=[Optional]
HttpSendResponseEntityBody::EntityChunkCount=[Optional]
HttpSendResponseEntityBody::LogData=[Optional]
HttpSendResponseEntityBody::Overlapped=[Optional]
HttpSendResponseEntityBody::Overlapped=[In][Out][Optional][Retained]
HttpSendResponseEntityBody::Reserved1=[Optional]
HttpSendResponseEntityBody::Reserved2=[Optional]
HttpWaitForDemandStart::Overlapped=[Optional]
HttpWaitForDisconnect::Overlapped=[Optional]
HttpWaitForDisconnectEx::Overlapped=[Optional]
HttpWaitForDemandStart::Overlapped=[In][Out][Optional][Retained]
HttpWaitForDisconnect::Overlapped=[In][Out][Optional][Retained]
HttpWaitForDisconnectEx::Overlapped=[In][Out][Optional][Retained]
HttpWaitForDisconnectEx::Reserved=[Optional]
IDCompositionSurface::BeginDraw::updateObject=[ComOutPtr]
# powerbase.h
@ -1078,7 +1078,7 @@ FNCERTSRVBACKUPGETDYNAMICFILELISTW::pcbSize=[Out]
SetLogFileSizeWithPolicy::pDesiredSize=[In]
SetLogFileSizeWithPolicy::pResultingSize=[Out]
FlushLogBuffers::pvMarshal=[In]
FlushLogBuffers::pOverlapped=[In][Out][Optional]
FlushLogBuffers::pOverlapped=[In][Out][Optional][Retained]
GetMessageA=[CanReturnMultipleSuccessValuesAttribute]
GetMessageW=[CanReturnMultipleSuccessValuesAttribute]
GetNumberOfPhysicalMonitorsFromHMONITOR::return=BOOL
@ -1751,7 +1751,7 @@ WNetUseConnection4A::return=WIN32_ERROR
WNetUseConnection4W::return=WIN32_ERROR
WNetUseConnectionA::return=WIN32_ERROR
WNetUseConnectionW::return=WIN32_ERROR
HttpReceiveHttpRequest::Overlapped=[Out]
HttpReceiveHttpRequest::Overlapped=[In][Out][Optional][Retained]
PFTASKDIALOGCALLBACK::msg=[AssociatedEnum("TASKDIALOG_NOTIFICATIONS")]
GlobalMemoryStatusEx::lpBuffer=[In]
SHCreateItemInKnownFolder::dwKFFlags=[AssociatedEnum("KNOWN_FOLDER_FLAG")]
@ -1814,6 +1814,7 @@ GetFileAttributesW=[CanReturnMultipleSuccessValues]
GetFileVersionInfoSizeA=[CanReturnMultipleSuccessValues]
GetFileVersionInfoSizeW=[CanReturnMultipleSuccessValues]
CertCreateCertificateContext=[CanReturnMultipleSuccessValues]
DeviceIoControl::lpOverlapped=[In][Out][Optional][Retained]
DXGI_ADAPTER_DESC1::Flags=[AssociatedEnum("DXGI_ADAPTER_FLAG")]
DXGI_ADAPTER_DESC2::Flags=[AssociatedEnum("DXGI_ADAPTER_FLAG")]
DXGI_DECODE_SWAP_CHAIN_DESC::Flags=[AssociatedEnum("DXGI_SWAP_CHAIN_FLAG")]
@ -1836,4 +1837,4 @@ IDXGIOutputDuplication::GetDesc::pDesc=[RetVal]
IDXGISurface::GetDesc::pDesc=[RetVal]
IDXGISwapChain::GetDesc::pDesc=[RetVal]
IDXGISwapChain1::GetDesc1::pDesc=[RetVal]
IDXGISwapChain1::GetFullscreenDesc::pDesc=[RetVal]
IDXGISwapChain1::GetFullscreenDesc::pDesc=[RetVal]

Просмотреть файл

@ -260,6 +260,18 @@ public class ReservedAttribute : Attribute
}
}
/// <summary>
/// Indicates that the attributed parameter must point to a structure that remains allocated
/// throughout the lifetime of the asynchronous operation.
/// </summary>
[AttributeUsage(AttributeTargets.Parameter, AllowMultiple = false, Inherited = true)]
public class RetainedAttribute : Attribute
{
public RetainedAttribute()
{
}
}
[AttributeUsage(AttributeTargets.Parameter, AllowMultiple = false, Inherited = true)]
public class RetValAttribute : Attribute
{

Разница между файлами не показана из-за своего большого размера Загрузить разницу