次の方法で共有


XcvOpenPort 関数 (winsplp.h)

ポート モニター サーバー DLL の XcvOpenPort 関数は、構成操作用のポートを開きます。

構文

BOOL XcvOpenPort(
  LPCWSTR     pszObject,
  ACCESS_MASK GrantedAccess,
  PHANDLE     phXcv
);

パラメーター

pszObject

ポートの名前を表す文字列への呼び出し元が指定したポインター。 NULL できます。ほとんどのモニターでは、このパラメーターは必要ありません。

GrantedAccess

印刷モニター UI DLL がスプーラーの OpenPrinter 関数を呼び出す際にユーザーに付与されるアクセス権を含む呼び出し元が指定したACCESS_MASK構造体。 次の「解説」セクションを参照してください。

phXcv

関数指定のポート ハンドルを受け取る場所への呼び出し元指定のポインター。

戻り値

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

備考

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

指定したプリンター名に "XcvPort" または "XcvMonitor" のいずれかの文字列が含まれている場合、スプーラーの OpenPrinter 関数 (Microsoft Windows SDK ドキュメントで説明) は XcvOpenPort を呼び出 します。 詳細については、「AddPortUI する」を参照してください。

XcvOpenPort 関数は、構成目的でポートを開く必要があります。 この操作は、後で XcvDataPort 内で使用するために入力引数格納することのみで構成される場合があります。 この関数は、phXcv が指す場所に格納されている情報ハンドルを返す必要があります。 このハンドルは、OpenPrinterの呼び出し元に返され、その後 XcvDataPort への入力引数として受け取られます。

この関数は、付与されたアクセス マスクを保存する必要があります。 その後、サーバー DLL の XcvDataPort 関数が呼び出されると、許可されたアクセスがSERVER_ACCESS_ADMINISTERと比較され、比較が失敗した場合は、XcvDataPort はERROR_ACCESS_DENIEDを返す必要があります。

必要条件

要件 価値
ターゲット プラットフォーム デスクトップ
ヘッダー winsplp.h (Winsplp.h を含む)
ライブラリ NtosKrnl.exe

関連項目

InitializePrintMonitor2

XcvClosePort する

XcvDataPort する

AddPortUI