Conversation
| int exit_code; | ||
| CHECK_FAILURE(args->get_ExitCode(&exit_code)); | ||
|
|
||
| if (exit_code == -1073740760 /*STATUS_INVALID_IMAGE_HASH*/) { |
There was a problem hiding this comment.
FailureSourceModulePath doesn't appear to be specific to STATUS_INVALID_IMAGE_HASH or Windows Code Integrity. Is the expectation that this string could be populated in other failure cases, but STATUS_INVALID_IMAGE_HASH is the only case when we're currently promising it will always be populated?
There was a problem hiding this comment.
Yes that is exactly what I was thinking.
|
|
||
| # Examples | ||
|
|
||
| ```c# |
There was a problem hiding this comment.
Remove the leading spaces here to let the backticks get interpreted correctly so this shows as a formatted code block.
|
|
||
| ``` | ||
| [uuid(a9fc1af8-f934-4f0f-a788-7be0808c329b), object, pointer_default(unique)] | ||
| interface ICoreWebView2ProcessFailedEventArgs : IUnknown { |
There was a problem hiding this comment.
Um, we already have a ICoreWebView2ProcessFailedEventArgs. and even a ICoreWebView2ProcessFailedEventArgs2. Shouldn't this be ICoreWebView2ProcessFailedEventArgs3?
There was a problem hiding this comment.
Please fix. Yes, should be ICoreWebView2ProcessFailedEventArgs3 and it should be derived from ICoreWebView2ProcessFailedEventArgs2
| /// - It has an invalid or missing signature that does | ||
| /// not match the publisher or signer of the file. | ||
| /// - It has been tampered with or corrupted by malware or other software. | ||
| /// - It has been blocklisted by an administrator or a security policy. |
There was a problem hiding this comment.
| /// - It has been blocklisted by an administrator or a security policy. | |
| /// - It has been blocked by an administrator or a security policy. |
| -> HRESULT { | ||
| wil::com_ptr<ICoreWebView2ProcessFailedEventArgs> args = argsRaw; | ||
| int exit_code; | ||
| CHECK_FAILURE(args->get_ExitCode(&exit_code)); |
There was a problem hiding this comment.
get_ExitCode is a method on ICoreWebView2ProcessFailedEventArgs2, so would have to QI to it first.
| if (e.ExitCode == -1073740760 /*STATUS_INVALID_IMAGE_HASH*/) | ||
| { | ||
| // If the process crashed because of STATUS_INVALID_IMAGE_HASH, | ||
| // then we want to log to our app's telemetry the name of the |
There was a problem hiding this comment.
Nit:
| // then we want to log to our app's telemetry the name of the | |
| // then we want to log to our app's telemetry the path of the |
| /// The webview2 process which tried to load the DLL will fail with | ||
| /// exit code STATUS_INVALID_IMAGE_HASH(-1073740760). | ||
| /// A file can fail integrity check for various | ||
| /// reasons, such as: |
There was a problem hiding this comment.
May be out of scope, but will the developer ever need to know the more specific reason?
There was a problem hiding this comment.
I don't believe this is required and we can look into adding it if necessary in the future. @vbryh-msft or @aluhrs13 can comment otherwise.
| int exit_code; | ||
| CHECK_FAILURE(args->get_ExitCode(&exit_code)); | ||
|
|
||
| if (exit_code == -1073740760 /*STATUS_INVALID_IMAGE_HASH*/) { |
There was a problem hiding this comment.
Yes that is exactly what I was thinking.
| -> HRESULT { | ||
| wil::com_ptr<ICoreWebView2ProcessFailedEventArgs> args = argsRaw; | ||
| int exit_code; | ||
| CHECK_FAILURE(args->get_ExitCode(&exit_code)); |
| if (e.ExitCode == -1073740760 /*STATUS_INVALID_IMAGE_HASH*/) | ||
| { | ||
| // If the process crashed because of STATUS_INVALID_IMAGE_HASH, | ||
| // then we want to log to our app's telemetry the name of the |
|
|
||
| # Examples | ||
|
|
||
| ```c# |
|
|
||
| ``` | ||
| [uuid(a9fc1af8-f934-4f0f-a788-7be0808c329b), object, pointer_default(unique)] | ||
| interface ICoreWebView2ProcessFailedEventArgs : IUnknown { |
There was a problem hiding this comment.
Please fix. Yes, should be ICoreWebView2ProcessFailedEventArgs3 and it should be derived from ICoreWebView2ProcessFailedEventArgs2
| /// The webview2 process which tried to load the DLL will fail with | ||
| /// exit code STATUS_INVALID_IMAGE_HASH(-1073740760). | ||
| /// A file can fail integrity check for various | ||
| /// reasons, such as: |
There was a problem hiding this comment.
I don't believe this is required and we can look into adding it if necessary in the future. @vbryh-msft or @aluhrs13 can comment otherwise.
| /// - It has an invalid or missing signature that does | ||
| /// not match the publisher or signer of the file. | ||
| /// - It has been tampered with or corrupted by malware or other software. | ||
| /// - It has been blocklisted by an administrator or a security policy. |
No description provided.