muteki
Loading...
Searching...
No Matches
filepicker_context_s Struct Reference

The file picker context. More...

#include <filepicker.h>

Data Fields

size_t ctx_size
 Context size.
 
void * unk_0x4
 Unknown.
 
const char * type_list
 List of accepted file types.
 
int unk_0xc
 Unknown.
 
void * paths
 Paths buffer.
 
char * start_path
 Start path.
 
void * unk_0x18
 Unknown.
 
void * unk_0x1c
 Unknown.
 
char * unk_0x20
 Unknown.
 
void * error_text
 Seems to be used to store some kind of error text.
 
int unk_0x28
 Unknown.
 
short unk_0x2c
 Unknown.
 
unsigned short type_list_max_size
 Max size of the type list.
 
unsigned short path_max_cu
 Max size of each path in code units.
 
unsigned short unk_0x32
 Unknown.
 
unsigned short current_path_idx
 Used by _GetNextFileName() to track current index of path being read.
 
unsigned short npaths
 Number of paths expected.
 
unsigned int flags
 Flags.
 
int * unk_0x3c
 Unknown.
 
int unk_0x40
 Unknown.
 
void * unk_0x44
 Unknown.
 
short unk_0x48
 Unknown.
 
char unk_0x4a
 Unknown.
 
char unk_0x4b
 Unknown.
 
char unk_0x4c
 Unknown.
 
char unk_0x4d
 Unknown.
 
char unk_0x4e
 Unknown.
 
char unk_0x4f
 Unknown.
 
unsigned short status
 Status of the file picker.
 
short unk_0x52
 Unknown.
 

Detailed Description

The file picker context.

Field Documentation

◆ ctx_size

size_t filepicker_context_s::ctx_size

Context size.

Must be set to sizeof(filepicker_context_t) before invoking the file picker.

◆ npaths

unsigned short filepicker_context_s::npaths

Number of paths expected.

Can be overridden by the user before invoking the file picker.

After invoking the file picker, this will be set to the number of available paths picked by the user.

◆ path_max_cu

unsigned short filepicker_context_s::path_max_cu

Max size of each path in code units.

_GetOpenFileName() seems to compare this value to the length of the first paths string and will clear paths if the length is larger or equal to this value. Use FILEPICKER_CONTEXT_OUTPUT_MAX_LFN if starting the file picker in LFN mode.

◆ paths

void* filepicker_context_s::paths

Paths buffer.

The user is responsible for allocating it using the FILEPICKER_CONTEXT_OUTPUT_ALLOC() macro.

◆ start_path

char* filepicker_context_s::start_path

Start path.

Can be overridden by the user before invoking the file picker.

◆ status

unsigned short filepicker_context_s::status

Status of the file picker.

Todo:
Document what each status meant.

◆ type_list

const char* filepicker_context_s::type_list

List of accepted file types.

Can be overridden by the user before invoking the file picker.

The list must be in this format:

const char *list = "<description>\0<fnmatch_pattern>\0...<description>\0<fnmatch_pattern>\0\0\0\0";

description should be a string describing the format and fnmatch_pattern should be an fnmatch pattern supported by _afindfirst(). The string also needs to be terminated with triple NULs ("\0\0\0").


The documentation for this struct was generated from the following file: