Share via


Fonction XcvOpenPort (winsplp.h)

La fonction XcvOpenPort d’une DLL de moniteur de port ouvre un port pour les opérations de configuration.

Syntaxe

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

Paramètres

pszObject

Pointeur fourni par l’appelant vers une chaîne représentant le nom du port. Peut être NULL, et la plupart des moniteurs n’ont pas besoin de ce paramètre.

GrantedAccess

Structure ACCESS_MASK fournie par l’appelant contenant l’accès accordé à l’utilisateur lors d’un appel de la DLL d’interface utilisateur de moniteur d’impression à la fonction OpenPrinter du spouleur . Consultez la section Remarques suivante.

phXcv

Pointeur fourni par l’appelant vers un emplacement pour recevoir un handle de port fourni par une fonction.

Valeur retournée

Si l’opération réussit, la fonction doit retourner TRUE. Sinon, elle doit retourner FALSE.

Remarques

Les DLL du serveur du moniteur de port sont nécessaires pour définir une fonction XcvOpenPort et inclure son adresse dans une structure de MONITOR2 .

La fonction OpenPrinter du spouleur (décrite dans la documentation Microsoft Windows SDK) appelle XcvOpenPort si le nom d’imprimante spécifié inclut l’une des chaînes « XcvPort » ou « XcvMonitor ». Pour plus d’informations, consultez AddPortUI.

La fonction XcvOpenPort doit ouvrir le port à des fins de configuration. Cette opération peut uniquement consister à stocker les arguments d’entrée pour une utilisation ultérieure dans XcvDataPort. La fonction doit retourner un handle aux informations stockées à l’emplacement pointé par phXcv. Ce handle est retourné à l’appelant d’OpenPrinter, puis reçu en tant qu’argument d’entrée dans XcvDataPort.

La fonction doit enregistrer le masque d’accès accordé. Plus tard, lorsque la fonction XcvDataPort de la DLL du serveur est appelée, l’accès accordé doit être comparé à SERVER_ACCESS_ADMINISTER et si la comparaison échoue, XcvDataPort doit retourner ERROR_ACCESS_DENIED.

Configuration requise

Condition requise Valeur
Plateforme cible Desktop (Expérience utilisateur)
En-tête winsplp.h (inclure Winsplp.h)
Bibliothèque NtosKrnl.exe

Voir aussi

InitializePrintMonitor2

XcvClosePort

XcvDataPort

AddPortUI