SendSAS 関数 (sas.h)

セキュア アテンション シーケンス (SAS) をシミュレートします。

構文

void SendSAS(
  [in] BOOL AsUser
);

パラメーター

[in] AsUser

呼び出し元が現在のユーザーとして実行されている場合は TRUE。それ以外の場合は FALSE

戻り値

なし

解説

SendSAS 関数を正常に呼び出すには、アプリケーションがサービスとして実行されているか、アプリケーション マニフェストで requestedExecutionLevel 要素の uiAccess 属性が "true" に設定されている必要があります。 アプリケーションがサービスとして実行されていない場合は、 SendSAS を呼び出すために、現在のユーザーまたは LocalSystem アカウントとして実行されている必要があります。 さらに、アプリケーションがサービスとして実行されていない場合は、SendSAS を呼び出すためにユーザー アカウント制御を有効にする必要があります。

大事なuiAccess 属性が "true" に設定されているアプリケーションは、Authenticode を使用して署名する必要があります。 さらに、アプリケーションはファイル システム内の保護された場所に存在する必要があります。 現在、次の 2 つの保護可能な場所があります。
\Program Files\
\windows\system32\
 
サービスとアプリケーションが SAS をシミュレートできるように、コンピューターのローカル セキュリティ ポリシーを構成する必要があります。 ポリシーを構成するには、グループ ポリシー エディター (GPE) Microsoft 管理コンソール (MMC) スナップインの設定を変更します。 委任を制御する GPE 設定は、次の場所にあります。

コンピューターの構成 |管理用テンプレート |Windows コンポーネント |Windows ログオン オプション |ソフトウェアのセキュア アテンション シーケンスを無効または有効にする

サービスは、そのサービスを呼び出す別のプロセスのトークンを偽装できます。 この場合、そのサービスによる SendSAS 関数の呼び出しは、偽装されたトークンに関連付けられているセッションの SAS をシミュレートします。

Windows Server 2008 および Windows Vista: Sas.dll はネイティブでは使用できません。 この関数を使用するには、Windows 7 バージョンの Microsoft Windows ソフトウェア開発キット (Windows SDK) (SDK) をダウンロードする必要があります。 さらに、この関数を呼び出すには、アプリケーションで Sas.dll を参照する必要があります。

要件

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