Como: Chamar uma função do Windows que leva os tipos não assinados
Se você está consumindo uma classe, módulo ou estrutura que tenha membros de tipos inteiro sem sinal, você pode acessar esses membros com Visual Basic.
Para telefonar uma função do Windows que leva um tipo não assinado
Use um Instrução Declare para informar ao Visual Basic a biblioteca contém a função, nessa biblioteca seu nome é, o que é sua sequência de chamada e como converter cadeias de caracteres quando chamá-lo.
No Declare demonstrativo, uso UInteger, ULong, UShort, ou Byte sistema autônomo apropriado para cada parâmetro com um tipo não assinado.
Consulte a documentação para a função do Windows que você está chamando para localizar nomes e valores das constantes usa.Muitos deles são definidos no arquivo WinUser.h.
Declare constantes necessárias em seu código.Many Windows constants are 32-bit unsigned values, and you should declare these AsUInteger.
Chame a função da maneira normal.O exemplo a seguir chama a função de Windows MessageBox, que usa um argumento inteiro sem sinal.
Public Class windowsMessage Private Declare Auto Function mb Lib "user32.dll" Alias "MessageBox" _ (ByVal hWnd As Integer, _ ByVal lpText As String, _ ByVal lpCaption As String, _ ByVal uType As UInteger) As Integer Private Const MB_OK As UInteger = 0 Private Const MB_ICONEXCLAMATION As UInteger = &H30 Private Const IDOK As UInteger = 1 Private Const IDCLOSE As UInteger = 8 Private Const c As UInteger = MB_OK Or MB_ICONEXCLAMATION Public Function messageThroughWindows() As String Dim r As Integer = mb(0, "Click OK if you see this!", _ "Windows API call", c) Dim s As String = "Windows API MessageBox returned " _ & CStr(r)& vbCrLf & "(IDOK = " & CStr(IDOK) _ & ", IDCLOSE = " & CStr(IDCLOSE) & ")" Return s End Function End Class
Você pode testar a função messageThroughWindows com o código a seguir.
Public Sub consumeWindowsMessage() Dim w As New windowsMessage w.messageThroughWindows() End Sub
Cuidado: O UInteger, ULong, UShort, e SByte os tipos de dados não são parte dos CLS (Common Language Specification) (CLS), para que o código compatível com CLS não pode consumir um componente que usa-los.
Observação de segurança: Fazendo uma telefonar para código não gerenciado, sistema autônomo a interface de programação de aplicativo (API) do Windows expõe seu código para possíveis riscos de segurança.
Observação de segurança: Chamando a API do Windows requer permissão do código não gerenciado, que poderá afetar sua execução em situações de confiança parcial.Para obter mais informações, consulte SecurityPermission e Permissões de acesso a código .
Consulte também
Tarefas
Como: Otimizar o armazenamento de números inteiros positivo com tipos não assinados
Demonstra Passo a passo: Chamando as APIs do Windows
Referência
Resumo de tipo de dados (Visual Basic)