/// <summary> /// Wrapper for WSManPluginOperationComplete. It performs validation prior to making the call. /// </summary> /// <param name="requestDetails"></param> /// <param name="errorCode"></param> /// <param name="errorMessage"></param> /// <returns></returns> internal static void ReportOperationComplete( IntPtr requestDetails, WSManPluginErrorCodes errorCode, string errorMessage = "") { if (IntPtr.Zero == requestDetails) { // cannot report if requestDetails is null. return; } wsmanPinvokeStatic.WSManPluginOperationComplete( requestDetails, 0, (int)errorCode, errorMessage); return; }
/// <summary> /// Alternate wrapper for WSManPluginOperationComplete. TODO: Needed? I could easily use the handle instead and get rid of this? It is only for easier refactoring... /// </summary> /// <param name="requestDetails"></param> /// <param name="errorCode"></param> /// <param name="errorMessage">Pre-formatted localized string</param> /// <returns></returns> internal static void ReportOperationComplete( WSManNativeApi.WSManPluginRequest requestDetails, WSManPluginErrorCodes errorCode, string errorMessage) { if (null != requestDetails) { ReportOperationComplete(requestDetails.unmanagedHandle, errorCode, errorMessage); } // else cannot report if requestDetails is null. }
/// <summary> /// Wrapper for WSManPluginOperationComplete. It performs validation prior to making the call. /// </summary> /// <param name="requestDetails"></param> /// <param name="errorCode"></param> internal static void ReportOperationComplete( WSManNativeApi.WSManPluginRequest requestDetails, WSManPluginErrorCodes errorCode) { if (null != requestDetails && IntPtr.Zero != requestDetails.unmanagedHandle) { wsmanPinvokeStatic.WSManPluginOperationComplete( requestDetails.unmanagedHandle, 0, (int)errorCode, null); } // else cannot report if requestDetails is null. }
/// <summary> /// report operation complete to WSMan and supply a reason (if any) /// </summary> /// <param name="requestDetails"></param> /// <param name="errorCode"></param> internal static void ReportWSManOperationComplete( WSManNativeApi.WSManPluginRequest requestDetails, WSManPluginErrorCodes errorCode) { Dbg.Assert(null != requestDetails, "requestDetails cannot be null in operation complete."); PSEtwLog.LogAnalyticInformational(PSEventId.ReportOperationComplete, PSOpcode.Close, PSTask.None, PSKeyword.ManagedPlugin | PSKeyword.UseAlwaysAnalytic, (requestDetails.unmanagedHandle).ToString(), Convert.ToString(errorCode, CultureInfo.InvariantCulture), String.Empty, String.Empty); ReportOperationComplete(requestDetails.unmanagedHandle, errorCode); }