jvGetPrinterDevMode(プリンタドライバ情報取得)

プリンタドライバの情報を取得します。

[構文]
 
Function jvGetPrinterDevMode(ByVal prnName As String, ByVal bufLen As Long, ByVal buffer As String) As Long
 
C言語
int jvGetPrinterDevMode(char *prnName, int bufLen, char *buffer);
 
JAVA
int jvGetPrinterDevMode(String prnName, int bufLen, StringBuffer buffer);
 
Delphi
Function jvGetPrinterDevMode(prnName: PAnsiChar; bufLen: Longint; buffer: PAnsiChar): Longint;
   

設定項目

内容

prnName

情報を取得するプリンタ名称

bufLen

確保した情報取得バッファの長さ

buffer

情報取得バッファ

 
リターンコード
 

 

内容

 

0

正常終了

 

0以上

情報取得バッファに必要な長さ

JV_ERR_DEVMODEGET

-20

プリンタドライバ情報取得エラー  

JV_ERR_MEMORY

-4

メモリ関連エラー

 
[解説]
 
プリンタドライバ情報が正常に取得できた場合には、リターンコードに0が返ります。取得するためのバッファサイズが不足している場合には、リターンコードに必要なバッファサイズが返ります。リターンコードが1以上の時は、リターンコードの示すサイズのバッファを確保し、もう一度jvGetPrinterDevModeをコールしてください。  
bufLen に0を設定してjvGetPrinterDevModeをコールすると、情報取得に必要なバッファサイズが返ります。JAVAでは、bufLen の値は無視されます。
buffer で取得した値はjvSetDevModeファンクションで使うことができます。
jvGetPrinterDevModeはどこでもコールすることができます。
 
プリンタドライバ情報について   
 
[コーディング例]
 
Dim ret&, bufLen&, buffer$
bufLen = jvGetPrinterDevMode ("EPSON", 0, buffer)
If bufLen > 0 Then
'取得用バッファを確保し、再度実行する
buffer = Space(bufLen)
ret= jvGetPrinterDevMode ("EPSON", bufLen, buffer)
Else
MsgBox " jvGetPrinterDevMode " + CStr(bufLen)
End If