/// <summary> /// Checks a device for certain capabilities. /// </summary> /// <param name="client"> /// The connected installation_proxy client /// </param> /// <param name="capabilities"> /// An array of char* with capability names that MUST have a /// terminating NULL entry. /// </param> /// <param name="client_options"> /// The client options to use, as PLIST_DICT, or NULL. /// Currently there are no known client options, so pass NULL here. /// </param> /// <param name="result"> /// Pointer that will be set to a plist containing a PLIST_DICT /// holding information if the capabilities matched or NULL on errors. /// </param> /// <returns> /// INSTPROXY_E_SUCCESS on success or an INSTPROXY_E_* error value if /// an error occured. /// </returns> public virtual InstallationProxyError instproxy_check_capabilities_match(InstallationProxyClientHandle client, out string capabilities, PlistHandle clientOptions, out PlistHandle result) { InstallationProxyError returnValue; returnValue = InstallationProxyNativeMethods.instproxy_check_capabilities_match(client, out capabilities, clientOptions, out result); result.Api = this.Parent; return(returnValue); }
public static InstallationProxyError instproxy_check_capabilities_match(InstallationProxyClientHandle client, out string capabilities, PlistHandle clientOptions, out PlistHandle result) { System.Runtime.InteropServices.ICustomMarshaler capabilitiesMarshaler = NativeStringMarshaler.GetInstance(null); System.IntPtr capabilitiesNative = System.IntPtr.Zero; InstallationProxyError returnValue = InstallationProxyNativeMethods.instproxy_check_capabilities_match(client, out capabilitiesNative, clientOptions, out result); capabilities = ((string)capabilitiesMarshaler.MarshalNativeToManaged(capabilitiesNative)); capabilitiesMarshaler.CleanUpNativeData(capabilitiesNative); return(returnValue); }