Partilhar via


OID_GEN_CO_SUPPORTED_GUIDS

O OID_GEN_CO_SUPPORTED_GUIDS OID solicita que o driver de miniporta retorne uma matriz de estruturas do tipo NDIS_GUID. Cada estrutura na matriz especifica o mapeamento de um GUID personalizado (identificador global exclusivo) para um OID personalizado ou para um NDIS_STATUS que o driver de miniporta envia através NdisMCoIndicateStatusEx.

A estrutura NDIS_GUID é definida do seguinte modo:

typedef struct _NDIS_GUID {
    GUID    Guid;
    union {
        NDIS_OID    Oid;
        NDIS_STATUS Status;
    };
    ULONG   Size;
    ULONG   Flags;
} NDIS_GUID, *PNDIS_GUID;

Os membros desta estrutura contêm as seguintes informações:

Guid
O GUID personalizado definido para o driver de miniporta.

Oid
O OID personalizado para o qual Guid mapas.

Status
O NDIS_STATUS para o qual Guid mapas.

Tamanho
Quando o sinalizador fNDIS_GUID_ARRAY é definido, Tamanho especifica o tamanho em bytes de cada item de dados na matriz retornada pelo driver de miniporta. Se o sinalizador fNDIS_GUID_ANSI_STRING ou fNDIS_GUID_NDIS_STRING estiver definido, Tamanho será definido como -1. Caso contrário, Tamanho especifica o tamanho em bytes do item de dados que o GUID representa.

Bandeiras
Os sinalizadores a seguir podem ser ORed juntos para indicar se o GUID mapeia para um OID ou para uma cadeia de caracteres NDIS_STATUS e para indicar o tipo de dados fornecidos para o GUID:

fNDIS_GUID_TO_OID
Quando definido, indica que a estrutura NDIS_GUID mapeia um GUID para um OID.

fNDIS_GUID_TO_STATUS
Quando definido, indica que a estrutura NDIS_GUID mapeia um GUID para uma cadeia de caracteres NDIS_STATUS.

fNDIS_GUID_ANSI_STRING
Quando definido, indica que uma cadeia de caracteres ANSI terminada em nulo é fornecida para o GUID.

fNDIS_GUID_UNICODE_STRING
Quando definido, indica que uma cadeia de caracteres Unicode é fornecida para o GUID.

fNDIS_GUID_ARRAY
Quando definido, indica que uma matriz de itens de dados é fornecida para o GUID. O Tamanho especificado indica o comprimento de cada item de dados na matriz.

fNDIS_GUID_ALLOW_READ
Quando definido, indica que todos os usuários têm permissão para consultar esse GUID.

fNDIS_GUID_ALLOW_WRITE
Quando definido, indica que todos os usuários têm permissão para definir esse GUID.

Comentários

Observação

Por padrão, GUIDs WMI personalizados fornecidos por um driver de miniporta só são acessíveis a usuários com privilégios de administrador. Um usuário com privilégios de administrador sempre pode ler ou gravar em um GUID personalizado se o driver de miniporta suportar a operação de leitura ou gravação para esse GUID. Defina os sinalizadores fNDIS_GUID_ALLOW_READ e fNDIS_GUID_ALLOW_WRITE para permitir que todos os usuários acessem um GUID personalizado.

Observe que todos os GUIDs personalizados registrados por um driver de miniporta devem definir fNDIS_GUID_TO_OID ou fNDIS_GUID_TO_STATUS (nunca defina ambos). Todas as outras bandeiras podem ser combinadas utilizando o operador OR, conforme aplicável.

No exemplo a seguir, uma estrutura de NDIS_GUID mapeia um GUID para OID_GEN_CO_RCV_PDUS_NO_BUFFER:

NDIS_GUID NdisGuid =  {{0x0a214809, 0xe35f, 0x11d0, 0x96, 0x92, 0x00,
 0xc0, 0x4f, 0xc3, 0x35, 0x8c},
 GUID_NDIS_GEN_CO_RCV_PDUS_NO_BUFFER,
 OID_GEN_CO_RCV_PDUS_NO_BUFFER,
 4,
 fNDIS_GUID_TO_OID};

Um GUID é um identificador usado pela Instrumentação de Gerenciamento do Windows (WMI) para obter ou definir informações. O NDIS interceta um GUID enviado pelo WMI para um driver NDIS, mapeia o GUID para um OID e envia o OID para o driver. O driver retorna o(s) item(ns) de dados para NDIS, que então retorna os dados para WMI.

O NDIS também traduz as alterações no status da NIC em GUIDs reconhecidos pelo WMI. Quando um driver de miniporta relata uma alteração no status da NIC com NdisMCoIndicateStatusEx, o NDIS converte o NDIS_STATUS indicado pelo driver de miniporta em um GUID que o NDIS envia para o WMI.

Se um driver de miniporta orientado a conexão suporta GUIDs aduaneiros, ele deve suportar OID_GEN_CO_SUPPORTED_GUIDS, que retorna ao NDIS o mapeamento de GUIDs personalizados para OIDs personalizados ou cadeias de caracteres NDIS_STATUS. Depois de consultar o driver de miniporta com OID_GEN_CO_SUPPORTED_GUIDS, o NDIS registra os GUIDs personalizados do driver de miniporta com WMI.

Requerimentos

Versão: Windows Vista e posterior de cabeçalho : Ntddndis.h (incluir Ndis.h)