エスケープ関数 (wingdi.h)

Escape 関数を使用すると、アプリケーションは GDI では使用できないシステム定義のデバイス機能にアクセスできます。 アプリケーションによって行われたエスケープ呼び出しが変換され、ドライバーに送信されます。

構文

int Escape(
  [in]  HDC    hdc,
  [in]  int    iEscape,
  [in]  int    cjIn,
  [in]  LPCSTR pvIn,
  [out] LPVOID pvOut
);

パラメーター

[in] hdc

デバイス コンテキストへのハンドル。

[in] iEscape

実行するエスケープ関数。 このパラメーターは、「解説」に記載されている定義済みのエスケープ値のいずれかである必要があります。 アプリケーションでプライベート エスケープ値が定義されている場合は、 ExtEscape 関数を使用します。

[in] cjIn

lpvInData パラメーターが指すデータのバイト数。 0 を指定できます。

[in] pvIn

指定したエスケープに必要な入力構造体へのポインター。

[out] pvOut

このエスケープから出力を受け取る構造体へのポインター。 データが返されない場合、このパラメーターは NULL にする 必要があります。

戻り値

関数が成功した場合、戻り値は 0 より大きくなりますが、実装のみをチェックする QUERYESCSUPPORT プリンター エスケープを除きます。 エスケープが実装されていない場合、戻り値は 0 です。

関数が失敗した場合、戻り値はシステム エラー コードです。

解説

メモ これはブロック関数または同期関数であり、すぐには返されない可能性があります。 この関数が返す速度は、ネットワークの状態、プリント サーバーの構成、プリンター ドライバーの実装などの実行時の要因によって異なります。これは、アプリケーションの作成時に予測が困難な要因です。 ユーザー インターフェイスとの対話を管理するスレッドからこの関数を呼び出すと、アプリケーションが応答しなくなる可能性があります。
 
cbInput に 0 を渡す効果は、nEscape の値と、エスケープを処理しているドライバーによって異なります。

元のプリンターのエスケープのうち、使用できるのは次のとおりです。

エスケープ 説明
QUERYESCSUPPORT 特定のエスケープがデバイス ドライバーによって実装されているかどうかを判断します。
パススルー アプリケーションがプリンターにデータを直接送信できるようにします。
 

プリンターエスケープの詳細については、「 ExtEscape」を参照してください。

StartPage 関数を使用して、データを受信するようにプリンター ドライバーを準備します。

要件

   
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー wingdi.h (Windows.h を含む)
Library Gdi32.lib
[DLL] Gdi32.dll

関連項目

Abortdoc

DocumentProperties

EndDoc

EndPage

ExtEscape

GetDeviceCaps

印刷スプーラー API 関数

PrinterProperties

印刷

ResetDC

SetAbortProc

Startdoc

StartPage