ImpersonateDdeClientWindow 関数 (dde.h)

動的 Data Exchange (DDE) サーバー アプリケーションが DDE クライアント アプリケーションのセキュリティ コンテキストを偽装できるようにします。 これにより、未承認の DDE クライアントからセキュリティで保護されたサーバー データが保護されます。

構文

BOOL ImpersonateDdeClientWindow(
  [in] HWND hWndClient,
  [in] HWND hWndServer
);

パラメーター

[in] hWndClient

型: HWND

偽装される DDE クライアント ウィンドウへのハンドル。 クライアント ウィンドウには、 hWndServer パラメーターで識別されるサーバー ウィンドウとの DDE 会話が確立されている必要があります。

[in] hWndServer

型: HWND

DDE サーバー ウィンドウへのハンドル。 アプリケーションは、この関数を呼び出す前にサーバー ウィンドウを作成する必要があります。

戻り値

種類: BOOL

関数が成功すると、戻り値は 0 以外になります。

関数が失敗した場合は、0 を返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。

解説

アプリケーションは RevertToSelf 関数を呼び出して、 ImpersonateDdeClientWindow 関数によって設定された偽装を元に戻す必要があります。

DDEML アプリケーションでは 、DdeImpersonateClient 関数を使用する必要があります。

セキュリティに関する考慮事項

この関数を誤って使用すると、プログラムのセキュリティが損なわれる可能性があります。 呼び出しの戻り値をチェックすることは非常に重要です。 何らかの理由で関数が失敗した場合、クライアントは偽装されず、後続のクライアント要求は呼び出し元プロセスのセキュリティ コンテキストで行われます。 呼び出し元のプロセスが LocalSystem などの高い特権アカウントまたは管理グループのメンバーとして実行されている場合、ユーザーは許可されないアクションを実行できる可能性があります。 したがって、呼び出しが失敗した場合やエラーが発生した場合は、クライアント要求の実行を続行しないでください。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー dde.h (Windows.h を含む)
Library User32.lib
[DLL] User32.dll

こちらもご覧ください

動的データ交換について

概念

DdeImpersonateClient

その他のリソース

リファレンス

Reverttoself