EnumPorts 関数
EnumPorts 関数は、指定したサーバーでの印刷に使用できるポートを列挙します。
構文
BOOL EnumPorts(
_In_ LPTSTR pName,
_In_ DWORD Level,
_Out_ LPBYTE pPorts,
_In_ DWORD cbBuf,
_Out_ LPDWORD pcbNeeded,
_Out_ LPDWORD pcReturned
);
パラメーター
-
pName [in]
-
列挙するプリンター ポートを持つサーバーの名前を指定する null で終わる文字列へのポインター。
pName が NULL の場合、関数はローカル コンピューターのプリンター ポートを列挙します。
-
レベル [入力]
-
pPorts バッファーで返される情報の種類。 Level が 1 の場合、pPorts はPORT_INFO_1構造体の配列を受け取ります。 Level が 2 の場合、pPorts はPORT_INFO_2構造体の配列を受け取ります。
-
pPorts [out]
-
PORT_INFO_1構造体またはPORT_INFO_2構造体の配列を受け取るバッファーへのポインター。 各構造体には、使用可能なプリンター ポートを記述するデータが含まれています。 バッファーは、構造体メンバーが指す文字列を格納するのに十分な大きさである必要があります。
必要なバッファー サイズを確認するには、cbBuf を 0 に設定して EnumPorts を呼び出します。 EnumPorts は失敗し、 GetLastError は ERROR_INSUFFICIENT_BUFFERを返し、 pcbNeeded パラメーターは構造体とそのデータの配列を保持するために必要なバッファーのサイズ (バイト単位) を返します。
-
cbBuf [in]
-
pPorts が指すバッファーのサイズ (バイト単位)。
-
pcbNeeded [out]
-
pPorts バッファーにコピーされたバイト数を受け取る変数へのポインター。 バッファーが小さすぎると、関数は失敗し、変数は必要なバイト数を受け取ります。
-
pcReturned [out]
-
pPorts バッファーで返されるPORT_INFO_1またはPORT_INFO_2構造体の数を受け取る変数へのポインター。 これは、指定したサーバーで使用できるプリンター ポートの数です。
戻り値
関数が成功した場合、戻り値は 0 以外の値になります。
関数が失敗した場合は、0 を返します。
注釈
注意
これはブロック関数または同期関数であり、すぐには返されない可能性があります。 この関数が返す速度は、ネットワーク状態、プリント サーバーの構成、プリンター ドライバーの実装要因など、アプリケーションの作成時に予測が困難な実行時の要因によって異なります。 ユーザー インターフェイスとの対話を管理するスレッドからこの関数を呼び出すと、アプリケーションが応答しなくなる可能性があります。
pName で指定されたサーバーにプリンターが定義されていない場合でも、EnumPorts 関数は成功します。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント |
Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー |
Windows 2000 Server [デスクトップ アプリのみ] |
ヘッダー |
|
ライブラリ |
|
[DLL] |
|
Unicode 名と ANSI 名 |
EnumPortsW (Unicode) と EnumPortsA (ANSI) |