DosSetSession |
DOS : Fixe la session |
---|---|
SESMGR.DLL | os2.h |
Syntaxe
APIRET DosSetSession( ULONG ulIDSession, PSTATUSDATA psd ); |
Paramètres
Nom | Description | ||||
---|---|---|---|---|---|
ulIDSession | Ce paramètre permet d'indiquer l'identificateur d'une session enfant à fixer dans cette état. | ||||
psd | Ce paramètre permet d'indiquer un pointeur de structure de données «STATUSDATA» : | ||||
Champs | Type de données | Description | |||
Length | USHORT | Ce champ permet d'indiquer la longueur de la structure de données «STATUSDATA» en octets. | |||
SelectInd | USHORT | Ce champ permet d'indiquer si la session de destination doit être sélectionnable ou non sélectionnable : | |||
Constante | Valeur | Description | |||
SET_SESSION_UNCHANGED | 0 | Cette valeur permet d'indiquer qu'il faut garder les ajustements courant inchangé. | |||
SET_SESSION_SELECTABLE | 1 | Cette valeur permet d'indiquer qu'il faut fabriquer une session de destination sélectionnable. | |||
SET_SESSION_NON_SELECTABLE | 2 | Cette valeur permet d'indiquer qu'il faut fabriquer une session de destination non-sélectionnable. | |||
BondInd | USHORT | Ce champ permet d'indiquer quel session est de porter de premier plan lors de la prochaine session. Voici les valeurs autorisé : | |||
Constante | Valeur | Description | |||
SET_SESSION_UNCHANGED | 0 | Cette valeur permet d'indiquer qu'il faut garder les ajustements courant inchangé. | |||
SET_SESSION_BOND | 1 | Cette valeur permet d'indiquer que la session de l'enfant est amené au premier plan. | |||
SET_SESSION_NO_BOND | 2 | Cette valeur permet d'indiquer que la session du parent est amené au premier plan. |
Retour
Valeur | Constante | Description |
---|---|---|
0 | NO_ERROR | Cette valeur permet d'indiquer que l'opération s'est correctement effectué |
369 | ERROR_SMG_INVALID_SESSION_ID | Cette valeur permet d'indiquer que l'identificateur de session est invalide pour le gestionnaire de session. |
418 | ERROR_SMG_INVALID_CALL | Cette valeur permet d'indiquer un appel invalide au gestionnaire de session. |
455 | ERROR_SMG_INVALID_BOND_OPTION | Cette valeur permet d'indiquer un erreur de limite d'option invalide s'est produit dans le gestionnaire de session. |
456 | ERROR_SMG_INVALID_SELECT_OPT | Cette valeur permet d'indiquer un erreur de sélection d'option invalide s'est produit dans le gestionnaire de session. |
460 | ERROR_SMG_PROCESS_NOT_PARENT | Cette valeur permet d'indiquer que le processus n'a pas de parent dans le gestionnaire de session. |
461 | ERROR_SMG_INVALID_DATA_LENGTH | Cette valeur permet d'indiquer que les données sont de longueurs invalide dans le gestionnaire de session. |
463 | ERROR_SMG_RETRY_SUB_ALLOC | Cette valeur permet d'indiquer une tentative réallocation dans le gestionnaire de session n'a pas réussis. |
Description
Cette fonction permet de fixer deux états de champs dans une session enfant; sélectionnable ou non sélectionnable lequel spécifié si la session enfant doit apparaitre dans la liste des tâches.
Exemple
Voici un simple exemple montrant comme appeler cette API avec WatCom C++ for OS/2 :
- #define INCL_DOSERRORS
- #define INCL_DOSSESMGR
- #include "os2.h"
- #include "stdio.h"
-
- void main(void) {
- ULONG ulIDSession;
- STATUSDATA sd;
- sd.Length = sizeof(STATUSDATA);
- sd.SelectInd = SET_SESSION_SELECTABLE;
- sd.BondInd = SET_SESSION_UNCHANGED;
- switch(DosSetSession(ulIDSession, &sd)) {
- case NO_ERROR: printf("Tout va bien !");break;
- case ERROR_SMG_INVALID_SESSION_ID: printf("Erreur : Identificateur de session est invalide pour le gestionnaire de session.");break;
- case ERROR_SMG_INVALID_CALL: printf("Erreur : Un appel invalide au gestionnaire de session.");break;
- case ERROR_SMG_INVALID_BOND_OPTION: printf("Erreur : Un erreur de limite d'option invalide s'est produit dans le gestionnaire de session.");break;
- case ERROR_SMG_INVALID_SELECT_OPT: printf("Erreur : Un erreur de sélection d'option invalide s'est produit dans le gestionnaire de session.");break;
- case ERROR_SMG_PROCESS_NOT_PARENT: printf("Erreur : Le processus n'a pas de parent dans le gestionnaire de session.");break;
- case ERROR_SMG_INVALID_DATA_LENGTH: printf("Erreur : Les données sont de longueurs invalide dans le gestionnaire de session.");break;
- case ERROR_SMG_RETRY_SUB_ALLOC: printf("Erreur : Une tentative réallocation dans le gestionnaire de session n'a pas réussis.");break;
- }
- }
Voir également
Langage de programmation - C pour OS/2 - DosStartSession
Langage de programmation - C pour OS/2 - DosStopSession
Langage de programmation - C pour OS/2 - DosSelectSession
Système d'exploitation - OS/2 - Introduction
Dernière mise à jour : Lundi, le 19 juillet 2010