- TODO: Add function description\r
-\r
- @param This TODO: add argument description\r
- @param ControllerHandle TODO: add argument description\r
- @param ChildHandle TODO: add argument description\r
- @param DiagnosticType TODO: add argument description\r
- @param Language TODO: add argument description\r
- @param ErrorType TODO: add argument description\r
- @param BufferSize TODO: add argument description\r
- @param Buffer TODO: add argument description\r
-\r
- TODO: add return values.\r
-\r
+ Runs diagnostics on a controller.\r
+\r
+ @param This A pointer to the EFI_DRIVER_DIAGNOSTICS_PROTOCOLinstance.\r
+ @param ControllerHandle The handle of the controller to run diagnostics on.\r
+ @param ChildHandle The handle of the child controller to run diagnostics on\r
+ This is an optional parameter that may be NULL. It will\r
+ be NULL for device drivers. It will also be NULL for a\r
+ bus drivers that wish to run diagnostics on the bus controller. \r
+ It will not be NULL for a bus driver that wishes to run \r
+ diagnostics on one of its child controllers.\r
+ @param DiagnosticType Indicates type of diagnostics to perform on the controller\r
+ specified by ControllerHandle and ChildHandle.\r
+ @param Language A pointer to a three character ISO 639-2 language identifier. \r
+ This is the language in which the optional error message should \r
+ be returned in Buffer, and it must match one of the languages \r
+ specified in SupportedLanguages. The number of languages supported by\r
+ a driver is up to the driver writer.\r
+ @param ErrorType A GUID that defines the format of the data returned in Buffer.\r
+ @param BufferSize The size, in bytes, of the data returned in Buffer.\r
+ @param Buffer A buffer that contains a Null-terminated Unicode string\r
+ plus some additional data whose format is defined by ErrorType. \r
+ Buffer is allocated by this function with AllocatePool(), and \r
+ it is the caller's responsibility to free it with a call to FreePool().\r
+\r
+ @retval EFI_SUCCESS The controller specified by ControllerHandle and ChildHandle passed \r
+ the diagnostic.\r
+ @retval EFI_INVALID_PARAMETER ControllerHandle is not a valid EFI_HANDLE.\r
+ @retval EFI_INVALID_PARAMETER ChildHandle is not NULL and it is not a valid EFI_HANDLE.\r
+ @retval EFI_INVALID_PARAMETER Language is NULL.\r
+ @retval EFI_INVALID_PARAMETER ErrorType is NULL.\r
+ @retval EFI_INVALID_PARAMETER BufferType is NULL.\r
+ @retval EFI_INVALID_PARAMETER Buffer is NULL.\r
+ @retval EFI_UNSUPPORTED The driver specified by This does not support running \r
+ diagnostics for the controller specified by ControllerHandle \r
+ and ChildHandle.\r
+ @retval EFI_UNSUPPORTED The driver specified by This does not support the\r
+ type of diagnostic specified by DiagnosticType.\r
+ @retval EFI_UNSUPPORTED The driver specified by This does not support the language \r
+ specified by Language.\r
+ @retval EFI_OUT_OF_RESOURCES There are not enough resources available to complete the \r
+ diagnostics.\r
+ @retval EFI_OUT_OF_RESOURCES There are not enough resources available to return the \r
+ status information in ErrorType, BufferSize,and Buffer.\r
+ @retval EFI_DEVICE_ERROR The controller specified by ControllerHandle and ChildHandle \r
+ did not pass the diagnostic.\r