2 つのセキュリティ識別子 (SID) のプレフィックス値が等しいかどうかを検査する。SID プレフィックスとは、最後のサブ機関値を除く SID 全体のことである。
EqualPrefixSid pSid1, pSid2
pSid1 : [int] 比較する最初の SID 構造体へのポインタ。この構造体は有効であると仮定される。 pSid2 : [int] 比較する 2 番目の SID 構造体へのポインタ。この構造体は有効であると仮定される。
(プラグイン / モジュール : advapi32.dll)
2 つのセキュリティ識別子 (SID) のプレフィックス値が等しいかどうかを検査する。SID プレフィックスとは、最後のサブ機関値を除く SID 全体のことである。 [戻り値] SID プレフィックスが等しい場合、戻り値はゼロ以外となる。SID プレフィックスが等しくない場合、戻り値はゼロとなる。拡張エラー情報を取得するには GetLastError を呼び出す。 [備考] EqualPrefixSid 関数は、あるドメイン内のサーバアプリケーションが、ユーザーが別のドメインにログオンしようとする試みを検証できるようにする。たとえば、ユーザーが LocalDomain 内のワークステーションから RemoteDomain にログオンしようとする場合、LocalDomain のサーバは RemoteDomain にユーザーとユーザーのグループの SID を要求できる。RemoteDomain のドメイン コントローラは該当する SID で応答する。指定したドメインのすべての SID は同じプレフィックスを持つ。サーバがユーザーの SID を受け取ると、EqualPrefixSid 関数を各 SID に対して呼び出し、ユーザーまたはグループの SID を RemoteDomain の SID と比較できる。SID プレフィックスのいずれかが等しくない場合、サーバはログオン試行を拒否する。ドメインの SID をグループまたはユーザー SID と比較する前に、ドメインの SID を変更することが推奨される。RemoteDomain の SID が S-1-1234-8 の場合、そのドメインの各グループまたはユーザー SID は S-1-1234-8 をプレフィックスとして持つ。EqualPrefixSid 関数を使用して SID を比較するために、アプリケーションはドメイン SID をコピーし、そのコピーに任意のサブ機関 (RID) 値を追加して S-1-1234-8-0 の形の SID を作成する。次にアプリケーションは、変更したドメイン SID を、グループやユーザーの SID と比較するテンプレートとして使用する。
| プラグイン / モジュール | advapi32.dll |
| バージョン | 1.0 |
| 作成日 | 2026/04/16 |
| 著作者 | IronHSP / CsWin32 bridge |
| URL | https://github.com/inovia/IronHSP |
| 備考 | Win32 API の advapi32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。 |
| タイプ | 拡張命令 |
| グループ | Win32API |
| 対応環境 |
|
| hs ファイル | hsphelp\win32_advapi32_gen2.hs |