Urgent: Création d'un pipe avec VB

Cedric_Malache - 10 avril 2001 à 16:43
cs_Vermifuge Messages postés 75 Date d'inscription samedi 23 mars 2002 Statut Membre Dernière intervention 18 septembre 2006 - 9 avril 2005 à 19:56
Je voudrais créer un pipe en VB grace a l'api createnamedpipe, mais le pipe ne se crée pas, voici le code:

Dim sa As SECURITY_ATTRIBUTES
Dim Psd As SECURITY_DESCRIPTOR
Dim ResInit As Long
Dim PsdPtr As Long
Dim PAcl As Acl
Dim PipeName As String
Dim HPipe As Long

PsdPtr = 0
PsdPtr = HeapAlloc(GetProcessHeap(), 0, LenB(Psd) + 1)

ResInit = InitializeSecurityDescriptor(PsdPtr, SECURITY_DESCRIPTOR_REVISION)
ResInit = SetSecurityDescriptorDacl(Psd, 1, PAcl, 0)

sa.nLength = LenB(sa)
sa.lpSecurityDescriptor = PsdPtr
sa.bInheritHandle = 1
PipeName = "\\\\.\\PIPE\\EventManager"
HPipe = CreateNamedPipe(PipeName, PIPE_ACCESS_INBOUND Or FILE_FLAG_OVERLAPPED, _
PIPE_WAIT Or PIPE_READMODE_MESSAGE Or PIPE_TYPE_MESSAGE, PIPE_UNLIMITED_INSTANCES, _
256, 256, 0, sa)

Le pipe ne se crée pas parce que la première api (InitializeSecurityDescriptor), ne se passe pas bien...
QQ peut-il m'aider, ou me donner un exemple de création d'un named pipe en VB.
Merci.

1 réponse

cs_Vermifuge Messages postés 75 Date d'inscription samedi 23 mars 2002 Statut Membre Dernière intervention 18 septembre 2006
9 avril 2005 à 19:56
InitializeSecurityDescriptor(PsdPtr, SECURITY_DESCRIPTOR_REVISION)

Je crois que le problème vient du fait qu'il faut passer un pointeur vers PsdPtr, n'est-ce-pas &PsdPtr ?

( je programme en ASM, pas en VB, donc je ne suis pas sûr que VB ne passe pas un pointeur dans ce cas ).

@+
Vermi
0
Rejoignez-nous