SetupSetDirectoryId  1XVVD25 

[New - Windows NT]

The SetupSetDirectoryId function associates a directory identifier in an INF file with a particular directory.

BOOL SetupSetDirectoryId(

    HINF InfHandle,

// handle to the INF file

    DWORD Id,

// optional, DIRID to assign to Directory

    PCTSTR Directory

// optional, directory to map to identifier

   );

 

 

Parameters

InfHandle

Handle for a loaded INF file.

Id

This optional parameter supplies the directory identifier (DIRID) to use for the association. This DIRID must be greater than or equal to DIRID_USER. If an association already exists for this DIRID, it is overwritten. If Id is not specified, the Directory parameter is ignored and the current set of user-defined DIRIDs is deleted.

Directory

This optional parameter supplies the directory path to associate with Id. If Directory is NULL, any directory associated with Id is unassociated. No error results if Id is not currently associated with a directory.

 

Return Values

If the function succeeds, the return value is TRUE.

If the function fails, the return value is FALSE. To get extended error information, call GetLastError11C2VS7.

ERROR_NOT_ENOUGH_MEMORY

Indicates that a memory allocation failed.

ERROR_INVALID_PARAMETER

The Id parameter is not greater than or equal to DIRID_USER or Directory is not a valid string.

 

Remarks

SetupSetDirectoryId can be used prior to queueing file copy operations, to specify a target location that is only known at runtime.

After setting the directory identifier, this function traverses all appended INF files, and, if any of them have unresolved string substitutions, attempts to re-apply string substitution to them based on the new DIRID mapping. Because of this, some INF values may change after calling SetupSetDirectoryId.

DIRID_ABSOLUTE_16BIT is not a valid value for Id. This ensures compatibility with 16-bit setupx.