次の方法で共有


OpenPort 関数 (winsplp.h)

ポート モニターの OpenPort 関数は、プリンター ポートを開きます。

構文

BOOL OpenPort(
  LPWSTR  pName,
  PHANDLE pHandle
);

パラメーター

pName

呼び出し元が指定した、開くポートの名前を含む文字列へのポインター。

pHandle

ポート ハンドルを受信する場所への呼び出し元が指定したポインター。

戻り値

操作が成功した場合、関数は TRUE を返す必要があります。 それ以外の場合は 、FALSE を返す必要があります。

注釈

ポート モニター サーバー DLL は、 OpenPort 関数を定義し、 MONITOR2 構造体に関数のアドレスを含めるために必要です。

OpenPort 関数は、印刷キューがポートに接続されているときに、言語モニターまたは印刷スプーラーによって呼び出されます。 OpenPort 関数の主な目的は、ポート モニターの StartDocPort、WritePortReadPortEndDocPortおよび GetPrinterDataFromPort 関数の後続の呼び出しに対する入力引数として呼び出し元が使用できるポート ハンドルを返することです。

OpenPort 関数は、ポート ハンドルを返すだけでなく、読み取り操作または書き込み操作を実行する前に処理する必要がある初期化操作を実行できます。 たとえば、ポートで変更可能なタイムアウト値がサポートされている場合、 OpenPort 関数はこれらの値を設定する必要があります。

OpenPort の呼び出しは、印刷ジョブ固有ではありません。 ポート モニターの OpenPort 関数と ClosePort 関数を呼び出すたびに、StartDocPort 関数と EndDocPort 関数を複数回呼び出すことができます。

印刷スプーラーが特定のポート名で OpenPort を 呼び出した後、 ClosePort を呼び出す前に同じポート名で OpenPort を再度呼び出さないと仮定できます。

ポート ハンドルを入力として受け入れる印刷モニター機能では、モニター ハンドルも受け入れられません。 したがって、 OpenPort 関数は、受信したモニター ハンドルをポート ハンドルによって参照できる場所に格納する必要があります。 これにより、ポート ハンドルを受け入れる関数がモニター ハンドルを参照できるようになります。

要件

要件
対象プラットフォーム デスクトップ
Header winsplp.h (Winsplp.h を含む)
Library NtosKrnl.exe

こちらもご覧ください

GetPrinterDataFromPort

SetPortTimeOuts

ClosePort

StartDocPort

OpenPortEx

InitializePrintMonitor2

WritePort

EndDocPort

ReadPort