20#define DUID_VERSION_1 1
22#define DUID_HARDWARE_IDS_ONLY 0
23#define DUID_INCLUDE_SOFTWARE_IDS 1
25#define DUID_MATCH_ERROR(_duid_status) ((_duid_status) >= DuidErrorGeneral ? TRUE : FALSE)
26#define DUID_MATCH_SUCCESS(_duid_status) ((_duid_status) < DuidErrorGeneral ? TRUE : FALSE)
76 if (Duid1->StorageDeviceIdOffset == 0 && Duid1->StorageDeviceOffset == 0 &&
77 Duid1->DriveLayoutSignatureOffset == 0)
82 if (Duid2->StorageDeviceIdOffset == 0 && Duid2->StorageDeviceOffset == 0 &&
83 Duid2->DriveLayoutSignatureOffset == 0)
88 if (Duid1->Size == Duid2->Size)
90 if (
memcmp(Duid1, Duid2, Duid1->Size) == 0)
96 if (Duid1->StorageDeviceIdOffset && Duid2->StorageDeviceIdOffset)
116 if (idDesc1->Size == idDesc2->Size)
118 if (
memcmp(idDesc1, idDesc2, idDesc1->Size) == 0)
126 for (idx1 = 0; idx1 < idDesc1->NumberOfIdentifiers; idx1++)
136 for (idx2 = 0; idx2 < idDesc2->NumberOfIdentifiers; idx2++)
154 if (Duid1->StorageDeviceOffset && Duid2->StorageDeviceOffset)
213 if (Duid1->DriveLayoutSignatureOffset && Duid2->DriveLayoutSignatureOffset)
int strcmp(const char *String1, const char *String2)
int memcmp(void *Buffer1, void *Buffer2, ACPI_SIZE Count)
static CHAR string1[MAX_PATH]
static CHAR string2[MAX_PATH]
struct _STORAGE_IDENTIFIER * PSTORAGE_IDENTIFIER
STORAGE_DEVICE_ID_DESCRIPTOR
@ StorageIdTypeScsiNameString
* PSTORAGE_DEVICE_ID_DESCRIPTOR
struct _STORAGE_DEVICE_LAYOUT_SIGNATURE STORAGE_DEVICE_LAYOUT_SIGNATURE
FORCEINLINE DUID_MATCH_STATUS CompareStorageDuids(_In_ PSTORAGE_DEVICE_UNIQUE_IDENTIFIER Duid1, _In_ PSTORAGE_DEVICE_UNIQUE_IDENTIFIER Duid2)
struct _STORAGE_DEVICE_UNIQUE_IDENTIFIER STORAGE_DEVICE_UNIQUE_IDENTIFIER
@ DuidErrorVersionMismatch
@ DuidErrorInvalidDeviceIdDescSize
@ DuidErrorInvalidLayoutSigSize
@ DuidErrorInvalidLayoutSigVersion
@ DuidErrorInvalidDeviceDescSize
struct _STORAGE_DEVICE_LAYOUT_SIGNATURE * PSTORAGE_DEVICE_LAYOUT_SIGNATURE
enum _DUID_MATCH_STATUS DUID_MATCH_STATUS
struct _STORAGE_DEVICE_UNIQUE_IDENTIFIER * PSTORAGE_DEVICE_UNIQUE_IDENTIFIER
union _STORAGE_DEVICE_LAYOUT_SIGNATURE::@2397 DeviceSpecific
ULONG StorageDeviceIdOffset
ULONG DriveLayoutSignatureOffset
ULONG StorageDeviceOffset
STORAGE_IDENTIFIER_CODE_SET CodeSet
STORAGE_ASSOCIATION_TYPE Association
STORAGE_IDENTIFIER_TYPE Type
struct _STORAGE_DEVICE_DESCRIPTOR STORAGE_DEVICE_DESCRIPTOR
struct _STORAGE_DEVICE_DESCRIPTOR * PSTORAGE_DEVICE_DESCRIPTOR