次の方法で共有


FNOPEN マクロ (fdi.h)

FNOPEN マクロは、FDI コンテキストでファイルを開くために、アプリケーション定義のコールバック関数の宣言を提供します。

構文

void FNOPEN(
  [in]  fn
);

パラメーター

[in] fn

ファイルの名前。

キャビネット内のファイルの場合、名前はキャビネット ファイルから直接取得されます。 キャビネット ファイルが悪意のある場合、名前に無効なファイル名または悪意のあるファイル名文字が含まれている可能性があります。

戻り値

何一つ

備考

この関数は、_openのようなパラメーターを受け取ります。

FNOPEN(fnFileOpen)
{
    HANDLE hFile = NULL;
    DWORD dwDesiredAccess = 0; 
    DWORD dwCreationDisposition = 0;

    UNREFERENCED_PARAMETER(pmode);

    if ( oflag & _O_RDWR )
    {
        dwDesiredAccess = GENERIC_READ | GENERIC_WRITE;
    }
    else if ( oflag & _O_WRONLY )
    {
        dwDesiredAccess = GENERIC_WRITE;
    }
    else
    {
        dwDesiredAccess = GENERIC_READ;
    }

    if ( oflag & _O_CREAT )
    {
        dwCreationDisposition = CREATE_ALWAYS;
    }
    else
    {
        dwCreationDisposition = OPEN_EXISTING;
    }

    hFile = CreateFileA(pszFile, 
                        dwDesiredAccess,
                        FILE_SHARE_READ,
                        NULL,
                        dwCreationDisposition,
                        FILE_ATTRIBUTE_NORMAL,
                        NULL);

    return (INT_PTR)hFile;
}

必要条件

要件 価値
ターゲット プラットフォーム の ウィンドウズ
ヘッダー fdi.h

関連項目

FDICreate