Condividi tramite


Metodo IWiaPropertyStorage::GetPropertyAttributes (wia_xp.h)

Il metodo IWiaPropertyStorage::GetPropertyAttributes recupera i diritti di accesso e le informazioni sul valore legale per un set specificato di proprietà.

Sintassi

HRESULT GetPropertyAttributes(
  [in]  ULONG          cpspec,
  [in]  PROPSPEC []    rgpspec,
  [out] ULONG []       rgflags,
  [out] PROPVARIANT [] rgpropvar
);

Parametri

[in] cpspec

Tipo: ULONG

Specifica il numero di attributi delle proprietà da eseguire in query.

[in] rgpspec

Tipo: PROPSPEC[]

Specifica una matrice di costanti della proprietà Device Information. Ogni costante nella matrice seleziona una proprietà da eseguire per la query.

[out] rgflags

Tipo: ULONG[]

Matrice che riceve un descrittore dell'attributo di proprietà per ogni proprietà specificata nella matrice rgpspec . Ogni elemento della matrice è uno o più valori descrittori combinati con un'operazione OR bit per bit.

[out] rgpropvar

Tipo: PROPVARIANT[]

Matrice che riceve un descrittore dell'attributo di proprietà per ogni proprietà specificata nella matrice pPROPSPEC . Per altre informazioni, vedere PROPVARIANT.

Valore restituito

Tipo: HRESULT

Questo metodo restituisce uno dei valori seguenti o un codice di errore COM standard:

Valore restituito Significato
S_OK Questo metodo ha avuto esito positivo.
S_FALSE I nomi delle proprietà specificati non esistono. Non sono stati recuperati attributi.
STG_E_ACCESSDENIED L'applicazione non ha accesso al flusso di proprietà o il flusso potrebbe essere già aperto.
STG_E_INSUFFICIENTMEMORY Memoria insufficiente per completare l'operazione.
ERROR_NOT_SUPPORTED Il tipo di proprietà non è supportato.
STG_E_INVALIDPARAMETER Uno o più parametri non sono validi. Una o più strutture PROPSPEC contengono dati non validi.
STG_E_INVALIDPOINTER Uno o più puntatori passati a questo metodo non sono validi.
ERROR_NO_UNICODE_TRANSLATION Non è riuscita una traduzione da Unicode a ANSI o ANSI a Unicode.

Commenti

Questo metodo recupera sia i diritti di accesso alle proprietà che i valori di proprietà validi. I diritti di accesso segnalano se la proprietà è leggibile, scrivibile o entrambe. I valori delle proprietà validi vengono specificati come intervallo di valori, un elenco di valori o un gruppo di valori flag. Per altre informazioni, vedere Attributi delle proprietà.

Se il flag dei diritti di accesso alla proprietà ha il set di WIA_PROP_NONE bit, non sono disponibili informazioni sul valore legale per questa proprietà. Leggere solo proprietà e proprietà con un tipo di dati binario sono esempi di proprietà che avrebbero il set di bit WIA_PROP_NONE .

Se la proprietà ha un intervallo di valori validi, è possibile determinare tramite il parametro rgpropvar al completamento di questo metodo. Il parametro ppvValidValues specifica una matrice di strutture PROPVARIANT .

Ad esempio, se l'intervallo di proprietà viene specificato come VT_VECTOR | VT_UI4, le informazioni sull'intervallo possono essere recuperate tramite il membro della struttura

rgpropvar[n].caul.pElems[range_specifier]

dove n è il numero di indice della proprietà controllata e range_specifier è uno dei seguenti:

Identificatore di intervallo Significato
WIA_RANGE_MAX Valore massimo a cui può essere impostata la proprietà.
WIA_RANGE_MIN Valore minimo a cui può essere impostata la proprietà.
WIA_RANGE_NOM Valore normale o predefinito della proprietà.
WIA_RANGE_STEP Incremento o decremento tra i valori delle proprietà.
 

Se la proprietà ha un elenco di valori validi, le applicazioni determinano tramite il parametro ppvValidValues al completamento di questo metodo.

Ad esempio, se l'intervallo di proprietà viene specificato come VT_VECTOR | VT_UI4, è possibile recuperare l'elenco di valori di proprietà validi tramite il membro della struttura

rgpropspecValues[n].caul.pElems[list_specifier]

dove n è il numero di indice della proprietà controllata e list_specifier è uno dei seguenti:

Identificatore di intervallo Significato
WIA_LIST_COUNT Numero totale di elementi di elenco esclusi il valore nominale.
WIA_LIST_NOM Valore nominale per la proprietà.
WIA_LIST_VALUES Numero di indice del primo valore.
 

I programmi usano anche il parametro ppvValidValues per recuperare valori di flag validi. Ad esempio, se i flag di proprietà vengono specificati come VT_UI4, i valori di flag validi possono essere determinati tramite il membro della struttura

rgpropspec[n].caul.pElems[flag_specifier]

dove n è il numero di indice della proprietà controllata e flag_specifier è uno dei seguenti:

Identificatore di intervallo Significato
WIA_FLAG_NOM Valore nominale per la proprietà.
WIA_FLAG_NUM_ELEMS Numero totale di elementi di elenco esclusi il valore nominale.
WIA_FLAG_VALUES Tutti i valori con tutti i bit di flag validi impostati.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional, Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione wia_xp.h (includere Wia.h)
Libreria Wiaguid.lib
DLL Wiaservc.dll

Vedi anche

IPropertyStorage

IWiaPropertyStorage