MQOD用のAlternateSecurityIdMQBYTE40 )
これは、適切な許可検査を実行できるようにするために、
AlternateUserId と共に許可サービスに渡されるセキュリティー ID です。 AlternateSecurityId は、次の場合のみ使用されます。- MQOPEN 呼び出しで MQOO_ALTERNATE_USER_AUTHORITY が指定されている
- MQPUT1 呼び出しで MQPMO_ALTERNATE_USER_AUTHORITY が指定されている
AlternateUserId フィールドは、最初のヌル文字またはフィールドの終わりまでは完全にブランクではありません。Windowsでは、 AlternateSecurityId を使用して、 AlternateUserIdを一意的に識別する Windows セキュリティー ID (SID) を指定できます。 ユーザーの SID は、 LookupAccountName() Windows API 呼び出しを使用して、 Windows システムから取得できます。
z/OS®では、このフィールドは無視されます。
AlternateSecurityId フィールドは、以下の構造体を持っています。- 最初のバイトは、後続の有効データの長さを示す 2 進整数です。値には、このバイト自体は含まれません。 セキュリティー ID がない場合、長さはゼロになります。
- 2 番目のバイトは、存在するセキュリティー ID のタイプを示します。可能な値は次のとおりです。
- MQSIDT_NT_SECURITY_ID
- Windows セキュリティー ID。
- MQSIDT_NONE
- セキュリティー ID なし。
- 3 番目のバイトから、最初のバイトで定義された長さまでは、セキュリティー ID 自体が含まれています。
- フィールドの残りのバイトは、2 進ゼロに設定されます。
次の特殊値を使用することができます。
- MQSID_NONE
- セキュリティー ID が指定されていない。
値は、フィールドの長さについては 2 進ゼロです。
C プログラミング言語では、定数 MQSID_NONE_ARRAY も定義されます。これは MQSID_NONE と同じ値ですが、ストリングではなく文字の配列です。
これは入力フィールドです。 このフィールドの長さは MQ_SECURITY_ID_LENGTH によって指定されます。 このフィールドの初期値は、MQSID_NONE です。 Versionが MQOD_VERSION_3 より小さい場合、このフィールドは無視されます。