次の方法で共有


CreateLogFile 関数 (clfsw32.h)

ログを作成または開きます。 ログは専用または多重化することができ、ログ名によって異なります。 ログを閉じるには、CloseHandle 関数を使用します。

構文

CLFSUSER_API HANDLE CreateLogFile(
  [in]           LPCWSTR               pszLogFileName,
  [in]           ACCESS_MASK           fDesiredAccess,
  [in]           DWORD                 dwShareMode,
  [in, optional] LPSECURITY_ATTRIBUTES psaLogFile,
  [in]           ULONG                 fCreateDisposition,
  [in]           ULONG                 fFlagsAndAttributes
);

パラメーター

[in] pszLogFileName

ログの名前。

この名前は、CreateLogFileを使用してログを作成するときに指定します。 次の例では、使用する形式を識別します。

ログ: LogName[:: LogStreamName]

たとえば、"LOG:c:\MyDirectory\MyLog" というパスは、ファイル "c:\MyDirectory\MyLog.blf" を作成します。 パス "??\LOG:\HarddiskVolume1\MyDirectory\MyLog" は、パス "\clfs\Device\HarddiskVolume1\MyDirectory\MyLog" と同様に、ファイル "\.\HarddiskVolume1\MyDirectory\MyLog.blf" を作成します。

LogName はファイル システムの有効なファイル パスに対応し、LogStreamName はログ内のログ ストリームの一意の名前です。 詳細については、「ログの種類の」を参照してください。

[in] fDesiredAccess

返されたハンドルがログ オブジェクトに対して持つアクセスの種類。

価値 意味
GENERIC_READ
オブジェクトへの読み取りアクセスを指定します。
GENERIC_WRITE
オブジェクトへの書き込みアクセスを指定します。
DELETE を する
ログ削除アクセスを指定する
 

これらのフラグのビットごとの OR を使用すると、オブジェクトへの読み取り、書き込み、削除のアクセスを組み合わせて使用できます。

メモ ログを削除できるようにするには、DELETE アクセス 指定する必要があります。

 
Windows Server 2003 R2: このパラメーターを GENERIC_WRITEに設定する必要があります。

[in] dwShareMode

ファイルの共有モード。

クライアントは、開いているハンドルを持つ以前のオープン要求で指定されたモードと競合する共有モードを要求できません。

このパラメーターが 0 で、関数が成功した場合、オブジェクトを共有することはできず、ハンドルが閉じられるまでもう一度開くことはできません。

このパラメーターには、次の値のうち 1 つ以上を指定できます。

価値 意味
FILE_SHARE_DELETE
オブジェクトに対するオープン操作を有効にして、削除アクセスを要求します。 この値がないと、削除アクセスが要求された場合、他のプロセスはオブジェクトを開くことができません。
FILE_SHARE_READ
オブジェクトに対するオープン操作を有効にして、読み取りアクセスを要求します。 この値がないと、読み取りアクセスが要求された場合、他のプロセスはオブジェクトを開くことができません。
FILE_SHARE_WRITE
オブジェクトに対するオープン操作で書き込みアクセスを要求できるようにします。 この値がないと、書き込みアクセスが要求された場合、他のプロセスはオブジェクトを開くことができません。

[in, optional] psaLogFile

ログのセキュリティ属性を指定する SECURITY_ATTRIBUTES 構造体へのポインター。

返されたハンドルを子プロセスによって継承できるかどうかを決定します。 このパラメーターが NULL場合、ハンドルを継承できません。

SECURITY_ATTRIBUTESlpSecurityDescriptor メンバーは、新しいログ ハンドルの セキュリティ記述子 を指定します。 psaLogFile が NULL場合、オブジェクトは既定のセキュリティ記述子を取得します。 ログの既定のセキュリティ記述子のアクセス制御リスト (ACL) は、作成者のプライマリ トークンまたは偽装トークンから取得されます。

[in] fCreateDisposition

実行するアクション。

このパラメーターには、次のいずれかの値を指定できます。

価値 意味
CREATE_NEW
新しいファイルを作成し、ファイルが既に存在する場合は失敗します。
OPEN_EXISTING
既存のファイルを開き、ファイルが存在しない場合は失敗します。
OPEN_ALWAYS
既存のファイルを開くか、存在しない場合はファイルを作成します。

[in] fFlagsAndAttributes

ファイルの属性とフラグ。

このパラメーターは、次の値を受け取ることができます。

価値 意味
FILE_ATTRIBUTE_ARCHIVE
この一時以外のログはアーカイブする必要があります。

このフラグが指定されていない場合、ログをアーカイブする必要はありません。また、ログ コンテナーをリサイクルするためにアーカイブ末尾は保持されません。

FILE_FLAG_OVERLAPPED
FILE_FLAG_OVERLAPPED フラグが設定されている場合、他のすべてのフラグ値は無視されます。

FILE_FLAG_OVERLAPPED 指定すると、重複した I/O に対してファイルが開かれます。これにより、ログ ハンドルに対して複数の I/O 操作を実行できます。 ログの作成時にこのフラグが設定されている場合、そのログに対するすべての非同期 I/O 呼び出しでは、重複する構造を指定し、呼び出しの遅延完了と同期する必要があります。

戻り値

関数が成功した場合、戻り値はログへのハンドルです。

関数が失敗した場合、戻り値は INVALID_HANDLE_VALUE。 拡張エラー情報を取得するには、GetLastError呼び出します。

次の一覧は、考えられるエラー コードを示しています。

必要条件

要件 価値
サポートされる最小クライアント Windows Vista [デスクトップ アプリのみ]
サポートされる最小サーバー Windows Server 2003 R2 [デスクトップ アプリのみ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー clfsw32.h
ライブラリ Clfsw32.lib
DLL Clfsw32.dll

関連項目

ACCESS_MASK

AddLogContainer を する

AddLogContainerSet を する

CLFS_CONTAINER_INFORMATION

一般的なログ ファイル システム関数

CreateLogMarshallingArea の

SECURITY_ATTRIBUTES