如何在 class Win32_DiskPartition 中获取 StartingOffset 属性的值
How to get the value of StartingOffset properties in class Win32_DiskPartition
我收到消息
Method 'StartingOffset' not supported by automation object.
这是我的一小部分代码:
colLogicalDisks := objWMIService.ExecQuery('ASSOCIATORS OF {Win32_DiskPartition.DeviceID="'+VarToStr(objPartition.DeviceID)+'"} WHERE AssocClass = Win32_LogicalDiskToPartition');
oEnumLogical := IUnknown(colLogicalDisks._NewEnum) as IEnumVariant;
while oEnumLogical.Next(1, objLogicalDisk, iValue) = 0 do
begin
ShowMessage(objLogicalDisk.StartingOffset);
driveletter := string(objLogicalDisk.DeviceID);
if driveletter = ExtractFileDrive(GetCurrentDir) then
begin
SetLength(result, 6);
result[0] := string(objdiskDrive.DeviceID);
result[1] := string(objdiskDrive.Model);
result[2] := string(objdiskDrive.MediaType);
result[3] := string(ConvertBytes(objdiskDrive.Size));
result[4] := string(objLogicalDisk.Description);
result[5] := string(ConvertBytes(objLogicalDisk.Size));
end;
objLogicalDisk:=Unassigned;
end;
源代码来自here
您的代码失败,因为 objLogicalDisk
变量包含 Win32_LogicalDisk
WMI class and you need access to the Win32_DiskPartition
class. Also your sample code is not complete but it seems which your are using the code posted here 的实例。如果是这种情况,您可以通过 objPartition
变量 (objPartition.StartingOffset
)
访问 StartingOffset
属性
我收到消息
Method 'StartingOffset' not supported by automation object.
这是我的一小部分代码:
colLogicalDisks := objWMIService.ExecQuery('ASSOCIATORS OF {Win32_DiskPartition.DeviceID="'+VarToStr(objPartition.DeviceID)+'"} WHERE AssocClass = Win32_LogicalDiskToPartition');
oEnumLogical := IUnknown(colLogicalDisks._NewEnum) as IEnumVariant;
while oEnumLogical.Next(1, objLogicalDisk, iValue) = 0 do
begin
ShowMessage(objLogicalDisk.StartingOffset);
driveletter := string(objLogicalDisk.DeviceID);
if driveletter = ExtractFileDrive(GetCurrentDir) then
begin
SetLength(result, 6);
result[0] := string(objdiskDrive.DeviceID);
result[1] := string(objdiskDrive.Model);
result[2] := string(objdiskDrive.MediaType);
result[3] := string(ConvertBytes(objdiskDrive.Size));
result[4] := string(objLogicalDisk.Description);
result[5] := string(ConvertBytes(objLogicalDisk.Size));
end;
objLogicalDisk:=Unassigned;
end;
源代码来自here
您的代码失败,因为 objLogicalDisk
变量包含 Win32_LogicalDisk
WMI class and you need access to the Win32_DiskPartition
class. Also your sample code is not complete but it seems which your are using the code posted here 的实例。如果是这种情况,您可以通过 objPartition
变量 (objPartition.StartingOffset
)
StartingOffset
属性