flag (ULONG) - input

      A word bit vector that controls the behavior of DosSearchPath.

      This parameter contains the following bit fields:

      Bit

        Description
      31-3
        Reserved; must be 0.
      2
        SEARCH_IGNORENETERRS (0x00000004)
        Ignore Network Errors bit. This bit controls whether the search will abort if it encounters a network error, or will continue the search with the next element. This allows you to place network paths in the PATH variable and be able to find executables in components of the PATH variable, even if the network returns an error, for example, if a server is down. If the Ignore Network Errors Bit is 0, DosSearchPath will end the search if it encounters an error from the network. If the Ignore Network Errors Bit is 1, DosSearchPath will continue the search if it encounters network errors.
      1
        SEARCH_ENVIRONMENT (0x00000002)
        Path Source bit. This bit determines how DosSearchPath interprets pszPathOrName

      • pszPathOrName points to the actual search path. The search path string may be anywhere in the calling process's address space. Therefore, it may be in the environment, but is not required.

      • pszPathOrName. points to the name of an environment variable in the process environment, and that environment variable contains the search path.
      0
        SEARCH_CUR_DIRECTORY (0x00000001)
        Implied Current bit. This bit controls whether the current directory is implicitly on the front of the search path.

      • DosSearchPath only searches the current directory if it appears in the search path.

      • DosSearchPath searches the current working directory before it searches the directories in the search path.

        For example, Implied Current bit = 0 and path = ".\;a;b" is equivalent to Implied Current bit = 1 and path = "a;b".

      pszPathOrName (PSZ) - input

        Address of the path.

        If the Path Source bit of flag is 0, pszPathOrName is the search path that may be anywhere in the caller's address space.

        If the Path Source bit of flag is 1, pszPathOrName is the name of an environment variable that contains the search path.

        A search path consists of a sequence of paths separated by a semicolon ( ; ). It is a single ASCIIZ string. The directories are searched in the order they appear in the path. Paths that contain semicolons should be quoted. For example:

        "c:&this  is  ;  one directory path";thisisanother
        
        
        Environment variable names are simply strings that match name strings in the environment. The equal ( = ) sign is not part of the name.

      pszFilename (PSZ) - input

        Address of the ASCIIZ file name.

        It may contain global file-name characters. If pszFilename does contain global file-name characters, they remain in the result path returned in pBuf. This allows applications like CMD.EXE to pass the output directly to DosFindFirst. If there are no global file-name characters in pszFilename, the resulting path returned in pBuf is a fully qualified name, and may be passed directly to DosOpen, or any other system function.

      pBuf (PBYTE) - output

        Address of the path name of the file, if found.

        If pszFilename is found in one of the directories along the path, its full path name is returned in pBuf (with global file-name characters from pszFilename left in place). The contents of pBuf are not meaningful if DosSearchPath returns a nonzero return code.

      cbBuf (ULONG) - input

        The length, in bytes, of pBuf.

      ulrc (APIRET) - returns

        Return Code.

        DosSearchPath returns one of the following values:

      • NO_ERROR 1
          ERROR_INVALID_FUNCTION
        2
          ERROR_FILE_NOT_FOUND
        87
          ERROR_INVALID_PARAMETER
        111
          ERROR_BUFFER_OVERFLOW
        203
          ERROR_ENVVAR_NOT_FOUND
        For a full list of error codes, see Errors.


      [Back] [Next]