PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
18951 03/03/04 15:35:34 RE(1):WTSQuerySessionInformationの使用方法(PB8.0.2) By isii
18938 03/02/27 18:48:01 WTSQuerySessionInformationの使用方法(PB8.0.2) By きいち

カテゴリ:PowerBuilderの開発環境
日付:2003年02月27日 18:48 発信者:きいち
題名:WTSQuerySessionInformationの使用方法(PB8.0.2)

Windows2000Serverターミナルサービスに環境において、各セッションのクライアントコンピュータ名を取得したいのですが、
WTSQuerySessionInformationというAPIを使用すれば可能な事はわかったのですが、うまくいきません。
どなたかご存知の方教えて下さい。コーディング内容は以下の通りです。

<グローバル外部関数に下記を記述>
//呼び出し側プロセスのプロセス識別子を取得
Function long GetCurrentProcessId() library \"kernel32.dll\"
//指定したプロセスに対応するターミナルサービスセッションを取得
Function long ProcessIdToSessionId(long lProcessId, Ref long lSessionId) library \"kernel32.dll\"
//指定したターミナルサーバ上の、指定したセッションの情報を取得
Function long WTSQuerySessionInformation(long hServer , long SessionId, string WTSInfoClass, Ref 
string ppBuffer, Ref long pBytesReturned)  LIBRARY \"wtsapi32.dll\" 

<関数を実行しているスクリプトは下記の通り>
long lProcId          //カレントプロセスのID
long lRet             //関数の戻り値
long lMySessionId     //自プロセスに対応するターミナルセッションの識別子
string  WTSClientName //クライアント(コンピュータ)名
string lpBuffer       //クライアント(コンピュータ)名
long lBytes           //取得バイト数

CONSTANT long WTS_CURRENT_SERVER_HANDLE = 0     //現在プログラムを実行中のTerminalServer
WTSClientName = \"WTSClientName\"
 
//呼び出し側プロセスのプロセス識別子を取得
lProcId = GetCurrentProcessId()
//指定したプロセスに対応するターミナルサービスセッションを取得
lRet = ProcessIdToSessionId(lProcId, lMySessionId)
//カレントプロセス実行中のターミナルサーバ上のセッションの情報を取得
lRet = WTSQuerySessionInformation
(WTS_CURRENT_SERVER_HANDLE,lMySessionId,WTSClientName,lpBuffer,lBytes)
    


付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS Windows95
DBMS (記載なし)
Browser (記載なし)

Server SoftWare

OS Windows 2000
DBMS (記載なし)
WebServer (記載なし)

PowerSpaceの運営は、パワーフューチャー株式会社が行っております。
Copyright © 2013 Power Future Co., Ltd.