VB6.0用掲示板の過去のログ(No.1)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [過去ログ] [管理用]

投稿日: 2004/02/19(Thu) 17:29
投稿者匿名
Eメール
URL
タイトルRe^4: プリンターポートの追加:ネットワーク経由

構造体2(PORT_INFO_2)を使用してのローカルポートの設定ができていない状況です。
現在、使用している構造体は
Public Type PORT_INFO_2
    pPortName                   As Long
    pMonitorName                As Long
    pDescription                As Long
    fPortType                   As Long
    Reserved                    As Long
End Type

Public Type PORT_INFO_2S
    pPortName As String
    pMonitorName As String
    pDescription As String
    fPortType As Long
    Reserved As Long
End Type

を両方使用しています。

PORT_INFO_2Sの方は
Port2.pPortName ="LPT4:"
success = AddPortEx(vbNullString, 2, Port2, "Local Port")
エラーコード:124

PORT_INFO_2の方では
bytPortBuffer() = StrConv(文字列, vbByte)
MoveMemory PORT_INFO_2(0).格納先, bytPortBuffer(0), UBound(bytPortBuffer)
の形でやるパターンA
この場合、文字列に格納される値は"L・o・c・a・l P・o・r・t・"となります。"・"はNullchar
こちらも
エラーコード:124


パターンBは
bytPortBuffer() = StrConv(文字列, vbByte)
の後に、
ある関数(bytPortBuffer())で
中にNullcharがあれば、詰めて行き、最後に配列を縮小すると言う処理をしています。
配列自体が、戻り値になります。
その後に
MoveMemory PORT_INFO_2(0).格納先, bytPortBuffer(0), UBound(bytPortBuffer)
格納しています。("Local Port"になる)
結果の文字列は実際にメッセージで出力しています(文字列に戻す関数使用)
ちなみにこちらも
エラーコード:124


というのを、PORT_INFO_2構造体の3つのパラメータについて行っております。
  .pPortName
  .pMonitorName
  .pDescription

のこりの部分は
  .fPortType
    0〜16までの値を格納(Loopにて)
  .Reserve
    0しか入れてはならないそうです(ヘルプ参照)


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- Web Forum -