次の方法で共有


RegisterAppInstance 関数 (smbclnt.h)

プロセスの AppInstance ID を登録します。

構文

DWORD RegisterAppInstance(
  [in] HANDLE ProcessHandle,
  [in] GUID   *AppInstanceId,
  [in] BOOL   ChildrenInheritAppInstance
);

パラメーター

[in] ProcessHandle

AppInstanceIdでタグ付けされる、現在のプロセスまたはリモート プロセスのプロセス ハンドル。 リモート プロセスにタグを付けるためには、ハンドルがそのプロセスに PROCESS_TERMINATE アクセスできる必要があります。

[in] AppInstanceId

アプリケーション インスタンス ID。これは、GUIDです。

[in] ChildrenInheritAppInstance

PROCESSHandleで指定されたプロセスによって生成された子プロセス タグ付けする TRUE。それ以外の場合は、FALSEを します。

戻り値

リターン コード 形容
ERROR_NOT_ENOUGH_MEMORY
CCF フィルターは、この操作を実行するための適切なキャッシュ オブジェクトを割り当てませんでした。
ERROR_ACCESS_DENIED
ProcessHandle で指定されたプロセスにタグを付けようとしている現在のプロセスには、そのプロセスへの PROCESS_TERMINATE アクセス権がありません。
ERROR_INVALID_PARAMETER
ProcessHandle はプロセスのハンドルではありません。
ERROR_NOT_FOUND
CCF ミニ フィルターが見つかりません。
ERROR_OBJECT_ALREADY_EXISTS
同じプロセスに対して別の AppInstanceGUID が提供されます。つまり、RegisterAppInstance 関数が 2 回呼び出されたか、アプリケーションが 2 回登録されました。

備考

RegisterAppInstance 関数は、CCF ミニ フィルターへの IOCTL_CCF_REGISTER_APPINSTANCE 呼び出しを発行します。 この関数は、AppInstanceGUID、プロセス ハンドル、タグ付けされた子プロセスを CCF キャッシュに渡し、プロセス ハンドルを AppInstanceIdにマップします。

別のプロセスにタグを付けるために発行された IOCTL は、現在のプロセスがターゲット プロセスに PROCESS_TERMINATE アクセスできるかどうかを確認します。

必要条件

要件 価値
サポートされる最小クライアント サポートされていません
サポートされる最小サーバー Windows Server 2012
ターゲット プラットフォーム の ウィンドウズ
ヘッダー smbclnt.h
ライブラリ NTLanMan.lib
DLL NTLanMan.dll

関連項目

フェールオーバー クラスターリソース管理機能の