OID_GEN_CO_SUPPORTED_GUIDS
O OID_GEN_CO_SUPPORTED_GUIDS OID solicita que o driver de miniporte 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 miniporto envia por meio de NdisMCoIndicateStatusEx.
A estrutura NDIS_GUID é definida da seguinte maneira:
typedef struct _NDIS_GUID {
GUID Guid;
union {
NDIS_OID Oid;
NDIS_STATUS Status;
};
ULONG Size;
ULONG Flags;
} NDIS_GUID, *PNDIS_GUID;
Os membros dessa estrutura contêm as seguintes informações:
Guid
O GUID personalizado definido para o driver de miniporto.
Oid
A OID personalizada para a qual Guid mapeia.
de Status do
A NDIS_STATUS à qual Guid mapeia.
de tamanho de
Quando o sinalizador de fNDIS_GUID_ARRAY é definido, Tamanho especifica o tamanho em bytes de cada item de dados na matriz retornada pelo driver de miniporto. Se o sinalizador fNDIS_GUID_ANSI_STRING ou fNDIS_GUID_NDIS_STRING estiver definido, de Tamanho será definido como -1. Caso contrário, Tamanho especifica o tamanho em bytes do item de dados que o GUID representa.
sinalizadores
Os sinalizadores a seguir podem ser ORed juntos para indicar se o GUID é mapeado para uma OID ou para uma cadeia de caracteres de 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 uma OID.
fNDIS_GUID_TO_STATUS
Quando definido, indica que a estrutura NDIS_GUID mapeia um GUID para uma cadeia de caracteres de 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.
Observações
Nota
Por padrão, GUIDs WMI personalizados fornecidos por um driver de miniporto só são acessíveis para usuários com privilégios de administrador. Um usuário com privilégios de administrador sempre poderá ler ou gravar em um GUID personalizado se o driver de miniporto der suporte à 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 miniporto devem definir fNDIS_GUID_TO_OID ou fNDIS_GUID_TO_STATUS (nunca definir ambos). Todos os outros sinalizadores podem ser combinados usando o operador OR conforme aplicável.
No exemplo a seguir, uma estrutura 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 intercepta um GUID enviado pelo WMI para um driver NDIS, mapeia o GUID para uma OID e envia o OID para o driver. O driver retorna os itens de dados para o NDIS, que retorna os dados para o WMI.
O NDIS também converte alterações no status nic em GUIDs reconhecidos pelo WMI. Quando um driver de miniporto relata uma alteração no status nic com NdisMCoIndicateStatusEx, o NDIS converte o NDIS_STATUS indicado pelo driver de miniporto em um GUID que o NDIS envia ao WMI.
Se um driver de miniporto orientado à conexão der suporte a GUIDs alfandegários, ele deverá dar suporte a OID_GEN_CO_SUPPORTED_GUIDS, que retorna ao NDIS o mapeamento de GUIDs personalizados para OIDs personalizados ou cadeias de caracteres de NDIS_STATUS. Depois de consultar o driver de miniporto com OID_GEN_CO_SUPPORTED_GUIDS, o NDIS registra os GUIDs personalizados do driver de miniport com WMI.
Requisitos
versão: Windows Vista e posterior Header: Ntddndis.h (include Ndis.h)