/// <summary>
        /// Retrieves the path of the given storage slot.
        /// A storage slot is a subdirectory of the storage root,
        /// containing a specific version of disk image.
        /// </summary>
        /// <param name="isPrimary">Whether to use primary slot or secondary slot.</param>
        /// <returns></returns>
        public unsafe string GetStorageSlot(bool isPrimary)
        {
            char * buf = CLocalMemoryStorage.CGetStorageSlot(isPrimary ? 1 : 0);
            string ret = new string(buf);

            Memory.free(buf);
            return(ret);
        }