ディレクトリが Native Clientファイル システムに存在するかどうかを確認しようとしていますが、それを行う関数が見つかりません。PPB_FileRef
ディレクトリの を作成してからPPB_FileIO::Open
、それを使用して開いてみましたが、呼び出しPPB_FileIO::Query
がPPB_FileIO::Open
返さPP_ERROR_NOTAFILE
れ、2番目の呼び出しが失敗しました。
これは私が試したコードです。簡潔にするために初期化の一部を省略しています。
PP_Instance instance; // initialised elsewhere
PPB_FileRef *fileRefInterface; // initialised elsewhere
PPB_FileIO *fileIOInterface; // initialised elsewhere
PP_Resource fileSystemResource; // initialised elsewhere
PP_Resource fileRefResource = fileRefInterface->Create(
fileSystemResource,
"/directory");
PP_Resource fileIOResource = fileIOInterface->Create(instance);
// This call is returning PP_ERROR_NOTAFILE
//
int32_t result = fileIOInterface->Open(
fileIOResource,
fileRefResource,
PP_FILEOPENFLAG_READ,
PP_BlockUntilComplete()); // this is being called from a background thread.
if (result != PP_OK)
{
return false;
}
PP_FileInfo info;
result = fileIOInterface->Query(fileIOResource, &info, PP_BlockUntilComplete());
if (result != PP_OK)
{
return info.type == PP_FILETYPE_DIRECTORY;
}
return false;
ディレクトリであることを伝えるのに十分な有効なPP_ERROR_NOTAFILE
fromの戻り値ですか、それとも使用すべき別のより良い方法がありますか?PPB_FileIO::Open
PPB_FileRef
ありがとう、ジェームズ