I couldn't find a way to determine that the Signature was null.
My solution was to iterate through the partitions for the disk drive
wstring partionquery= L"ASSOCIATORS of {Win32_DiskDrive.DeviceID='";
partionquery += disk_deviceid;
partionquery += L"'} WHERE AssocClass = Win32_DiskDriveToDiskPartition";
Retrieve the Type value and see if it starts with "GPT" and if so, call DeviceIoControl with IOCTL_DISK_GET_PARTITION_INFO_EX. This provides the GUID signature of the GPT partition.
In my testing, each partition gives the same signature on a disk, and it matches the signature shown as the uniqueid in diskpart.