VerFindFile function Null safety version

int VerFindFile (
  1. int uFlags,
  2. Pointer<Utf16> szFileName,
  3. Pointer<Utf16> szWinDir,
  4. Pointer<Utf16> szAppDir,
  5. Pointer<Utf16> szCurDir,
  6. Pointer<Uint32> puCurDirLen,
  7. Pointer<Utf16> szDestDir,
  8. Pointer<Uint32> puDestDirLen
)

Determines where to install a file based on whether it locates another version of the file in the system. The values VerFindFile returns in the specified buffers are used in a subsequent call to the VerInstallFile function.

DWORD VerFindFileW(
  DWORD   uFlags,
  LPCWSTR szFileName,
  LPCWSTR szWinDir,
  LPCWSTR szAppDir,
  LPWSTR  szCurDir,
  PUINT   puCurDirLen,
  LPWSTR  szDestDir,
  PUINT   puDestDirLen
);

Implementation

int VerFindFile(
    int uFlags,
    Pointer<Utf16> szFileName,
    Pointer<Utf16> szWinDir,
    Pointer<Utf16> szAppDir,
    Pointer<Utf16> szCurDir,
    Pointer<Uint32> puCurDirLen,
    Pointer<Utf16> szDestDir,
    Pointer<Uint32> puDestDirLen) {
  final _VerFindFile = _version.lookupFunction<
      Uint32 Function(
          Uint32 uFlags,
          Pointer<Utf16> szFileName,
          Pointer<Utf16> szWinDir,
          Pointer<Utf16> szAppDir,
          Pointer<Utf16> szCurDir,
          Pointer<Uint32> puCurDirLen,
          Pointer<Utf16> szDestDir,
          Pointer<Uint32> puDestDirLen),
      int Function(
          int uFlags,
          Pointer<Utf16> szFileName,
          Pointer<Utf16> szWinDir,
          Pointer<Utf16> szAppDir,
          Pointer<Utf16> szCurDir,
          Pointer<Uint32> puCurDirLen,
          Pointer<Utf16> szDestDir,
          Pointer<Uint32> puDestDirLen)>('VerFindFileW');
  return _VerFindFile(uFlags, szFileName, szWinDir, szAppDir, szCurDir,
      puCurDirLen, szDestDir, puDestDirLen);
}