掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
「アクセスが拒否されました」のエラーを回避するには? (ID:110521)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
はじめまして。VBというより、Win32APIの質問です。 長文で申し訳ありません。よろしいでしょうか。 現在VB6のコード上に、Win32APIのGetPrinterという関数を使用し、 プリンターの情報を取得しようとしています(バッファの必要なサイズを取得する為) Win98は、成功します。 Windows2000は、エラーとなります。 「アクセスが拒否されました」 なぜこのようなことが起きるか、どなたかご教授下さい。以下詳細です。 補足1・Administrator権限を持つユーザでプリンターを作成。テストプリントは可能 補足2・プリンタのアクセスの許可は、プリンタの管理は許可にチェックがある。 補足3・OpenPrinter関数は成功している。(と思われる。ステータスはZERO以外の為) pdefs.pDatatype = vbNullString pdefs.pDevMode = 0 pdefs.DesiredAccess = PRINTER_ACCESS_ADMINISTER ' プリンタ名を指定 strDeviceName = strPrinterName ' プリンタのオブジェクトハンドルを取得 If OpenPrinter(strDeviceName, lnghPrinter, pdefs) = 0 Then strErrAPI = "OpenPrinter" GoSub UCoSetPrinter_Err End If ' 構造体のレベルを指定 lngPInfo2Lvl = 2 Dim strMsg As String ' バッファの必要なサイズを取得(戻り値は0なのでError Trapしない) 'コメント Call GetPrinter(lnghPrinter, lngPInfo2Lvl, ByVal vbNullString, 0, lngPInfo2Needed) '上記の詳細を知るため、以下に変更し、エラーのコードを取得。 If GetPrinter(lnghPrinter, lngPInfo2Lvl, ByVal vbNullString, 0, lngPInfo2Needed) = 0 Then strMsg = pstrLastDllErrorText(Err.LastDllError) MsgBox "エラー コード : " & strMsg End If 以上です。宜しくお願いします。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.