PrintSystemJobInfo.StartTimeOfDay Proprietà
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Ottiene il primo orario possibile, espresso come numero di minuti dopo la mezzanotte ora UTC (Coordinated Universal Time), nota anche come ora GMT (Greenwich Mean Time), per l'avvio della stampa di un processo.
public:
property int StartTimeOfDay { int get(); };
public int StartTimeOfDay { get; }
member this.StartTimeOfDay : int
Public ReadOnly Property StartTimeOfDay As Integer
Valore della proprietà
Oggetto Int32 che specifica il primo orario possibile per l'avvio del processo di stampa, espresso come numero di minuti dopo la mezzanotte (ora UTC). Il valore massimo è 1439.
Esempio
Nell'esempio seguente viene illustrato come usare questa proprietà come parte del processo di diagnosi di un processo di stampa problematico.
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
Commenti
Questo valore viene propagato a ogni PrintSystemJobInfo oggetto dalla PrintQueue.StartTimeOfDay proprietà dell'hosting PrintQueue al momento in cui il processo entra nella coda. Se PrintQueue.StartTimeOfDay viene modificato, qualsiasi PrintSystemJobInfo.StartTimeOfDay valore precedente a PrintQueue.StartTimeOfDay quello che viene modificato nel valore di PrintQueue.StartTimeOfDay.
Dopo aver aggiunto il processo alla coda, può essere assegnato un nuovo StartTimeOfDay valore tramite l'interfaccia utente di Microsoft Windows (UI), purché non sia precedente a PrintQueue.StartTimeOfDay.
Se non si è nel fuso orario UTC, è necessario aggiungere o sottrarre più di 60 per ottenere l'ora corretta per il fuso orario. Ad esempio, se si è nel fuso orario Pacifico di America del Nord e l'ora legale non è effettiva, l'ora locale è di 8 ore prima dell'ORA UTC. Se StartTimeOfDay restituisce 960, significa 16:00 (4:00 PM) in UTC (perché 960/60 = 16). Per convertire questo valore in Pacific Time, è necessario sottrarre 480 (= 8 * 60) minuti.
È anche necessario ricordare che il tempo passa a zero dopo 24 ore ,ovvero dopo il 1439° minuto. Se StartTimeOfDay restituisce 120, significa che le 2:00 sono in formato UTC. Per convertire questo valore in Pacific Time, è necessario sottraere 480 minuti, che comporta -360. Per ottenere un valore positivo che ha significato, aggiungere il numero negativo ai minuti totali in un giorno, 1440, causando un valore finale di 1080 (6:00 PM) Tempo Pacifico.
Vedere TimeZone, TimeSpane DateTime per i metodi che consentono di apportare modifiche al fuso orario.
Se la stampante è sempre disponibile, questa proprietà restituisce 0 in tutti i fusi orari.