Freigeben über


Storage_GetAbsolutePathInImagePackage-Funktion

Header: #include <applibs/storage.h>

Ruft eine MIT NULL endende Zeichenfolge ab, die den absoluten Pfad zu einem Speicherort innerhalb des Imagepakets der ausgeführten Anwendung enthält, wenn ein relativer Pfad innerhalb des Imagepakets angegeben ist.

Der Speicherort des Imagepakets und der pfad, der von dieser Funktion zurückgegeben wird, ändern sich nicht, während eine Anwendung ausgeführt wird. Der Speicherort kann sich jedoch zwischen den Ausführungen einer Anwendung ändern.

Diese Funktion ordnet Arbeitsspeicher für die zurückgegebene Zeichenfolge zu, die vom Aufrufer mithilfe von free() freigegeben werden soll.

Diese Funktion überprüft nicht, ob der Pfad im Imagepaket vorhanden ist. Der Pfad darf nicht mit "/" oder "." beginnen und ".." nicht enthalten.

char *Storage_GetAbsolutePathInImagePackage(const char *relativePath);

Parameter

  • relativePath Ein relativer Pfad vom Stamm des Imagepakets. Dieser Wert darf nicht mit dem Verzeichnistrennzeichen "/" beginnen.

Fehler

Gibt NULL zurück, wenn ein Fehler auftritt, und legt auf den Fehlerwert fest errno .

  • EINVAL: relativePath beginnt mit '/' oder '.' oder enthält '.'.

  • EFAULT: relativePath ist NULL.

  • ENOMEM: Nicht genügend Arbeitsspeicher.

Auch andere errno Fehler können angegeben werden. Solche Fehler sind nicht deterministisch, und dasselbe Verhalten wird möglicherweise nicht durch Systemupdates beibehalten.

Rückgabewert

Gibt den absoluten Pfad zurück, der das Imagepaketstamm enthält, oder NULL bei Fehler. In diesem Fall errno wird auf den Fehlerwert festgelegt.

Konzepte und Beispiele