Можно ли получить имя файла указателя в Windows? - PullRequest
0 голосов
/ 19 февраля 2020

Насколько я исследовал SO, чтобы получить имя файла из указателя (возможно, из памяти), нам нужно получить его номер дескриптора файла, который затем можно будет использовать для косвенного запроса ОС для имени файла. Возможно, перемещаясь по каталогу pro c, или могут быть разные способы, зависящие от ОС, сделать это.

Но реальный вопрос здесь в том,

Возможно ли это в Windows?

Я ищу способ сделать это специально, используя C, так как мой код написан на C.

===

Просто ради ссылки,

typedef struct  {
        int             level;          /* fill/empty level of buffer */
        unsigned        flags;          /* File status flags          */
        char            fd;             /* File descriptor            */
        unsigned char   hold;           /* Ungetc char if no buffer   */
        int             bsize;          /* Buffer size                */
        unsigned char   *buffer;        /* Data transfer buffer       */
        unsigned char   *curp;          /* Current active pointer     */
        unsigned        istemp;         /* Temporary file indicator   */
        short           token;          /* Used for validity checking */
}       FILE;       

1 Ответ

1 голос
/ 19 февраля 2020

Похоже, что вы можете использовать функцию GetFileInformationByHandleEx с аргументом FileNameInfo. Я не на Windows и не могу проверить, но он также подсказывает этот ответ .

...