@@ -1308,13 +1308,14 @@ struct OrtEpApi {
13081308 */
13091309 ORT_API2_STATUS (KernelInfo_GetEp , _In_ const OrtKernelInfo * info , _Outptr_ const OrtEp * * ep );
13101310
1311- /** \brief Initialize an OrtDeviceEpIncompatibilityDetails instance.
1311+ /** \brief Set the details of an OrtDeviceEpIncompatibilityDetails instance.
13121312 *
1313- * Used by execution provider factories to initialize incompatibility details in their
1314- * GetHardwareDeviceIncompatibilityDetails implementation. ORT creates the object and passes it
1315- * to the EP, which uses this function to set the incompatibility information.
1313+ * Used by execution provider factories to set incompatibility details in their
1314+ * GetHardwareDeviceIncompatibilityDetails implementation. ORT creates and initializes the object
1315+ * before passing it to the EP, so calling this function is optional. The EP uses this function
1316+ * to set incompatibility information when the device is not compatible.
13161317 *
1317- * \param[in,out] details The OrtDeviceEpIncompatibilityDetails instance to initialize .
1318+ * \param[in,out] details The OrtDeviceEpIncompatibilityDetails instance to update .
13181319 * \param[in] reasons_bitmask Bitmask of OrtDeviceEpIncompatibilityReason values. (0 = no incompatibility).
13191320 * \param[in] error_code Optional EP-specific error code (0 = no error).
13201321 * \param[in] notes Optional human-readable notes. Can be null.
@@ -1323,7 +1324,7 @@ struct OrtEpApi {
13231324 *
13241325 * \since Version 1.24.
13251326 */
1326- ORT_API2_STATUS (DeviceEpIncompatibilityDetails_Initialize , _Inout_ OrtDeviceEpIncompatibilityDetails * details ,
1327+ ORT_API2_STATUS (DeviceEpIncompatibilityDetails_SetDetails , _Inout_ OrtDeviceEpIncompatibilityDetails * details ,
13271328 _In_ uint32_t reasons_bitmask ,
13281329 _In_ int32_t error_code ,
13291330 _In_opt_z_ const char * notes );
@@ -2014,14 +2015,14 @@ struct OrtEpFactory {
20142015 *
20152016 * This function allows an execution provider to check if a specific hardware device is compatible
20162017 * with the execution provider. The EP can set specific incompatibility reasons via the
2017- * OrtDeviceEpIncompatibilityDetails parameter using OrtEpApi::DeviceEpIncompatibilityDetails_Initialize .
2018+ * OrtDeviceEpIncompatibilityDetails parameter using OrtEpApi::DeviceEpIncompatibilityDetails_SetDetails .
20182019 *
20192020 * \param[in] this_ptr The OrtEpFactory instance.
20202021 * \param[in] hw The hardware device to check for incompatibility.
2021- * \param[in,out] details Pre-allocated incompatibility details object created by ORT.
2022- * The EP should initialize this using OrtEpApi::DeviceEpIncompatibilityDetails_Initialize
2023- * to set any incompatibility information. If the device is compatible, the EP can
2024- * leave the object uninitialized (it defaults to no incompatibility).
2022+ * \param[in,out] details Pre-allocated incompatibility details object created and initialized by ORT.
2023+ * The EP can use OrtEpApi::DeviceEpIncompatibilityDetails_SetDetails to set
2024+ * incompatibility information. If the device is compatible, the EP can
2025+ * leave the object unchanged (it defaults to no incompatibility).
20252026 *
20262027 * \note Implementation of this function is optional.
20272028 * If not implemented, ORT will assume the device is compatible with this EP.
0 commit comments