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 |
こちらもご覧ください
概念
その他のリソース
リファレンス