次の方法で共有


sepdcrec

sepdcrec 関数は、構成情報を取得します。 アプリケーションはこの関数を呼び出して、ユーザーがネットワーク オペレーティング システムにログオンした名前の 3270 構成情報を取得します。 この呼び出しでは、このユーザー名もサービス テーブルに登録されます。

構文

  
USHORT sepdcrec(   
UCHAR *pBuffer,  
USHORT length,  
USHORT *numbytes  
);  

パラメーター

pBuffer
構成情報が返されるアプリケーションによって提供されるバッファーへのポインター。

length
指定されたバッファーのサイズ。

numbytes
バッファーに返される情報のバイト数を返すために Host Integration Server によって使用されます。

戻り値

NO_ERROR (0)
OK です。

NOCSSRVR (1)
構成ファイル サーバーは使用できません。

NODGNREC (2)
構成ファイルに診断レコードが見つかりません。

NOUSRREC (3)
このユーザーの構成ファイルにユーザー レコードが見つかりません。

BUF2SMAL (4)
指定されたバッファーが小さすぎます。

NONOS (5)
ネットワーク オペレーティング システムが開始されていません。

NOTLOGON (6)
ユーザーがネットワーク オペレーティング システムにログオンしていません。

READERR (7)
構成ファイルから読み取れませんでした。

NONAP (8)
ネットワーク アクセス プログラム (NAP) が開始されていません。

MAXAPP (9)
Windows のみ: 同時アプリケーションの最大数を超えました。

ERROR_SERVER (14)
リモート プロシージャ コール (RPC) のサーバー側でエラーが発生しました。

ERROR_LOCAL_FAILURE (15)
RPC のローカル側でエラーが発生しました。

注釈

sbpuinit 関数は、SNAGetVersion を除く他の DL-BASE またはダイナミック アクセス モジュール (DMOD) エントリ ポイントの前に常に呼び出す必要があります。 新しいエミュレーターの場合は、sbpuinit の後に sepdcrec を呼び出す必要があります。 (古いエミュレーターで使用される呼び出しの順序のため、sbpuinit より前の sepdcrec の呼び出しは引き続きサポートされますが、この順序は推奨されません)。

正常に戻った場合、バッファーには、適切な 3270 ユーザー レコードと診断 レコードへのポインターが格納され、その後にレコード自体が続きます。 これは次のような形式になります。

TECWRKUS *pUserRecord,   
TEDIAGNS *pDiagRecord   
);  

(UserRecord - 可変長)

(DiagRecord)

2 つのレコードには、指定されたポインターを使用してアクセスする必要があります。

これらのレコードの形式と、アプリケーションが 構成 ファイル情報を使用する方法の詳細については、「構成情報」を参照してください。

構成ファイルにこのユーザーのユーザー レコードが 3270 個ない場合、または構成ファイルに診断レコードが見つからない場合 (内部エラー)、アプリケーションは終了し、ユーザーが 3270 エミュレーションを使用できないようにする必要があります。 Host Integration Server のエラー ログ メッセージCOM0438とCOM0437を使用して、これらのエラーを報告できます。

指定されたバッファーが返される情報に対して小さすぎる場合、バッファーの内容は未定義であり、検査しないでくださいが、 numbytes パラメーターには使用可能な情報の合計バイト数 (つまり、2 つのポインターのサイズと 2 つの構成レコード) が含まれます。 アプリケーションは、少なくともこのサイズのバッファーを使用して再試行する必要があります。