Compartir a través de


Método ICertView::SetRestriction (certview.h)

El método SetRestriction establece las restricciones de ordenación y calificación en una columna.

Sintaxis

HRESULT SetRestriction(
  [in] LONG          ColumnIndex,
  [in] LONG          SeekOperator,
  [in] LONG          SortOrder,
  [in] const VARIANT *pvarValue
);

Parámetros

[in] ColumnIndex

Número de índice de columna válido para la vista o un especificador de columna predefinido. Si el parámetro ColumnIndex no es negativo, este valor representa el índice de base cero de la columna que recibe la restricción.

Si el parámetro ColumnIndex es negativo, se omiten todos los demás parámetros y este parámetro debe ser uno de los siguientes valores:

Valor Significado
CV_COLUMN_QUEUE_DEFAULT
-1
Restringe la vista a las solicitudes que no se han resuelto; Si una solicitud ha dado lugar a un certificado emitido o a una solicitud con error, no formará parte de la vista.
CV_COLUMN_LOG_DEFAULT
-2
Restringe la vista a las solicitudes que se han resuelto. Se resuelve una solicitud si se ha producido un certificado emitido o una solicitud con error; Los certificados revocados se consideran resueltos.
CV_COLUMN_LOG_FAILED_DEFAULT
-3
Restringe la vista a las solicitudes que han fallado.

[in] SeekOperator

Especifica el operador lógico del calificador de consulta de datos para la columna. Este parámetro se usa con el parámetro pvarValue para definir el calificador de consulta de datos.

Este parámetro debe establecerse en uno de los siguientes valores:

Valor Significado
CVR_SEEK_EQ
0x1
Igual a
CVR_SEEK_LT
0x2
Menos que
CVR_SEEK_LE
0x4
Menor o igual que
CVR_SEEK_GE
0x8
Mayor o igual que
CVR_SEEK_GT
0x10
Mayor que

[in] SortOrder

Especifica el criterio de ordenación de la columna. Las columnas indizadas con cero o una restricción pueden incluir un criterio de ordenación de CVR_SORT_ASCEND o CVR_SORT_DESCEND. Las columnas o columnas no indexadas con dos o más restricciones deben usar CVR_SORT_NONE.

Valor Significado
CVR_SORT_NONE
0
Sin criterio de ordenación
CVR_SORT_ASCEND
0x1
Ascendente
CVR_SORT_DESCEND
0x2
Descendente

[in] pvarValue

Especifica el calificador de consulta de datos aplicado a esta columna. Este parámetro, junto con el parámetro SeekOperator, determina qué datos se devuelven a la vista Servicios de certificados.

Valor devuelto

Si el método se ejecuta correctamente, el método devuelve S_OK.

Si se produce un error en el método, devuelve un valor de HRESULT que indica el error. Para obtener una lista de códigos de error comunes, vea valores HRESULT comunes.

Observaciones

El objeto ICertView mantiene una matriz de restricciones, lo que permite que cada columna contenga cualquier número de restricciones. Una vez establecidas las restricciones de columna, una llamada al método ICertView::OpenView recuperará los datos, con las restricciones de cada columna usadas como parte de la consulta de base de datos.

Antes de llamar al método SetRestriction, es necesario establecer una conexión con el servidor de servicio de certificados llamando al métodoICertView::OpenConnection.

Ejemplos

    // This example restricts the data
    // to rows that have RequestIDs greater than five.
    // pCertView is a pointer to ICertView.
    HRESULT    hr;
    VARIANT    varRest;
    LONG       nIndex;
    BSTR       bstrCol = NULL;

    // Use one column in the result set.
    hr = pCertView->SetResultColumnCount(1);
    if (FAILED(hr))
    {
        printf("Failed SetResultColumnCount - %x\n", hr);
        goto error;
    }
    // Determine the column index for RequestID column.
    bstrCol = SysAllocString(TEXT("RequestID"));
    hr = pCertView->GetColumnIndex(FALSE, bstrCol, &nIndex);
    if (FAILED(hr))
    {
        printf("Failed GetColumnIndex - %x\n", hr);
        goto error;
    }
    // Place this column into the result set.
    pCertView->SetResultColumn(nIndex);
    // Set a restriction on this column.
    VariantInit(&varRest);
    varRest.vt = VT_I4;
    varRest.lVal = 5;
    // Restrict view to requests with ID greater than 5.
    hr = pCertView->SetRestriction(nIndex,
                                   CVR_SEEK_GT,
                                   CVR_SORT_NONE,
                                   &varRest);
    if (S_OK != hr)
        printf("Failed ICertView::SetRestriction - %x\n", hr);
    else
    {
        // Call OpenView, process rows, release resources, and so on.
        // ...
    }
error:
    // Done processing, clear resources.
    VariantClear(&varRest);
    if (NULL != bstrCol)
        SysFreeString(bstrCol);

Requisitos

Requisito Valor
cliente mínimo admitido No se admite ninguna
servidor mínimo admitido Windows Server 2003 [solo aplicaciones de escritorio]
de la plataforma de destino de Windows
encabezado de certview.h (incluya Certsrv.h)
biblioteca de Certidl.lib
DLL de Certadm.dll

Consulte también

ICertView

ICertView2

ICertView::OpenConnection

ICertView::OpenView

ICertView::SetResultColumn

IEnumCertViewColumn::IsIndexed