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 より小さい場合、このフィールドは無視されます。