コード例 #1
0
ファイル: dl.c プロジェクト: 4rejin/node
int uv_dlopen(const char* filename, uv_lib_t* lib) {
  wchar_t filename_w[32768];

  lib->handle = NULL;
  lib->errmsg = NULL;

  if (!uv_utf8_to_utf16(filename, filename_w, ARRAY_SIZE(filename_w))) {
    return uv__dlerror(lib, GetLastError());
  }

  lib->handle = LoadLibraryExW(filename_w, NULL, LOAD_WITH_ALTERED_SEARCH_PATH);
  if (lib->handle == NULL) {
    return uv__dlerror(lib, GetLastError());
  }

  return 0;
}
コード例 #2
0
ファイル: dl.c プロジェクト: 0-wiz-0/libuv
int uv_dlopen(const char* filename, uv_lib_t* lib) {
  WCHAR filename_w[32768];

  lib->handle = NULL;
  lib->errmsg = NULL;

  if (!MultiByteToWideChar(CP_UTF8,
                           0,
                           filename,
                           -1,
                           filename_w,
                           ARRAY_SIZE(filename_w))) {
    return uv__dlerror(lib, GetLastError());
  }

  lib->handle = LoadLibraryExW(filename_w, NULL, LOAD_WITH_ALTERED_SEARCH_PATH);
  if (lib->handle == NULL) {
    return uv__dlerror(lib, GetLastError());
  }

  return 0;
}
コード例 #3
0
ファイル: dl.c プロジェクト: Y--/node
int uv_dlopen(const char* filename, uv_lib_t* lib, int glob) {
  int flag;

  dlerror(); /* Reset error status. */
  lib->errmsg = NULL;

  flag = RTLD_LAZY;
  if (glob) {
    flag |= RTLD_GLOBAL;
  }

  lib->handle = dlopen(filename, flag);
  return lib->handle ? 0 : uv__dlerror(lib);
}
コード例 #4
0
ファイル: dl.c プロジェクト: 1234-/passenger
int uv_dlsym(uv_lib_t* lib, const char* name, void** ptr) {
  dlerror(); /* Reset error status. */
  *ptr = dlsym(lib->handle, name);
  return uv__dlerror(lib);
}
コード例 #5
0
ファイル: dl.c プロジェクト: 1234-/passenger
int uv_dlopen(const char* filename, uv_lib_t* lib) {
  dlerror(); /* Reset error status. */
  lib->errmsg = NULL;
  lib->handle = dlopen(filename, RTLD_LAZY);
  return lib->handle ? 0 : uv__dlerror(lib);
}
コード例 #6
0
ファイル: dl.c プロジェクト: 4rejin/node
int uv_dlsym(uv_lib_t* lib, const char* name, void** ptr) {
  *ptr = (void*) GetProcAddress(lib->handle, name);
  return uv__dlerror(lib, *ptr ? 0 : GetLastError());
}