So, neue Erkenntnis
Ich hab jetzt auf einer koreanischen Seite etwas gefunden, das mir arg nach den aussieht, was ich haben will.
Dummerweise eben mit tausenden nicht darstellbaren Zeichen, die dann als Kästchen enden
Aber das ist nur der erklärende Text zum Code, den ich dort gefunden hab. Den hab ich versucht, nach Delphi zu portierern.
Wenn ihr wollt, kann ich die
URL auch mal angeben.
Leider klappt das noch nicht so ganz. Hier mein aktueller Code und drunter die Erklärung *g*
Delphi-Quellcode:
aJDMaster.GetJolietProperties(pPropStg);
setlength(propspec, 1);
setlength(propvar, 1);
ppropstg.Enum(penumprop);
while (penumProp.Next(1, sps, @fetched) = S_OK) do
begin
ZeroMemory(@PropVar[0], sizeof(TPropVariant));
propspec[0].ulKind := PRSPEC_PROPID;
propspec[0].propid := sps.propid;
pPropStg.ReadMultiple(1, @propspec[0], @propvar[0]);
if (sps.lpwstrName = 'VolumeName') then
begin
if Assigned(propvar[0].bstrVal) then
ShowMessage(propvar[0].bstrVal);
if Assigned(propvar[0].pszval) then
ShowMessage(propvar[0].pszval);
if Assigned(propvar[0].pwszval) then
ShowMessage(propvar[0].pwszval);
end;
end;
aJDMaster ist vom Typ IJolietDiscMaster, tut hier aber nichts zur Sache.
propspec ist ein Array [0..1] (hab ich testhalber so dimensioniert) of TPropSpec.
propvar ist ein Array [0..1] (gleicher Grund wie oben) of TPropVar.
pPropStg ist vom Typ IPropertyStorage.
penumprop ist vom Typ IEnumSTATPROPSTG.
Und sps ist vom Typ STATPROPSTG.
Code dürfte eigentlich soweit klar sein (wenn sich jemand damit auskennt
).
Erst lasse ich mir per pPropStg.Enum nen Enumerator geben.
Dann durchlaufe ich eine Schleife, in der ich alle Properties im PropertySet (so nenn ich das mal *g*) durchlaufe und dabei rufe ich pPropStg.ReadMultiple auf, um mir ggf. den Wert der Property VolumeName anzeigen zu lassen.
(Okay, die 3 verschiedenen ShowMessages hab ich nur drin, weil ich nicht weiß, in welchem der Wert evtl. steht xD)
Also bin ich zusammenfassend schon so weit, mitzubekommen, wenn die Property VolumeName gefunden enumeriert wird.
Aber hilfebedürftig bin ich trotzdem noch
Julian J. Pracht