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 |