estrutura STOR_DEVICE_CAPABILITIES_EX (storport.h)

A estrutura STOR_DEVICE_CAPABILITIES_EX relata os recursos do dispositivo para o driver storport em resposta a uma consulta de funcionalidades em um SRB (bloco de solicitação SCSI) com uma função de SRB_FUNCTION_PNP.

Sintaxe

typedef struct _STOR_DEVICE_CAPABILITIES_EX {
  USHORT Version;
  USHORT Size;
  ULONG  DeviceD1 : 1;
  ULONG  DeviceD2 : 1;
  ULONG  LockSupported : 1;
  ULONG  EjectSupported : 1;
  ULONG  Removable : 1;
  ULONG  DockDevice : 1;
  ULONG  UniqueID : 1;
  ULONG  SilentInstall : 1;
  ULONG  RawDeviceOK : 1;
  ULONG  SurpriseRemovalOK : 1;
  ULONG  NoDisplayInUI : 1;
  ULONG  DefaultWriteCacheEnabled : 1;
  ULONG  Reserved0 : 20;
  ULONG  Address;
  ULONG  UINumber;
  ULONG  Reserved1[2];
} STOR_DEVICE_CAPABILITIES_EX, *PSTOR_DEVICE_CAPABILITIES_EX;

Membros

Version

Especifica a versão da estrutura. Defina como STOR_DEVICE_CAPABILITIES_EX_VERSION_1 pelo Storport.

Size

Especifica o tamanho da estrutura. Defina como sizeof(STOR_DEVICE_CAPABILITIES_EX) por Storport.

DeviceD1

Especifica se o hardware do dispositivo dá suporte ao estado de energia D1. Os drivers de miniporte definem esse bit como 0.

DeviceD2

Especifica se o hardware do dispositivo dá suporte ao estado de energia D2. Os drivers de miniporte definem esse bit como 0.

LockSupported

Especifica se o dispositivo dá suporte ao bloqueio de dispositivo físico que impede a ejeção do dispositivo. Esse membro pertence à ejeção de um LUN ou de um dispositivo de unidade.

EjectSupported

Especifica se o dispositivo dá suporte à ejeção de dispositivo controlada por software enquanto o sistema está no estado PowerSystemWorking . Esse membro pertence à ejeção de um lun ou dispositivo de unidade.

Removable

Especifica se o dispositivo pode ser removido dinamicamente de seu pai imediato. Se Removable for definido como TRUE, o dispositivo não pertencerá ao mesmo objeto físico que seu pai.

Se Removable for definido como TRUE, o dispositivo será exibido no programa Remover ou Ejetar Hardware, a menos que SurpriseRemovalOK também esteja definido como TRUE.

DockDevice

Especifica se o dispositivo é um periférico de encaixe.

UniqueID

Especifica se a ID da instância do dispositivo é exclusiva em todo o sistema. Esse bit fica claro se a ID da instância é exclusiva somente dentro do escopo do barramento.

SilentInstall

Especifica se Gerenciador de Dispositivos deve suprimir todas as caixas de diálogo de instalação; exceto as caixas de diálogo necessárias, como "nenhum drivers compatível encontrado".

RawDeviceOK

Especifica se o driver do barramento subjacente pode dirigir o dispositivo se não houver driver de função (por exemplo, dispositivos SCSI no modo de passagem). Esse modo de operação é chamado de modo bruto.

SurpriseRemovalOK

Especifica se o driver de miniporto para o dispositivo pode lidar com o caso em que o dispositivo é removido antes que o Storport possa enviar SRB_FUNCTION_PNP com StorRemoveDevice como o PnPAction na estrutura SCSI_PNP_REQUEST_BLOCK . Se SurpriseRemovalOK estiver definido como TRUE, o dispositivo poderá ser removido com segurança de seu pai imediato, independentemente do estado em que o driver está.

NoDisplayInUI

Não exiba o dispositivo na interface do usuário. Se esse bit estiver definido, o dispositivo nunca será exibido na interface do usuário, mesmo que o dispositivo esteja presente, mas não seja iniciado. Os drivers de miniporte não definem esse bit.

DefaultWriteCacheEnabled

O cache de gravação do dispositivo de armazenamento é habilitado por padrão na inicialização.

Reserved0

Bits reservados.

Address

Endereço LUN do dispositivo de unidade de armazenamento.

UINumber

Especifica um número associado ao dispositivo que pode ser exibido na interface do usuário.

Esse número pode ser um valor de ID escolhido para facilitar a localização do dispositivo físico para o usuário. Quando a UINumber for desconhecida, o driver de miniporto poderá definir esse membro como seu valor padrão de 0xFFFFFFFF.

Reserved1[2]

Bits reservados.

Comentários

STOR_DEVICE_CAPABILITIES_EX é um subconjunto da estrutura DEVICE_CAPABILITIES que contém os membros relevantes para dispositivos de armazenamento.

Quando um driver de miniporto recebe um SRB em sua rotina HwStorStartIo em que a função SRB é SRB_FUNCTION_PNP, o SRB é formatado como uma estrutura de SCSI_PNP_REQUEST_BLOCK . Se o membro PnPAction do SRB for StorQueryCapabilities, o miniporto poderá retornar uma estrutura STOR_DEVICE_CAPABILITIES_EX no membro DataBuffer do SRB.

As características de ejeção, remoção e instalação do dispositivo são definidas na estrutura STOR_DEVICE_CAPABILITIES_EX . Para dar suporte ao uso dessa estrutura, o miniporto deve definir o sinalizador STOR_FEATURE_FULL_PNP_DEVICE_CAPABILITIES no membro sinalizadores FeatureSupport no HW_INITIALIZATION_DATA antes de chamar StorPortInitialize.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 8
Cabeçalho storport.h (inclua Storport.h, Minitape.h, Srb.h)

Confira também

DEVICE_CAPABILITIES

HW_INITIALIZATION_DATA

SCSI_PNP_REQUEST_BLOCK

StorPortInitialize