Added nullability to WcnApi

nullableenabled
David Hall 2023-10-22 15:12:23 -06:00
parent aefc44abcf
commit b429b0e793
1 changed files with 4 additions and 4 deletions

View File

@ -158,7 +158,7 @@ public static partial class WcnApi
// https://docs.microsoft.com/en-us/windows/win32/api/wcndevice/nf-wcndevice-iwcndevice-setpassword HRESULT SetPassword( // https://docs.microsoft.com/en-us/windows/win32/api/wcndevice/nf-wcndevice-iwcndevice-setpassword HRESULT SetPassword(
// WCN_PASSWORD_TYPE Type, DWORD dwPasswordLength, const BYTE [] pbPassword ); // WCN_PASSWORD_TYPE Type, DWORD dwPasswordLength, const BYTE [] pbPassword );
[PreserveSig] [PreserveSig]
HRESULT SetPassword(WCN_PASSWORD_TYPE Type, uint dwPasswordLength, [MarshalAs(UnmanagedType.LPStr)] string pbPassword); HRESULT SetPassword(WCN_PASSWORD_TYPE Type, uint dwPasswordLength, [MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 1)] byte[] pbPassword);
/// <summary>The <c>IWCNDevice::Connect</c> method initiates the session.</summary> /// <summary>The <c>IWCNDevice::Connect</c> method initiates the session.</summary>
/// <param name="pNotify"> /// <param name="pNotify">
@ -198,7 +198,7 @@ public static partial class WcnApi
// https://docs.microsoft.com/en-us/windows/win32/api/wcndevice/nf-wcndevice-iwcndevice-connect HRESULT Connect( // https://docs.microsoft.com/en-us/windows/win32/api/wcndevice/nf-wcndevice-iwcndevice-connect HRESULT Connect(
// IWCNConnectNotify *pNotify ); // IWCNConnectNotify *pNotify );
[PreserveSig] [PreserveSig]
HRESULT Connect([In, Optional] IWCNConnectNotify pNotify); HRESULT Connect([In, Optional] IWCNConnectNotify? pNotify);
/// <summary>The <c>IWCNDevice::GetAttribute</c> method gets a cached attribute from the device.</summary> /// <summary>The <c>IWCNDevice::GetAttribute</c> method gets a cached attribute from the device.</summary>
/// <param name="AttributeType"> /// <param name="AttributeType">
@ -235,7 +235,7 @@ public static partial class WcnApi
// https://docs.microsoft.com/en-us/windows/win32/api/wcndevice/nf-wcndevice-iwcndevice-getattribute HRESULT GetAttribute( // https://docs.microsoft.com/en-us/windows/win32/api/wcndevice/nf-wcndevice-iwcndevice-getattribute HRESULT GetAttribute(
// WCN_ATTRIBUTE_TYPE AttributeType, DWORD dwMaxBufferSize, BYTE [] pbBuffer, DWORD *pdwBufferUsed ); // WCN_ATTRIBUTE_TYPE AttributeType, DWORD dwMaxBufferSize, BYTE [] pbBuffer, DWORD *pdwBufferUsed );
[PreserveSig] [PreserveSig]
HRESULT GetAttribute(WCN_ATTRIBUTE_TYPE AttributeType, uint dwMaxBufferSize, [Out] IntPtr pbBuffer, out uint pdwBufferUsed); HRESULT GetAttribute(WCN_ATTRIBUTE_TYPE AttributeType, [In, Optional] uint dwMaxBufferSize, [Out, Optional] IntPtr pbBuffer, out uint pdwBufferUsed);
/// <summary>The GetIntegerAttribute method gets a cached attribute from the device as an integer.</summary> /// <summary>The GetIntegerAttribute method gets a cached attribute from the device as an integer.</summary>
/// <param name="AttributeType"> /// <param name="AttributeType">
@ -498,7 +498,7 @@ public static partial class WcnApi
public static T GetIntegerAttribute<T>(this IWCNDevice iDev, WCN_ATTRIBUTE_TYPE AttributeType) where T : struct, IConvertible public static T GetIntegerAttribute<T>(this IWCNDevice iDev, WCN_ATTRIBUTE_TYPE AttributeType) where T : struct, IConvertible
{ {
var hr = iDev.GetIntegerAttribute(AttributeType, out var u); var hr = iDev.GetIntegerAttribute(AttributeType, out var u);
return hr.Succeeded ? (T)Convert.ChangeType(u, typeof(T)) : throw hr.GetException(); return hr.Succeeded ? (T)Convert.ChangeType(u, typeof(T)) : throw hr.GetException()!;
} }
/// <summary>The <c>WCN_VENDOR_EXTENSION_SPEC</c> structure contains data that defines a vendor extension.</summary> /// <summary>The <c>WCN_VENDOR_EXTENSION_SPEC</c> structure contains data that defines a vendor extension.</summary>