PrintSystemJobInfo.UntilTimeOfDay Propriété
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Obtient la dernière heure de la journée, exprimée en nombre de minutes à partir de minuit dans le temps universel coordonné (UTC) (également appelé temps moyen de Greenwich [GMT]), à laquelle le travail d'impression peut commencer.
public:
property int UntilTimeOfDay { int get(); };
public int UntilTimeOfDay { get; }
member this.UntilTimeOfDay : int
Public ReadOnly Property UntilTimeOfDay As Integer
Valeur de propriété
Un Int32 qui spécifie la dernière heure à laquelle le travail d'impression peut commencer, exprimée en nombre de minutes après minuit (UTC). La valeur maximale est 1439.
Exemples
L’exemple suivant montre comment utiliser cette propriété dans le cadre du processus de diagnostic d’un travail d’impression problématique.
static Boolean ReportAvailabilityAtThisTime (PrintSystemJobInfo^ theJob)
{
Boolean available = true;
if (theJob->StartTimeOfDay != theJob->UntilTimeOfDay)
{
DateTime utcNow = DateTime::UtcNow;
Int32 utcNowAsMinutesAfterMidnight = (utcNow.TimeOfDay.Hours * 60) + utcNow.TimeOfDay.Minutes;
// If "now" is not within the range of available times . . .
if (!((theJob->StartTimeOfDay < utcNowAsMinutesAfterMidnight) && (utcNowAsMinutesAfterMidnight < theJob->UntilTimeOfDay)))
{
available = false;
}
}
return available;
}
private static Boolean ReportAvailabilityAtThisTime(PrintSystemJobInfo theJob)
{
Boolean available = true;
if (theJob.StartTimeOfDay != theJob.UntilTimeOfDay) // If the job cannot be printed at all times of day
{
DateTime utcNow = DateTime.UtcNow;
Int32 utcNowAsMinutesAfterMidnight = (utcNow.TimeOfDay.Hours * 60) + utcNow.TimeOfDay.Minutes;
// If "now" is not within the range of available times . . .
if (!((theJob.StartTimeOfDay < utcNowAsMinutesAfterMidnight)
&&
(utcNowAsMinutesAfterMidnight < theJob.UntilTimeOfDay)))
{
available = false;
}
}
return available;
}//end ReportAvailabilityAtThisTime
Private Shared Function ReportAvailabilityAtThisTime(ByVal theJob As PrintSystemJobInfo) As Boolean
Dim available As Boolean = True
If theJob.StartTimeOfDay <> theJob.UntilTimeOfDay Then ' If the job cannot be printed at all times of day
Dim utcNow As Date = Date.UtcNow
Dim utcNowAsMinutesAfterMidnight As Int32 = (utcNow.TimeOfDay.Hours * 60) + utcNow.TimeOfDay.Minutes
' If "now" is not within the range of available times . . .
If Not((theJob.StartTimeOfDay < utcNowAsMinutesAfterMidnight) AndAlso (utcNowAsMinutesAfterMidnight < theJob.UntilTimeOfDay)) Then
available = False
End If
End If
Return available
End Function 'end ReportAvailabilityAtThisTime
Remarques
Cette valeur est propagée à chaque PrintSystemJobInfo objet à partir de la PrintQueue.UntilTimeOfDay propriété de l’hébergement PrintQueue au moment où le travail entre dans la file d’attente. Si PrintQueue.UntilTimeOfDay est modifié, toute PrintSystemJobInfo.UntilTimeOfDay valeur postérieure PrintQueue.UntilTimeOfDay à est remplacée par la valeur de PrintQueue.UntilTimeOfDay.
Une fois le travail ajouté à la file d’attente, une nouvelle UntilTimeOfDay valeur peut lui être attribuée via l’interface utilisateur Microsoft Windows, à condition qu’elle ne soit pas postérieure PrintQueue.UntilTimeOfDayà .
Si vous n’êtes pas dans le fuseau horaire UTC, vous devez ajouter ou soustraire des multiples de 60 pour obtenir l’heure correcte pour votre fuseau horaire. Par exemple, si vous êtes dans le fuseau horaire du Pacifique de Amérique du Nord et que l’heure d’été n’est pas en vigueur, votre heure locale est de 8 heures plus tôt que UTC. Si UntilTimeOfDay retourne 960, cela signifie 16 :00 (16 :00) en UTC (car 960/60 = 16). Pour convertir cette valeur en Heure du Pacifique, vous devez soustraire 480 (= 8 * 60) minutes.
Vous devez également vous rappeler que le temps passe à zéro après 24 heures (c’est-à-dire, après la 1439e minute). Si UntilTimeOfDay retourne 120, cela signifie 02 :00 en UTC. Pour convertir cette valeur en Heure du Pacifique, vous devez soustraire 480 minutes, ce qui entraîne -360. Pour obtenir une valeur positive qui a une signification, ajoutez le nombre négatif au nombre total de minutes d’un jour, 1440, ce qui aboutit à une valeur finale de 1080 (18 :00) Heure du Pacifique.
Consultez TimeZone, TimeSpanet DateTime pour connaître les méthodes qui permettent d’effectuer des ajustements de fuseau horaire.
Si l’imprimante est toujours disponible, cette propriété renvoie 0 dans tous les fuseaux horaires.